Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmos e Linguagem de Programação Prof. Adriano Goularte adriano.goularte@aedu.com 2 COMANDOS BÁSICOS Operadores • Os operadores são meios pelo qual incrementamos, decrementamos, comparamos e avaliamos dados dentro do computador. Temos três tipos de operadores: Operadores Aritméticos São os utilizados para obter resultados numéricos. 3 Operadores Relacionais Os operadores relacionais são utilizados para comparar Strings de caracteres e números. Os valores a serem comparados podem ser caracteres ou variáveis. Operadores Lógicos Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. 4 TABELA VERDADE F ou F → FF e F → F F ou V → VF e V → F Não F → VV ou F → VV e F → F Não V → FV ou V → VV e V → V Tabela NÃOTabela OUTabela E 5 TABELA VERDADE Precedência entre operadores: 1. Parênteses mais internos (se houver) 2. Operadores Aritméticos 3. Operadores Relacionais 4. Operadores Lógicos: 1. Não 2. E 3. OU 6 Exercícios 1) Determine os resultados obtidos na avaliação das expressões lógicas seguintes, sabendo que A, B, C contêm, respectivamente 2, 7, 3, e que existe uma variável lógica L cujo valor é falsidade (F): a) B = A * C e (L ou V) b) B > A ou B = pot(A,A) c) L e B div A >= C ou não A <= C d) não L ou V e rad(A + B) >= C e) B div A = C ou B div A <> C f) L ou pot(B,A) <= C * 10 + A * B 7 ESTRUTURAS DE CONTROLE Possuem três estruturas de programação básica, a saber: 1) Estruturas de sequência. Um comando é executado logo após o outro na ordem em que aparecem. 2) Estruturas de seleção (comandos condicionais) Os comandos que estão dentro desta estrutura, são executados somente se a condição for verdadeira. 3) Estruturas de iteração (estruturas de repetição) Os comandos que estão dentro desta estrutura, são executados repetidas vezes, desde que a condição continue sendo verdadeira. 8 ESTRUTURA SEQUENCIAL: O conjunto de ações primitivas serão executadas em uma sequencia linear de cima para baixo e da esquerda para a direita. Exemplo: Modelo Geral de um Algoritmo inicio // identifica o inicio do bloco // declaração de variáveis // corpo do algoritmo execução 1; execução 2; execução 3; ----- execução n; fim // fim do algoritmo 9 Exemplo • Escreva um algoritmo que receba dois valores (números) inteiros do usuário, efetue sua soma e retorne o resultado produzido. 10 inicio // algoritmo_soma | inteiro: numero1, numero2, resultado; declaração de variáveis | | escreva(“Digite o 1 valor: ”); // envia mensagem para o usuário | leia(numero1); // lê (armazena) o valor digitado pelo usuário na variável | escreva(“Digite o 2 valor: ”); | leia(numero2); | entrada de dados | resultado numero1 + numero2; processamento | | escreva(“O resultado da soma e: ”, resultado ); saída da informação | produzida no | processamento fim // fim do algoritmo 11 ESTRUTURA DE SELEÇÃO SIMPLES Permite a escolha de um grupo de ações ou blocos de execução. É entendido como uma seleção simples. se (condição) inicio execução // comando único ou ação primitiva fim se //encerra o programa 12 ESTRUTURA DE SELEÇÃO SIMPLES (se) EXEMPLO 1 Construir um algoritmo que leia duas notas, calcule a media e apresente o resultado “APROVADO” se a media for maior ou igual a 5. 13 ESTRUTURA DE SELEÇÃO SIMPLES (se) EXEMPLO 1 inicio real: n1, n2, ma; leia (n1, n2); ma ���� (n1 + n2) / 2 se (ma >= 5) inicio escreva (“APROVADO”); fimse fim 14 ESTRUTURA DE SELEÇÃO COMPOSTA (se) Quando tivermos alternativas de situações com duas ou mais escolhas: Verdadeira ou Falsa. se <condição> inicio // inicia o bloco verdade ----- ----- // sequencia de comandos ----- fim se senão inicio // inicia bloco falsidade ----- ----- // sequencia de comandos ----- fim senão A seleção agora é composta pois tem opção de escolha 15 ESTRUTURA DE SELEÇÃO COMPOSTA (se) EXEMPLO 1 Construir um algoritmo que leia duas notas, calcule a media e apresente o resultado “APROVADO” se a media for maior ou igual a 5 e “REPROVADO” se a media for menor que 5. 16 ESTRUTURA DE SELEÇÃO COMPOSTA (se) EXEMPLO 1 inicio real: n1, n2, ma; leia (n1, n2); ma ���� (n1 + n2) / 2; se (ma >= 5) inicio escreva (“APROVADO”); fim se senao inicio escreva (“REPROVADO”); fim senao fim. 17 ESTRUTURA DE SELEÇÃO COMPOSTA (se) EXEMPLO 2 Ler um numero e imprimir se ele é “POSITIVO”, “NEGATIVO”, ou “NULO”. 18 ESTRUTURA DE SELEÇÃO COMPOSTA (se) – EXEMPLO 2 inicio inteiro: num; escreva (“Digite um numero: “); leia (num); se (num > 0) inicio escreva (“POSITIVO”); fim se senao inicio se (num < 0) inicio escreva (“NEGATIVO”); fim se senao inicio escreva(“NULO”); fim senao fim senao fim. 19 ESTRUTURA DE SELEÇÃO COMPOSTA (se) EXEMPLO 3 Entrar com um numero e imprimir uma das mensagens: “é multiplo de 3” ou “não é multiplo de 3”. 20 ESTRUTURA DE SELEÇÃO COMPOSTA (se) EXEMPLO 3 inicio real: num; escreva (“Digite um numero: “); leia (num); se (num mod 3 = 0) inicio escreva (“É multiplo de 3 ”); fim se senao inicio escreva (“Não é multiplo de 3 ”); fim senao fim. 21 EXERCÍCIO 1 1. Dados três valores A, B, C, verificar se eles podem ser os comprimentos dos lados de um triângulo, se forem, verificar se compõem um triângulo equilátero, isósceles ou escaleno. Informar se não compuserem nenhum triângulo. Dados de entrada: três lados de um suposto triângulo (A, B, C). Dados de saída – mensagens: não compõem triângulo, triângulo equilátero, triângulo isósceles, triângulo escaleno. 22 O que é Triângulo? • Figura geométrica fechada de três lados, em que cada um é menor que a soma dos outros dois. • Triângulo equilátero – um triângulo com três lados iguais. • Triângulo isósceles – triângulo com dois lados iguais. • Triângulo escaleno – triângulo com todos lados diferentes. 23 Traduzindo para expressões lógicas É triângulo : (A < B + C) e (B < A + C) e (C < A + B). É equilátero: (A = B) e (B = C). É isósceles: (A = B) ou (A = C) ou (B=C). É escaleno: (A <> B) e (B <> C) e (A <>C). 24 Algoritmo inicio inteiro: A, B, C; leia (A, B, C); se ((A < B + C) e (B < A + C) e (C < A + B)) inicio se ((A = B) e (B = C)) inicio escreva (“Triângulo Equilátero”); fim se senão se ((A = B) ou (A = C) ou (B=C)) inicio continua 25 continuação escreva (“Triângulo Isósceles); fim se senão inicio escreva (“Triângulo escaleno”); fim senao fim se senao inicio escreva (“Estes valores não formam um triângulo”); fim senao fim 26 Agora se eu pedisse o seguinte exercício: Construa um algoritmo que calcule a quantidade de latas de tinta necessárias e o custo para pintar tanques cilíndricos de combustível, em que são fornecidos a altura e o raio desse cilindro. 27 Agora se eu pedisse o seguinte exercício: Construa um algoritmo que calcule a quantidade de latas de tinta necessárias e o custo para pintar tanques cilíndricos de combustível, em que são fornecidos a altura e o raio desse cilindro. Sabendo que: • a lata de tinta custa R$ 50,00; 28 Agora se eu pedisse o seguinte exercício: Construa um algoritmo que calcule a quantidade de latas de tinta necessárias e o custo para pintar tanques cilíndricos de combustível, em que são fornecidos a altura e o raio desse cilindro. Sabendo que: • a lata de tinta custa R$ 50,00; • cada lata contém 5 litros; 29 Agora se eu pedisse o seguinte exercício: Construa um algoritmoque calcule a quantidade de latas de tinta necessárias e o custo para pintar tanques cilíndricos de combustível, em que são fornecidos a altura e o raio desse cilindro. Sabendo que: • a lata de tinta custa R$ 50,00; • cada lata contém 5 litros; • cada litro de tinta pinta 3 metros quadrados. 30 Agora se eu pedisse o seguinte exercício: Construa um algoritmo que calcule a quantidade de latas de tinta necessárias e o custo para pintar tanques cilíndricos de combustível, em que são fornecidos a altura e o raio desse cilindro. Sabendo que: • a lata de tinta custa R$ 50,00; • cada lata contém 5 litros; • cada litro de tinta pinta 3 metros quadrados. • Dados de entrada: altura (H) e raio (R). • Dados de saída: quantidade (QTDE) e custo (C). 31 Utilizando o planejamento reverso*, sabemos que: • o custo é dado pela quantidade de latas * R$ 50,00; • a quantidade de latas é dada pela quantidade total de litros / 5; • a quantidade total de litros é dada pela área do cilindro / 3; • a área do cilindro é dada por 2 * área da base + área lateral; • a área da base é (PI * pot(R,2)); • a área lateral é altura * comprimento: (2 * PI * R * H); • sendo que R (raio) e H (altura) são dados de entrada e PI é uma constante de valor conhecido: 3,14. * Planejamento reverso é uma técnica que podemos utilizar quando sabemos quais são os dados de saída e, a partir deles, levantamos as etapas do processamento, determinando reversamente os dados de entrada. 32 Algorítmo início real: h, r; real: c, qtde, area, litro; leia (h,r); area 2 * (3,14 * pot(r,2)) + (2 * 3,14 * r * h); litro area / 3; qtde litro / 5; c qtde * 50,00; escreva (qtde, c); fim 33 COMANDOS DAS ESTRUTURAS DE ITERAÇÃO REPETIÇÃO COM CONDIÇÃO (enquanto...) enquanto (condição); { comando 1; comando 2; comando ...; comando n; } 34 COMANDOS DAS ESTRUTURAS DE ITERAÇÃO REPETIÇÃO COM CONDIÇÃO (enquanto...) Exemplo 1 inicio inteiro x, y; x ���� 1; y ���� 5; enquanto (x < y) faça x ���� x + 2; y ���� y + 1; escreva (x, y); fim enquanto fim 35 REPETIÇÃO COM CONDIÇÃO (enquanto...) Exemplo 2 inicio real: n1, n2, n3, n4, ma; inteiro: con; con���� 0; enquanto (con < 50) faça leia(n1, n2, n3, n4); ma���� (n1 + n2 + n3 + n4) / 4; escreva (“Media anual: “, ma); se (ma >= 7) entao inicio escreva(“Aluno Aprovado”); fim senao inicio escreva(“Aluno Reprovado”); fim fimse con���� con + 1; fimenquanto fim 36 1. Ler dois números inteiros e imprimir a soma. Antes do resultado, deverá aparecer a mensagem: Soma. 37 1. Ler dois números inteiros e imprimir a soma. Antes do resultado, deverá aparecer a mensagem: Soma. 2. Ler dois números inteiros e imprimir o produto. 38 1. Ler dois números inteiros e imprimir a soma. Antes do resultado, deverá aparecer a mensagem: Soma. 2. Ler dois números inteiros e imprimir o produto. 3. Ler um número real e imprimir a terça parte deste número. 39 1. Ler dois números inteiros e imprimir a soma. Antes do resultado, deverá aparecer a mensagem: Soma. 2. Ler dois números inteiros e imprimir o produto. 3. Ler um número real e imprimir a terça parte deste número. 4. Entrar com dois números inteiros e imprimir a seguinte saída: 1. Dividendo: 2. Divisor: 3. Quociente: 4. Resto: 40 1. Ler dois números inteiros e imprimir a soma. Antes do resultado, deverá aparecer a mensagem: Soma. 2. Ler dois números inteiros e imprimir o produto. 3. Ler um número real e imprimir a terça parte deste número. 4. Entrar com dois números inteiros e imprimir a seguinte saída: 1. Dividendo: 2. Divisor: 3. Quociente: 4. Resto: 5. Ler um número e imprimir se ele é par ou impar. 41 1. Ler dois números inteiros e imprimir a soma. Antes do resultado, deverá aparecer a mensagem: Soma. 2. Ler dois números inteiros e imprimir o produto. 3. Ler um número real e imprimir a terça parte deste número. 4. Entrar com dois números inteiros e imprimir a seguinte saída: 1. Dividendo: 2. Divisor: 3. Quociente: 4. Resto: 5. Ler um número e imprimir se ele é par ou impar. 6. Entrar com um numero e informar se ele é ou não divisível por 5. 42 1. Ler dois números inteiros e imprimir a soma. Antes do resultado, deverá aparecer a mensagem: Soma. 2. Ler dois números inteiros e imprimir o produto. 3. Ler um número real e imprimir a terça parte deste número. 4. Entrar com dois números inteiros e imprimir a seguinte saída: 1. Dividendo: 2. Divisor: 3. Quociente: 4. Resto: 5. Ler um número e imprimir se ele é par ou impar. 6. Entrar com um numero e informar se ele é ou não divisível por 5. 7. Entrar com um numero e informar se ele é divisível por 3 e por 7. 43 1. Ler dois números inteiros e imprimir a soma. Antes do resultado, deverá aparecer a mensagem: Soma. 2. Ler dois números inteiros e imprimir o produto. 3. Ler um número real e imprimir a terça parte deste número. 4. Entrar com dois números inteiros e imprimir a seguinte saída: 1. Dividendo: 2. Divisor: 3. Quociente: 4. Resto: 5. Ler um número e imprimir se ele é par ou impar. 6. Entrar com um numero e informar se ele é ou não divisível por 5. 7. Entrar com um numero e informar se ele é divisível por 3 e por 7. 8. Entrar com três números e imprimir o maior numero. 44 1. Ler dois números inteiros e imprimir a soma. Antes do resultado, deverá aparecer a mensagem: Soma. 2. Ler dois números inteiros e imprimir o produto. 3. Ler um número real e imprimir a terça parte deste número. 4. Entrar com dois números inteiros e imprimir a seguinte saída: 1. Dividendo: 2. Divisor: 3. Quociente: 4. Resto: 5. Ler um número e imprimir se ele é par ou impar. 6. Entrar com um numero e informar se ele é ou não divisível por 5. 7. Entrar com um numero e informar se ele é divisível por 3 e por 7. 8. Entrar com três números e imprimir o maior numero. 9. Entrar com três números e imprimi-los em ordem crescente. 45 1. Ler dois números inteiros e imprimir a soma. Antes do resultado, deverá aparecer a mensagem: Soma. 2. Ler dois números inteiros e imprimir o produto. 3. Ler um número real e imprimir a terça parte deste número. 4. Entrar com dois números inteiros e imprimir a seguinte saída: 1. Dividendo: 2. Divisor: 3. Quociente: 4. Resto: 5. Ler um número e imprimir se ele é par ou impar. 6. Entrar com um numero e informar se ele é ou não divisível por 5. 7. Entrar com um numero e informar se ele é divisível por 3 e por 7. 8. Entrar com três números e imprimir o maior numero. 9. Entrar com três números e imprimi-los em ordem crescente. 10.Um comerciante comprou um produto e quer vende-lo com um lucro de 45% se o valor da compra for menor que R$ 20,00; caso contrario, o lucro será de 30%. Entrar com o valor do produto e imprimir o valor da venda. 46 Exercícios 1. Construa um algoritmo para calcular as raízes de uma equação do 2º grau (Ax2 + Bx + C), sendo que os valores A, B, C são fornecidos pelo usuário (considere que a equação possui duas raízes reais). pot(b,2) – 4 *a *c (-b +- rad(d)) / (2*a) 2. Construa um algoritmo que, tendo como dados de entrada dois pontos quaisquer do plano, P(x1,y1) e Q(x2,y2), imprima a distância entre eles. A fórmula que efetua tal cálculo é: d = �2 − �1 2 + (�2 − �1)2, que reescrita utilizando os operadores matemáticos adotados fica: d = rad(pot(x2 – x1,2) + pot(y2 – y1,2)) 47 Resposta Exercício 1 início //declaração de variáveis real: a, b, c, //coeficientes da equação d, // delta x1, x2; // raizes // entrada de dados leia (a,b,c); //processamento de dados d � pot(b,2) – 4 * a * c; x1 � (-b + rad(d)) / (2 * a); x2 � (-b – rad(d)) / (2 * a); //saídade dados escreva (“Primeira raiz = “, x1); escreva (“Segunda raiz = “, x2); fim. 48 Resposta Exercício 2 início //declaração de variáveis real: d; //distancia calculada inteiro: x1, x2, y1, y2; // pontos // entrada de dados leia (x1, y1, x2, y2); //valores dos pontos //processamento de dados d � rad(pot(x2 – x1,2) + pot(y2 – y1,2)); //saída de dados escreva (“Distancia = “, d); fim.
Compartilhar