Buscar

Aula14-Inf1

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

Continue navegando

Outros materiais