introdução à programação ceça moraes março/10. conteúdo algoritmos representação...
Post on 18-Apr-2015
115 Views
Preview:
TRANSCRIPT
Introdução à Programação
Ceça Moraes Março/10
Conteúdo
Algoritmos−Representação −Exercícios
Linguagens de ProgramaçãoCompiladorInterpretador
04/11/23
2
Algoritmo
Conjunto de regras que provê uma seqüência de operações para resolver um tipo de problema específico (Knuth, 1972)
Seqüência ordenada, e não ambígua, de passos que levam à solução de um dado problema (Tremblay, 1983)
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)
04/11/23
3
Algoritmo
Formas de representação–Narrativa: uso de português–Fluxograma: símbolos gráficos para representar fases e componentes dos algoritmos
–Pseudocódigo: Definição de uma pseudo-linguagem de programação, cujos comandos são em português
04/11/23
4
Algoritmo
Formas de representação
–Narrativa
–Fluxograma
–Pseudocódigo
04/11/23
5
AlgoritmoDescrição Narrativa
Receita de bolo:1. Misture os ingredientes2. Bata os ingredientes em uma vasilha3. Unte a forma com manteiga4. Despeje a mistura na forma5. Se houver coco ralado
• então despeje-o sobre a mistura6. Leve a forma ao forno7. Enquanto não corar
• deixe a forma no forno8. Retire do forno9. Deixe esfriar
04/11/23
6
AlgoritmoDescrição Narrativa
Troca de pneus:1. Afrouxar ligeiramente as porcas2. Suspender o carro3. Retirar as porcas e o pneu4. Colocar o pneu reserva5. Apertar as porcas6. Abaixar o carro7. Dar o aperto final nas porcas
04/11/23
7
AlgoritmoDescrição Narrativa
Obter o status de um aluno:
1. Obter as suas 2 notas de provas2. Calcular a média aritmética3. Se a média for maior que 7
• o aluno foi aprovado• senão ele foi reprovado
04/11/23
8
Trocar uma Lâmpada
Sequenciação1. pegar uma escada2. posicionar a escada embaixo da
lâmpada3. buscar uma lâmpada nova4. subir na escada5. retirar lâmpada velha6. colocar lâmpada nova
04/11/23
9
Trocar uma Lâmpada
SE estiver queimada = Decisão1. pegar uma escada2. posicionar a escada embaixo da
lâmpada3. buscar uma lâmpada nova4. acionar o interruptor5. se a lâmpada não acender, então
5.1 subir na escada5.2 retirar lâmpada queimada5.3 colocar lâmpada nova
04/11/23
10
Trocar uma Lâmpada
SE estiver queimada v2 = (decisão) evitar pegar escada e lâmpada1. acionar o interruptor;2. se a lâmpada não acender, então
2.1 pegar uma escada2.2 posicionar a escada embaixo da
lâmpada2.3 buscar uma lâmpada nova2.4 subir na escada2.5 retirar lâmpada queimada2.6 colocar lâmpada nova
04/11/23
11
Trocar uma Lâmpada...SE estiver queimada v3 = (decisão) Re-teste após a troca1. acionar o interruptor2. se a lâmpada não acender, então
2.1 pegar uma escada2.2 posicionar a escada embaixo da lâmpada2.3 buscar uma lâmpada nova2.4 subir na escada2.5 retirar lâmpada queimada2.6 colocar lâmpada nova2.7 acionar o interruptor2.8 se a lâmpada não acender, então
– retirar lâmpada queimada– colocar lâmpada nova
.....
04/11/23
12
Repetir várias
vezes!!!
Trocar uma Lâmpada...SE estiver queimada v4 = Repetição!!1. acionar o interruptor2. se a lâmpada não acender, então
2.1 pegar uma escada2.2 posicionar a escada embaixo da lâmpada2.3 buscar uma lâmpada nova2.4 subir na escada2.5 retirar lâmpada queimada2.6 colocar lâmpada nova2.7 acionar o interruptor2.8 enquanto a lâmpada não acender,
faça:– retirar lâmpada queimada– colocar lâmpada nova– acionar o interruptor
04/11/23
13
Trocar 10 Lâmpadas...SE estiverem queimadas (v1)1. acionar o interruptor do primeiro soquete2. se a lâmpada não acender, então
2.1 pegar uma escada2.2 posicionar a escada embaixo da lâmpada2.3 buscar uma lâmpada nova2.4 subir na escada2.5 retirar lâmpada queimada2.6 colocar lâmpada nova2.7 acionar o interruptor2.8 enquanto a lâmpada não acender, faça:
– retirar lâmpada queimada– colocar lâmpada nova– acionar o interruptor
3. acionar o interruptor do segundo soquete4. ....
04/11/23
14
Trocar 10 Lâmpadas...SE estiverem queimadas (v2)1. acionar o interruptor do primeiro soquete2. Enquanto número de soquetes for menor ou igual a 10
faça 2.1 se a lâmpada não acender, então
2.1.1 pegar uma escada2.1.2 posicionar a escada embaixo da lâmpada2.1.3 buscar uma lâmpada nova2.1.4 subir na escada2.1.5 retirar lâmpada queimada2.1.6 colocar lâmpada nova2.1.7 acionar o interruptor2.1.8 enquanto a lâmpada não acender, faça:
» retirar lâmpada queimada» colocar lâmpada nova» acionar o interruptor
2.2 acionar o interruptor do segundo soquete
04/11/23
15
ExercíciosDescrição Narrativa
Descreva os seguintes algoritmos
1. Passos para chegar a UFRPE e assistir aula de introdução a programação.
2. Passos para comprar um DVD pela internet
04/11/23
16
ExercíciosDescrição Narrativa
3. Tendo como exemplo os algoritmos desenvolvidos para solucionar o problema da troca de lâmpadas, elabore algoritmos com os passos necessários para trocar um pneu furado em cada as seguintes situações:1. Trocar o pneu traseiro esquerdo2. Trocar o pneu traseiro esquerdo e, antes, verificar se
o pneu reserva está em condições de uso3. Verificar se existe algum pneu furado; se houver,
verificar o pneu reserva e, então, trocar o pneu correto.
Para cada algoritmo faça um refinamento do anterior, introduzindo novas ações e alterando o fluxo de execução de forma compatível com as situações apresentadas
04/11/23
17
Algoritmo
Formas de representação–Narrativa
–Fluxograma
–Pseudocódigo
04/11/23
18
AlgoritmoFluxograma
Fluxograma : – Representação gráfica de algoritmos onde
formas geométricas diferentes implicam ações (instruções, comandos) distintos
Símbolos
04/11/23
19
11/0
4/23
Ler o primeiro número – N1
Ler o segundo número – N2
N2 = 0 ?
D = N1/N2
FluxogramaDivisão de Dois
Números
Início
Fim
Exibir em vídeo “Não é permitido divisão por zero”
Exibir D em vídeo
VF
04/1
1/23
21
início
ir para o primeiro soquete
soquetesrestantes <= 10
acionar o interruptor
pegar uma escada
posicionar escada
buscar lâmpada nova
acionar o interruptor
nãoacendeu?
subir na escada
retirar a lâmpada queimada
colocar lâmpada nova
acionar o interruptor
nãoacendeu?
retirar a lâmpada queimada
colocar lâmpada nova
ir ao próximo soquete
fim
F
F
F
V
V
V
FluxogramaTroca de 10 lâmpadas
Texto x GráficosGráfica (Fluxograma )– Vantagens
• Maior clareza no fluxo de execução• Linguagem visual
– Desvantagens• Requer conhecimento de convenções gráficas• Mais trabalhoso em decorrência de seus
desenhos• Dificuldade para fazer correções
Textuais– Apresenta mais vantagens, desde que se tomem
alguns cuidados:• Riqueza gramatical de nossa língua pode levar
a ambigüidades• A frase “O pregador foi grampeado durante o
conserto” tem vários sentidos diferentes quando pronunciada
• Para resolver, utilizaremos um conjunto restrito de regras, conhecido como pseudo-código
04/11/23
22
ExercíciosFluxograma
Construa fluxogramas para os seguintes algoritmos–Calcular a área de um retângulo
(AREA = BASE x ALTURA)
–Verificar se o individuo é maior de idade ou não (maior de 18 anos)
04/11/23
23
Algoritmo
Formas de representação–Narrativa
–Fluxograma
–Pseudocódigo
04/11/23
24
AlgoritmoPseudo-código
Programa para calcular um número multiplicado por 2:
algoritmo "dobro"
var NUM, DOBRO : inteiro
inicio escreval("digite um número:") leia (NUM) DOBRO <- 2 * NUM escreval ("O dobro do número é:", DOBRO)
fimalgoritmo
04/11/23
25
Algoritmo Pseudo-código
Principais Comandos– Atribuição (= ou := ou ) : Utilizado para
guardar um valor em uma variável• total = 0• SOMA SOMA + 1• mensagem := “Erro de Digitação !”
– Entrada de Dados : Utilizado para ler dados do usuário, de dispositivos externos• leia(Idade)• leia(‘d:\arquivo.txt’)
– Saída de dados : Utilizado para exibir dados• escreva(Idade)
• escreval(‘d:\arquivo.txt’)
04/11/23
26
Linguagens de Programação
Uma linguagem de programação é um vocabulário e um conjunto de regras usadas para escrever programas de computador
Divididas em três tipos, com relação à similaridade com a linguagem humana:– Linguagem de máquina
–Linguagem Simbólica e– Linguagem de Alto Nível
04/11/23
27
Linguagens de ProgramaçãoLinguagem de Máquina
É linguagem de mais baixo nível de entendimento pelo ser humano e a
única entendida pelo processador (UCP)
Constituída inteiramente de números (0’s e 1’s)
Uma instrução típica em linguagem de máquina seria algo como:– 0100 1111 1010
04/11/23
28
Linguagens de ProgramaçãoLinguagem Simbólica
Assembly:– linguagem de nível imediatamente acima da linguagem de máquina.
– Possui a mesma estrutura e conjunto de instruções que a linguagem de máquina, porém permite que o programador utilize nomes (mnemônicos) e símbolos em lugar
de númerosA conversão da linguagem simbólica para a linguagem de máquina se chama montagem, e é feita por um programa chamado montador (assembler).
04/11/23
29
Linguagens de ProgramaçãoLinguagem Simbólica
Exemplo de instrução:ADD A, BMOV AX, 6
Classificada como linguagem de
segunda geração
Assim como a linguagem de máquina, é
considerada uma linguagem de baixo nível
04/11/23
30
Linguagens de ProgramaçãoLinguagem de Alto Nível
linguagens de programação que possuem uma estrutura e palavras-chave que são
mais próximas da linguagem humana
– C, C++, Java, Python, etc ...
Programas escritos nessas linguagens são convertidos para a linguagem de baixo nível através de um programa denominado compilador ou de um interpretador
04/11/23
31
Linguagens de ProgramaçãoLinguagem de Alto Nível
Exemplo de instrução de uma linguagem de alto nível:– if (A>10) then A=A-7;
04/11/23
32
Compilador
Compilação : transformação de um programa em código fonte para linguagem de máquina – programa em código fonte = programa
escrito pelo programador (source language)
– programa em linguagem de máquina = programa executável (target language)
http://pt.wikipedia.org/wiki/Compilador
04/11/23
33
11/0
4/23
Compilador
Interpretador
Executa instruções em uma determinada linguagem:– Traduz o código fonte em uma
representação intermediária e o executa imediatamente
Python, Matlab, Java, etc.
Principal desvantagem: Eficiência
04/11/23
35
Perguntas???
04/1
1/23
36
top related