programação de computadores -...

31
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

Upload: dinhtuong

Post on 07-Dec-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Material adaptado por Luis Martí a partir dos slides de Leandro Augusto Frata Fernandes.