Algoritmo e Programação Unidade II – Estruturas de Decisão e Repetição Prof. Msc. Julio Furtado [email protected] Objetivo de Aprendizagem Nesta unidade será apresentado ao aluno as estruturas de decisão e repetição existentes na programação de computadores, que possibilitam a construção de algoritmos mais complexos. Estrutura de Decisão Condicional (Seleção Composta) se L então A (senão B) fimse Primeiramente, a condição L é avaliada, dando um valor lógico. Se este valor é V então o comando A é executado. Caso contrário, é executado o comando B (no caso de se L então A senão B) ou a execução do comando condicional é considerada terminada, passando-se ao comando seguinte, se houver. Ex.: se x < y então z x senão z y fimse ou se y ≤ x então z y senão z x fimse Estrutura de Decisão Condicional Exemplo: Algoritmo Recup Var Nome:Caractere; N1,N2,Media:Real; Inicio Escreva(“Entre com o Nome do Aluno:”) Leia(Nome) Escreva(“Entre com a 1ª Nota do Aluno:”) Leia(N1) Escreva(“Entre com a 2ª Nota do Aluno:”) Leia(N2) Media (N1+N2)/2 Se Media >= 7 Então Escreva(Nome+” está aprovado!”) Senão Escreva(Nome+” está de recuperação!”) Fimse Fim Estrutura de Decisão Condicional (Seleção Encadeada) se (condição 1) então comando 1 senão se (condição 2) então comando 2 senão comando 3 fimse fimse Estrutura de Decisão Exercícios 1- Faça um algoritmo que leia um time de futebol digitado pelo usuário, se o time digitado for Paissandú o algoritmo deverá mostrar sua cidade e a mensagem Campeão dos Campeões, se o time digitado for Vasco, deverá mostrar sua cidade e a mensagem Tetracampeão Brasileiro, se o time for o Corinthians, deverá mostrar a sua cidade e a mensagem Campeão Mundial, caso não seja digitado nenhum destes times o algoritmo deverá mostrar “Time Desconhecido”. Estrutura de Decisão Exercícios 2 – Elabore um algoritmo para ler dois números e mostrar se são iguais, ou se diferentes, mostrar o maior e o menor. (nesta seqüência) Estrutura de Controle Estrutura de Seleção (Escolha) escolha v caso v1:c1 caso v2:c2;...; caso vn:cn casocontrario: c fim escolha Como exemplo, suponha que a variável i seja inteira: escolha i caso 0: x sen(x) caso 1: x cos(x) caso 2: x tg(x) caso contrario: x x+1 fim escolha Estrutura de Controle Exercícios 1- Faça um algoritmo que leia um time de futebol escolhido pelo usuário, se o time escolhido for 1Paysandu o algoritmo deverá mostrar sua cidade e a mensagem Campeão dos Campeões, se o time escolhido for 2-Vasco, deverá mostrar sua cidade e a mensagem Tetracampeão Brasileiro, se o time for o 3-Corinthians, deverá mostrar a sua cidade e a mensagem Campeão Mundial, caso não seja escolhido nenhum destes times o algoritmo deverá mostrar “Time Desconhecido”. Estrutura de Controle Exercícios 2- Elabore o algoritmo calculadora. O usuário deverá digitar dois números e mais a opção desejada (1-somar, 2subtrair, 3-multiplicar ou 4-dividir). Caso o usuário digite a opção 1 o algoritmo deverá somar os dois números e mostrar o resultado. Caso seja digitada uma opção diferente das 4 existentes o algoritmo deverá mostrar a mensagem: “Opção inválida”. Estrutura de Repetição Enquanto enquanto L faça A fimenquanto A execução é feita conforme o diagrama: L V A F Estrutura de Repetição Enquanto Por exemplo, se x e y são variáveis inteiras, o comando enquanto x ≤ y faça x 2 * x fimenquanto duplica o valor de x até que este exceda o de y. Ex.: enquanto x ≠ y faça se x > y então x x–y senão y y–x fimenquanto Estrutura de Repetição Enquanto Exemplo: Algoritmo Dieta // Para perder dois kilos por mês Var PAtual,PPretend,Meses:Inteiro; Inicio Escreva(“Entre com o Peso Atual:”) Leia(PAtual) Escreva(“Entre com o Peso Pretendido:”) Leia(PPretend) Meses 0 Enquanto PAtual > PPretend faça Meses Meses + 1 PAtual PAtual - 2 FimEnquanto Escreva(“Quantidade de Meses para a Dieta:” +Meses) Fim Estrutura de Repetição Exercícios 1 – O piloto de fórmula 1 “Fernando Alonso” está liderando o campeonato com 78 pontos. O segundo colocado é o piloto “Felipe Massa” com 35 pontos. Sabendo que o líder não poderá mais correr a temporada por problemas de saúde e que em cada prova o vencedor soma 12 pontos, construa um algoritmo que informe quantas provas o Felipe Massa tem que ganhar para se tornar o Líder do Campeonato. Estrutura de Repetição Exercícios 2 - Entrar com as duas notas (1AV e 2AV) de N alunos da turma e mostre para cada aluno, o seu nome, a sua média e a sua situação (aprovado ou recuperação). Estrutura de Repetição Para (Iteração) para v de i até f (incr p) faça A fimpara A variável v deve ser do tipo int, assim como os valores de i,f e p. A variável v é iniciada com i e o comando A é executado repetidamente com v tomando os valores i, i+p, i+2p,... Até que seu valor exceda f. Estrutura de Repetição Para (Iteração) Por exemplo, para somar os 100 primeiros números inteiros e mostrar o resultado, podemos utilizar o seguinte algoritmo: Algoritmo SomaCem Var soma,i : inteiro início soma 0; para i de 1 até 100 (incr 1) faça soma soma + i fimpara escreva(‘O resultado é: ’+soma) fim Estrutura de Repetição Exercícios 1 – Crie um Algoritmo que escreva os números pares no intervalo de 1 a 600. 2 – Entre com nome, nota da AV1 e nota da AV2 de 12 alunos. Crie um Algoritmo que imprima uma listagem contendo: nome, nota da AV1, nota da AV2 e média de cada aluno. Ao final, calcule a média geral da turma. Estrutura de Decisão e Repetição Atividade Pontuada (2,5 Pontos) 1 – Elabore um algoritmo para ler três números inteiros, mostrando-os de forma ordenada ascendentemente. (0,5 pt) 2 – Elabore o algoritmo Tv_Cabo. O usuário deverá digitar o canal desejado (1-Globo, 2-SBT, 3-Record ou 4-Cultura). Caso o usuário digite a opção 1 o algoritmo deverá mostrar a mensagem “Você escolheu o canal Globo”, e assim para os demais canais. Caso seja digitada uma opção diferente das 4 existentes o algoritmo deverá mostrar a mensagem: “Canal inválido”. (1,0 pt) 3 – Prepara um algoritmo que monte e mostre a tabuada de qualquer número inteiro positivo, cujos multiplicadores vão de 0 a 10, utilizando uma estrutura de repetição. (1,0 pt)