Upload
internet
View
110
Download
1
Embed Size (px)
Citation preview
Professora: Flávia Balbino da Costa
Introdução à Programação Estrutura de um algoritmo Operadores e expressões Estruturas de Decisão Estruturas de Repetição Procedures e Functions
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.
A estrutura de decisão SE seleciona um entre dois
comandos (simples ou compostos) para a execução.
SE <condição> ENTÃO Comando 1 SENÃO Comando 2
SE <condição> ENTÃO Início Comando 1 Comando 2 FimSENÃ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.
Solução:Algoritmo Teste Var Num, Resto, Quo: InteiroInicio Leia (Num)
Quoc ← Num / 2Resto ← Num – (2 * Quoc)
Se (Resto = 0) Então Escreva (“O número é par!”) Senão Escreva (“O número é ímpar!”)Fim
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.
Programa TesteVar N1, N2, N3: InteiroInicio
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
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).
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);
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”);}
}
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.
Solução:Algoritmo CondicaoVar Num, result: Inteiro
InicioLeia (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
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%.
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.
Faça um algoritmo para ler a idade digitada
pelo usuário e apresentar a categoria esportiva
correspondente conforme a tabela abaixo:
Faixa etária Categoria
10 a 12 anos Infantil
13 a 15 anos Mirim
16 a 18 anos Juvenil
19 a 35 anos Adulto
Acima de 35 anos Sênior
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:
Faixa etária Categoria
< 18 Magreza
18,0 a 24,9 Saudável
25,0 a 29,9 Sobrepeso
> = 30,0 Obesidade
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”.
Sintaxe:
Escolha <variável>Caso <valor>:
Comando Caso <valor>: Comando Senão Comando Fim_escolha
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.
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!’)
FimEscolhaFim
Faça um programa que leia o número referente a um
determinado mês. Depois retorne o nome do mês.
Programa Meses Var
mes: InteiroIní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!’) FimEscolhaFim
#include <stdio.h>Var int mes;
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);
}}