1 professor rogério b. de andrade - aula 001- dez/2008 técnicas e linguagem de programação

14
1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação

1Professor Rogério B. de Andrade - Aula 001- Dez/2008

Professor Rogério B. de Andrade - Aula 001- Dez/2008

Técnicas e Linguagem de ProgramaçãoTécnicas e Linguagem de Programação

Page 2: 1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação

2

Algoritmos Algoritmos

Problema do mundo real;

Linguagem Natural;

Algortimo;

Estrutura de um algoritmo;

Instruções.

Professor Rogério B. de Andrade / Dez/2008

Page 3: 1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação

3

Linguagem C# - Histórico Linguagem C# - Histórico

Professor Rogério B. de Andrade / Aula 001- Dez/2008

Page 4: 1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação

4

Visual Studio Visual Studio

• Ambiente de programação com recursos que permitem criar projetos em C#;

• Utiliza IDE para o desenvolvimento integrado de programas;

• Com uso da tecnologia INTELLISENSE torna o processo de edição mais rápido, pois, reconhece através do primeiro caractere digitado, possíveis sugestões de comandos. Com o separador ponto é possível ter sugestões de métodos, propriedade, etc de classes;

• Programação de interface através do Visual Designer (que gera os códigos automaticamente);

• Customização através do CodeView;

• Ambiente de programação com recursos que permitem criar projetos em C#;

• Utiliza IDE para o desenvolvimento integrado de programas;

• Com uso da tecnologia INTELLISENSE torna o processo de edição mais rápido, pois, reconhece através do primeiro caractere digitado, possíveis sugestões de comandos. Com o separador ponto é possível ter sugestões de métodos, propriedade, etc de classes;

• Programação de interface através do Visual Designer (que gera os códigos automaticamente);

• Customização através do CodeView;

Professor Rogério B. de Andrade / Aula 001- Dez/2008

Page 5: 1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação

5

Programação Orientada a Objetos Programação Orientada a Objetos

• Conceito: Paradigmas de Programação;

• Paradigma Top-Down (solução linear);

• Paradigma Modular (uso de rotinas, procedimentos, funções, reaproveitamento de códigos – solução por partes, decomposição do problema);

• Paradigma orientada a eventos (ação do usuário);

• Paradigma Orientada a objetos (classes, atributos, métodos, herança), solução a partir do mundo real;

• Conceito: Paradigmas de Programação;

• Paradigma Top-Down (solução linear);

• Paradigma Modular (uso de rotinas, procedimentos, funções, reaproveitamento de códigos – solução por partes, decomposição do problema);

• Paradigma orientada a eventos (ação do usuário);

• Paradigma Orientada a objetos (classes, atributos, métodos, herança), solução a partir do mundo real;

Professor Rogério B. de Andrade / Aula 001- Dez/2008

Page 6: 1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação

6

Programação Orientada a Objetos (CLASSES) Programação Orientada a Objetos (CLASSES)

• Estrutura que pode ser definida por um conjunto formado por atributos e métodos;

• Atributos são as características de uma classe;

• Métodos são funções que atuam sobre os atributos podendo acessá-los e modificá-los gerando novos resultados;

• Objeto é definido como uma instância (cópia de uma classe), herdando todas as características da classe de origem (herança);

• Estrutura que pode ser definida por um conjunto formado por atributos e métodos;

• Atributos são as características de uma classe;

• Métodos são funções que atuam sobre os atributos podendo acessá-los e modificá-los gerando novos resultados;

• Objeto é definido como uma instância (cópia de uma classe), herdando todas as características da classe de origem (herança);

Professor Rogério B. de Andrade / Aula 001- Dez/2008

Page 7: 1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação

7

Programação Orientada a Objetos (EXEMPLO) Programação Orientada a Objetos (EXEMPLO)

Classe Ponto {

inteiro x,y // coordenadas do plano cartesiano

desenha () // plota o desenho de um ponto nas coordenadas dadas pelos atributos x,y

iniciaValores(inteiro x, inteiro y) // inicia os atributos

}

Classe Reta Herança em Ponto {

Ponto p1,p2 // pontos 1 e 2 para representar a reta

desenha () // desenha a reta segundo os atributros p1 e p2

iniciaValores(inteiro x1, inteirio y1, inteiro x2, inteiro y2)

}

• Exercício : crie e descreva (na forma de algoritmo) a

classe triângulo, quadrado e estrela.

Classe Ponto {

inteiro x,y // coordenadas do plano cartesiano

desenha () // plota o desenho de um ponto nas coordenadas dadas pelos atributos x,y

iniciaValores(inteiro x, inteiro y) // inicia os atributos

}

Classe Reta Herança em Ponto {

Ponto p1,p2 // pontos 1 e 2 para representar a reta

desenha () // desenha a reta segundo os atributros p1 e p2

iniciaValores(inteiro x1, inteirio y1, inteiro x2, inteiro y2)

}

• Exercício : crie e descreva (na forma de algoritmo) a

classe triângulo, quadrado e estrela.

Professor Rogério B. de Andrade / Aula 001- Dez/2008

Page 8: 1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação

8

Programação Orientada a Objetos (OBJETOS) Programação Orientada a Objetos (OBJETOS)

Método principal {

Ponto p; // objeto p com herança em classe Ponto

Reta r; // objeto r com herança em classe Reta

p.iniciaValores(10,20) // inicia atributos do objeto p

p.desenha() // desenha o ponto

r.iniciaValores(5,10,100,200) // inicia valores do objeto r

r.desenha() // desenha a reta

}

• Exercício : crie e descreva (na forma de algoritmo) o

Método principal com a instância das novas classes, do

Execício anterior.

Método principal {

Ponto p; // objeto p com herança em classe Ponto

Reta r; // objeto r com herança em classe Reta

p.iniciaValores(10,20) // inicia atributos do objeto p

p.desenha() // desenha o ponto

r.iniciaValores(5,10,100,200) // inicia valores do objeto r

r.desenha() // desenha a reta

}

• Exercício : crie e descreva (na forma de algoritmo) o

Método principal com a instância das novas classes, do

Execício anterior.

Professor Rogério B. de Andrade / Aula 001- Dez/2008

Page 9: 1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação

9

Exemplo de programa (básico) em C# Exemplo de programa (básico) em C#

using System;

using System.Collections.Generic;

Using System.Text;

Namespace TextHello

{

class Program

{

static void Main (string[] args)

{

Console.Writeline(“Hello World”);

}

}

}

using System;

using System.Collections.Generic;

Using System.Text;

Namespace TextHello

{

class Program

{

static void Main (string[] args)

{

Console.Writeline(“Hello World”);

}

}

}Professor Rogério B. de Andrade / Aula 001- Dez/2008

Page 10: 1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação

10

C# - Namespaces C# - Namespaces

• Permitem definir contêiners onde podem ser criadas classes. Deste modo duas classes com o mesmo nome não serão confundidas entre si, se estiverem em namespaces distintos.

• Uma classe pode ser referenciada indicando o repectivo namespace de origem ;

• Uma instrução using, acrescenta as classes contidas no namespace descrito. Quando esta instrução é utilizada pode-se omitir a referência do namespace;

• É recomendado definir todas as classes em namespaces;

• Permitem definir contêiners onde podem ser criadas classes. Deste modo duas classes com o mesmo nome não serão confundidas entre si, se estiverem em namespaces distintos.

• Uma classe pode ser referenciada indicando o repectivo namespace de origem ;

• Uma instrução using, acrescenta as classes contidas no namespace descrito. Quando esta instrução é utilizada pode-se omitir a referência do namespace;

• É recomendado definir todas as classes em namespaces;

Professor Rogério B. de Andrade / Aula 001- Dez/2008

Page 11: 1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação

11

C# - Variáveis e tipos de Dados C# - Variáveis e tipos de Dados

• Variáveis: endereços de memória utilizados para armazenar informações;

• Tipo de dados: referência a um intervalo de dados aceitos, que o computador pode armazenar por meio de bytes;

• Exemplos: int, long, float, double, string, char, bool etc

• Variável local, Global e constante.

• Variáveis: endereços de memória utilizados para armazenar informações;

• Tipo de dados: referência a um intervalo de dados aceitos, que o computador pode armazenar por meio de bytes;

• Exemplos: int, long, float, double, string, char, bool etc

• Variável local, Global e constante.

Professor Rogério B. de Andrade / Aula 001- Dez/2008

Page 12: 1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação

12

C# - Operadores aritméticos C# - Operadores aritméticos

• Suporta +,-,* (vezes), / (dividir), % (resto da divisão);

• A precedência (prioridade) controla a ordem na qual os operadores da expressão são avaliados, o C# dá prioridade para os * e / sobre os + e -. Esta ordem pode ser alterada pelo uso de parênteses, substituindo assim a precedência e forçar os operandos a vincularem-se aos operadores de maneira diferente

• Incrementando e decrementando variáveis .

• Suporta +,-,* (vezes), / (dividir), % (resto da divisão);

• A precedência (prioridade) controla a ordem na qual os operadores da expressão são avaliados, o C# dá prioridade para os * e / sobre os + e -. Esta ordem pode ser alterada pelo uso de parênteses, substituindo assim a precedência e forçar os operandos a vincularem-se aos operadores de maneira diferente

• Incrementando e decrementando variáveis .

Professor Rogério B. de Andrade / Aula 001- Dez/2008

Page 13: 1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação

13

C# - COMANDO IF (SE - Decisão) C# - COMANDO IF (SE - Decisão)

• Comando de decisão:

If (condição) <comando>;

else

<comando>;

• Quando a execução for mais de um comando é obrigatórios agrupá-los através de uso de chaves {}.

• Podem ser utilizados operadores lógicos condicionais && (and) e || (or);

• Tabela da verdade;

• Formas da instrução if em cascata (if... else if...else...if...);

• Comando de decisão:

If (condição) <comando>;

else

<comando>;

• Quando a execução for mais de um comando é obrigatórios agrupá-los através de uso de chaves {}.

• Podem ser utilizados operadores lógicos condicionais && (and) e || (or);

• Tabela da verdade;

• Formas da instrução if em cascata (if... else if...else...if...);

Professor Rogério B. de Andrade / Aula 001- Dez/2008

Page 14: 1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação

14

Créditos Créditos

Professor Rogério B. de Andrade / Aula 001- Dez/2008Professor Rogério B. de Andrade / Aula 001- Dez/2008