LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só...

21
LÓGICA A PROGRAMAÇÃO ESTRUTURA CONDICIONAL EM PASCAL

Transcript of LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só...

Page 1: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

LÓGICA A

PROGRAMAÇÃOESTRUTURA CONDICIONAL EM PASCAL

Page 2: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Existem situações em que alguns comandos só devem

ser executados se alguma condição for verificada.

A verificação de que uma condição é satisfeita e, a

partir daí, a decisão em relação à execução ou não de

uma determinada sequência de comandos é

chamada de estrutura de seleção, estrutura de decisão

ou comando de seleção.

Page 3: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Estrutura condicional simples

IF condição THEN

comando;

O comando só será executado se a condição for verdadeira. Uma condição é uma comparação que possui dois valores possíveis: verdadeiro ou falso.

IF condição THEN

BEGIN

comando1;

comando2;

comando3;

END;

O comandos 1, 2 e 3 só serão executados se a condição for verdadeira.

Page 4: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Exemplo 1: programa para determinar o maior de dois números dados.

PROGRAM EXEMPLO1;

VAR

A, B, MAIOR : INTEGER;

BEGIN

WRITE('Digite dois numeros: ');

READLN(A, B);

MAIOR := A;

IF (B > A) THEN

MAIOR:=B;

WRITELN('O maior dos numeros ',A,' e ',B,' e ',MAIOR);

READLN;

END.

Page 5: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Exemplo 2: programa para ordenar os conteúdos de duas variáveis.

PROGRAM EXEMPLO2;

VAR

X, Y, AUX : INTEGER;

BEGIN

WRITE('Digite dois numeros: ');

READLN(X,Y);

WRITELN('Numeros digitados: x = ',X,' y = ',Y);

IF X > Y THEN

BEGIN

AUX := X;

X := Y;

Y := AUX;

END;

WRITELN('Numeros ordenados: x = ',X,' y = ',Y);

READLN;

END.

Page 6: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Estrutura condicional composta

IF condição THEN

comando1

ELSE

comando2;

Se a condição for verdadeira, será executado o comando1; caso contrário,

se a condição for false, será executado o comando2.

Page 7: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Estrutura condicional composta

IF condição THEN

BEGIN

comando1;

comando2;

END

ELSE

BEGIN

comando3;

comando4;

END;

Page 8: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Se a condição for verdadeira, o comando1 e o comando2 serão

executados; caso contrário, se a condição for falsa, o comando3 e o

comando4 serão executados.

Antes do comando ELSE não existe ponto-e-vírgula.

Page 9: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Exemplo3: programa para verificar a paridade de um número.

PROGRAM EXEMPLO3;

VAR

NUM : INTEGER;

BEGIN

WRITE('Digite um numero: ');

READLN(NUM);

IF ODD(NUM) = TRUE THEN

WRITELN(NUM,' e impar')

ELSE

WRITELN(NUM,' e par');

READLN;

END.

Page 10: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Se queremos determinar a paridade um número podemos determinar o

valor de ODD(numero). Se este valor for true, o número é impar; caso

contrário, se for false, o número dado é par.

O valor de ODD(numero) é um valor do tipo boolean (true ou false).

Page 11: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Exemplo4: programa para ordenar três números .dados. PROGRAM EXEMPLO4;

VAR

X, Y, Z, AUX : INTEGER;

BEGIN

WRITE('Digite tres numeros: ');

READLN(X,Y,Z);

WRITELN('Numeros digitados: x = ',X,', y = ',Y,' e z = ',Z);

IF (X > Y) OR (X > Z) {X nÆo ‚ o menor}

THEN IF (Z > Y) {Y ‚ o menor}

THEN

BEGIN {permuta de x e de y}

AUX := X;

X := Y;

Y := AUX;

END

ELSE {Z ‚ o menor}

BEGIN {permuta de x e de z}

Page 12: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Exemplo4: programa para ordenar três números dados. AUX := X;

X := Z;

Z := AUX;

END;

IF (Y > Z) THEN {permuta de y e de z}

BEGIN

AUX := Y;

Y := Z;

Z := AUX;

END;

WRITELN('Numeros ordenados: x = ',X,', y = ',Y,' e z = ',Z);

READLN;

END.

Page 13: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Foi escrita no programa algumas frases explicativas das ações

pretendidas. Estas frases são chamadas comentários e devem ser escritas

entre pares de caracteres chave, { e }. O compilador desconsidera tudo o

que vem entre os dois caracteres. Isso permite ao programador registrar no

próprio programa os comentários que ele achar conveniente. A prática de

se colocar comentários nos programas é muito importante e facilita sua

compreensão.

Page 14: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Estrutura CASE

Em alguns problemas existem comandos mutuamente exclusivos, isto é, se um comando for executado os demais não serão. Quando este for o caso, um comando seletivo é o mais indicado.

CASE seletor OF

lista de alvos1: comando1;

lista de alvos2: comando2;

alvo3: comando3;

alvo4: BEGIN

comando4;

comando5;

END;

END;

Page 15: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Se o seletor atingir a lista de alvos1, o comando1 será executado; se o

seletor atingir a lista de alvos2, o comando2 será executado; se o seletor

atingir o alvo3, o comando3 será executado ou se o seletor atingir o alvo4

então o comando4 e o comando5 serão executados. Se nenhum alvo for

atingido, nada será executado.

Page 16: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

CASE seletor OF

lista de alvos1:

BEGIN

comando1;

comando2;

END;

lista de alvos2: comando3;

ELSE

comando4;

END;

Page 17: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Se o seletor atingir a lista de alvos1, o comando1 será executado; se o seletor

atingir a lista de alvos2, o comando2 será executado; se o seletor atingir o

alvo3, o comando3 será executado ou se o seletor atingir o alvo4 então o

comando4 e o comando5 serão executados. Se nenhum alvo for atingido,

nada será executado.

Page 18: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Se o seletor atingir a lista de alvos1, o comando 1 e o comando2 serão

executados; se o seletor atingir a lista de alvos2, o comando 3 será

executado. Se nenhum alvo for atingido, será executado o comando4.

Page 19: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

A restrição da estrutura CASE é que o seletor só pode ser uma variável do tipo

CHAR, INTEGER ou BOOLEAN.

Page 20: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

Exemplo5: programa que determina o

número de dias de um mês dado.

PROGRAM EXEMPLO5;

VAR

MES, ANO, NUMDIAS : INTEGER;

BEGIN

WRITE('Digite o mes: ');

READLN(MES);

CASE MES OF

4, 6, 9, 11 : NUMDIAS := 30;

2 : BEGIN

WRITE('Digite o ano: ');

READLN(ANO);

IF((ANO MOD 4 = 0) AND (ANO MOD 100 <> 0)) OR (ANO MOD 400 <> 0)

Page 21: LÓGICA A PROGRAMAÇÃO...Estrutura condicional simples IF condição THEN comando; O comando só será executado se a condição for verdadeira. Uma condição é uma comparação

THEN

NUMDIAS := 29

ELSE

NUMDIAS := 28;

END;

ELSE

NUMDIAS:= 31;

END;

WRITELN('O mes ',MES,' tem ',NUMDIAS,' dias');

READLN;

END.