ano lectivo de 2009 / 2010 1. escola superior de tecnologia de tomar – departamento de eng....

89
Introdução à Programação ano lectivo de 2009 / 2010 1

Upload: internet

Post on 18-Apr-2015

102 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

1

Introdução à Programação ano lectivo de 2009 / 2010

Page 2: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

2

Introdução História da computação Funcionamento do computador Linguagens de Programação Desenvolvimento de algoritmos

◦ Algoritmos não computacionais◦ Algoritmos computacionais

Exercícios

Sumario

Page 3: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

3

Dicionário – Porto Editora

◦1 que ou aquele que faz cômputos; calculador; calculista.

◦2 aparelho electrónico que processa dados

em função de um conjunto de instruções previamente fornecidas.

O que é um computador?

Page 4: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

4

ComputadorAs cinco gerações

Page 5: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

5

1ª Geração - válvulas

Mark 1 – (1944)

ENIAC – (1945)

válvula

O primeiro Bug

Page 6: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

6

2ª geração - Transistor

Vantagens em relação às válvulas◦ Menor energia consumida

Menor aquecimento◦ Maior velocidade de

processamento

UNIVAC (1956)

Page 7: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

7

3ª geração - Circuitos integrados

Componentes miniaturizados◦ Transistores◦ Resistores◦ Diodos

Chips◦ Conjunto de componentes

Circuitos integrados◦ Conjunto de chips

Sistema Operativo - MS-DOS Graficos EGA – 16 cores

PC-XT (1981)

Page 8: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

8

4ª geração - VLSI

Integração de circuitos em larga escala Slots ISA de 16 bits Slots PCI Placas VGA e SVGA

PC-AT (1985)

Page 9: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

9

5ª geração - ULSI

Integração em muito larga escala

Processamento paralelo Slots AGP USB SATA

Page 10: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

10

Computadores na actualidade

Page 11: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

11

Funcionamento do computador digital

Page 12: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

12

Modelo de Von Neuman

Page 13: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

13

Arquitectura básica do Computador

ProcessadorCPU

Memória

Entradas/Saídas

Modem Monitor Disco Rede

Bus

Page 14: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

14

Software / Hardware

S.O.

Page 15: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

15

Aplicativos◦ Realizam tarefas específicas

Processamento de texto Microsoft Word

Desenho Corel Draw Autocad

Jogos Etc.

Sistema operativo◦ Serve de interface entre a máquina e os programa de

aplicação

Software

Page 16: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

16

Tipos de sistemas informáticos

Quanto ao tamanho e capacidade

◦ Grande porte Supercomputadores Mainframes

◦ Médio porte Workstations MiniComputadores

◦ Pequeno porte Microcomputadores Ultra-Microcomputadores

Page 17: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

17

Tipos de sistemas informáticos

Quanto ao número de utilizadores e de tarefas

◦ Mono utilizador Monotarefa

Ex. PC com MS-DOS Multitarefa

Ex. PC com Windows

◦ Multi utilizador Multi-posto

Servidor UNIX Terminais

Redes de computadores Internet

Page 18: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

18

Linguagens de Programação

A linguagem que as máquinas entendem

Page 19: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

19

Linguagens e alfabetos

Hello World

Olá Mundo

Bonjour Monde

Halo welt

Page 20: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

20

1ª geração – Linguagem máquina

1ª geração – Linguagem máquina◦ Conjunto de dígitos binários do “instruction set” do

processador Os programas correm apenas no computador para o qual

foram projectados.

0100 10101000100 10101100110 10011000101 10101011100 1001100

Page 21: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

21

2ª geração – Assembler

2ª geração – Assembler◦ Mneumónicas do

“instruction set” do processador Assemblador – Programa

que traduz o código assembly para linguagem máquina

◦ Os Programas funcionam apenas num tipo processador Mov –> 00001100 int -> 10001101

◦ Desenvolvimento de programas muito difícil e demorado

dosseg.model small.stack 100h

.datahello_message db 'Hello, World!','$'

.codemain proc mov ax,@data mov ds,ax

mov ah,9 mov dx,offset hello_message int 21h

mov ax,4C00h int 21hmain endpend main

Assembly para o IBM-PC

Page 22: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

22

2ª geração – Assembler reset LDX #$00 cycle LDA hworld,X BEQ reset STX cache JSR $FFD2 LDX cache INX JMP cycle hworld .text "Hello, World!" .byte 13,0 cache .byte 0

printf: pea text move.w #9,-(sp) trap #1 addq.l #6,sp bra printf

text: dc.b "Hello, World !",0

Assembly 680x0 on an Atari computer Assembly on an Commodore 64

Page 23: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

23

Desvantagens◦ Pequeno número de instruções

Programas longos Pouco legíveis Difíceis de modificar

◦ Utiliza directamente os recursos da máquina Os programas não são portáteis entre computadores

Vantagens◦ Código optimizado

Velocidade de processamento elevado◦ Controlo total do hardware

2ª geração – Assembler

Page 24: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

24

3ª geração – Linguagens de alto nível◦ Uma instrução pode corresponder a um grande número de

instruções em assembly Intruções em linguagem natural

write, read, print, . . . Ler, escrever, repetir

◦ Linguagens de propósito geral Cálculo matemática Gestão de documentos Controlo

◦ Exemplos Basic Pascal C Cobol Fortran

3ª geração – Linguagens de alto nível

10 print"Hello World!"20 goto 10

Basic

Page 25: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

25

3ª geração – Linguagens de alto nível#include <stdio.h>main(){ for(;;) printf ("Hello World!\n");}

C

PROGRAM HELLO DO 10, I=1,10 PRINT *,'Hello World' 10 CONTINUE STOP END

Fortran

program Hello_World;Begin repeat writeln('Hello World!') until 1=2;End.

Pascal

100200 MAIN-LOGIC SECTION.100300 BEGIN.100400 DISPLAY " " LINE 1 POSITION 1 ERASE EOS.100500 DISPLAY "HELLO, WORLD." LINE 15 POSITION 10.100600 STOP RUN.100700 MAIN-LOGIC-EXIT.100800 EXIT.

Cobol

Page 26: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

26

4ª geração – Linguagens de alto nível com aplicações a áreas concretas◦ Funções muito específicas

Gestão de bases de dados Elaboração de relatórios Geração de ecrãs

◦ Exemplos DBASE SQL CLIPPER

4ª Geração de Linguagens de aplicação

SET ECHO OFFCLEARDO WHILE 1=1 @1,1 SAY "Hello, World!"ENDDO

DBASE

CREATE TABLE HELLO (HELLO CHAR(12))UPDATE HELLO SET HELLO = 'HELLO WORLD!'SELECT * FROM HELLO

SQL

Page 27: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

27

5ª geração – Linguagens de muito alto nível◦ Programação declarativa

Declaração dos problemas Métodos específicos de resolução dos problemas

◦ Linguagens de Inteligência Artificial Prolog

5ª geração – Linguagens de muito alto nível

hello :-printstring("HELLO WORLD!!!!").

printstring([]).printstring([H|T]) :- put(H), printstring(T).

Prolog

Page 28: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

28

Programação imperativa◦ “Qual é o procedimento que resolve o problema?”

Descrição pormenorizada de como um problema deve ser resolvido Algoritmo

O computador segue os passos descritos no programa

Programação declarativa ◦ “Qual é o problema?”

O programador declara o conhecimento necessário para a resolução do problema

A linguagem possui métodos próprios para a resolução dos problemas. inferência

Programação imperativa versus declarativa

Page 29: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

29

Exemplo em linguagem imperativa

C:\Calculo.exeRaio do circulo: 2Perimetro do circulo: 6.28

# include <stdio.h>int main(int argc, char *argv[]) { double raio; printf(“ raio do círculo :”);

scanf(%f”,&raio); if( raio < 0 ) printf (“ ERRO – Raio negativo) else { printf(“Perimetro do circulo:”; printf(“%f”, 3.14* raio); }}

Programação imperativa Linguagem C

Cálculo do Perímetro do

círculo

Page 30: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

30

Exemplos imperativa versus declarativa

Mae(iria, ines).Mae(iria, antonio).Mae(ines, tiago).

Irmao(X,Y) :- Mae(Z,X) Mae(Z,Y)

Avo(X,Y):- Mae(X,Z), Mae(Z,Y). ?: Avo( X,tiago)

X= Iria.?: Irmao( X,Y) X = ines Y = antonio

Programação declarativa (prolog)

Relaçõesfamiliares

Page 31: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

31

Resolução de problemas

Introdução à programaçãoimperativa

Page 32: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

32

Algoritmo Origem da palavra

◦ al-Khwarizmi - Matemático árabe Algoritmo Algarismo

Definição◦ É uma sequência finita de passos ou instruções,

ordenadas de forma lógica, que levam a execução de uma tarefa ou solução de um problema.

Page 33: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

33

Exemplo de um Algoritmo

• 250g de farinha• 150g de margarina• 5 ovos• 2 colheres de fermento• 200 gramas de acucar

1.       Misturar os ingredintes2.       cozinhar o bolo.

Receita

Page 34: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

34

Abordagem Top Down

Receita:1 - Misturar os ingredintes

1.1 – juntar a margarina e a farinha e bater até obter um creme1.2 – Juntar os ovos e mexer1.3 – juntar o fermento

2 –Cozinhar o bolo2.1 Aquecer o forno a 180ºc2.2 Cozer o bolo durante 45 min

• Refinamento:• Obter creme• Juntar ovos• Ligar e regular o forno• Desligar o forno

Pode um computador fazer um bolo ?

Page 35: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

35

Algoritmos

· Algoritmo não computational· Exemplos

· Receita· Manual de instruções

· Depende da perícia do utilizador!

· Algoritmo computational Manipular informação

Receber dados Guardar dados Devolver informação

Executar instruções Fazer operações aritméticas Fazer operações lógicas Escolha entre várias instruções. Repetir um conjunto de instruções

Um algoritmo computacional é

uma sequencia de passo tão bem

definida que até um computador o é

capaz de a executar

Page 36: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

36

Componentes de um algoritmo

Problema◦ Conjunto das possíveis

entradas◦ Conjunto das saídas ◦ Conjunto de operações

válidas

Solução Algorítmica Conjunto ordenado de

operações válidas que transformam o conjunto de entradas na saída desejada

Page 37: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

37

Como se constroem algoritmos? Problema

◦ Trocar uma lâmpada fundida Algoritmo 1

◦ Retirar a lâmpada fundida◦ Colocar a lâmpada boa

A formulação de um problema é frequentemente mais essencial do que a sua solução, a qual pode ser meramente uma questão de habilidade matemática ou experimental

Einstein

Page 38: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

38

Trocar uma lâmpada fundida

Entrada◦ Lâmpada fundida◦ Lâmpada nova◦ Escada

Saída◦ Lâmpada nova a funcionar

Operações válidas◦ Retirar a lâmpada◦ Colocar a lâmpada◦ Subir a escada◦ Descer a escada

Algoritmo 2 Subir a escada Retirar a lâmpada

fundida Colocar a lâmpada boa Descer a escada

Page 39: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

39

Exemplo

Trocar uma lâmpada fundida

Entrada◦ Lâmpada fundida◦ Lâmpada nova◦ Escada◦ Caixote de reciclagem

Saída◦ Lâmpada nova a funcionar◦ Lâmpada fundida na reciclagem

Operações válidas◦ Retirar a lâmpada◦ Colocar a lâmpada◦ Subir a escada◦ Descer a escada◦ Deitar a lâmpada na reciclagem

Algoritmo 2 Subir a escada Retirar a lâmpada

fundida Colocar a lâmpada boa Descer a escada Colocar a lâmpada

fundida na reciclagem

Page 40: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

40

Exemplo

Trocar uma lâmpada fundida

Entrada◦ Lâmpada nova◦ Escada◦ Caixote de reciclagem

Saída◦ Lâmpada nova a funcionar

Operações válidas◦ Retirar a lâmpada◦ Colocar a lâmpada◦ Subir a escada◦ Descer a escada◦ Deslocar a escada◦ Deitar a lâmpada na reciclagem

Algoritmo 3 Colocar a escada debaixo

da lâmpada Colocar a lâmpada boa no

bolso Subir a escada Retirar a lâmpada fundida Colocar a lâmpada boa Descer a escada Colocar a lâmpada fundida

na reciclagem Arrumar a escada

É um bom algoritmo ?

Page 41: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

41

Interagir com o utilizador◦ Realiza uma tarefa útil ao utilizador ◦ Resolve o problema

Ser finito◦ Termina sempre e com o resultado previsto

Ser correctamente definido◦ Instruções claras que o utilizador consegue compreender e

seguir Ser eficaz

◦ Resolve sempre o problema mesmo nas situações mais problemáticas

Ser eficiente◦ Utiliza o mínimo de recursos possível

Características dos bons algoritmos

Page 42: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

42

Algoritmo ou algoritmos ?

1. Inicio2. Suba um degrau3. Suba um degrau4. Suba um degrau5. Suba um degrau6. Suba um degrau7. Suba um degrau8. . . . .9. Fim

1. Inicio2. Subir a escada3. Fim

Page 43: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

43

Conclusão O algoritmo não é a solução de um

problema

◦ É uma forma de chegar á solução

Não se aprende◦ A copiar algoritmos◦ Ler algoritmos prontos◦ A decorar algoritmos

Aprende-se◦ Construindo algoritmos◦ Testando algoritmos

Page 44: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

44

Qual é o problema.◦ O que pretendemos do algoritmo

Definir quais são os dados que entram◦ Qual a situação inicial◦ O que é necessário para resolver o problema

Definir quais são os dados que saem◦ Qual a situação final◦ Que resultados devem ser apresentados

Definir o Algoritmo◦ Definir quais as instruções disponíveis/necessárias◦ Organizar as instruções de forma a resolver o problema

transformar as entradas na saída Testar o algoritmo

◦ Verificar se resolve o problema◦ Verificar se resolve todos os casos

Optimizar o algoritmos Verificar se não utiliza recursos supérfluos

Conclusão - Construir Algoritmos

Page 45: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

45

Formas de Representar um algoritmo:

As formas de representar o raciocínio para a

solução do problema podem ser diversas, as

mais utilizadas são:

1) Pseudocódigo / português

estruturado;

2) Fluxograma.

Obs.: Na vida quotidiana, os algoritmos são encontrados

freqüentemente. Exemplos: tomar banho, tomar café, almoçar,

trocar um pneu, fazer um bolo, até mesmo atender um

telefone...

Page 46: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

46

Pergunta: Duas pessoas podem resolver corretamente o mesmo problema de forma diferente?

O algoritmo é o conceito central da teoria da programação. Programar é basicamente construir vários algoritmos. Construir Sistemas (Software) é a junção de vários programas.

Sistema (software)

Programas

Algoritmos

+

+

Page 47: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

47

ACÇÃO: é um acontecimento que, a partir de

um estado inicial, após um período de tempo

finito, produz um estado final previsível e bem

definido.

Ex.: 1) Estado inicial = digitar dois números

2) Estado intermediário = somar os dois

números

3) Estado final = mostrar o resultado da soma.

Inicial

(Entrada)

Intermediário

(Processamento)Final

(Saída)

Page 48: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

48

Exemplo de um algoritmo: O evento a ser executado: “realizar uma determinada compra num supermercado”:

1 - “faça a lista de compra”;2 - “vá ao supermercado”;3 - “entre no supermercado”;4 - “pegue o carrinho de compra”;5 - “pegue os produtos da lista de compra”;6 - “passe os produtos junto ao caixa”;7 - “volte para casa”;

Suponhamos que um outro observador fez seu relato no próximo dia e muda algumas rotinas. O que é que os dois eventos têm em comum? CHEGAM AO MESMO RESULTADO “COMPRA”

Page 49: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

FLUXOGRAMA

“É uma forma gráfica para representar os passos lógicos de um determinado processamento”

“A principal função é a de facilitar a visualização dos passos de um processamento

através de símbolos”

Existem diversos símbolos para representar um fluxograma, a seguir serão vistos os principais.

Page 50: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

50

Indica o início ou final do Fluxograma

Utilizado para chamar funções

Entrada de dados

Processamento de dados

Saída de dados

Fluxogramas (símbolos)

Fluxo dos dados

Page 51: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

51

Fluxogramas - continuação

Conector na mesma página

Conector fora da página

Desvios de caminho

Obs: Dentro de cada símbolo são descritas informações que indicam a operação a ser realizada.

(símbolos)

Page 52: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

52

Fluxogramas - continuação

Page 53: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

53

Considerando o algoritmo que deve calcular a média de um aluno e mostrar uma mensagem dizendo se esse aluno está aprovado (no caso da nota ter sido igual ou superior a Cinco), uma cláusula senão deve ser incluída no algoritmo no caso do aluno ser reprovado (nota inferior a cinco).

Exemplo:

Page 54: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

54

É uma maneira de escrever um programa usando uma linguagem mais próxima do utilizador.

Tem como finalidade transcrever as ideias do fluxograma em forma de escrita.

Pseudo-código

Representado por PALAVRAS RESERVADAS,

seguidas numa certa sequência lógica.

Page 55: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

PSEUDOCÓDIGO (português estruturado)

- Algoritmo escrito numa forma bem clara

- Fácil interpretação para codificação.

- Pseudocódigo é independente da linguagem de programação a ser implementada posteriormente.

- Pseudocódigo, é uma referência para uma posterior implementação numa linguagem de programação. (Delphi, Pascal, Java, Visual Basic, ASP, etc.)

Page 56: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

PSEUDOCÓDIGO FLUXOGRAMA

INICIO

Leia (Nota1);

Leia (Nota2);

media := (Nota1+Nota2)/2

Escreva ( media );

FIM .

FIM

INÍCIO

Nota2

Nota1

media = (Nota1+Nota2) / 2

media

Page 57: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

57

Exemplo de um programa

Calcular a área do rectângulo

◦ Algoritmo Ler lado 1 Ler lado 2 Area = lado1 * lado 2 Imprimir area

Lado 1

Lado 2

Page 58: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

REGRAS PARA CONSTRUÇÃO DE ALGORITMO

- Usar de um no máximo dois verbos por

frase;

- Imaginar que você está desenvolvendo um

algoritmo para pessoas leigas, que não

trabalham com informática;

- Usar frases curtas e simples;

- Ser objetivo;

- Procurar usar palavras que não tenham

sentido duplo;

Page 59: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

FASES PARA EXECUÇÃO DE UM ALGORITMO

Entrada: são as informações iniciais digitadas

Processamento: com o auxílio da memória do

computador, são executadas as rotinas, cálculos,

combinações, etc.

Saída: Resultados dos processos executados

anteriormente.

Entrada Processamento Saída

Page 60: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

PERGUNTAS PADRÃO PARA MONTAR UM ALGORITMO

Estudo de Caso: Calcular a média final dos alunos do 1.º ano de Aplicações B.

Os alunos realizarão quatro provas, P1, P2, P3 e P4, a qual será armazenada numa variável Média. Após o processamento mostre a média encontrada.

1) Quais os dados de entrada?

R: P1, P2, P3 e P4 (uma após a outra)

2) Qual será o processamento a ser realizado?

R: somar os dados de entrada e dividí-los por 4 (quatro)

3) Qual será o resultado?

R: A saída será a média final

Page 61: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

ALGORITMO INICIAL (sem refinamento)

Inicio

Receber a NOTA 1;

Receber a NOTA 2;

Receber a NOTA 3;

Receber a NOTA 4;

Somar todas as notas de entrada e dividir o resultado por 4 (quatro);

Mostrar o resultado final, o qual foi armazenado em Média;

fim.

Page 62: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

ALGORITMO (com refinamento)

Inicio

Leia ( nota1 );

Leia ( nota2 );

Leia ( nota3 );

Leia ( nota4 );

media := ( nota1 + nota2 + nota3 + nota4 ) / 4;

Escreva (media);

fim.

Page 63: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

PROGRAMAÇÃO ESTRUTURADA

“A arte de construir e formular algoritmos de forma organizada.”

início (inicio do bloco principal do algoritmo)

sequência de instruções...sequência de comandos... sequência de ações...

fim. (fim do algoritmo)

corpo do

algoritmo

Page 64: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

ESTRUTURAS EXISTENTES NA PROGRAMAÇÃO ESTRUTURADA

1) Estrutura Sequencial;

2) Estrutura Condicional / Decisão;

- Simples;

- Composta;

- Múltipla escolha;

3) Estruturas de Repetição;

Page 65: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

Estrutura Sequencial:

início

passo 1; passo 2; passo 3; passo 4;passo 5;

fim.

Page 66: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

Exemplo para realizar uma compra

Estrutura Sequencial:

iníciofaça a lista de compra;vá ao supermercado;entre no supermercado;pegue o carrinho de compra;pegue os produtos da lista de compra;passe os produtos junto ao caixa;volte para casa;fim.

Page 67: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

Exercício: Realizar a troca de um Pneu Furado:

início

Estou em viagem com meu carro; Percebe-se a existência de 1 pneu

furado;... ;... ;... ;... ;... ;... ;Sigo viagem;

fim.

Page 68: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

Estrutura Condicional - Simples

SE <condição for verdadeira> então

comandos;Fim então;

Page 69: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

EXEMPLO1: Estrutura Condicional - Simples

iníciofaça a lista de compra;vá ao supermercado;SE o mercado estiver aberto

então entre no supermercado;

pegue o carrinho de compra;pegue os produtos da lista de compra;passe os produtos junto ao caixa;

Fim então;volte para casa;

Fim.

Page 70: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

EXEMPLO2: Estrutura Condicional - Simples

iníciofaça a lista de compra;vá ao supermercado;SE (o mercado estiver aberto) e (existir carrinho disponível )

então pegue o carrinho de compra;

pegue os produtos da lista de compra;passe os produtos junto ao caixa;

fim então; volte para casa;

Fim.

Page 71: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

Estrutura Condicional - Composta

SE <condição for verdadeira> então

comandos;Fim entãosenão

comandos;Fim senão;

Page 72: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

EXEMPLO1: Estrutura Condicional - Composta

iníciofaça a lista de compra;vá a um supermercado que esteja aberto;SE existir carrinho de compra disponível

então pegue o carrinho de compra;

fim entãosenão

aguarde a disponibilidade de um carrinho;

Fim senão;pegue os produtos da lista de

compra;passe os produtos junto ao

caixa; volte para casa;

Fim.

Page 73: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

EXEMPLO2: Estrutura Condicional - Composta

iníciofaça a lista de compra;vá ao supermercado;SE (o mercado estiver aberto) e (existir carrinho disponível )

então pegue o carrinho de compra;

fim entãosenão

vá para um mercado que tenha disponibilidade;

Fim senão;pegue os produtos da lista de

compra;passe os produtos junto ao

caixa; volte para casa;

Fim.

Page 74: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

Conceito de Estrutura de Repetição

SE <condição for verdadeira> então

comandos;instruções;

fim então;

SE <condição for verdadeira> então

comandos;instruções;

fim então;

SE <condição for verdadeira> então

comandos;instruções;

fim então;

Page 75: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

EXEMPLO: Repetição de estrutura

iníciofaça a lista de compra;

vá ao supermercado;pegue o carrinho de compra;quantidade de produtos a ser comprado = 8;Se quantidade de produto é MENOR QUE 8 então

pegue o próximo produto da lista;Fim então;Se quantidade de produto é MENOR QUE 8 então

pegue o próximo produto da lista;Fim então;... Repetir a estrutura (Se) quantas vezes for

necessáriopasse os produtos junto ao caixa; volte para casa;

Fim.

Page 76: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

Estrutura de Repetição

ENQUANTO <condição verdadeira> faça

comandos;instruções;ações;

Fim Enquanto;

Page 77: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

EXEMPLO: Estrutura de Repetição

iníciofaça a lista de compra;

vá ao supermercado que esteja aberto;

pegue o carrinho de compra; Informe a qtde de produtos a ser

comprado;enquanto produtos INSUFICIENTE

faça pegue o próximo produto da

lista;Fim enquanto;passe os produtos junto ao caixa; volte para casa;

fim .

Page 78: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

PENSAR PRIMEIRO, PROGRAMAR DEPOIS

COMO PROGRAMADOR VOCÊ PRECISA:

a) aprender a EXAMINAR cuidadosamente a

definição do algoritmo;

b) considerar ALTERNATIVAS para solucionar o

problema;

c) examinar cada alternativa de forma

suficientemente DETALHADA para detectar

possíveis pontos de embaraço.

d) Amadurecer a alternativa, APERFEIÇOANDO-A

antes de tentar implementá-la numa linguagem de

programação.

Page 79: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

PROJETO TOP – DOWN

Objetivo: definir as funções exigidas para a solução de um problema.

Passos:

a) Identificar a principal função a ser desempenhada;

b) Identificar suas subfunções;

c) Definir os níveis: (entrada/processamento/saída). O

analista, projeta um algoritmo em níveis. A cada nível do

projeto são consideradas somente as questões pertinentes

a esse nível. Formuladas todas com precisão;

d) Fazer o refinamento sucessivo;

e) Fazer testes para validar o algoritmo.

Page 80: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

Exemplo de Refinamentos sucessivos:

Refinamento 1 - calculo da média de um alunoInício

Ler as notas do aluno;Calcular a média final;Escrever a média do aluno;

Fim.

Refinamento 2 - calculo da média de um alunoInício

Ler a primeira nota do aluno;Leia a segunda nota do aluno;Somar as duas notas e dividir por

dois;Escrever na tela a média do calculo

anterior;Fim.

Page 81: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

Exemplo de Refinamentos sucessivos:

Refinamento 3 - calculo da média de um aluno

InícioLer a 1.ª nota;Leia a 2.ª nota;Media := (nota1 + nota2) / 2;Escreva ( Media );

Fim.

Refinamento 4 - calculo da média de um alunoInício

Leia (nota1);Leia (nota2);Media := (nota1+nota2) / 2;Escreva ( Media );

Fim.

Page 82: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

TESTE TOP – DOWN

O algoritmo e a programação TOP - DOWN facilita os testes, que seguirão os passos do projeto do algoritmo e a codificação do programa.

Para que o teste seja efetivado com maior confiança pelo programador, o teste poderá ser feito através de um “TESTE DE MESA”.

Teste de Mesa: deve-se seguir as instruções do algoritmo de maneira precisa, verificando se os procedimentos (o caminho tomado), está correto ou não.

Page 83: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

Exemplo: entre com as notas de uma disciplina e calcule a média:

Teste de Mesa:

Formulação do Algoritmo e verificação do teste aplicado

InícioLeia (nota1);Leia (nota2);Media := (nota1+nota2) / 2;Escreva ( Media );

Fim.

1.ª Nota 2.ª Nota Média6,5 5,5 6,0 Aprovado9,0 2,0 5,5 Reprovado... ... ... ...

Page 84: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

Operadores Aritméticos Variáveis numéricas

◦ Unários - (menos)

◦ Binários + (adição) - (subtracção) * (multiplicação) / (divisão) ^(potenciação)

Variáveis Texto◦ Binário

+ ( concatenação)

Prioridade dos operadores Prioridade 1

^ Prioridade 2

* /

Prioridade 3 + -

Os parêntesis alteram a prioridade

Page 85: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

85

Exercícios

Page 86: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

EXERCÍCIO EXEMPLO em pseudocódigo (em

sala):

1) Faça um algoritmo para SOMAR dois

números e MULTIPLICAR o resultado pelo

primeiro número. Após o calculo, mostre o

resultado.

2) Encontrar o dobro de um número, caso seja

positivo e o seu triplo caso seja negativo.

Após o calculo escrever o resultado.

Page 87: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

EXERCÍCIO EXEMPLO em fluxograma (em sala):

1) Faça um algoritmo para SOMAR dois

números e MULTIPLICAR o resultado pelo

primeiro número. Após o calculo, mostre o

resultado.

2) Encontrar o dobro de um número, caso seja

positivo e o seu triplo caso seja negativo.

Após o calculo imprimir o resultado.

Page 88: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

EXERCÍCIOS (pseudocódigo/fluxograma)

3) Desenvolva um algoritmo que:

- Leia 4 (quatro) números

- Calcule o dobro para cada um

- Some todos e

- Mostre o resultado

- Pegue o resultado e multiplique por 3

- Mostre o resultado novamente

3.1 – Escrever um algoritmo em PSEUDOCÓDIGO

3.2 – Escrever outro algoritmo em FLUXOGRAMA

Page 89: Ano lectivo de 2009 / 2010 1. Escola Superior de Tecnologia de Tomar – Departamento de Eng. Informática Introdução História da computação Funcionamento

Escola

Su

peri

or

de T

ecn

olo

gia

de T

om

ar

– D

ep

art

am

en

to d

e E

ng

. In

form

áti

ca

89

Escreva um algoritmo para trocar o pneu de um carro

Escreva um algoritmo par meter gasolina num posto de abastecimento Self-service.

Escreva um algoritmo para telefonar de uma cabine pública.

Algoritmos