240 likes | 373 Views
Professora: Flávia Balbino da Costa. Linguagem de Programação I Parte II. Introdução à Programação Estrutura de um algoritmo Operadores e expressões Estruturas de Decisão Estruturas de Repetição Procedures e Functions. Conteúdo Programático:.
E N D
Professora: Flávia Balbino da Costa Linguagem de Programação IParte II
Introdução à Programação Estrutura de um algoritmo Operadores e expressões Estruturas de Decisão Estruturas de Repetição Procedures e Functions Conteúdo Programático:
Uma característica peculiar do computador é a capacidade de tomar decisões. Num programa interativo freqüentemente temos que tomar decisões, escolher entre os percursos de ação disponíveis. • As estruturas de decisão devem ser utilizadas de acordo com alguma situação verificada através de valores de variáveis, se quer que uma ação seja executada ou não. Sendo executada tal ação, isso se dará apenas uma vez. Algoritmos de Estruturas de decisão
A estrutura de decisão SE seleciona um entre dois comandos (simples ou compostos) para a execução. Se... Então... senão SE <condição> ENTÃO Comando 1 SENÃO Comando 2 SE <condição> ENTÃO Início Comando 1 Comando 2 Fim SENÃO Início Comando 3 Comando 4 Fim
Exemplo: Faça um programa que leia um número inteiro e mostre como resultado na tela se este número é par ou ímpar. Se... Então... senão
Solução: Algoritmo Teste Var Num, Resto, Quo: Inteiro Inicio Leia (Num) Quoc ← Num / 2 Resto ← Num – (2 * Quoc) Se (Resto = 0) Então Escreva (“O número é par!”) Senão Escreva (“O número é ímpar!”) Fim Se... Então... senão
As estruturas de decisão SE podem estar aninhadas, ou seja, uma dentro da outra. O aninhamento de estruturas pode resultar em seqüências de decisão complexas e poderosas. Exemplo: Faça um programa que leia três números e mostre qual é o maior deles. Aninhamento da estrutura Se
Programa Teste Var N1, N2, N3: Inteiro Inicio Leia (N1) Leia (N2) Leia (N3) Se (N1 > N2) e (N1 > N3) Então Escreva (‘O maior número é N1!) Senão Se (N2 > N1) e (N2 > N3) Então Escreva (‘O maior número é N2!) Senão Escreva (‘O maior número é N3!) Fim Se... Então... senão
Exemplo em C: Faça um programa em C que leia o nome e as duas notas de um aluno e informe a sua média e se este está aprovado, reprovado ou em prova final (considere as mesmas regras da instituição). Se... Então... senão
Solução: #include <stdio.h> void main() { char nome[80]; float nota1, nota2, media; printf(“Informe o nome do aluno: ”); gets(nome); printf(“Informe as duas notas do aluno: ”); scanf(“%f%f”, ¬a1, ¬a2); media = (nota1+nota2)/2; printf(“O aluno %s ficou com a média %.2f\n”, nome, media); Se... Então... senão
Solução (continuação): if (media>=7) printf(“O aluno está aprovado!\n”); else { if (media <5) printf(“O aluno está reprovado!\n”); else printf(“O aluno está em prova final!\n”); } } Se... Então... senão
Exercícios: Faça um algoritmo que leia um número. Caso o número seja menor que 5, multiplique-o por 2. Caso seja maior ou igual a 5 e menor que 10, multiplique-o por 3. Caso contrário, multiplique-o por 4. Mostre o número lido e o resultado final. Se... Então... senão
Solução: Algoritmo Condicao Var Num, result: Inteiro Inicio Leia (Num) Se (Num < 5) então Result ← Num * 2 Senão Se (Num >= 5) e (Num <10) então Result ← Num * 3 Senão Result ← Num * 4 FimSe Escreva (‘O número lido é: ‘, Num) Escreva (´O resultado é : ‘, Result) Fim Se... Então... senão
Exercícios: Elabore um algoritmo que efetue o cálculo do reajuste do salário de um funcionário. Considere que o funcionário deverá receber um reajuste de 15% caso seu salário seja menor que 500. Se o salário for maior ou igual a 500 e menor ou igual a 1000, seu reajuste será de 10%. Caso seja maior que 1000, o reajuste deverá ser de 5%. Se... Então... senão
Ler 3 valores para os lados de um triângulo (A, B, C). Verificar se os lados fornecidos formam realmente um triângulo, e se for esta condição verdadeira, deverá ser indicado qual tipo de triângulo foi formado: isósceles, escaleno ou equilátero. Dados: É triângulo quando: (A<B+C) e (B<A+C) e (C<A+B) É equilátero quando: (A=B) e (B=C); É isósceles quando: (A=B) ou (A=C) ou (B=C) É escaleno quando: não for equilátero nem isósceles. Se... Então... senão
Faça um algoritmo para ler a idade digitada pelo usuário e apresentar a categoria esportiva correspondente conforme a tabela abaixo: Se... Então... senão
O índice de massa corporal (IMC) avalia o nível de gordura de cada pessoa e é adotado pela Organização Mundial de Saúde (OMS). O IMC de uma pessoa é dado pela divisão do peso pela altura ao quadrado. Elabore um algoritmo que, a partir da massa e da altura fornecidos pelo usuário, calcule a apresente seu IMC e sua classificação conforme a tabela a seguir: Se... Então... senão
A estrutura de decisão CASO/SELECIONE é utilizada para testar, na condição, uma única expressão, que produz um resultado, ou, então, o valor de uma variável, em que está armazenado um determinado conteúdo. Compara-se, então, o resultado obtido no teste com os valores fornecidos em cada cláusula “Caso”. Estrutura de múltipla escolha:CASO... SELECIONE
Sintaxe: Escolha <variável> Caso <valor>: Comando Caso <valor>: Comando Senão Comando Fim_escolha Estrutura de múltipla escolha:CASO... SELECIONE
Faça um programa que leia um caracter (pode ser numérico, alfabético, etc.). Depois retorne a mensagem na tela se este caracter lido está em letra maiúscula, minúscula ou número. Caso não seja letra ou número, informe a mensagem que é um caracter de controle ASCII. Exercício 1
Programa Caracter Var Caracter: String[1] Início Leia (Caracter) Escolha (Caracter) Caso ‘a’ .. ‘z’: Escreva (‘É uma letra minúscula!’) Caso ‘A’ .. ‘Z’: Escreva (‘É uma letra maiúscula!’) Caso ‘0’ .. ‘9’: Escreva (‘É um número!’) Senão Escreva (‘É um caracter de controle ASCII!’) FimEscolha Fim solução
Faça um programa que leia o número referente a um determinado mês. Depois retorne o nome do mês. Exercício 2
Programa Meses Var mes: Inteiro Início Leia (mes) Escolha (mes) Caso 1: Escreva (‘Mês de Janeiro’) Caso 2: Escreva (‘Mês de Fevereiro’) Caso 3: Escreva (‘Mês de Março’) Caso 4: Escreva (‘Mês de Abril’) ... Senão Escreva (‘Este número corresponde a nenhum mês!’) FimEscolha Fim solução
#include <stdio.h> Var intmes; void main() { printf(“Escreva o número do mês correspondente: ”); scanf(“%d”, &mes); switch(mes) { case 1: printf(“O número %d corresponde ao mês de Janeiro!”, mes); break; case 2: printf(“O número %d corresponde ao mês de Fevereiro!”, mes); break; case 3: printf(“O número %d corresponde ao mês de Março!”, mes); break; case 4: printf(“O número %d corresponde ao mês de Abril!”, mes); break; case 5: printf(“O número %d corresponde ao mês de Maio!”, mes); break; case 6: printf(“O número %d corresponde ao mês de Junho!”, mes); break; case 7: printf(“O número %d corresponde ao mês de Julho!”, mes); break; case 8: printf(“O número %d corresponde ao mês de Agosto!”, mes); break; case 9: printf(“O número %d corresponde ao mês de Setembro!”, mes); break; case 10: printf(“O número %d corresponde ao mês de Outubro!”, mes); break; case 11: printf(“O número %d corresponde ao mês de Novembro!”, mes); break; case 12: printf(“O número %d corresponde ao mês de Dezembro!”, mes); break; default: printf(“O número %d não corresponde a nenhum mês!”, mes); } } Solução na linguagem C