Algoritmos e Programação Thyago Maia Tavares de Farias Aula 18 Sumário Pascal – Estruturas de Repetição Comando While (exercícios); Revisão de conteúdo (2º estágio); Exercícios Utilizando a estrutura de repetição while, faça um programa que escreva todos os números entre 0 e 100; Faça um programa que repita as seguintes tarefas, até que um número negativo seja digitado: Receba um número; Eleve o mesmo ao quadrado, utilizando a função SQR(), e exiba o resultado; Revisão Tipos de Variáveis: Integer (Equivalente ao tipo inteiro em algoritmos) 1,3,4,6,8, etc.; Real (Equivalente ao tipo real em algoritmos) 2.3, 5.4, 7.9, etc.; Boolean (Equivalente ao tipo lógico em algoritmos) True (verdadeiro) ou False (falso); String (Equivalente ao tipo literal em algoritmos) ‘Thyago’, ‘José’, etc. (Delimitados por aspas simples); Char (Literais de um único caracter) ‘a’, ‘f’, ‘g’, etc.; Revisão Regras para a criação de identificadores (nomes) de variáveis: Não devem ser extensas demais; Caracteres permitidos: números, letras e sublinhado; Primeiro caractere é sempre uma letra; Identificadores não podem se repetir; Não são permitidos caracteres em branco; Não são permitidos caracteres especiais; Não podemos utilizar palavras reservadas em nomes de variáveis; Revisão Operador de atribuição: := (Equivalente ao operador <- em algoritmos); Ex.: campeao := ‘Sport Recife’; quant_titulos := 44; media_gols := 2.34; sempre_vence := true; OBS: A variável e o seu valor devem ser do mesmo tipo, exceto nos seguintes casos: Variáveis reais podem receber valores inteiros; Variáveis String podem receber valores char; Revisão Comandos de entrada Read(variavel); Readln(variavel); Utilizados para receber dados do usuário; Funcionamento similar ao comando leia em algoritmos; Revisão Comandos de saída Write(); Writeln(); O comando Write é similar ao comando escreva em algoritmos; O comando Writeln é similar ao comando escreval em algoritmos; Utilizado para exibir textos ou conteúdo de variáveis; Revisão Exemplo - Cálculo de massa corporal (IMC) de uma pessoa: Revisão Operador 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. Revisã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) FRAC(x) ROUND (x) Obtém a parte inteira do número real armazenado em x. Obtém a parte fracionária do número real armazenado em x. Arredonda x. SIN (x) Calcula o seno de x. COS (x) Calcula o cosseno de x. PI SQRT (x) SQR (x) Retorna o valor de ¶ Calcula a raiz quadrada de 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 Revisão Estrutura condicional IF Uso e funcionamento semelhante a estrutura SE em algoritmos; If (condição) then Sintaxes: Begin If (condição) then Begin comando_1; comando_2; ... End; comando_1; comando_2; ... End Else Begin ... End; Revisão Exemplo – Através da massa corporal, dizer se uma pessoa é abaixo do peso, peso normal, acima do peso ou obesa: Se IMC for abaixo de 18.5, a pessoa está abaixo do peso; Se IMC for entre 18.5 e 25, a pessoa possui peso normal; SE IMC for entre 25 e 30, a pessoa está acima do peso; Se IMC for acima de 30, a pessoa é obesa; Revisão Revisão Estrutura condicional CASE Estrutura condicional de seleção múltipla; Funcionamento similar a estrutura IF e a estrutura Escolha...caso em algoritmos; Trata várias condições ao mesmo tempo; Trata condições genéricas; Estrutura mais legível e organizada que o IF; Revisão Sintaxe da estrutura CASE: CASE variavel OF valor_1: comando(s); valor_2: comando(s); valor_3: comando(s); ... else comando(s); end; Revisão Exemplo: Faça um programa em Pascal que gera a seguinte pergunta ao usuário: ‘Quem descobriu o Brasil?’ e as seguintes questões de múltipla escolha: a – Obina, b – Lula, c – Princesa Isabel, d – Pedro A. Cabral, e – NDA. O programa deverá ler a resposta do usuário (a,b,c,d ou e), escrever a opção escolhida e se acertou ou não a questão; Revisão Revisão Estrutura de repetição FOR Sintaxe: FOR variavel := val_inicial TO val_final DO Begin comando_1; comando_2; ... End; Revisão Exemplo – Faça um programa que escreva os números entre 0 e 300; Revisão - While..do Funcionamento similar ao comando enquanto...faca em algoritmos; Sintaxe: while (condição) do begin comando_1; comando_2; ... end; Revisão Exemplo - Faça um programa que sempre recebe números inteiros e conta quantos números foram iguais a 2. Caso o usuário digite o número 0, o programa deverá parar de receber valores e exibir quantos números foram iguais a 2; Revisão Exercícios Faça um programa que repita as seguintes tarefas, até que a palavra ‘nao’ seja digitada: Leia a distância percorrida por um atleta; Leia o tempo que o atleta levou para percorrer a distância; Calcule e exiba sua velocidade média: Velocidade = distancia / tempo; Pergunte ao usuário se o mesmo quer continuar a executar o programa (o usuário responderá ‘sim’ ou ‘nao’); Exercícios Faça um programa que repita as seguintes tarefas, até que o código 0 seja digitado: Leia o código do produto; Leia a quantidade adquirida; Se o código for 1, escreva ‘Caderno – R$ 12.00’; Se for 2, escreva ‘Régua – R$ 2.50’; Se for 3, escreva ‘Borracha – R$ 0.25’; Se for 4, escreva ‘Mochila – R$ 50.00’; Calcule e exiba o total a ser pago (valor * quantidade);