42
1 Laboratório de Programação de Computadores I 1º Semestre/2009 Prof. Mauro César Lopes. [email protected]

Laboratório de Programação de Computadores I

  • Upload
    keanu

  • View
    41

  • Download
    3

Embed Size (px)

DESCRIPTION

Laboratório de Programação de Computadores I. 1º Semestre/2009 Prof. Mauro César Lopes. [email protected]. Conceitos básicos. Programação de computadores é definido como o processo de criação de um software de computador usando uma linguagem de programação - PowerPoint PPT Presentation

Citation preview

Page 1: Laboratório de Programação de Computadores  I

1

Laboratório de Programação de Computadores I

1º Semestre/2009

Prof. Mauro César [email protected]

Page 2: Laboratório de Programação de Computadores  I

2

Conceitos básicos Programação de computadores é definido como o

processo de criação de um software de computador usando uma linguagem de programação

Linguagem de programação: é uma linguagem usada para dar instruções a um computador

Um programa é um conjunto de instruções para um computador

Uma linguagem de programação contém uma coleção de palavras que são organizadas em sentenças que transportam a informação ao computador

Page 3: Laboratório de Programação de Computadores  I

3

Linguagens de Programação C, C++, C#, Pascal, Java,

VisualBasic, Fortran, Cobol, Perl, Python, Ruby, TCL, Lisp, Prolog, ADA, SmallTalk, Erlang, PHP

Page 4: Laboratório de Programação de Computadores  I

4

Ambientes de desenvolvimento e compilação Compilação via linha de comando IDE (Integrated Development

Environment) Desenvolvimento RAD (Rapid

Application Development)

Page 5: Laboratório de Programação de Computadores  I

5

Ambientes Windows Visual Studio Express Edition Eclipse NetBeans

Page 6: Laboratório de Programação de Computadores  I

6

IDE (Ambiente de Desenvolvimento Integrado) Permitem o desenvolvimento

integrado de aplicações, envolvendo a edição, compilação, execução e debug da aplicação

Page 7: Laboratório de Programação de Computadores  I

7

Compiladores e Linkers Compiladores: é responsável pela

tradução do código fonte em linguagem de máquina (código objeto)

Linkers: é responsável pela ligação do código objeto com outras bibliotecas (se necessário) a fim de gerar o código executável

Page 8: Laboratório de Programação de Computadores  I

8

Processo de Compilação

Código fonte Compilação ligação executável

Helllo.c Compilação ligação Hello.exe

Hello.c Hello.obj Hello.c

Page 9: Laboratório de Programação de Computadores  I

9

Compilação x Interpretação Um programa compilado gera um

executável dependente de plataforma

Um programa interpretado é executado passo a passo por um interpretador

Page 10: Laboratório de Programação de Computadores  I

10

Exemplos de linguagens tipicamente compiladas C C++ COBOL Fortran Pascal

Page 11: Laboratório de Programação de Computadores  I

11

Exemplos de linguagens tipicamente interpretadas ActionScript ASP BASIC JavaScript (ECMAScript) Perl PHP Ruby Tcl

Page 12: Laboratório de Programação de Computadores  I

12

Programação Estruturada Programação estruturada é uma forma de

programação de computadores que preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: sequência, decisão e iteração.

Tendo, na prática, sido transformada na Programação modular, a Programação estruturada orienta os programadores para a criação de estruturas simples em seus programas, usando as subrotinas e as funções.

Page 13: Laboratório de Programação de Computadores  I

13

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

(POO) ou Object-Oriented Programming (OOP) é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos.

Page 14: Laboratório de Programação de Computadores  I

14

Programação em linguagem C

Page 15: Laboratório de Programação de Computadores  I

15

Variáveis Uma variável é definida como um lugar

onde podemos armazenar dados temporariamente e usá-los posteriormente

Normalmente um variável possui um nome que é usado para acessar seu conteúdo

Uma variável poderá armazenar um número inteiro, de ponto flutuante, um caracter, uma cadeia de caracteres (String) , um valor booleano, etc.

Page 16: Laboratório de Programação de Computadores  I

16

Tipos de variáveis Inteira

int, short, long Ponto flutuante

Float, double Caracter

char Booleana

1 = sim, verdadeiro; 0=não, falso

Page 17: Laboratório de Programação de Computadores  I

17

Variáveis Uma variável poderá ser signed ou

unsigned, isto é, com sinal ou sem sinal.

Uma variável unsigned possui apenas valores positivos

Uma variável signed possui valores positivos e negativos

Page 18: Laboratório de Programação de Computadores  I

18

Exemplos int a, idade; char ch, caracter; float f, valor; double d;

Page 19: Laboratório de Programação de Computadores  I

19

Atribuição de valores a variáveis Podemos atribuir o valor a uma

variável usando o símbolo ‘=‘ Exemplosint a = 1;float f = -8.76;char c=‘a’;

Page 20: Laboratório de Programação de Computadores  I

20

Operadores Numéricos Lógicos Binários

Page 21: Laboratório de Programação de Computadores  I

21

Operadores Numéricos++, -- Incremento, decremento+, -, *, /, %

adição, subtração, multiplicação, divisão, módulo (resto)

Page 22: Laboratório de Programação de Computadores  I

22

Operadores Lógicos==, != Igual, diferente

>, >=, <, <= Maior, maior ou igual, menor, menor ou igual

&& “E” lógico

|| “OU” lógico

! “NÃO” lógico

Page 23: Laboratório de Programação de Computadores  I

23

Operadores Binários& “E” binário

^ “XOR” ou-exclusivo

| “OU” binário

~ “NÃO” binário

Page 24: Laboratório de Programação de Computadores  I

24

Sequência de comandos Um programa é uma sequencia de

comandos <comando 1>; <comando 2>; ... <comando N>;

Page 25: Laboratório de Programação de Computadores  I

25

Comandos condicionais Permitem uma expressão seja

avaliada e que uma ação seja executada no caso da expressão ser avaliada verdadeira (1) ou falsa (0).

Page 26: Laboratório de Programação de Computadores  I

26

Comando ifint a = 5;if(a<0) { print (“a é negativo\n”);}else { print (“a é positivo\n”);}

Page 27: Laboratório de Programação de Computadores  I

27

Controle de Fluxo Loops com teste no início (while) Loops com testes no final (do/while) Loops de tamanho definido (for) Saindo de loops antes do término

(break) Retestando a condição (ex: continue)

Page 28: Laboratório de Programação de Computadores  I

28

Comando whileint i=0;while(i<5) { printf(“%d\n”,i); i = i + 1;}

Page 29: Laboratório de Programação de Computadores  I

29

Comando do/whileint i=0;do { printf(“%d\n”,i); i = i + 1;} while (i<5);

Page 30: Laboratório de Programação de Computadores  I

30

Comando forint i = 0;for(i=0;i<5;i++) { printf(“%d\n”,i);}

Page 31: Laboratório de Programação de Computadores  I

31

Comando breakint 0=0;while (i<10) { printf(“%d\n”,i); i++; if(i==5) { break; }}

Page 32: Laboratório de Programação de Computadores  I

32

Comando continueint 0=0;while (i<10) { if(i%2!=0) { continue; } i++;}

Page 33: Laboratório de Programação de Computadores  I

33

Funções Header file Cabeçalho da função Argumentos Tipo de retorno

Page 34: Laboratório de Programação de Computadores  I

34

Funções

int soma(int x, int y) { return x+y;}

Tipo de retorno

Nome da função parâmetros

Page 35: Laboratório de Programação de Computadores  I

35

Matrizes

Page 36: Laboratório de Programação de Computadores  I

36

Conceitos Básicos de Orientação a Objetos Classe É uma fábrica de objetos. Representa um conjunto de objetos

com características afins. Uma classe define o comportamento dos objetos, através de métodos, e quais estados ele é capaz de manter, através de atributos. Exemplo de classe: Os seres humanos.

Objeto é uma instância de uma classe. Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos. Exemplo de objetos da classe Humanos: João, José, Maria.

Atributos são características de um objeto. Basicamente a estrutura de dados que vai representar a classe. Exemplos: Funcionário: nome, endereço,telefone, CPF, ....; Carro: nome, marca, ano, cor, ...; Livro: autor, editora, ano.

Estado São os valores que cada atributo recebe. Exemplo: o estado do atributo cor é azul.

Page 37: Laboratório de Programação de Computadores  I

37

Conceitos Básicos de Orientação a Objetos Métodos definem as habilidades dos objetos.

Bidu é uma instância da classe Cachorro, portanto tem habilidade para latir, implementada através do método deUmLatido(). Um método em uma classe é apenas uma definição. A ação só ocorre quando o método é invocado através do objeto, no caso Bidu. Dentro do programa, a utilização de um método deve afetar apenas um objeto em particular; Todos os cachorros podem latir, mas você quer que apenas Bidu dê o latido. Normalmente, uma classe possui diversos métodos, que no caso da classe Cachorro poderiam ser sente(), coma() e morda().

Page 38: Laboratório de Programação de Computadores  I

38

Conceitos Básicos de Orientação a Objetos Mensagem é uma chamada a um objeto para

invocar um de seus métodos, ativando um comportamento descrito por sua classe. Também pode ser direcionada diretamente a uma classe (através de uma invocação a um método estático).

Sobrecarga é a utilização do mesmo nome para símbolos ou métodos com operações ou funcionalidades distintas. Geralmente diferencia-se os métodos pela sua assinatura. Exemplo: Um método Carro que recebe como parâmetro dois atributos (cor, placa), e outro método Carro que recebe como parâmetro (cor, placa, modelo).

Page 39: Laboratório de Programação de Computadores  I

39

Conceitos Básicos de Orientação a Objetos Herança (ou generalização) é o mecanismo pelo qual uma classe (sub-

classe) pode estender outra classe (super-classe), aproveitando seus comportamentos (métodos) e variáveis possíveis (atributos). Há Herança múltipla quando uma sub-classe possui mais de uma super-classe. Essa relação é normalmente chamada de relação "é um". Um exemplo de herança: Mamífero é super-classe de Humano. Ou seja, um Humano é um mamífero.

Associação é o mecanismo pelo qual um objeto utiliza os recursos de outro. Pode tratar-se de uma associação simples "usa um" ou de um acoplamento "parte de". Por exemplo: Um humano usa um telefone. A tecla "1" é parte de um telefone.

Encapsulamento consiste na separação de aspectos internos e externos de um objeto. Este mecanismo é utilizado amplamente para impedir o acesso direto ao estado de um objeto (seus atributos), disponibilizando externamente apenas os métodos que alteram estes estados. Exemplo: você não precisa conhecer os detalhes dos circuitos de um telefone para utilizá-lo. A carcaça do telefone encapsula esses detalhes, provendo a você uma interface mais amigável (os botões, o monofone e os sinais de tom).

Page 40: Laboratório de Programação de Computadores  I

40

Conceitos Básicos de Orientação a Objetos Abstração é a habilidade de concentrar nos aspectos essenciais

de um contexto qualquer, ignorando características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma abstração de entidades existentes no domínio do sistema de software.

Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma assinatura (lista de parâmetros e retorno) mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse. A decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe derivada, é tomada em tempo de execução, através do mecanismo de ligação tardia. No caso de polimorfismo, é necessário que os métodos tenham exatamente a mesma identificação, sendo utilizado o mecanismo de redefinição de métodos. Esse mecanismo de redefinição não deve ser confundido com o mecanismo de sobrecarga de métodos.

Page 41: Laboratório de Programação de Computadores  I

41

Conceitos Básicos de Orientação a Objetos Interface é um contrato entre a classe e o mundo externo.

Quando uma classe implementa uma interface, ela está comprometida a fornecer o comportamento publicado pela interface [1].

Pacotes são referências para organização lógica de classes e interfaces

Page 42: Laboratório de Programação de Computadores  I

42

Estratégias básicas de desenvolvimento de programas