Professora: Flávia Balbino da Costa. Introdução à Programação Estrutura de um algoritmo...

Post on 18-Apr-2015

110 views 1 download

Transcript of Professora: Flávia Balbino da Costa. Introdução à Programação Estrutura de um algoritmo...

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”, &nota1, &nota2);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);

}}