Upload
internet
View
102
Download
0
Embed Size (px)
Citation preview
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