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

Post on 18-Apr-2015

102 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

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

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

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?

4

ComputadorAs cinco gerações

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

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)

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)

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)

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

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

11

Funcionamento do computador digital

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

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

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.

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

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

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

18

Linguagens de Programação

A linguagem que as máquinas entendem

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

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

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

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

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

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

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

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

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

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

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

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

31

Resolução de problemas

Introdução à programaçãoimperativa

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.

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

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 ?

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

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

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

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

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

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 ?

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

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

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

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

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

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

+

+

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)

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”

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.

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

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)

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

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:

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.

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

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

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

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;

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

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

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.

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.

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

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;

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.

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.

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.

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;

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.

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.

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;

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.

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.

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;

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.

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;

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 .

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.

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.

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.

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.

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.

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

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

85

Exercícios

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.

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.

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

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

top related