Upload
letuyen
View
217
Download
0
Embed Size (px)
Citation preview
Prof. André Y. Kusumoto – [email protected]
Estruturas de Controle
2
Blocos
• Delimitam um conjunto de comandos com uma função bem definida.
início
<comandos>
fim
Prof. André Y. Kusumoto – [email protected]
Estruturas de Controle
3
Sequências Simples
• Conjunto de comandos que serão executados numa sequê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.
Prof. André Y. Kusumoto – [email protected]
Estruturas de Controle
4
• 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;
Prof. André Y. Kusumoto – [email protected]
Exemplo 1
• Faça um algoritmo que leia dois números inteiros e mostre a soma deles.
Estruturas de Controle
5
Prof. André Y. Kusumoto – [email protected]
Estruturas de Controle
6
Algoritmo SomaNumerosInteiros
declare
num1, num2, soma : numerico;
inicio
ler(num1, num2);
soma ← num1 + num2;
escrever('A soma dos números é : ', soma);
fim
Exemplo 1
• Faça um algoritmo que leia dois números inteiros e mostre a soma deles.
Prof. André Y. Kusumoto – [email protected]
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 de Controle
7
Prof. André Y. Kusumoto – [email protected]
Estruturas de Controle
8
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.
Prof. André Y. Kusumoto – [email protected]
Estruturas Condicionais
9
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;
Prof. André Y. Kusumoto – [email protected]
• 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
10
Media >= 5.0
Aluno
Aprovado
V
F
Prof. André Y. Kusumoto – [email protected]
Sintaxe 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
11
Execução caso condição seja verdadeira
Execução caso condição seja falsa
Prof. André Y. Kusumoto – [email protected]
Exemplo:
se (media >= 5.0) então
situacao ← ‘Aprovado’;
senão
situacao ← ‘Reprovado’;
fim-se;
Diagrama de blocos →
Estruturas Condicionais
12
Media >= 5.0
situacao ←“Aprovado”
VF
situacao ← “Reprovado”
Prof. André Y. Kusumoto – [email protected]
Exercícios
13
1) Faça um algoritmo para somar dois números e multiplicar o resultado
pelo primeiro número. Mostre o resultado no final do processamento.
2) Escreva um algoritmo e elabore um diagrama de blocos que leia um
número. Verifique se o número é positivo ou negativo. No final mostrar o
resultado.
3) Escreva um algoritmo e elabore um fluxograma que leia um número e
verifique se ele é par ou ímpar. Mostre o resultado no final do
processamento.
4) Construa um diagrama de blocos para ler uma variável numérica N.
Mostre a variável somente se ela for maior que 100, caso contrário
mostre o valor zero.
Prof. André Y. Kusumoto – [email protected]
Exercícios
14
5) Faça um algoritmo que fornecido três números inteiros e positivos, apresente
(exiba) o maior deles.
6) Escreva um algoritmo que leia três valores inteiros diferentes e mostre-os em
ordem crescente.
7) 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.
8) Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um
algoritmo que calcule seu peso ideal, utilizando as seguintes fórmulas:
• Para homens: (72.7*h) - 58
• Para mulheres: (62.1*h) - 44.7 (h = altura)
9) Faça um algoritmo para “Calcular o estoque médio de uma peça”, sendo que:
ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA + QUANTIDADE MÁXIMA) /2
Prof. André Y. Kusumoto – [email protected]
Exercícios
10)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.
11)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.
Prof. André Y. Kusumoto – [email protected]
Exercícios
16
12)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.
13)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 adequada aos diferentes grupos de
empresas.
Prof. André Y. Kusumoto – [email protected]
• 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
17
As opções podem apresentar valores
individuais.
Prof. André Y. Kusumoto – [email protected]
Estrutura de Múltipla Escolha
18
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”
Prof. André Y. Kusumoto – [email protected]
Estrutura de Múltipla Escolha
19
inicio
op
op=1
op=2
op=3
Titulo ← “Opção 1”
Titulo ← “Opção 2”
Titulo ← “Opção 3”
Titulo ← “Opção Errada”
Titulo
fim
Prof. André Y. Kusumoto – [email protected]
Exercícios
20
1) 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
2) Escreva um algoritmo que, a partir de um mês fornecido (número inteiro de 1 a 12),
apresente o nome dele por extenso.
Prof. André Y. Kusumoto – [email protected]
Referências
21
• 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.
• Sites na Web: http://www.inf.pucrs.br/~egidio/algo1/