Programação de Computadores -...
Transcript of Programação de Computadores -...
![Page 1: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/1.jpg)
Luis Martí Instituto de Computação
Universidade Federal Fluminense [email protected] - http://lmarti.com
Programação de Computadores: Pseudocódigo e Estruturas Básicas de Controle
Instituto de
C
![Page 2: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/2.jpg)
Roteiro da Aula de Hoje
• Lógica de programação
• Instrução
• Algoritmo
• Diferença entre algoritmo e programa
• Teste de mesa
2
![Page 3: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/3.jpg)
Roteiro das Aulas
• Fluxograma
• Pseudocódigo
• Estruturas de decisão
• Estruturas de repetição
3
![Page 4: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/4.jpg)
Representação de Algoritmos
• Fluxograma ou diagrama de bloco ▪ Forma universal de representação
▪ Utiliza formas geométricas bem definidas para ilustrar os passos do algoritmo
• Pseudocódigo ▪ Significa “código falso”
▪ Facilita descrever o algoritmo antes de passá-lo para uma linguagem de programação.
▪ Linguagem intermediária entre a natural e a de programação
4
![Page 5: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/5.jpg)
Fluxograma ou Diagrama de Bloco
• Representação gráfica padronizada dospassos de um algoritmo
• Principais símbolos
5
Terminalinício ou fim do algoritmo
Processoação, operação
Entrada manual de dados ler, receber
Exibirmostrar dados, saída de dados
Decisãodesvio condicional ou teste
Direção do fluxopróximo passo, sentido
![Page 6: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/6.jpg)
Fluxograma para o Exemplo da Média
6
INÍCIO
Recebe N1 Recebe N2 Recebe N3 Recebe N4
CalculaMEDIA ← (N1 + N2 + N3 + N4) / 4
Mostra MEDIA
FIM
MEDIA = N1 + N2 + N3 + N4 4
![Page 7: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/7.jpg)
Fluxograma para o Exemplo da Média
7
INÍCIO Recebe N1
Recebe N2
Recebe N3
Recebe N4
Calcula MEDIA ← (N1 + N2 + N3 + N4) / 4
Mostra MEDIA FIM
INÍCIO N1
N2
N3
N4
MEDIA ← (N1 + N2 + N3 + N4) / 4
MEDIA FIM
Significadoimplícito nos
símbolos
![Page 8: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/8.jpg)
Pseudocódigo
• Descrição do algoritmo menos rigorosa que na linguagem de programação
• Fácil de entender e fácil de codificar depois
• Simples e objetivo
• Deve seguir boas práticas
8
![Page 9: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/9.jpg)
Boas Práticas na Escrita de Pseudocódigo
• Utilize um verbo por frase
• Faça frases curtas e simples
• Seja objetivo
• Use palavras sem duplo sentido
• Use identação e linhas em branco
9
![Page 10: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/10.jpg)
Pseudocódigo para o Exemplo da Média
VARIÁVEIS
Real: N1, N2, N3, N4, MEDIA
INÍCIO
Ler N1
Ler N2
Ler N3
Ler N4
MEDIA ← (N1+N2+N3+N4)/4
Escrever ‘A média é ’ MEDIA
FIM
10
Tipo da Variável
Atribuição
Iden
taçã
o Operadores Aritméticos
INÍCIO
N1
N2 N3
N4
MEDIA ← (N1 + N2 + N3 + N4) / 4
‘ A média é ’ MEDIA FIM
Fluxograma
![Page 11: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/11.jpg)
Estruturas de Decisão
• Comandos de decisão ou desvio são usados na construção de algoritmos que não são totalmente seqüenciais
• Com instruções de desvio pode-se fazer com que o algoritmo proceda de uma outra maneira, de acordo com as decisões lógicas tomadas em função dos dados ou resultados anteriores
11
![Page 12: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/12.jpg)
Estruturas de Decisão
• As estruturas de decisão que veremos hoje são: ▪ SE ... ENTÃO ... SENÃO ... FIM SE
SE alguma coisa for verdadeira ENTÃO execute este bloco de comandos SENÃO execute este outro bloco de comandos
FIM SE
▪ SE ... ENTÃO ... FIM SE
SE alguma coisa for verdadeira ENTÃO execute este bloco de comandos FIM SE
12
![Page 13: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/13.jpg)
Exemplo
• Construa um algoritmo para ler doisvalores inteiros e escrever qual é maior VARIÁVEIS Inteiro: VALOR1, VALOR2
INÍCIO Ler VALOR1 Ler VALOR2 SE VALOR1 > VALOR2 ENTÃO Escrever ‘O primeiro é maior’ SE NÃO Escrever ‘O segundo é maior’ FIM SE FIM
13
VALOR1
VALOR2
‘O segundo é maior’ FIM
‘O primeiro é maior’
VALOR1 > VALOR2 Sim
Não
INÍCIO
Operação Lógica
Iden
taçã
o
![Page 14: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/14.jpg)
Exemplo
• Construa um algoritmo para ler doisvalores inteiros e escrever qual é maior VARIÁVEIS Inteiro: VALOR1, VALOR2
INÍCIO Ler VALOR1 Ler VALOR2 SE VALOR1 > VALOR2 ENTÃO Escrever ‘O primeiro é maior’ SE NÃO Escrever ‘O segundo é maior’ FIM SE FIM
14
VALOR1
VALOR2
‘O segundo é maior’ FIM
‘O primeiro é maior’
VALOR1 > VALOR2 Sim
Não
INÍCIO
Teste o algoritmo paraas entradas 15 e 12.
‘O segundo é maior’
Não
![Page 15: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/15.jpg)
Exemplo
• Construa um algoritmo para ler umvalor real. Se o valor for maior que zero, escreva-o e termine o programa. Caso contrário, apenas termine o programa VARIÁVEIS Real: VALOR
INÍCIO Ler VALOR SE VALOR > 0 ENTÃO Escrever ‘O valor é ’ VALOR FIM SE FIM
15
VALOR
FIM
‘O valor é ’ VALOR
VALOR > 0 Sim
Não
INÍCIO
![Page 16: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/16.jpg)
Estruturas de Repetição
• Uma ação que se repete várias vezes em um algoritmo pode ser tratada... ▪ ... escrevendo-a várias vezes
▪ ... resumindo-a, anotando uma única vez, e solicitando que ela se repita
• Exemplo ▪ Construa um fluxograma que execute o comando
“Martele” dez vezes
16
![Page 17: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/17.jpg)
Fluxogramas de Exemplo
17
INÍCIO
Martele
CONTADOR < 10
Sim
Não
FIM
INÍCIO
FIM
CONTADOR ← 0
Martele
Martele
Martele
Martele
Martele
Martele
Martele
Martele
Martele
Martele
CONTADOR ← CONTADOR + 1
Isso funciona, mas não é prático
Isso funcionae é fácil de ser adaptado
para mais repetições
![Page 18: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/18.jpg)
Vantagens das Estruturas de Repetição
• Podemos pedir que uma ação (ou conjunto de ações) seja executada ▪ Um número definido ou indefinido de vezes
▪ Enquanto um estado permanecer
▪ Até que um estado seja atingido
• Reduz o tamanho do algoritmo/programa
• Facilita a manutenção do algoritmo/programa
18
![Page 19: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/19.jpg)
Principais Estruturas de Repetição
• ENQUANTO ... REPETIR ... ENQUANTO condição for verdadeira REPETIR
bloco de comandos FIM ENQUANTO
• REPETIR ... ENQUANTO ... REPETIR
bloco de comandos ENQUANTO condição for verdadeira
• PARA ... ATÉ ... REPETIR ... PARA variável ← início ATÉ fim REPETIR
bloco de comandos FIM PARA
19
![Page 20: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/20.jpg)
Principais Estruturas de Repetição (1/3)
• ENQUANTO ... REPETIR ... ENQUANTO condição for verdadeira REPETIR
bloco de comandos FIM ENQUANTO
20
Instrução
Condição
Verdadeiro
Falso
![Page 21: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/21.jpg)
Exemplo
• Ler 850 números fornecidos pelo usuário, calcular e exibir a média
VARIÁVEIS Real: Soma, Num, Media Inteiro: Cont
INÍCIO Soma ← 0 Cont ← 0 ENQUANTO Cont < 850 REPETIR Ler Num Soma ← Soma + Num Cont ← Cont + 1 FIM ENQUANTO Media ← Soma / Cont
Mostrar Media FIM
21
![Page 22: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/22.jpg)
Principais Estruturas de Repetição (2/3)
• REPETIR ... ENQUANTO ... REPETIR
bloco de comandos ENQUANTO condição for verdadeira
22
Instrução
CondiçãoVerdadeiro
Falso
![Page 23: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/23.jpg)
Note a Diferença nos Fluxogramas
23
ENQUANTO ... REPETIR ... REPETIR ... ENQUANTO ...
Instrução
Condição
Verdadeiro
Falso
Instrução
Condição
Verdadeiro
Falso
![Page 24: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/24.jpg)
Exemplo
• Ler 850 números fornecidos pelo usuário, calcular e exibir a média
VARIÁVEIS Real: Soma, Num, Media Inteiro: Cont
INÍCIO Soma ← 0 Cont ← 0 REPETIR Ler Num Soma ← Soma + Num Cont ← Cont + 1 ENQUANTO Cont < 850 Media ← Soma / Cont
Mostrar Media FIM
24
![Page 25: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/25.jpg)
Principais Estruturas de Repetição (3/3)
• PARA ... ATÉ ... REPETIR ... PARA variável ← início ATÉ fim REPETIR
bloco de comandos FIM PARA
25
![Page 26: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/26.jpg)
Características da EstruturaPARA ... ATÉ ... REPETIR ...
PARA variável ← início ATÉ fim REPETIR bloco de comandos FIM PARA
• Execução ▪ Passo 1: A variável recebe o valor inicial ▪ Passo 2: Se a variável é menor ou igual ao valor final, o bloco de
comandos é executado ▪ Passo 3: Soma-se 1 à variável e volta ao Passo 2 ▪ Término: Após a o bloco de comandos ser executado para a
variável igual ao valor final, ou caso o valor inicial seja maior que o final
26
![Page 27: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/27.jpg)
Características da EstruturaPARA ... ATÉ ... REPETIR ...
PARA variável ← início ATÉ fim REPETIR
bloco de comandos FIM PARA
• Gerencia, automaticamente, o contador
• A estrutura deixa subentendido que ▪ A variável receberá primeiro o valor inicial
▪ Será incrementada a cada ciclo
▪ Os comandos serão executados (fim – início + 1) vezes
27
![Page 28: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/28.jpg)
O valor de incremento pode ser alterado!
PARA variável ← início ATÉ fim PASSO p REPETIR
bloco de comandos FIM PARA
• Ao incluir o passo p no protótipo da estrutura, o incremento padrão de uma unidade é substituído pelo incremento de p unidades
• O passo p pode ser tanto um valor positivo quanto um valor negativo
28
![Page 29: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/29.jpg)
Exemplo
• Ler 850 números fornecidos pelo usuário, calcular e exibir a média
VARIÁVEIS Real: Soma, Num, Media Inteiro: Cont
INÍCIO Soma ← 0 PARA Cont ← 1 ATÉ 850 REPETIR Ler Num Soma ← Soma + Num FIM PARA Media ← Soma / 850
Mostrar Media FIM
29
![Page 30: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/30.jpg)
Exemplo
• Escrever todos os números pares de 1 a 100 VARIÁVEIS
Inteiro: Num
INÍCIO PARA Num ← 2 ATÉ 100 PASSO 2 REPETIR Mostrar Num FIM PARA FIM
A saída exibe os números: 2, 4, 6, ..., até 100
30
![Page 31: Programação de Computadores - lmarti.comlmarti.com/wp-content/uploads/2015/12/slides_04-Pseudocodigo-e-e... · próximo passo, sentido. Fluxograma para o Exemplo da Média 6 INÍCIO](https://reader033.fdocumentos.tips/reader033/viewer/2022052715/5c0a998d09d3f2551a8ba0f4/html5/thumbnails/31.jpg)
Material adaptado por Luis Martí a partir dos slides de Leandro Augusto Frata Fernandes.