INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

32
ALGORITMO: FASE 1 – PARTE 1 Rhavy Maia Guedes [email protected] INSTITUTO FEDERAL DE EDUCAÇÃO , CIÊNCIA E TECNOLOGIA DA P ARAÍBA –CAMPUS CAMPINA GRANDE 1

Transcript of INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Page 1: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

ALGORITMO:

FASE 1 – PARTE 1

Rhavy Maia Guedes [email protected]

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E

TECNOLOGIA DA PARAÍBA – CAMPUS CAMPINA GRANDE

1

Page 2: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Algoritmo e Programação2

Precisamos saber o que realmente vamos fazer com

algoritmo e programação:

Queremos e precisamos ter controle do computador

para fazer novas coisas nele?

Então precisamos de:

DEDICAÇÃOAlgoritmo e Programação

Page 3: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Algoritmo3

A palavra algoritmo, à primeira vista, parece-nos estranha;

Cotidiano:

Instruções para se utilizar um aparelho eletrodoméstico;

Uma receita para preparo de algum prato;

Guia de preenchimento para declaração do imposto de renda;

A regra para determinação de máximos e mínimos de funções por

derivadas sucessivas;

A maneira como as contas de água, luz e telefone são calculadas

mensalmente; etc.

Page 4: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Algoritmo4

“Um conjunto finito de regras que provê uma seqüência de

operações para resolver um tipo de problema específico”

[KNUTH]

“Seqüência ordenada, e não ambígua, de passos que levam

à solução de um dado problema”

[TREMBLAY]

“Processo de cálculo, ou de resolução de um grupo de

problemas semelhantes, em que se estipulam, com

generalidade e sem restrições, as regras formais para a

obtenção do resultado ou da solução do problema”

[AURÉLIO]

Page 5: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Para quê?5

“A noção de algoritmo é básica para toda a

programação de computadores”.

[KNUTH - Professor da Universidade de Stanford, autor da

coleção “The art of computer programming”]

“O conceito central da programação e da ciência da

computação é o conceito de algoritmo”.

[WIRTH - Professor da Universidade de Zurique, autor de

diversos livros na área e responsável pela criação de

linguagens de programação como ALGOL, PASCAL e

MODULA-2]

Page 6: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Importância6

Seqüência de passos lógicos para que o computador

possa executar uma tarefa qualquer;

O computador não tem vontade própria, faz apenas

o que mandarmos;

Com uma ferramenta algorítmica, podemos conceber

uma solução para um dado problema,

independendo de uma linguagem específica e até

mesmo do próprio computador.

Page 7: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Características7

Todo algoritmo deve apresentar algumas

características básicas:

ter fim;

não dar margem à dupla interpretação (não ambíguo);

capacidade de receber dado(s) de entrada do mundo

exterior;

poder gerar informações de saída para o mundo externo

ao do ambiente do algoritmo;

ser efetivo (todas as etapas especificadas no algoritmo

devem ser alcançáveis em um tempo finito).

Page 8: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Formas de Representação

Descrição narrativa Utiliza-se de português para narração

Vantagens

Domínio do português;

Desvantagens

imprecisão;

pouca confiabilidade (a imprecisão acarreta a desconfiança);

extensão (normalmente, escreve-se muito para dizer pouca coisa).

8

Page 9: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Representação Narrativa

Exemplo:

Preparar um bolo◼ Providencie manteiga, ovos, farinha de trigo, etc;

◼ Misture os ingredientes;

◼ Despeje a mistura na fôrma de bolo;

◼ Leve a fôrma ao forno;

◼ Espere 20 minutos;

◼ Retire a fôrma do forno;

◼ Deixe esfriar;

◼ Prove;

◼ Diga que está delicioso para não decepcionar o cozinheiro!

9

• O português é bastante

conhecido por nós;

• Imprecisão;

• Pouca confiabilidade;

• Extensão.

Quem precisa de mais passo?

Page 10: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Exercícios – Linguagem Narrativa

Faça um algoritmo para somar dois números e multiplicar o

resultado pelo primeiro número.

Descreva com detalhes a sequência lógica para trocar um

pneu de um carro.

Faça um algoritmo para trocar uma lâmpada. Descreva com

detalhes.

Faça um algoritmo que detalhe a realização de uma chamada

telefônica.

Calcular a média final dos alunos da 3ª Série. Os alunos

realizarão quatro provas: P1, P2, P3 e P4.

10

Page 11: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Formas de Representação

Fluxograma Utiliza-se de símbolos gráficos padronizados para representar algoritmos.

Início, entrada de dados, cálculos, saída de dados, fim

Vantagens

Uma das ferramentas mais conhecidas;

Figuras dizem muito mais que palavras;

Padrão mundial

Desvantagens

Pouca atenção aos dados, não oferecendo recursos para descrevê-los ou

representá-los;

Complica-se à medida que o algoritmo cresce.

11

Page 12: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Fluxograma

Exemplo:

12

• Pouca atenção as variáveis;

• Extenso.

• A solução do problema é clara.

Page 13: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Exercícios – Fluxograma

Calcular a média final dos alunos da 3ª Série. Os

alunos realizarão quatro provas: P1, P2, P3 e P4.

Calcular o valor total em Reais de celulares de uma

loja. Considere que o valor total é igual a

quantidade de celulares vezes o valor unitário por

aparelho.

13

Page 14: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Mini-teste

De acordo com seu entendimento o que é

algoritmo e quais são as características

mais importantes?

Descreva com suas palavras como é

realizado o cálculo do valor a pagar de

uma conta de água.

14

Page 15: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Formas de Representação

Linguagem Algorítmica Consiste na definição de uma pseudolinguagem

estruturada de programação, cujos comandos são em

português ou inglês, para representar algoritmos.

15

Pseudolinguagem ou

Pseudocódigo.

Page 16: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Linguagem Algorítmica

Exemplo:

16

• Exige a definição de uma

linguagem não real para trabalho;

• Não padronizado.

• Padrão universal pré-definido que pode ser

escrito em inglês ou português;

• Pode definir quais e como os dados serão

estruturados;

• Passagem quase imediata do algoritmo

para uma linguagem de programação

qualquer.

// Calcular a idade através das variáveis: ano de nascimento e ano corrente.

algoritmo calcula_idade

var

ano_nascimento, ano_corrente, idade : inteiro

inicio

escreva ("Entre com o ano de nascimento e o corrente:")

leia (ano_nascimento, ano_corrente)

idade := ano_corrente - ano_nascimento

escreva (“Sua idade atual é: ", idade)

fim

Page 17: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Programa

Entrada de dados;

Processamento;

Saída.

17

Entrada SaídaPrograma

Estado

Page 18: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Arquitetura de um computador

Arquitetura fundamental de um computador:

18

Page 19: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Operações básicas do Computador

Computador pode executar quatro operações

básicas:

Operações de Entrada e Saída;

Operações Aritméticas;

◼Adição, subtração, multiplicação e divisão.

Operações Lógicas

◼ Têm aplicabilidade em comparações, testes de condições

lógicas como: 6>4 ou 5<10 ou Valor1 = Valor2.

Movimentação dos dados entre os componentes.

19

Page 20: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Programar – O que é?

Programar consiste em dividir qualquer

problema em muitos pequenos passos, usando

uma ou mais das quatro operações básicas

citadas.

20

Page 21: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Exercícios – Pseudolinguagem ou

Pseudocódigo

1. Faça um algoritmo para somar dois números e multiplicar o

resultado pelo primeiro número.

2. Crie um algoritmo que receba quantidade de uma peça

numa oficina e exiba a quantidade.

3. Adicione à questão anterior a leitura e exibição do código

da peça.

4. Crie um algoritmo para calcular a média final dos alunos da

3ª Série. Os alunos realizarão quatro provas: P1, P2, P3 e

P4.

5. Crie um algoritmo para calcular o valor total em Reais de um

determinado tipo de celular de uma loja. Considere que o

valor total é igual a quantidade de celulares x valor

unitário por aparelho.

21

Page 22: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Exercícios – Pseudolinguagem ou

Pseudocódigo

Faça um algoritmo para “Calcular o estoque médio de uma

peça”, sendo que EstoqueMédio = (QuantidadeMínima +

QuantidadeMáxima) / 2

22

Page 23: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Comandos

Programar consiste na divisão de um problema qualquer em

um conjunto de passos;

Comandos são os passos que compõe um algoritmo;

Podem estar próximos da máquina ou próximos da linguagem

do homem.

23

Alto nível

Baixo nível

Page 24: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Novamente Características...

Os passos que compõem o algoritmo devem ser simples, claros e sem

ambigüidade;

Os passos devem estar numa ordem (numa seqüência) cuidadosamente

definida;

O algoritmo deve ser efetivo, isto é, deve resolver o problema num número

finito de passos;

O algoritmo deve tratar todas situações não previstas (eventos

extraordinários)

Exemplo: O algoritmo para trocar uma lâmpada

24

Page 25: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Resolução

Problema: Trocar a lâmpada.

Resolução:

Remova a lâmpada queimada;

Coloque a lâmpada nova.

Nesta primeira versão, usamos o conceito de seqüenciação. Todo algoritmo

é uma seqüência de passos;

Os comandos do algoritmo fazem parte de uma seqüência, onde é

relevante a ordem na qual se encontram os mesmos;

Cada um dos comandos será executado um de cada vez, estritamente, de

acordo com essa ordem definida.

25

Page 26: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Análise

O que vocês acharam deste algoritmo?

Verifique se ele atende a todas as características discutidas há

pouco. Prevê todos os problemas durante a troca da

lâmpada?

Vamos voltar as características e verificar.

Não! Este algoritmo, apesar de parecer claro, na verdade,

está muito genérico.

Vamos melhorá-lo.

26

Page 27: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Refinamento

Podemos tornar os passos da resolução do problema

mais detalhados para torná-los mais claros e

precisos;

A este desdobramento dar-se o nome de

Refinamento Sucessivo:

Programadores tendem a escrever primeiro os passos

gerais e, só depois, aplicar um desdobramento dos passos

até que se atinja o resultado desejado.

Comandos e Estruturas de controles são usados para

provê refinamento.

27

Page 28: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Cuidado!

Você deve estar se perguntando: Como saber se o

algoritmo está detalhado o suficiente?

A resposta é: depende de quem vai executá-lo.

Não devemos definir os passos de forma muito

genérica (ou abstrata), nem tampouco detalhar

demasiadamente os passos a ponto de tornar o

algoritmo óbvio e grande demais.

28

Page 29: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Estruturas de controle (construção)

Seqüencial:

a mais simples estrutura de controle. Os comandos devem ser

executados um após o outro, na mesma ordem em que aparecem

escritos;

Decisão ou seleção:

também conhecida por Seleção, pode provocar ou não a realização

de uma ação;

Repetição ou iteração:

os comandos e as estruturas de controle abrangidos devem ser

executados repetidamente até que se verifique uma condição para

que se interrompa a repetição.

29

Page 30: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Questões

Lógica:

Um frasco contém um casal de melgas. As melgas reproduzem-se e o

seu número dobra todos os dias. Em 50 dias o frasco está cheio. Em

que dia o frasco esteve meio cheio ?

Três gatos comem três ratos em três minutos. Cem gatos comem cem

ratos em quantos minutos?

30

Page 31: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Dúvidas31

Perguntas?

Page 32: INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E …... Exercícios –Linguagem Narrativa

Exercícios32

Apostila: Algoritmo e Pascal – P1.01 até P1.15

A pergunta P1.15 será discutida em sala de aula.