21
Lógica de Programação e Algoritmos Prof. André Y. Kusumoto [email protected]

Lógica de Programação e Algoritmos · • Estes comandos podem aparecer em qualquer estrutura de controle, ... • Lógica de Programação –A Construção de Algoritmos e Estruturas

  • Upload
    letuyen

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Lógica de Programação e Algoritmos

Prof. André Y. Kusumoto

[email protected]

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/