1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação.
Transcript of 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
2
Algoritmos Algoritmos
Problema do mundo real;
Linguagem Natural;
Algortimo;
Estrutura de um algoritmo;
Instruções.
Professor Rogério B. de Andrade / Dez/2008
3
Linguagem C# - Histórico Linguagem C# - Histórico
Professor Rogério B. de Andrade / Aula 001- Dez/2008
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
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
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
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
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
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
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
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
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
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
14
Créditos Créditos
Professor Rogério B. de Andrade / Aula 001- Dez/2008Professor Rogério B. de Andrade / Aula 001- Dez/2008