Professora: Flávia Balbino da Costa
LINGUAGEM DE PROGRAMAÇÃO I
PARTE II
CONTEÚDO PROGRAMÁTICO:






Introdução à Programação
Estrutura de um algoritmo
Operadores e expressões
Estruturas de Decisão
Estruturas de Repetição
Procedures e Functions
ALGORITMOS DE ESTRUTURAS DE DECISÃO

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.
SE... ENTÃO... SENÃO

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
Fim
SENÃO
Início
Comando 3
Comando 4
Fim
SE... ENTÃO... SENÃO
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, Quoc: 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!”)
FimSe
Fim
ANINHAMENTO DA ESTRUTURA SE

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.
SE... ENTÃO... SENÃO
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!)
FimSe
FimSE
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”, &nota1, &nota2);
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:
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
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:
Faixa etária
Categoria
< 18
Magreza
18,0 a 24,9
Saudável
25,0 a 29,9
Sobrepeso
> = 30,0
Obesidade
ESTRUTURA DE MÚLTIPLA ESCOLHA:
CASO... SELECIONE

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. Comparase, 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
EXERCÍCIO 1

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.
SOLUÇÃO
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
EXERCÍCIO 2

Faça um programa que leia o número referente a um
determinado mês. Depois retorne o nome do mês.
SOLUÇÃO
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 NA LINGUAGEM C
#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);
}
}
Download

Linguagem de Programação I - Universidade Castelo Branco