Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Clique para editar o estilo do título mestre Clique para editar o estilo do subtítulo mestre Lógica de Programação Estruturas sequencial e condicional Prof.º Hernan Marinho Lógica de Programação Estrutura sequencial A estrutura sequencial de um algoritmo corresponde ao fato de que o conjunto de ações primitivas será executado em uma sequência linear de cima para baixo e da esquerda para a direita, isto é, na mesma ordem que foram escritas; Ações serão seguidas por um ponto-e-vírgula(;), que objetiva separar uma ação da outra; Após um ( ; ) deveremos executar o próximo comando de sequência. Lógica de Programação Estrutura sequencial Modelo geral: Início //identificação do início do bloco correspondente ao algoritmo //declaração de variáveis //corpo do algoritmo ação1; ação2; . . . açãon; Fim. //fim do algoritmo Lógica de Programação Estrutura sequencial Exemplo: Construa um algoritmo que calcule a média aritmética entre quatro notas bimestrais quaisquer fornecidas por um aluno (usuário); Dados de entrada: quatro notas bimestrais (N1, N2, N3, N4); Dados de saída: média aritmética anual (MA); O que devemos fazer para transformar quatro notas bimestrais em uma média anual? R.: utilizar média aritmética O que é média aritmética? R.: A soma dos elementos divididos pela quantidade deles. Em nosso caso particular: (N1 + N2 + N3 + N4)/4 Lógica de Programação Estrutura sequencial Exemplo (cont.) Início //começo do algoritmo //declaração de variáveis real: N1, N2, N3, N4, //Notas bimestrais MA; //Média anual //Entrada de dados leia (N1, N2, N3, N4); //Processamento MA (N1+N2+N3+N4) / 4; //saída de dados escreva(MA); Fim. //término do algoritmo Lógica de Programação Estrutura sequencial Exercício 1: Faça um algoritmo que leia 2 números e imprima o resultado da soma deles. Início //começo do algoritmo inteiro: A,B leia (A,B); escreva(“Resultado = ”, A+B); Fim. //término do algoritmo Lógica de Programação Estrutura sequencial Exercício 2: Faça um algoritmo para calcular o volume de uma esfera de raio R, em que R é um dado fornecido pelo usuário. O volume de uma esfera é dado por: V = (4/3)*∏R3 Início //começo do algoritmo //declaração de variáveis real: V, //armazena o volume da esfera R; //armazena o valor do raio //entrada de dados leia(R); //processamento de dados V (4/3) * 3,14 * pot(R,3); //saída de dados escreva(“Volume = ”, V); Fim. //término do algoritmo Lógica de Programação Estruturas Condicionais Uma estrutura condicional permite a escolha de um grupo de ações (bloco) a ser executado quando determinadas condições, representadas por expressões lógicas ou relacionais são ou não satisfeitas; Operadores Lógicos: Não, E, Ou. Operadores Relacionais: =, >, <, <=, >= e <>. Lógica de Programação Estruturas Condicionais Tipos : Simples Composta Encadeada Seleção de Múltipla Escolha Lógica de Programação Simples Quando precisamos testar uma certa condição antes de executar uma ação; Expressão: se < condição > então ... fim-se; Lógica de Programação Simples Problema: Ler um número e se ele for maior do que 20, então imprimir a metade do número. início inteiro : numero; escreva(“Informe um N.º”); leia(numero); se (numero > 20) então escreva(“Metade de %d eh %d ”, numero, numero/2); fim-se; fim. Lógica de Programação Simples Solução em C: #include <stdio.h> #include <stdlib.h> //int numero; apresentou problemas para mostrar a metade float metade, numero; int main() { printf("Informe um N.o: "); scanf("%f", &numero); if (numero > 20) { metade = (numero/2); printf("\nMetade de %0.2f eh %0.2f \n", numero, metade); } system("pause"); return 0; } Lógica de Programação Composta Quando tivermos situações em que duas alternativas dependem de uma mesma condição, uma de a condição ser verdadeira e outra de a condição ser falsa; Expressão: se < condição > então //condição verdadeira senão //condição falsa fim-se; Lógica de Programação Composta Problema: Ler um número e imprimir se ele é par ou impar. início inteiro : numero; escreva(“Informe um N.º”); leia(numero); se (numero mod 2 = 0) então escreva(“O número informado eh Par ”); senão escreva(“O número informado eh Impar”); fim-se; fim. Lógica de Programação Composta Solução em C: #include <stdio.h> #include <stdlib.h> int numero; int main() { printf("Informe um N.o: "); scanf("%d", &numero); if (numero % 2 == 0) printf("\nO numero informado eh Par\n"); else printf("\nO numero informado eh Impar\n"); system("pause"); return 0; } Lógica de Programação Encadeada Quando, devido a necessidade de processamento, agrupamos várias seleções, formando uma estrutura encadeada. Lógica de Programação Encadeada Expressão : se < condição1 > então se < condição2 > então inicio C1; ... Cn fim fimse senão se < condição3 > então inicio C1; ... Cn fim senão se < condição4 > então C1; fimse fimse fimse Lógica de Programação Encadeada Exemplo: 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 eqüilátero, isósceles ou escaleno. Informar se não compuserem nenhum triângulo. Lógica de Programação Solução O que é um triângulo? Figura geométrica fechada de três lados, em que cada um lado é menor que a soma dos outros dois. Eqüilátero? Três lados iguais. Isósceles? Dois lados iguais. Escaleno? Todos os lados diferentes. Lógica de Programação Solução Dados de entrada: três lados de um suposto triângulo (A, B, C). Dados de Saída: não compõem triângulo; triângulo eqüilátero; triângulo isósceles; ou, triângulo escaleno. Lógica de Programação Solução início inteiro: A, B, C; leia(A, B, C); se ( (A < B+C ) e ( B <A+C ) e ( C <A+B ) ) então se ( ( A=B ) e ( B = C ) então escreva(“Triângulo Eqüilátero”); senão se ( A=B ) ou ( A=C ) ou ( B=C ) então escreva(“Triângulo Isósceles”); senão escreva(“Triângulo Escaleno”); fim-se; fim-se; senão escreva (“Estes valores não formam um triângulo”); fim-se; fim. Lógica de Programação Solução em C: #include<stdio.h> int main(void) { float a,b,c; printf("Por favor, digite 3 numeros:\n"); scanf("%f",&a); scanf("%f",&b); scanf("%f",&c); if ((a+b > c) && (a+c > b) && (b+c > a)) { // Verificando o tipo de triângulo formado if ((a == b) && (b == c)) printf("equilatero \n"); else if ((a==b) || (b==c) || (a==c)) printf("isosceles \n"); else printf("escaleno \n"); } else { printf("Estes numeros nao podem ser os lados de um triangulo.\n"); } system("pause"); return 0; } Lógica de Programação Seleção de Múltipla Escolha É uma alternativa para SEs aninhados, deixando o algoritmo com uma estrutura melhor; Expressão: escolha ( opcao ) caso <opcao 1> : cmd1; caso <opcao 2> : cmd2; | caso <opcao N> : cmdN; senão cmdX; fim-escolha; Lógica de Programação Problema: Escrever um algoritmo que leia um peso na Terra e o número de um planeta e imprima o valor do seu peso neste planeta. A relação de planetas é dada a seguir juntamente com o valor das gravidades relativas à Terra: Fórmula: PP = (PT/10)*GR Onde: PP : Peso no Planeta PT : Peso na Terra GR: Gravidade Relativa NP: Número do Planeta Lógica de Programação Solução início inteiro: np; real: pt, pp; pp -1; escreva(“Planetas que podem ser analisados: ”); escreva(“ 1 Mercurio \n 2 Venus \n 3 Marte \n“); escreva(“ 4 Jupiter \n 5 Saturno \n 6 Urano \n”); escreva(“Informe o planeta a ser analisado”); leia (np); escreva(“Informe o peso na Terra:”); leia(pt); escolha (np) caso 1: pp (pt/10)*0,37; caso 2: pp (pt/10)*0,88; caso 3: pp (pt/10)*0,38; caso 4: pp (pt/10)*2,64; caso 5: pp (pt/10)*1,15; caso 6: pp (pt/10)*1.17; senão: escreva (“Opcao inválida!”); fim-escolha; se pp <> -1 então escreva(“O peso no planeta informado eh ”, pp); fim. Lógica de Programação Solução em C: #include <stdio.h> #include <stdlib.h> int op; float pt, pp; int main() { pp = -1; printf("Planetas que pode ser analisados: \n"); printf(" 1 Mercurio \n 2 Venus \n 3 Marte \n 4 Jupiter \n 5 Saturno \n 6 Urano \n "); printf(" Informe o cod. do planeta ser analisado: "); scanf("%d",&op); printf("\n Informe o peso na Terra:"); scanf("%f",&pt); switch (op) { case 1: { pp = (pt/10)*0.37; break; } case 2: { pp = (pt/10)*0.88; break; } case 3: { pp = (pt/10)*0.38; break; } case 4: { pp = (pt/10)*2.64; break; } case 5: { pp = (pt/10)*1.15; break; } case 6: { pp = (pt/10)*1.17; break; } default: printf("Opcao invalida! \n"); } if (pp != -1 ) printf("\n O peso no planeta informado eh %0.2f \n", pp); system("pause"); return 0; } Lógica de Programação Bibliografias: FORBELLONE, André Luiz Vilar – Lógica de Programação: a construção de algoritmos e estruturas de dados. 3.Ed – São Paulo : Pearson Prentice Hall, 2005. FARRER, Harry – Algoritmos Estruturados. 3.Ed – Rio de Janeiro: LTC, 1999. LOPES, Anita – Introdução à Programação – Rio de Janeiro: Campus, 2002.
Compartilhar