programação de computadores iii aula 1hbarbalho/pages/slides/slides04.pdf · 2016-01-11 · passo...
TRANSCRIPT
Programação de Computadores III
Pseudocódigo e EstruturasBásicas de Controle
Programação de Computadores III
Pseudocódigo e EstruturasBásicas de Controle
TCC-00.157 Programação de Computadores III
Professor Hugo de Oliveira [email protected]
Material produzido pelo professor:Leandro Augusto Frata Fernandes ([email protected])
Roteiro das AulasRoteiro das Aulas
• Fluxograma
• Pseudocódigo
• Estruturas de decisão
• Estruturas de repetição
TCC-00.157 Programação de Computadores III 2
Representação de AlgoritmosRepresentaçã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
TCC-00.157 Programação de Computadores III 3
Fluxograma ou Diagrama de Bloco Fluxograma ou Diagrama de Bloco
• Representação gráfica padronizada dospassos de um algoritmo
• Principais símbolos
TCC-00.157 Programação de Computadores III 4
Terminalinício ou fim do algoritmo
Processoação, operação
Entrada manual de dadosler, receber
Exibirmostrar dados, saída de dados
Decisãodesvio condicional ou teste
Direção do fluxopróximo passo, sentido
Fluxograma para o Exemplo da MédiaFluxograma para o Exemplo da Média
TCC-00.157 Programação de Computadores III 5
INÍCIO
Recebe N1 Recebe N2 Recebe N3 Recebe N4
CalculaMEDIA ← (N1 + N2 + N3 + N4) / 4
Mostra MEDIA
FIM
MEDIA = N1 + N2 + N3 + N44
Fluxograma para o Exemplo da MédiaFluxograma para o Exemplo da Média
TCC-00.157 Programação de Computadores III 6
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
Significadoimplícito nos
símbolos
PseudocódigoPseudocó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
TCC-00.157 Programação de Computadores III 7
Boas Práticas na Escrita de PseudocódigoBoas 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
TCC-00.157 Programação de Computadores III 8
Pseudocódigo para o Exemplo da MédiaPseudocó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 é ’ MEDIAFIM
TCC-00.157 Programação de Computadores III 9
Tipo da VariávelTipo da Variável
AtribuiçãoAtribuição
Iden
taçã
oId
enta
ção Operadores AritméticosOperadores Aritméticos
INÍCIO
N1
N2 N3
N4
MEDIA ← (N1 + N2 + N3 + N4) / 4
‘ A média é ’ MEDIA FIM
Fluxograma
Estruturas de DecisãoEstruturas 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
TCC-00.157 Programação de Computadores III 10
Estruturas de DecisãoEstruturas 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 comandosSENÃ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 comandosFIM SE
TCC-00.157 Programação de Computadores III 11
ExemploExemplo
• 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 SEFIM
TCC-00.157 Programação de Computadores III 12
VALOR1
VALOR2
‘O segundo é maior’ FIM
‘O primeiro é maior’
VALOR1 > VALOR2 Sim
Não
INÍCIO
Operação LógicaOperação Lógica
Iden
taçã
oId
enta
ção
ExemploExemplo
• 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 SEFIM
TCC-00.157 Programação de Computadores III 13
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
• 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 SEFIM
ExemploExemplo
• Construa um algoritmo para ler umvalor real. Se o valor for maior que zero,escreva-o e termine o programa. Casocontrário, apenas termine o programa
VARIÁVEIS Real: VALOR
INÍCIO Ler VALOR SE VALOR > 0 ENTÃO Escrever ‘O valor é ’ VALOR FIM SEFIM
TCC-00.157 Programação de Computadores III 14
VALOR
FIM
‘O valor é ’ VALOR
VALOR > 0 Sim
Não
INÍCIO
Estruturas de RepetiçãoEstruturas 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
TCC-00.157 Programação de Computadores III 15
Fluxogramas de ExemploFluxogramas de Exemplo
TCC-00.157 Programação de Computadores III 16
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
Vantagens das Estruturas de RepetiçãoVantagens 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
TCC-00.157 Programação de Computadores III 17
Principais Estruturas de RepetiçãoPrincipais Estruturas de Repetição
• ENQUANTO ... REPETIR ...ENQUANTO condição for verdadeira REPETIR
bloco de comandosFIM ENQUANTO
• REPETIR ... ENQUANTO ... REPETIR bloco de comandosENQUANTO condição for verdadeira
• PARA ... ATÉ ... REPETIR ...PARA variável ← início ATÉ fim REPETIR bloco de comandosFIM PARA
TCC-00.157 Programação de Computadores III 18
Principais Estruturas de Repetição (1/3)Principais Estruturas de Repetição (1/3)
• ENQUANTO ... REPETIR ...
ENQUANTO condição for verdadeira REPETIR
bloco de comandosFIM ENQUANTO
TCC-00.157 Programação de Computadores III 19
Instrução
Condição
Verdadeiro
Falso
ExemploExemplo
• 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 MediaFIM
TCC-00.157 Programação de Computadores III 20
Principais Estruturas de Repetição (2/3)Principais Estruturas de Repetição (2/3)
• REPETIR ... ENQUANTO ...
REPETIR
bloco de comandosENQUANTO condição for verdadeira
TCC-00.157 Programação de Computadores III 21
Instrução
CondiçãoVerdadeiro
Falso
Note a Diferença nos FluxogramasNote a Diferença nos Fluxogramas
TCC-00.157 Programação de Computadores III 22
ENQUANTO ... REPETIR ... REPETIR ... ENQUANTO ...
Instrução
Condição
Verdadeiro
Falso
Instrução
Condição
Verdadeiro
Falso
ExemploExemplo
• 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 MediaFIM
TCC-00.157 Programação de Computadores III 23
Principais Estruturas de Repetição (3/3)Principais Estruturas de Repetição (3/3)
• PARA ... ATÉ ... REPETIR ...
PARA variável ← início ATÉ fim REPETIR
bloco de comandosFIM PARA
TCC-00.157 Programação de Computadores III 24
Características da EstruturaPARA ... ATÉ ... REPETIR ... Características da EstruturaPARA ... ATÉ ... REPETIR ...
PARA variável ← início ATÉ fim REPETIR
bloco de comandosFIM 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
TCC-00.157 Programação de Computadores III 25
Características da EstruturaPARA ... ATÉ ... REPETIR ... Características da EstruturaPARA ... ATÉ ... REPETIR ...
PARA variável ← início ATÉ fim REPETIR
bloco de comandosFIM 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
TCC-00.157 Programação de Computadores III 26
O valor de incremento pode ser alterado!O valor de incremento pode ser alterado!
PARA variável ← início ATÉ fim PASSO p REPETIR
bloco de comandosFIM 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
TCC-00.157 Programação de Computadores III 27
ExemploExemplo
• 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 MediaFIM
TCC-00.157 Programação de Computadores III 28
ExemploExemplo
• 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
TCC-00.157 Programação de Computadores III 29