24
Professora: Flávia Balbino da Costa

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

Embed Size (px)

Citation preview

Page 1: 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

Professora: Flávia Balbino da Costa

Page 2: 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

Introdução à Programação Estrutura de um algoritmo Operadores e expressões Estruturas de Decisão Estruturas de Repetição Procedures e Functions

Page 3: 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

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.

Page 4: 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

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

Page 5: 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

Exemplo:

Faça um programa que leia um número inteiro

e mostre como resultado na tela se este

número é par ou ímpar.

Page 6: 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

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

Page 7: 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

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.

Page 8: 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

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

Page 9: 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

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).

Page 10: 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

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);

 

Page 11: 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

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”);}

}

Page 12: 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

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.

Page 13: 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

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

Page 14: 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

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%.

Page 15: 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

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.

Page 16: 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

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

Page 17: 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

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

Page 18: 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

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”.

Page 19: 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

Sintaxe:

Escolha <variável>Caso <valor>:

Comando Caso <valor>: Comando Senão Comando Fim_escolha

Page 20: 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

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.

Page 21: 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

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

Page 22: 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

Faça um programa que leia o número referente a um

determinado mês. Depois retorne o nome do mês.

Page 23: 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

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

Page 24: 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

#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);

}}