Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 14 - 23/10/2006 1 Informática I Aula 14 http://www.ic.uff.br/~bianca/informatica1/ Aula 14 - 23/10/2006 2 Ementa – Histórico dos Computadores – Noções de Hardware e Software – Microprocessadores – Sistemas Numéricos e Representação de Dados – Estrutura e Organização da Informação – Linguagens de Programação – Sistemas Operacionais – Redes de Computadores e Internet – Engenharia de Software – Softwares Aplicativos – Aspectos Legais do Software Aula 14 - 23/10/2006 3 Tipos de Linguagens de Programação • Linguagens de baixo nível: Assembler. • Linguagens não estruturadas: Cobol e Basic. • Linguagens procedurais: C, Pascal, Fortran, Ada, Modula 2 e Modula 3. • Linguagens funcionais: Prolog, LISP e Scheme. • Linguagens orientadas a objeto: Simula, Smalltalk, C++ e Java. • Linguagens específicas: SQL, HTML, Perl. • Linguagens visuais: Simulink, Visual Basic e Delphi. Aula 14 - 23/10/2006 4 Linguagens Procedurais • Elas possuem estruturas de controle, organizando de forma mais eficiente e clara a sintaxe de um programa. – Eliminam o uso de JUMPs ou GOTOs. • Os programas são divididos em funções ou procedimentos. – O programa principal sendo executado determina uma seqüência de chamadas de procedimentos. – O mesmo procedimento pode ser chamado repetidas vezes. Aula 14 - 23/10/2006 5 Tipos de Estrutura 1. Estrutura de teste – If (condição) then (comandos1) else (comandos2) end-if. Exemplo: a=1; b=3 If (a>b) then print(a); else print(b); end-if. Aula 14 - 23/10/2006 6 Tipos de Estrutura 2. Estrutura de repetição – Repetição contada (FOR) FOR nome-var = início TO fim (comandos) END-FOR – Repetição “enquanto” WHILE condição (comandos) END-WHILE Exemplo: FOR i=1 TO 10 j = i*i; print(j); END-FOR. Exemplo: i=0; WHILE (i<10) j = i*i; print(j); i=i+1; END-WHILE. Aula 14 - 23/10/2006 7 Tipos de Estruturas 3. Estrutura de seleção de alternativas – SWITCH (expressão) CASE expressão-1 (comandos) CASE expressão-2 (comandos) . . CASE expressão-n (comandos) END-SWITCH Exemplo: n=1; SWITCH (n) CASE 0: print(“n é zero”); CASE 1: print(“n é um”); CASE 2: print(“n é dois”); END-SWITCH. Aula 14 - 23/10/2006 8 Funções e Procedimentos • Funções – São sub-programas que retornam um valor ao programa que o chama. – Exemplo: FUNCTION Maior-de-Idade(int idade):lógico IF (Idade≥18) RETURN true; ELSE RETURN false; END-IF END-FUNCTION Exemplo de chamadas: t = Maior-de-Idade(19); u = Maior-de-Idade(17); Aula 14 - 23/10/2006 9 Funções e Procedimentos • Procedimentos – São subprogramas que não retornam um valor ao programa que o chama. – Exemplo: PROCEDURE Maior-de-Idade(int idade) IF (Idade≥18) print(“Maior”); ELSE print(“Menor”); END-IF RETURN; END-PROCEDURE Exemplo de chamadas: Maior-de-Idade(19); Maior-de-Idade(17); Aula 14 - 23/10/2006 10 Exemplos de Linguagens Procedurais • C • Pascal • Fortran • Algol • Ada • Modula-2 • Modula-3 Aula 14 - 23/10/2006 11 Linguagem C • Foi desenvolvida no início da década de 1970 por Dennis Ritchie para uso no sistema operacional UNIX. • Por gerar código muito eficiente, foi e continua sendo muito usada para a criação de programas de todo tipo tais como: – Sistemas operacionais – Processadores de texto – Planilhas eletrônicas – Gerenciadores de banco de dados – Programas de comunicação • É difícil para programadores iniciantes por ter algumas peculiaridades de sintaxe e por não detectar operações indesejadas. Aula 14 - 23/10/2006 12 Exemplo: Programa em C #include <stdlib.h> #include <stdio.h> int main(int argc, char *argv[]) { int n = 1; while ( n < argc ) { printf(“Argumento %d é %s\n", n, argv[n]); n++; } return 0; } Aula 14 - 23/10/2006 13 Linguagem Pascal • Foi criada em 1970 pelo suíço Niklaus Wirth, inicialmente para ensinar programação estruturada a estudantes. • Foi baseada na linguagem ALGOL e seu nome é em homenagem ao matemático Blaise Pascal. • Rapidamente tornou-se uma linguagem de propósito geral. – Partes do sistema operacional do Macintosh foram implementadas em Pascal. • Perdeu lugar para a linguagem C por não ser tão flexível e eficiente. Aula 14 - 23/10/2006 14 Linguagem Fortran • Foi desenvolvida por John Backus a partir da década de 1950 e continua sendo usada até hoje. • É usada principalmente para cálculos matemáticos. – Manipula números complexos diretamente. – Processa arrays eficientemente. • Foi a primeira linguagem de alto nível. • O nome tem origem na expressão FORmula TRANslation. Aula 14 - 23/10/2006 15 Exemplo: Programa em Fortran program cilindro ! Calcula a area de um cilindro. ! ! Declara variables and constants. integer :: ierr real :: raio,altura,area real , parameter :: pi = 3.14159 do ! Pede ao usuário o raio e a altura write (*,*) “Digite o raio e a altura, 'q' para sair." read (*,*,iostat=ierr) raio, altura ! ! Se raio e altura não podem ser lidos corretamente, termina o programa. if (ierr /= 0) stop “terminando o programa" ! ! Calcula a area. O ** significa “eleve a potência". area = 2*pi*(raio**2 + raio*altura) ! ! Escreve as variáveis de entrada (raio, altura) e saída (área) na tela. write (*,"(1x,‘raio=',f6.2,5x,‘altura=',f6.2,5x,'area=',f6.2)") raio,altura,area end do end program cilindro Aula 14 - 23/10/2006 16 Linguagens Orientadas a Objetos • Surgiram na fim da década de 1960 e se tornaram populares a partir da década de 1980. • Programação tradicional: – Programa é uma coleção de instruções ou funções. • Programação orientada a objeto: – Programa é uma coleção de objetos independentes. – Cada objeto é capaz de receber mensagens, processar dados e enviar mensagens. Aula 14 - 23/10/2006 17 Conceitos de Orientação a Objetos • Classe: representa um conjunto de objetos com as mesmas características. – Define o comportamento dos objetos através de métodos (ou funções) e o estado dos objetos através de atributos. • Objeto: é uma instância de uma classe. – Armazena estados através de seus atributos. – Recebe mensagens de outros objetos. – Envia mensagens a outros objetos. • Mensagem: é uma chamada a um objeto para invocar um de seus métodos, ativando um comportamento descrito por sua classe. • Herança: é o mecanismo pelo qual uma classe pode extender outra classe, aproveitando seus métodos e atributos. Aula 14 - 23/10/2006 18 Exemplo: Herança em Orientação a Objetos Classe Janela Tamanho Cor Título Texto -Abrir -Fechar -Escrever Classe Janela com scroll Posição da barra de scroll -Rolar barraExemplo de pseudo-código: J = novo objeto do tipo janela com scroll J.escrever(“Texto dentro da janela .........”) J.Abrir() J.RolarBarra() J.Fechar()
Compartilhar