• Nenhum resultado encontrado

Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto

N/A
N/A
Protected

Academic year: 2021

Share "Lógica de Programação e Algoritmos. Prof. André Y. Kusumoto"

Copied!
22
0
0

Texto

(1)

Prof. André Y. Kusumoto

(2)

Estruturas de Controle

Blocos

Delimitam um conjunto de comandos com uma função bem

definida.

início

<comandos> fim

(3)

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.

(4)

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;

(5)

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.

(6)

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.

(7)

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;

(8)

• 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 F

(9)

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

Execução caso condição seja verdadeira

(10)

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”

(11)

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.

(12)

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.

(13)

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

(14)

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

(15)

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.

(16)

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.

(17)

• 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

(18)

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”

(19)

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”

(20)

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

(21)

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.

(22)

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.

Referências

Documentos relacionados

Keywords: Structural Health Monitoring; Cable-stayed Bridges; Thermomechanical Analysis; Damage Detection; Data-based

[r]

Na 3.£í) serie de sciencias juridicas, 5 inscriptos, tendo sido 2 approvados plenamente em todas as cadeiras, 1 plenamente em direito commercial e simplesmente em medicina

Nesse contexto, a análise numérica via MEF de vibrações sísmicas induzidas por detonações se mostra como uma metodologia que pode contribuir significativamente

Em síntese, algumas reflexões podem ser apontadas sobre a pesquisa realizada. Não podemos dizer que sejam considerações finais, pois esta é uma discussão que está apenas

Este estágio despertou-nos para a realidade profissional e a importância do papel do farmacêutico como profissional de saúde, contribuindo, não só para a

Este sistema, resultante da colaboração entre a Glintt e o sector farmacêutico, permite não só realizar todos os processos inerentes ao normal funcionamento da farmácia,

[r]