Sei sulla pagina 1di 234

Algoritmos e Lgica de Programao I

Prof. Me. Rogrio de Leon Pereira rogerio.pereira@ead.cesumar.br


1

Agenda (Unidade 3) Teste de Mesa. Identao. Estrutura de Deciso Mltipla. Expresses lgicas. Laos Condicionais e de Repetio.
Estrutura Para. Estrutura Enquanto. Estrutura Repita.

Laos de Repetio Encadeados.

Teste de Mesa

Teste de Mesa

Tcnica utilizada para simular a execuo de um algoritmo. Anota-se o valor das variveis e o resultado das expresses em uma tabela seguindo o fluxo do algoritmo.
4

Exemplo 1 Crie um algoritmo que receba dois nmeros inteiros e diga qual deles maior.

Problema: saber qual o maior entre dois nmeros. Entrada: dois nmeros. Processamento: comparar os nmeros. Sada: o nmero maior.
5

Exemplo 1
algoritmo exemplo1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a ? ? ? ? ? ? ? ? b ? ? ? ? ? ? ? ? a>b ? ? ? ? ? ? ? ?
6

Teste 1

Teste 1
algoritmo teste1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a ? ? ? ? ? ? ? ? b ? ? ? ? ? ? ? ? a>b ? ? ? ? ? ? ? ?
8

Teste 1
algoritmo teste1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a ? ? ? ? ? ? ? ? b ? ? ? ? ? ? ? ? a>b ? ? ? ? ? ? ? ?
9

Teste 1
algoritmo teste1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a ? ? ? ? ? ? ? ? b ? ? ? ? ? ? ? ? a>b ? ? ? ? ? ? ? ?
10

Teste 1
algoritmo teste1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a ? ? ? ? ? ? ? ? b ? ? ? ? ? ? ? ? a>b ? ? ? ? ? ? ? ?
11

Teste 1
algoritmo teste1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a 5 ? ? ? ? ? ? ? b ? ? ? ? ? ? ? ? a>b ? ? ? ? ? ? ? ?
12

Teste 1
algoritmo teste1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a 5 5 ? ? ? ? ? ? b ? 3 ? ? ? ? ? ? a>b ? ? ? ? ? ? ? ?
13

Teste 1
algoritmo teste1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a 5 5 5 ? ? ? ? ? b ? 3 3 ? ? ? ? ? a>b ? ? 1 ? ? ? ? ?
14

Teste 1
algoritmo teste1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a 5 5 5 ? ? ? ? ? b ? 3 3 ? ? ? ? ? a>b ? ? 1 ? ? ? ? ?
15

Teste 1
algoritmo teste1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a 5 5 5 ? ? ? ? ? b ? 3 3 ? ? ? ? ? a>b ? ? 1 ? ? ? ? ?
16

Teste 1
algoritmo teste1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a 5 5 5 ? ? ? ? ? b ? 3 3 ? ? ? ? ? a>b ? ? 1 ? ? ? ? ?
17

Teste 2

18

Teste 2
algoritmo teste2 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a ? ? ? ? ? ? ? ? b ? ? ? ? ? ? ? ? a>b ? ? ? ? ? ? ? ?
19

Teste 2
algoritmo teste2 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a ? ? ? ? ? ? ? ? b ? ? ? ? ? ? ? ? a>b ? ? ? ? ? ? ? ?
20

Teste 2
algoritmo teste2 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a ? ? ? ? ? ? ? ? b ? ? ? ? ? ? ? ? a>b ? ? ? ? ? ? ? ?
21

Teste 2
algoritmo teste2 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a ? ? ? ? ? ? ? ? b ? ? ? ? ? ? ? ? a>b ? ? ? ? ? ? ? ?
22

Teste 2
algoritmo teste2 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a 2 ? ? ? ? ? ? ? b ? ? ? ? ? ? ? ? a>b ? ? ? ? ? ? ? ?
23

Teste 2
algoritmo teste2 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a 2 2 ? ? ? ? ? ? b ? 4 ? ? ? ? ? ? a>b ? ? ? ? ? ? ? ?
24

Teste 2
algoritmo teste2 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a 2 2 2 ? ? ? ? ? b ? 4 4 ? ? ? ? ? a>b ? ? 0 ? ? ? ? ?
25

Teste 2
algoritmo teste2 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a 2 2 2 ? ? ? ? ? b ? 4 4 ? ? ? ? ? a>b ? ? F ? ? ? ? ?
26

Teste 2
algoritmo teste2 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a 2 2 2 ? ? ? ? ? b ? 4 4 ? ? ? ? ? a>b ? ? Falso ? ? ? ? ?
27

Teste 2
algoritmo teste2 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a 5 5 5 ? ? ? ? ? b ? 3 3 ? ? ? ? ? a>b ? ? 0 ? ? ? ? ?
28

Teste 2
algoritmo teste2 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. a 5 5 5 ? ? ? ? ? b ? 3 3 ? ? ? ? ? a>b ? ? 1 ? ? ? ? ?
29

Exerccio: Teste de Mesa

30

Teste de Mesa
Exemplo de soluo para o problema do Frum 1. Simule o algoritmo ao lado usando a tcnica do Teste de Mesa, usando diferentes valores para as variveis cord1 e cord2.
algoritmo coordenadas var cord1, cord2 : real incio leia (cord1) leia (cord2) cord1 cord1 + cord2 cord2 cord1 cord2 cord1 cord1 cord2 fim.
31

Teste de Mesa
algoritmo coordenadas var cord1, cord2 : real incio leia (cord1) leia (cord2) cord1 cord1 + cord2 cord2 cord1 cord2 cord1 cord1 cord2 fim. cord1 cord2
? ?

32

Teste de Mesa
algoritmo coordenadas var cord1, cord2 : real incio leia (cord1) leia (cord2) cord1 cord1 + cord2 cord2 cord1 cord2 cord1 cord1 cord2 fim. cord1 cord2
? ?

33

Teste de Mesa
algoritmo coordenadas var cord1, cord2 : real incio leia (cord1) leia (cord2) cord1 cord1 + cord2 cord2 cord1 cord2 cord1 cord1 cord2 fim. cord1 cord2
? ?

34

Teste de Mesa
algoritmo coordenadas var cord1, cord2 : real incio leia (cord1) leia (cord2) cord1 cord1 + cord2 cord2 cord1 cord2 cord1 cord1 cord2 fim. cord1 cord2
? ?

35

Teste de Mesa
algoritmo coordenadas var cord1, cord2 : real incio leia (cord1) leia (cord2) cord1 cord1 + cord2 cord2 cord1 cord2 cord1 cord1 cord2 fim. cord1 cord2
? ?

36

Teste de Mesa
algoritmo coordenadas var cord1, cord2 : real incio leia (cord1) leia (cord2) cord1 cord1 + cord2 cord2 cord1 cord2 cord1 cord1 cord2 fim. cord1 cord2
? 10 ? ?

37

Teste de Mesa
algoritmo coordenadas var cord1, cord2 : real incio leia (cord1) leia (cord2) cord1 cord1 + cord2 cord2 cord1 cord2 cord1 cord1 cord2 fim. cord1 cord2
? 10 ? ?

10

38

Teste de Mesa
algoritmo coordenadas var cord1, cord2 : real incio leia (cord1) leia (cord2) cord1 cord1 + cord2 cord2 cord1 cord2 cord1 cord1 cord2 fim. cord1 cord2
? 10 ? ?

10
10+5

5
5

39

Teste de Mesa
algoritmo coordenadas var cord1, cord2 : real incio leia (cord1) leia (cord2) cord1 cord1 + cord2 cord2 cord1 cord2 cord1 cord1 cord2 fim. cord1 cord2
? 10 ? ?

10
15

5
5

40

Teste de Mesa
algoritmo coordenadas var cord1, cord2 : real incio leia (cord1) leia (cord2) cord1 cord1 + cord2 cord2 cord1 cord2 cord1 cord1 cord2 fim. cord1 cord2
? 10 ? ?

10
15 15

5
5 15-5

41

Teste de Mesa
algoritmo coordenadas var cord1, cord2 : real incio leia (cord1) leia (cord2) cord1 cord1 + cord2 cord2 cord1 cord2 cord1 cord1 cord2 fim. cord1 cord2
? 10 ? ?

10
15 15

5
5 10

42

Teste de Mesa
algoritmo coordenadas var cord1, cord2 : real incio leia (cord1) leia (cord2) cord1 cord1 + cord2 cord2 cord1 cord2 cord1 cord1 cord2 fim. cord1 cord2
? 10 ? ?

10
15 15

5
5 10

15-10

10

43

Teste de Mesa
algoritmo coordenadas var cord1, cord2 : real incio leia (cord1) leia (cord2) cord1 cord1 + cord2 cord2 cord1 cord2 cord1 cord1 cord2 fim. cord1 cord2
? 10 ? ?

10
15 15

5
5 10

10

44

Teste de Mesa
algoritmo coordenadas var cord1, cord2 : real incio leia (cord1) leia (cord2) cord1 cord1 + cord2 cord2 cord1 cord2 cord1 cord1 cord2 fim. cord1 cord2
? 10 ? ?

10
15 15

5
5 10

10

45

Identao

46

Identao Recurso esttico utilizado para diferenciar os conjuntos/blocos de instrues dentro de um algoritmo.

A identao facilita a leitura e a compreenso do cdigo.


Se d por meio da alterao da tabulao inicial de cada linha.

47

Exemplo Identao 1
algoritmo exemplo1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim.

48

Exemplo Identao 1
algoritmo exemplo1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim.

49

Exemplo Identao 1
algoritmo exemplo1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim.

50

Exemplo Identao 1
algoritmo exemplo1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim.

51

Exemplo Identao 1
algoritmo exemplo1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim.

52

Exemplo Identao 1
algoritmo exemplo1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim.

53

Exemplo Identao 1
algoritmo exemplo1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim.

54

Exemplo Identao 1
algoritmo exemplo1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim.

55

Exemplo Identao 1
algoritmo exemplo1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim.

56

Exemplo Identao 1
algoritmo exemplo1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim. algoritmo exemplo1 var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) fim_se fim.

57

Exerccio: Identao

58

Identao
Aplique a esttica de identao no algoritmo a seguir. algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se fim.

59

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se fim.

60

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se fim.

61

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se fim.

62

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se fim.

63

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se fim.

64

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se fim.

65

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se fim.

66

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se fim.

67

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se fim.

68

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se fim.

69

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se fim.

70

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se 71 fim.

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se 72 fim.

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se 73 fim.

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se 74 fim.

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se 75 fim.

Identao
algoritmo identacao var a, b : inteiro inicio leia (a) leia (b) se (a > b) ento escreva (a > b) seno se (a < b) ento escreva (b > a) seno escreva (a = b) fim_se fim_se 76 fim.

Estrutura de Deciso Mltipla

77

Estrutura de Deciso Mltipla Generalizao da instruo SE em que pode haver uma ou mais condies a serem avaliadas e um comando diferenciado associado a cada uma delas.
caso <varivel> seja <valor 1> faa <instruo 1> seja <valor 2> faa <instruo 2> seja <valor 3> faa <instruo 3> seno <instruo> fim_caso

78

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) caso dia seja 2 faa escreva (Segunda-feira) seja 3 faa escreva (Tera-feira) ... seno escreva (Final de Semana \o/) fim_caso

79

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) se (dia = 2) ento escreva (Segunda-feira) fim_se se (dia = 3) ento escreva (Tera-feira) fim_se ... se (dia = 4), se (dia = 5), se (dia = 6) etc.

80

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) caso dia seja 2 faa escreva (Segunda-feira) seja 3 faa escreva (Tera-feira) seja 4 faa escreva (Quarta-feira) seja 5 faa escreva (Quinta-feira) seja 6 faa escreva (Sexta-feira) seno escreva (Final de Semana \o/) fim_caso

81

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) se (dia = 2) ento escreva (Segunda-feira) se (dia = 3) ento escreva (Tera-feira) se (dia = 4) ento escreva (Quarta-feira) se (dia = 5) ento escreva (Quinta-feira) se (dia = 6) ento escreva (Sexta-feira) se (dia = 7) ento escreva (Final de Semana) se (dia = 1) ento escreva (Final de Semana)
82

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) caso dia seja 2 faa escreva (Segunda-feira) seja 3 faa escreva (Tera-feira) seja 4 faa escreva (Quarta-feira) seja 5 faa escreva (Quinta-feira) seja 6 faa escreva (Sexta-feira) seno escreva (Final de Semana \o/) fim_caso

83

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) caso dia seja 2 faa escreva (Segunda-feira) seja 3 faa escreva (Tera-feira) seja 4 faa escreva (Quarta-feira) seja 5 faa escreva (Quinta-feira) seja 6 faa escreva (Sexta-feira) seno escreva (Final de Semana \o/) fim_caso

84

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) 4 caso dia seja 2 faa escreva (Segunda-feira) seja 3 faa escreva (Tera-feira) seja 4 faa escreva (Quarta-feira) seja 5 faa escreva (Quinta-feira) seja 6 faa escreva (Sexta-feira) seno escreva (Final de Semana \o/) fim_caso

85

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) caso dia seja 2 faa escreva (Segunda-feira) seja 3 faa escreva (Tera-feira) seja 4 faa escreva (Quarta-feira) seja 5 faa escreva (Quinta-feira) seja 6 faa escreva (Sexta-feira) seno escreva (Final de Semana \o/) fim_caso

86

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) caso dia seja 2 faa escreva (Segunda-feira) seja 3 faa escreva (Tera-feira) seja 4 faa escreva (Quarta-feira) seja 5 faa escreva (Quinta-feira) seja 6 faa escreva (Sexta-feira) seno escreva (Final de Semana \o/) fim_caso

87

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) caso dia seja 2 faa escreva (Segunda-feira) seja 3 faa escreva (Tera-feira) seja 4 faa escreva (Quarta-feira) seja 5 faa escreva (Quinta-feira) seja 6 faa escreva (Sexta-feira) seno escreva (Final de Semana \o/) fim_caso

88

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) se (dia = 2) ento escreva (Segunda-feira) se (dia = 3) ento escreva (Tera-feira) se (dia = 4) ento escreva (Quarta-feira) se (dia = 5) ento escreva (Quinta-feira) se (dia = 6) ento escreva (Sexta-feira) se (dia = 7) ento escreva (Final de Semana) se (dia = 1) ento escreva (Final de Semana)
89

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) se (dia = 2) ento escreva (Segunda-feira) se (dia = 3) ento escreva (Tera-feira) se (dia = 4) ento escreva (Quarta-feira) se (dia = 5) ento escreva (Quinta-feira) se (dia = 6) ento escreva (Sexta-feira) se (dia = 7) ento escreva (Final de Semana) se (dia = 1) ento escreva (Final de Semana)
90

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) 4 se (dia = 2) ento escreva (Segunda-feira) se (dia = 3) ento escreva (Tera-feira) se (dia = 4) ento escreva (Quarta-feira) se (dia = 5) ento escreva (Quinta-feira) se (dia = 6) ento escreva (Sexta-feira) se (dia = 7) ento escreva (Final de Semana) se (dia = 1) ento escreva (Final de Semana)
91

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) se (dia = 2) ento escreva (Segunda-feira) se (dia = 3) ento escreva (Tera-feira) se (dia = 4) ento escreva (Quarta-feira) se (dia = 5) ento escreva (Quinta-feira) se (dia = 6) ento escreva (Sexta-feira) se (dia = 7) ento escreva (Final de Semana) se (dia = 1) ento escreva (Final de Semana)
92

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) se (dia = 2) ento escreva (Segunda-feira) se (dia = 3) ento escreva (Tera-feira) se (dia = 4) ento escreva (Quarta-feira) se (dia = 5) ento escreva (Quinta-feira) se (dia = 6) ento escreva (Sexta-feira) se (dia = 7) ento escreva (Final de Semana) se (dia = 1) ento escreva (Final de Semana)
93

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) se (dia = 2) ento escreva (Segunda-feira) se (dia = 3) ento escreva (Tera-feira) se (dia = 4) ento escreva (Quarta-feira) se (dia = 5) ento escreva (Quinta-feira) se (dia = 6) ento escreva (Sexta-feira) se (dia = 7) ento escreva (Final de Semana) se (dia = 1) ento escreva (Final de Semana)
94

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) se (dia = 2) ento escreva (Segunda-feira) se (dia = 3) ento escreva (Tera-feira) se (dia = 4) ento escreva (Quarta-feira) se (dia = 5) ento escreva (Quinta-feira) se (dia = 6) ento escreva (Sexta-feira) se (dia = 7) ento escreva (Final de Semana) se (dia = 1) ento escreva (Final de Semana)
95

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) se (dia = 2) ento escreva (Segunda-feira) se (dia = 3) ento escreva (Tera-feira) se (dia = 4) ento escreva (Quarta-feira) se (dia = 5) ento escreva (Quinta-feira) se (dia = 6) ento escreva (Sexta-feira) se (dia = 7) ento escreva (Final de Semana) se (dia = 1) ento escreva (Final de Semana)
96

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) se (dia = 2) ento escreva (Segunda-feira) se (dia = 3) ento escreva (Tera-feira) se (dia = 4) ento escreva (Quarta-feira) se (dia = 5) ento escreva (Quinta-feira) se (dia = 6) ento escreva (Sexta-feira) se (dia = 7) ento escreva (Final de Semana) se (dia = 1) ento escreva (Final de Semana)
97

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) se (dia = 2) ento escreva (Segunda-feira) se (dia = 3) ento escreva (Tera-feira) se (dia = 4) ento escreva (Quarta-feira) se (dia = 5) ento escreva (Quinta-feira) se (dia = 6) ento escreva (Sexta-feira) se (dia = 7) ento escreva (Final de Semana) se (dia = 1) ento escreva (Final de Semana)
98

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) se (dia = 2) ento escreva (Segunda-feira) se (dia = 3) ento escreva (Tera-feira) se (dia = 4) ento escreva (Quarta-feira) se (dia = 5) ento escreva (Quinta-feira) se (dia = 6) ento escreva (Sexta-feira) se (dia = 7) ento escreva (Final de Semana) se (dia = 1) ento escreva (Final de Semana)
99

Exemplo de Deciso Mltipla


escreva (Digite o nmero da semana) leia (dia) se (dia = 2) ento escreva (Segunda-feira) se (dia = 3) ento escreva (Tera-feira) se (dia = 4) ento escreva (Quarta-feira) se (dia = 5) ento escreva (Quinta-feira) se (dia = 6) ento escreva (Sexta-feira) se (dia = 7) ento escreva (Final de Semana) se (dia = 1) ento escreva (Final de Semana)
100

Expresses Lgicas

101

Expresses Lgicas

Operao Disjuno Conjuno Negao

Operador OU E NO

102

Disjuno

103

Disjuno

X OU Y

104

Disjuno

X F

X OU Y

105

Disjuno

X F

Y F

X OU Y

106

Disjuno

X F

Y F

X OU Y F

107

Disjuno

X F V

Y F

X OU Y F

108

Disjuno

X F V

Y F F

X OU Y F

109

Disjuno

X F V

Y F F

X OU Y F V

110

Disjuno

X F V F

Y F F

X OU Y F V

111

Disjuno

X F V F

Y F F V

X OU Y F V

112

Disjuno

X F V F

Y F F V

X OU Y F V V

113

Disjuno

X F V F V

Y F F V

X OU Y F V V

114

Disjuno

X F V F V

Y F F V V

X OU Y F V V

115

Disjuno

X F V F V

Y F F V V

X OU Y F V V V

116

Disjuno

X F V F V

Y F F V V

X OU Y F V V V

117

Disjuno

X F V F V

Y F F V V

X OU Y F V V V

118

Conjuno

119

Conjuno

XEY

120

Conjuno

X F

XEY

121

Conjuno

X F

Y F

XEY

122

Conjuno

X F

Y F

XEY F

123

Conjuno

X F V

Y F

XEY F

124

Conjuno

X F V

Y F F

XEY F

125

Conjuno

X F V

Y F F

XEY F F

126

Conjuno

X F V F

Y F F

XEY F F

127

Conjuno

X F V F

Y F F V

XEY F F

128

Conjuno

X F V F

Y F F V

XEY F F F

129

Conjuno

X F V F V

Y F F V

XEY F F F

130

Conjuno

X F V F V

Y F F V V

XEY F F F

131

Conjuno

X F V F V

Y F F V V

XEY F F F V

132

Conjuno

X F V F V

Y F F V V

XEY F F F V

133

Conjuno

X F V F V

Y F F V V

XEY F F F V

134

Negao

135

Negao

NO X

136

Negao

X F

NO X

137

Negao

X F

NO X V

138

Negao

X F V

NO X V

139

Negao

X F V

NO X V F

140

Negao

X F V

NO X V F

141

Uso das Expresses Lgicas

142

Exemplo 1

Crie um algoritmo que teste se a altura de uma pessoa maior do que 1,50m e menor do que 1,80m.

143

Exemplo 1

se (altura > 1,50) ento

144

Exemplo 1

se (altura > 1,50) ento se (altura < 1,80) ento

145

Exemplo 1

se (altura > 1,50) ento se (altura < 1,80) ento escreva (Altura vlida)

146

Exemplo 1

se (altura > 1,50) ento se (altura < 1,80) ento escreva (Altura vlida) fim_se

147

Exemplo 1

se (altura > 1,50) ento se (altura < 1,80) ento escreva (Altura vlida) fim_se fim_se

148

Exemplo 1

se (altura > 1,50) ento se (altura < 1,80) ento escreva (Altura vlida) fim_se fim_se

149

Exemplo 1 usando expresso lgica

150

Exemplo 1

se (altura > 1,50)

151

Exemplo 1

se (altura > 1,50) E

152

Exemplo 1

se (altura > 1,50) E (altura < 1,80)

153

Exemplo 1

se (altura > 1,50) E (altura < 1,80) ento

154

Exemplo 1

se (altura > 1,50) E (altura < 1,80) ento escreva (Altura vlida)

155

Exemplo 1

se (altura > 1,50) E (altura < 1,80) ento escreva (Altura vlida) fim_se

156

Exemplo 1

se (altura > 1,50) E (altura < 1,80) ento escreva (Altura vlida) fim_se

157

Exemplo 1 se (altura > 1,50) ento se (altura < 1,80) ento escreva (Altura vlida) fim_se fim_se se (altura > 1,50) E (altura < 1,80) ento escreva (Altura vlida) fim_se
158

Uso das Expresses Lgicas

159

Exemplo 2

Crie um algoritmo que envie malas diretas para endereos da Regio Sul.

160

Exemplo 2
se (UF = PR) ento

161

Exemplo 2
se (UF = PR) ento escreva (ENVIA)

162

Exemplo 2
se (UF = PR) ento escreva (ENVIA) seno

163

Exemplo 2
se (UF = PR) ento escreva (ENVIA) seno se (UF = SC) ento

164

Exemplo 2
se (UF = PR) ento escreva (ENVIA) seno se (UF = SC) ento escreva (ENVIA)

165

Exemplo 2
se (UF = PR) ento escreva (ENVIA) seno se (UF = SC) ento escreva (ENVIA) seno

166

Exemplo 2
se (UF = PR) ento escreva (ENVIA) seno se (UF = SC) ento escreva (ENVIA) seno se (UF = RS) ento

167

Exemplo 2
se (UF = PR) ento escreva (ENVIA) seno se (UF = SC) ento escreva (ENVIA) seno se (UF = RS) ento escreva(ENVIA)

168

Exemplo 2
se (UF = PR) ento escreva (ENVIA) seno se (UF = SC) ento escreva (ENVIA) seno se (UF = RS) ento escreva(ENVIA) fim_se
169

Exemplo 2
se (UF = PR) ento escreva (ENVIA) seno se (UF = SC) ento escreva (ENVIA) seno se (UF = RS) ento escreva(ENVIA) fim_se fim_se
170

Exemplo 2
se (UF = PR) ento escreva (ENVIA) seno se (UF = SC) ento escreva (ENVIA) seno se (UF = RS) ento escreva(ENVIA) fim_se fim_se fim_se

171

Exemplo 2
se (UF = PR) ento escreva (ENVIA) seno se (UF = SC) ento escreva (ENVIA) seno se (UF = RS) ento escreva(ENVIA) fim_se fim_se fim_se

172

Exemplo 2 usando expresso lgica

173

Exemplo 2

se (UF = PR)

174

Exemplo 2

se (UF = PR) OU

175

Exemplo 2

se (UF = PR) OU (UF = SC)

176

Exemplo 2

se (UF = PR) OU (UF = SC) OU

177

Exemplo 2

se (UF = PR) OU (UF = SC) OU (UF = RS)

178

Exemplo 2

se (UF = PR) OU (UF = SC) OU (UF = RS) ento

179

Exemplo 2

se (UF = PR) OU (UF = SC) OU (UF = RS) ento escreva(ENVIA)

180

Exemplo 2

se (UF = PR) OU (UF = SC) OU (UF = RS) ento escreva(ENVIA) fim_se

181

Exemplo 2

se (UF = PR) OU (UF = SC) OU (UF = RS) ento escreva(ENVIA) fim_se

182

Laos Condicionais e de Repetio

183

Laos Condicionais e de Repetio

Estrutura que permite que um mesmo conjunto de instrues seja executado repetidamente por um determinado nmero de vezes ou enquanto uma condio no for satisfeita.
Para Enquanto Repita
184

Estrutura PARA

185

Estrutura PARA A instruo PARA uma estrutura do tipo lao contado, utilizada para um nmero definido de repeties.
para <var> de <incio> at <fim> passo <incr.> faa <instrues> fim_para

186

Estrutura PARA
para <var> de <incio> at <fim> passo <incr.> faa <instrues> fim_para

187

Estrutura PARA
para <var> de <incio> at <fim> passo <incr.> faa <instrues> fim_para <var> = varivel que ser contada

188

Estrutura PARA
para <var> de <incio> at <fim> passo <incr.> faa <instrues> fim_para <var> = varivel que ser contada <incio> = valor inicial da varivel

189

Estrutura PARA
para <var> de <incio> at <fim> passo <incr.> faa <instrues> fim_para <var> = varivel que ser contada <incio> = valor inicial da varivel <fim> = valor mximo da contagem

190

Estrutura PARA
para <var> de <incio> at <fim> passo <incr.> faa <instrues> fim_para <var> = varivel que ser contada <incio> = valor inicial da varivel <fim> = valor mximo da contagem <incr.> = incremento a cada passo
191

Estrutura PARA
para <var> de <incio> at <fim> passo <incr.> faa <instrues> fim_para <var> = varivel que ser contada <incio> = valor inicial da varivel <fim> = valor mximo da contagem <incr.> = incremento a cada passo <instrues> conjunto de cdigos que ser executado durante as repeties do lao 192

Estrutura PARA
para <var> de <incio> at <fim> passo <incr.> faa <instrues> fim_para <var> = varivel que ser contada <incio> = valor inicial da varivel <fim> = valor mximo da contagem <incr.> = incremento a cada passo <instrues> conjunto de cdigos que ser executado durante as repeties do lao 193

Exemplo Estrutura PARA

194

Exemplo PARA

Escreva um algoritmo que mostre a Tabuada de um nmero qualquer fornecido pelo usurio.

195

Exemplo Para
algoritmo tabuada

196

Exemplo Para
algoritmo tabuada var

197

Exemplo Para
algoritmo tabuada var n, i, t : inteiro

198

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio

199

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero)

200

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n)

201

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa

202

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n

203

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n escreva (i, x , n, = , t)

204

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n escreva (i, x , n, = , t) fim_para
205

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n escreva (i, x , n, = , t) fim_para fim.
206

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n escreva (i, x , n, = , t) fim_para fim.
207

Teste de Mesa para o Algoritmo da Tabuada

208

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n escreva (i, x , n, = , t) fim_para fim. n i t

209

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n escreva (i, x , n, = , t) fim_para fim. n 5 i ? t ?

210

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n escreva (i, x , n, = , t) fim_para fim. n 5 5 i ? 1 t ? ?

211

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n escreva (i, x , n, = , t) fim_para fim. n 5 5 5 i ? 1 1 t ? ? 5

212

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n escreva (i, x , n, = , t) fim_para fim. 1x5=5 n 5 5 5 i ? 1 1 t ? ? 5

213

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n escreva (i, x , n, = , t) fim_para fim. n 5 5 5 5 i ? 1 1 2 t ? ? 5 5

214

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n escreva (i, x , n, = , t) fim_para fim. n 5 5 5 5 5 i ? 1 1 2 2 t ? ? 5 5 10

215

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n escreva (i, x , n, = , t) fim_para fim. 2 x 5 = 10 n 5 5 5 5 5 i ? 1 1 2 2 t ? ? 5 5 10

216

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n escreva (i, x , n, = , t) fim_para fim. n 5 5 5 5 5 5 i ? 1 1 2 2 3 t ? ? 5 5 10 10

217

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n escreva (i, x , n, = , t) fim_para fim. n 5 5 5 5 5 5 5 i ? 1 1 2 2 3 3 t ? ? 5 5 10 10 15
218

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n escreva (i, x , n, = , t) fim_para fim. 3 x 5 = 15 n 5 5 5 5 5 5 5 i ? 1 1 2 2 3 3 t ? ? 5 5 10 10 15
219

Exemplo Para
algoritmo tabuada var n, i, t : inteiro incio escreva (Digite o nmero) leia (n) para i de 1 at 10 passo 1 faa ti*n escreva (i, x , n, = , t) fim_para fim. n 5 5 5 5 5 5 5 i ? 1 1 2 2 3 3 t ? ? 5 5 10 10 15
220

Estrutura ENQUANTO

221

Estrutura ENQUANTO A estrutura ENQUANTO um lao do tipo condicional, baseia-se na anlise de uma condio. Essa estrutura utilizada quando temos um nmero indefinido de repeties e se caracteriza por realizar um teste condicional no incio.
enquanto <condio> faa <instrues> fim_enquanto

222

Estrutura REPITA

223

Estrutura REPITA
A estrutura REPITA um lao do tipo condicional, isto , baseia-se na anlise de uma condio. Essa estrutura utilizada quando temos um nmero indefinido de repeties e precisamos que o teste condicional seja realizado aps a execuo do trecho de cdigo. Repita <instrues> At_que <condio>
224

Encadeamento PARA/PARA

para <v1> de <incio> ate <fim> passo <incr.> faa para <v2> de <incio> ate <fim> passo <incr.> faa <instrues> fim_para fim_para

225

Encadeamento PARA/ENQUANTO

para <var> de <incio> at <fim> passo <incr.> faa enquanto (<condio>) faa <instrues> fim_enquanto fim_para

226

Encadeamento PARA/REPITA

para <var> de <incio> at <fim> passo <incr.> faa repita <instrues> at_que (condio) fim_para

227

Encadeamento ENQUANTO/ENQUANTO

enquanto (<condio1>) faa enquanto (<condio2>) faa <instrues> fim_enquanto fim_enquanto

228

Encadeamento ENQUANTO/REPITA

enquanto (<condio1>) faa repita <instrues> at_que (<condio2>) fim_enquanto

229

Encadeamento ENQUANTO/PARA

enquanto (<condio>) faa para <var> de <incio> at <fim> passo <inc.> faa <instrues> fim_para fim_enquanto

230

Encadeamento REPITA/PARA

repita para <var> de <incio> at <fim> passo <inc.> faa <instrues> fim_para at_que (<condio>)

231

Encadeamento REPITA/ENQUANTO

repita enquanto (<condio2>) faa <instrues> fim_enquanto at_que (<condio1>)

232

Encadeamento REPITA/REPITA

repita repita <instrues> at_que (<condio>) at_que (<condio>)

233

Algoritmos e Lgica de Programao I


Prof. Me. Rogrio de Leon Pereira rogerio.pereira@ead.cesumar.br
234

Potrebbero piacerti anche