1 / 42

Laboratório de Programação de Computadores I

Laboratório de Programação de Computadores I. 1º Semestre/2009 Prof. Mauro César Lopes. maurocl@terra.com.br. 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

keanu
Download Presentation

Laboratório de Programação de Computadores I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Laboratório de Programação de Computadores I 1º Semestre/2009 Prof. Mauro César Lopes. maurocl@terra.com.br

  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

  3. Linguagens de Programação • C, C++, C#, Pascal, Java, VisualBasic, Fortran, Cobol, Perl, Python, Ruby, TCL, Lisp, Prolog, ADA, SmallTalk, Erlang, PHP

  4. Ambientes de desenvolvimento e compilação • Compilação via linha de comando • IDE (Integrated Development Environment) • Desenvolvimento RAD (Rapid Application Development)

  5. Ambientes Windows • Visual Studio Express Edition • Eclipse • NetBeans

  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

  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

  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

  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

  10. Exemplos de linguagens tipicamente compiladas • C • C++ • COBOL • Fortran • Pascal

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

  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.

  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.

  14. Programação em linguagem C

  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.

  16. Tipos de variáveis • Inteira • int, short, long • Ponto flutuante • Float, double • Caracter • char • Booleana • 1 = sim, verdadeiro; 0=não, falso

  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

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

  19. Atribuição de valores a variáveis • Podemos atribuir o valor a uma variável usando o símbolo ‘=‘ • Exemplos int a = 1; float f = -8.76; char c=‘a’;

  20. Operadores • Numéricos • Lógicos • Binários

  21. Operadores Numéricos

  22. Operadores Lógicos

  23. Operadores Binários

  24. Sequência de comandos • Um programa é uma sequencia de comandos • <comando 1>; • <comando 2>; • ... • <comando N>;

  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).

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

  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)

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

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

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

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

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

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

  34. Funções int soma(int x, int y) { return x+y; } Tipo de retorno Nome da função parâmetros

  35. Matrizes

  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.

  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().

  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).

  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).

  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.

  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

  42. Estratégias básicas de desenvolvimento de programas

More Related