Algoritmos e programação - Aula 18

25
Algoritmos e Algoritmos e Programação Programação Thyago Maia Tavares de Thyago Maia Tavares de Farias Farias Aula 18 Aula 18

description

Slides referentes a 18ª aula da disciplina de Algoritmos e Programação, realizada no dia 16/04/2011

Transcript of Algoritmos e programação - Aula 18

Page 1: Algoritmos e programação - Aula 18

Algoritmos e Algoritmos e ProgramaçãoProgramação

Thyago Maia Tavares de Thyago Maia Tavares de FariasFarias

Aula 18Aula 18

Page 2: Algoritmos e programação - Aula 18

SumárioSumário

Pascal – Estruturas de RepetiçãoPascal – Estruturas de Repetição Comando While (exercícios);Comando While (exercícios);

Revisão de conteúdo (2º estágio);Revisão de conteúdo (2º estágio);

Page 3: Algoritmos e programação - Aula 18

ExercíciosExercícios

Utilizando a estrutura de repetição Utilizando a estrutura de repetição while, faça um programa que escreva while, faça um programa que escreva todos os números entre 0 e 100;todos os números entre 0 e 100;

Faça um programa que repita as Faça um programa que repita as seguintes tarefas, até que um seguintes tarefas, até que um número negativo seja digitado:número negativo seja digitado: Receba um número;Receba um número; Eleve o mesmo ao quadrado, utilizando a Eleve o mesmo ao quadrado, utilizando a

função SQR(), e exiba o resultado; função SQR(), e exiba o resultado;

Page 4: Algoritmos e programação - Aula 18

RevisãoRevisão

Tipos de Variáveis:Tipos de Variáveis: IntegerInteger (Equivalente ao tipo inteiro em algoritmos) (Equivalente ao tipo inteiro em algoritmos)

1,3,4,6,8, etc.;1,3,4,6,8, etc.; RealReal (Equivalente ao tipo real em algoritmos) (Equivalente ao tipo real em algoritmos)

2.3, 5.4, 7.9, etc.;2.3, 5.4, 7.9, etc.; BooleanBoolean (Equivalente ao tipo lógico em algoritmos) (Equivalente ao tipo lógico em algoritmos)

True (verdadeiro) ou False (falso);True (verdadeiro) ou False (falso); StringString (Equivalente ao tipo literal em algoritmos) (Equivalente ao tipo literal em algoritmos)

‘‘Thyago’, ‘José’, etc. (Delimitados por aspas Thyago’, ‘José’, etc. (Delimitados por aspas simples);simples);

CharChar (Literais de um único caracter) (Literais de um único caracter) ‘‘a’, ‘f’, ‘g’, etc.;a’, ‘f’, ‘g’, etc.;

Page 5: Algoritmos e programação - Aula 18

RevisãoRevisão

Regras para a criação de identificadores Regras para a criação de identificadores (nomes) de variáveis:(nomes) de variáveis: Não devem ser extensas demais;Não devem ser extensas demais; Caracteres permitidos: números, letras e Caracteres permitidos: números, letras e

sublinhado;sublinhado; Primeiro caractere é sempre uma letra;Primeiro caractere é sempre uma letra; Identificadores não podem se repetir;Identificadores não podem se repetir; Não são permitidos caracteres em branco;Não são permitidos caracteres em branco; Não são permitidos caracteres especiais;Não são permitidos caracteres especiais; Não podemos utilizar palavras reservadas em Não podemos utilizar palavras reservadas em

nomes de variáveis;nomes de variáveis;

Page 6: Algoritmos e programação - Aula 18

RevisãoRevisão

Operador de atribuição:Operador de atribuição: :=:= (Equivalente ao operador (Equivalente ao operador <-<- em em

algoritmos);algoritmos); Ex.: campeao Ex.: campeao :=:= ‘Sport Recife’; ‘Sport Recife’;

quant_titulos quant_titulos :=:= 44; 44;

media_gols media_gols :=:= 2.34; 2.34;

sempre_vence sempre_vence :=:= true; true; OBS: A variável e o seu valor devem ser do OBS: A variável e o seu valor devem ser do

mesmo tipo, exceto nos seguintes casos:mesmo tipo, exceto nos seguintes casos: Variáveis Variáveis reaisreais podem receber valores podem receber valores inteirosinteiros;; Variáveis Variáveis StringString podem receber valores podem receber valores charchar;;

Page 7: Algoritmos e programação - Aula 18

RevisãoRevisão

Comandos de entradaComandos de entrada

Read(Read(variavelvariavel));; Readln(Readln(variavelvariavel));; Utilizados para receber dados do Utilizados para receber dados do

usuário;usuário; Funcionamento similar ao comando Funcionamento similar ao comando leialeia

em algoritmos;em algoritmos;

Page 8: Algoritmos e programação - Aula 18

RevisãoRevisão

Comandos de saídaComandos de saída Write()Write();; Writeln()Writeln();; O comando Write é similar ao comando O comando Write é similar ao comando

escreva em algoritmos;escreva em algoritmos; O comando Writeln é similar ao O comando Writeln é similar ao

comando escreval em algoritmos;comando escreval em algoritmos; Utilizado para exibir textos ou conteúdo Utilizado para exibir textos ou conteúdo

de variáveis;de variáveis;

Page 9: Algoritmos e programação - Aula 18

RevisãoRevisão

Exemplo - Cálculo de massa corporal Exemplo - Cálculo de massa corporal (IMC) de uma pessoa: (IMC) de uma pessoa:

Page 10: Algoritmos e programação - Aula 18

RevisãoRevisãoOperador Exemplo Comentário

:= X := 1 O valor 1 é atribuído a variável X.

+ X + Y Soma o conteúdo de X e de Y.

- X – Y Subtrai o conteúdo de Y do conteúdo de X.

* X * Y Multiplica o conteúdo de X pelo conteúdo de Y.

/ X/Y Obtém o quociente da divisão de X por Y.

DIV X DIV Y Obtém o quociente inteiro da divisão de X por Y.

MOD X MOD Y Obtém o resto da divisão inteira de X por Y.

= X = Y Testa se o conteúdo de x é igual ao conteúdo de Y.

<> X <> Testa se o conteúdo de x é diferente do conteúdo de Y.

>= X >= Y Testa se o conteúdo de x é maior ou igual ao de Y.

<= X <= Y Testa se o conteúdo de x é menor ou igual ou de Y.

> X > Y Testa se o conteúdo de x é maior do que o conteúdo de Y.

< X < Y Testa se o conteúdo de x é menor do que o conteúdo de Y.

Page 11: Algoritmos e programação - Aula 18

RevisãoRevisão

Funções Matemáticas

Função Comentários

ABS (x) Obtém o valor absoluto de x.

LOG(x) Obtém o logaritmo de x.

TRUNC (x) Obtém a parte inteira do número real armazenado em x.

FRAC(x) Obtém a parte fracionária do número real armazenado em x.

ROUND (x) Arredonda x.

SIN (x) Calcula o seno de x.

COS (x) Calcula o cosseno de x.

PI Retorna o valor de ¶

SQRT (x) Calcula a raiz quadrada de x.

SQR (x) Calcula x elevado ao quadrado.

INC (x, Y) Incrementa a variável x com o valor da variável Y.

DEC (x,y) Decrementa a variável x com o valor da variável Y

Page 12: Algoritmos e programação - Aula 18

RevisãoRevisão

Estrutura condicional IFEstrutura condicional IF Uso e funcionamento semelhante a Uso e funcionamento semelhante a

estrutura SE em algoritmos;estrutura SE em algoritmos; Sintaxes:Sintaxes:

If (condição) thenBegin comando_1; comando_2; ...End;

If (condição) thenBegin comando_1; comando_2; ...EndElseBegin ...End;

Page 13: Algoritmos e programação - Aula 18

RevisãoRevisão

Exemplo – Através da massa corporal, Exemplo – Através da massa corporal, dizer se uma pessoa é abaixo do peso, dizer se uma pessoa é abaixo do peso, peso normal, acima do peso ou obesa:peso normal, acima do peso ou obesa: Se IMC for abaixo de 18.5, a pessoa está Se IMC for abaixo de 18.5, a pessoa está

abaixo do peso;abaixo do peso; Se IMC for entre 18.5 e 25, a pessoa possui Se IMC for entre 18.5 e 25, a pessoa possui

peso normal;peso normal; SE IMC for entre 25 e 30, a pessoa está SE IMC for entre 25 e 30, a pessoa está

acima do peso;acima do peso; Se IMC for acima de 30, a pessoa é obesa;Se IMC for acima de 30, a pessoa é obesa;

Page 14: Algoritmos e programação - Aula 18

RevisãoRevisão

Page 15: Algoritmos e programação - Aula 18

RevisãoRevisão

Estrutura condicional CASEEstrutura condicional CASE

Estrutura condicional de seleção múltipla;Estrutura condicional de seleção múltipla; Funcionamento similar a estrutura IF e a Funcionamento similar a estrutura IF e a

estrutura Escolha...caso em algoritmos;estrutura Escolha...caso em algoritmos; Trata várias condições ao mesmo tempo;Trata várias condições ao mesmo tempo; Trata condições genéricas;Trata condições genéricas; Estrutura mais legível e organizada que o Estrutura mais legível e organizada que o

IF;IF;

Page 16: Algoritmos e programação - Aula 18

RevisãoRevisão

Sintaxe da estrutura CASE:Sintaxe da estrutura CASE:

CASECASE variavel variavel OFOF

valor_1: comando(s);valor_1: comando(s);

valor_2: comando(s);valor_2: comando(s);

valor_3: comando(s);valor_3: comando(s);

......

else comando(s);else comando(s);

end;end;

Page 17: Algoritmos e programação - Aula 18

RevisãoRevisão

Exemplo: Faça um programa em Pascal Exemplo: Faça um programa em Pascal que gera a seguinte pergunta ao que gera a seguinte pergunta ao usuário: ‘Quem descobriu o Brasil?’ e usuário: ‘Quem descobriu o Brasil?’ e as seguintes questões de múltipla as seguintes questões de múltipla escolha: a – Obina, b – Lula, c – escolha: a – Obina, b – Lula, c – Princesa Isabel, d – Pedro A. Cabral, e – Princesa Isabel, d – Pedro A. Cabral, e – NDA. O programa deverá ler a resposta NDA. O programa deverá ler a resposta do usuário (a,b,c,d ou e), escrever a do usuário (a,b,c,d ou e), escrever a opção escolhida e se acertou ou não a opção escolhida e se acertou ou não a questão;questão;

Page 18: Algoritmos e programação - Aula 18

RevisãoRevisão

Page 19: Algoritmos e programação - Aula 18

RevisãoRevisão

Estrutura de repetição FOREstrutura de repetição FOR Sintaxe:Sintaxe:

FORFOR variavel := val_inicial variavel := val_inicial TOTO val_final val_final DODO

BeginBegin

comando_1;comando_1;

comando_2;comando_2;

......

End;End;

Page 20: Algoritmos e programação - Aula 18

RevisãoRevisão

Exemplo – Faça um programa que Exemplo – Faça um programa que escreva os números entre 0 e 300;escreva os números entre 0 e 300;

Page 21: Algoritmos e programação - Aula 18

Revisão - While..doRevisão - While..do

Funcionamento similar ao comando Funcionamento similar ao comando enquanto...faca em algoritmos;enquanto...faca em algoritmos;

Sintaxe:Sintaxe:

whilewhile (condição) (condição) dodo

beginbegin

comando_1;comando_1;

comando_2;comando_2;

......

end;end;

Page 22: Algoritmos e programação - Aula 18

RevisãoRevisão

Exemplo - Faça um programa que Exemplo - Faça um programa que sempre recebe números inteiros e sempre recebe números inteiros e conta quantos números foram iguais conta quantos números foram iguais a 2. Caso o usuário digite o número a 2. Caso o usuário digite o número 0, o programa deverá parar de 0, o programa deverá parar de receber valores e exibir quantos receber valores e exibir quantos números foram iguais a 2; números foram iguais a 2;

Page 23: Algoritmos e programação - Aula 18

RevisãoRevisão

Page 24: Algoritmos e programação - Aula 18

ExercíciosExercícios

Faça um programa que repita as seguintes Faça um programa que repita as seguintes tarefas, até que a palavra ‘nao’ seja tarefas, até que a palavra ‘nao’ seja digitada:digitada: Leia a distância percorrida por um atleta;Leia a distância percorrida por um atleta; Leia o tempo que o atleta levou para percorrer Leia o tempo que o atleta levou para percorrer

a distância;a distância; Calcule e exiba sua velocidade média:Calcule e exiba sua velocidade média:

Velocidade = distancia / tempo;Velocidade = distancia / tempo; Pergunte ao usuário se o mesmo quer Pergunte ao usuário se o mesmo quer

continuar a executar o programa (o usuário continuar a executar o programa (o usuário responderá ‘sim’ ou ‘nao’);responderá ‘sim’ ou ‘nao’);

Page 25: Algoritmos e programação - Aula 18

ExercíciosExercícios

Faça um programa que repita as Faça um programa que repita as seguintes tarefas, até que o código 0 seja seguintes tarefas, até que o código 0 seja digitado:digitado: Leia o código do produto;Leia o código do produto; Leia a quantidade adquirida;Leia a quantidade adquirida; Se o código for 1, escreva ‘Caderno – R$ Se o código for 1, escreva ‘Caderno – R$

12.00’; Se for 2, escreva ‘Régua – R$ 2.50’; Se 12.00’; Se for 2, escreva ‘Régua – R$ 2.50’; Se for 3, escreva ‘Borracha – R$ 0.25’; Se for 4, for 3, escreva ‘Borracha – R$ 0.25’; Se for 4, escreva ‘Mochila – R$ 50.00’; escreva ‘Mochila – R$ 50.00’;

Calcule e exiba o total a ser pago (valor * Calcule e exiba o total a ser pago (valor * quantidade);quantidade);