Prof. André Y. Kusumoto
Estruturas de Controle
Blocos
•
Delimitam um conjunto de comandos com uma função bem
definida.
início<comandos> fim
Estruturas de Controle
Sequências Simples
•
Conjunto de comandos que serão executados numa seqüência linear
de cima para baixo.
•
Estes comandos podem aparecer em qualquer estrutura de controle,
agrupados ou não por blocos.
•
Ao final de cada comando é obrigatório a colocação de um
ponto-e-vírgula( ; )
•
Mais de um comando pode ser colocado por linha, mas isso não é
aconselhável.
Estruturas de Controle
•
Um comando pode ocupar mais de uma linha. Nesse caso, o
ponto-e-vírgula só vai aparecer no final da última linha.
Veja a sintaxe:
comando 1; comando 2; início comando 3 ... meio comando 3 ... fim comando 3; ... comando n;Estruturas de Controle
Algoritmo SomaNumerosInteiros
declare
num1, num2, soma : numerico; inicio
ler(num1, num2); soma ← num1 + num2;
escrever('A soma dos números é : ', soma);
Exemplo 1
•
Faça um algoritmo que leia dois números inteiros e mostre a soma
deles.
Estruturas de Controle
Algoritmo LeituraNomes
declare
nome1, nome2, nome3 : alfanumerico; inicio
escrever('Entre com primeiro nome : '); ler(nome1);
escrever('Entre com segundo nome : '); ler(nome2);
escrever('Entre com terceiro nome : '); ler(nome3);
escrever('A ordem inversa dos nomes é '); escrever(nome3);
escrever(nome2); escrever(nome1); fim
Exemplo 2
• Faça um algoritmo que leia 3 nomes e mostre-os na ordem inversa de leitura. Veja como este algoritmo já apresenta mais detalhes.
Estruturas Condicionais
Execução caso condição seja verdadeira
• Quando uma ação para ser executada depender de uma inspeção ou teste, teremos uma alternativa simples ou composta.
Sintaxe da Alternativa Simples:
se <condição> então <comando 1>;
<comando 2>; <comando n>; fim-se;
• Imagine um algoritmo que determinado aluno somente estará aprovado se sua média for maior ou igual a 5.0, veja no exemplo de algoritmo como ficaria.
se (media >= 5.0) então escrever(‘Aluno Aprovado’); fim-se; Diagrama de blocos →
Estruturas Condicionais
Media >= 5.0 Aluno Aprovado V FSintaxe da Alternativa Composta: se <condição> então <comando 1>; <comando 2>; <comando n>; senão <comando 1>; <comando 2>; <comando m>; fim-se;
Onde: <condição> é qualquer expressão cujo resultado seja Falso ou Verdadeiro.
Estruturas Condicionais
Execução caso condição seja verdadeira
Exemplo: se (media >= 5.0) então situacao ← ‘Aprovado’; senão situacao ← ‘Reprovado’; fim-se; Diagrama de blocos →
Estruturas Condicionais
Media >= 5.0 situacao ←“Aprovado” V F situacao ← “Reprovado”Exercícios
1) Faça um algoritmo que fornecido três números inteiros e positivos, apresente (exiba) o maior deles.
2) Escreva um algoritmo que leia três valores inteiros diferentes e mostre-os em ordem crescente.
3) Faça um algoritmo que leia o ano de nascimento de uma pessoa, calcule e mostre sua idade e, também, verifique e mostre se ela já tem idade para votar (16 anos ou mais) e para conseguir a carteira de habilitação (18 anos ou mais).
4) Construa um algoritmo que calcule a média ponderada entre 5 números quaisquer, sendo que os pesos a serem aplicados são: 1, 2, 3, 4 e 5 respectivamente.
Exercícios
5) João Papo-de-Pescador, homem de bem, comprou um microcomputador para controlar o rendimento diário de seu trabalho. Toda vez que ele traz um peso de peixes maior que o estabelecido pelo regulamento de pesca do estado de São Paulo (50 quilos) deve pagar um multa de R$ 4,00 por quilo excedente. João precisa que você faça um diagrama de blocos que leia a variável P (peso de
peixes) e verifique se há excesso. Se houver, gravar na variável E (Excesso) e na variável M o valor da multa que João deverá pagar. Caso contrário mostrar tais variáveis com o conteúdo ZERO.
6) Elabore um diagrama de bloco que leia as variáveis C e N, respectivamente código e número de horas trabalhadas de um operário. E calcule o salário
sabendo-se que ele ganha R$ 10,00 por hora. Quando o número de horas exceder a 50 calcule o excesso de pagamento armazenando-o na variável E, caso
contrário zerar tal variável. A hora excedente de trabalho vale R$ 20,00. No final do processamento imprimir o salário total e o salário excedente.
Exercícios
7) Desenvolva um diagrama que:• Leia 4 (quatro) números;
• Calcule o quadrado de cada um;
• Se o valor resultante do quadrado do terceiro for >= 1000, imprima-o e finalize; • Caso contrário, imprima os valores lidos e seus respectivos quadrados.
8) A Secretaria de Meio Ambiente que controla o índice de poluição mantém 3 grupos de indústrias que são altamente poluentes do meio ambiente. O índice de poluição aceitável varia de 0,05 até 0,25. Se o índice sobe para 0,3 as indústrias do 1º grupo são intimadas a suspenderem suas atividades, se o índice crescer para 0,4 as industrias do 1º e 2º grupo são intimadas a suspenderem suas atividades, se o índice atingir 0,5 todos os grupos devem ser notificados a paralisarem suas atividades. Faça um diagrama de bloco que leia o índice de poluição medido e emita a notificação
Exercícios
9) Elabore um algoritmo que, a partir de um mês e ano fornecidos, valide se eles compõem uma data válida.
10) Elabore um algoritmo que gera e escreve os números ímpares dos números lidos entre 100 e 200.
11) Construa um algoritmo que leia 500 valores inteiros e positivos e: • Encontre o maior valor
• Encontre o menor valor
• Calcule a média dos números lidos
Exercícios
12) Faça um algoritmo que determine o maior entre N números. A condição de
parada é a entrada de um valor 0, ou seja, o algoritmo deve ficar calculando o maior até que a entrada seja igual a 0 (ZERO).
13) Uma rainha requisitou os serviços de um monge e disse-lhe que pagaria qualquer preço. O monge, necessitando de alimentos, indagou à rainha sobre o pagamento, se poderia ser feito com grãos de trigo dispostos em um tabuleiro de xadrez, de tal
forma que o primeiro quadro deveria conter apenas um grão e os quadros
subseqüentes, o dobro do quadro anterior. A rainha achou o trabalho barato e pediu que o serviço fosse executado, sem se dar conta de que seria impossível efetuar o pagamento. Faça um algoritmo para calcular o número de grãos que o monge esperava receber.
Exercícios
quociente 2 2
números 160 64 32
restos 32 0
15) Faça um algoritmo que leia um número na base 10 e converta-o para a base 2. 16) Faça um algoritmo que leia dois números inteiros e positivos e calcule o mdc. Regra:
1) dividimos o número maior pelo menor
2) como não deu resto zero, dividimos o divisor pelo resto da divisão anterior. 3) prosseguimos com as divisões sucessivas até obter resto zero.
• Utilizada quando temos muitas possibilidades para uma determinada situação, onde a aplicação da estrutura se...então...senão...fim-se, tornaria o algoritmo muito complexo.
Sintaxe da Alternativa Simples:
escolha <expressão>
caso valor1 : <comando 1>; caso valor2 : <comando2>; ...
senão <comando n>; fim-escolha;
Estrutura de Múltipla Escolha
As opções podem apresentar valores
Estrutura de Múltipla Escolha
Exemplo:ler(Numero); escolha Numero
caso 1: Extenso ←‘Um’; caso 2: Extenso ← ‘Dois’; caso 3: Extenso ← ‘Três’; caso 4: Extenso ← ‘Quatro’; caso 5: Extenso ← ‘Cinco’; caso 6: Extenso ← ‘Seis’; caso 7: Extenso ← ‘Sete’; caso 8: Extenso ← ‘Oito’; caso 9: Extenso ← ‘Nove’; senão: Extenso ← ‘Erro’; fim-escolha;
• No exemplo do diagrama de blocos abaixo, é recebido uma variável “Op” e testado seu conteúdo, caso uma das condições seja satisfeita, é atribuído para a variável Titulo a string “Opção X”, caso contrário é atribuído a string “Opção Errada”
Estrutura de Múltipla Escolha
inicio op op=1 op=2 op=3 Titulo ← “Opção 1” Titulo ← “Opção 2” Titulo ← “Opção 3”Exercícios
20
1) O IMC – Índice de Massa Corporal é em critério da Organização Mundial de Saúde para dar uma indicação sobre a condição de peso de uma pessoa adulta. A fórmula é IMC= peso/(altura)². Elabore um algoritmo que leia o peso e altura de um adulto e mostre sua condição:
IMC
Abaixo de 18,5 – abaixo do peso Entre 18,5 e 25 – peso normal Entre 25 e 30 - acima do peso Acima de 30 – obeso
2) Elabore um algoritmo que leia o valor de dois números inteiros e a operação aritmética desejada; calcule, então, a resposta adequada. Utilize os símbolos da tabela a seguir para ler qual a operação aritmética escolhida:
+ : Adição; - : Subtração * : Multiplicação / : Divisão
3) Elabore um algoritmo que dada a idade de um nadador classifique-o em uma das seguintes categorias: Infantil A = 5 a 7 anos Infantil B = 8 a 11 anos Juvenil A = 12 a 13 anos Juvenil B = 14 a 17 anos
Adultos = Maiores de 18 anos
4) Escreva um algoritmo que, a partir de um mês fornecido (número inteiro de 1 a 12), apresente o nome dele por extenso.
Referências
• Algoritmos Estruturados.
FARRER, Harry, BECKER, Christiano G., FARIA, Eduardo C., MATOS, Helton Fábio de, SANTOS, Marcos Augusto dos, MAIA, Miriam Lourenço. Rio de Janeiro: Editora Guanabara, 1989.
• Lógica de Programação – A Construção de Algoritmos e Estruturas de Dados
Forbellone, André Luiz Villar . São Paulo, Prentice Hall, 2005:
• Algoritmos e estruturas de dados.
GUIMARÃES, Angelo de Moura, LAGES, Newton A de Castilho. Rio de Janeiro: LTC – Livros Técnicos e Científicos Editora, 1985.
• Programação e lógica com Turbo Pascal.
MECLER, Ian, MAIA, Luiz Paulo. Rio de Paulo Janeiro: Campus, 1989. Unicamp - Centro de Computação – DSC. Sérgio de Moraes, abril 2000.
• Algoritmos.
SALVETTI, Dirceu Douglas, BARBOSA, Lisbete Madsen. São Paulo: Makron Books, 1998.
• Concursos Públicos – Raciocínio Lógico.
SILVA, Joselias Santos da. São Paulo: R&A Editora Cursos e Materiais Didáticos, 1999.
• Algoritmos e Estruturas de Dados.
WIRTH, Niklaus. Rio de Janeiro: Editora Prentice-Hall do Brasil, 1986.