Cea Moraes Maro10 Introduo Programao 3122021 Contedo Algoritmos

  • Slides: 36
Download presentation
Ceça Moraes Março/10 Introdução à Programação

Ceça Moraes Março/10 Introdução à Programação

3/12/2021 Conteúdo Algoritmos −Representação −Exercícios Linguagens de Programação Compilador Interpretador 2

3/12/2021 Conteúdo Algoritmos −Representação −Exercícios Linguagens de Programação Compilador Interpretador 2

3/12/2021 Algoritmo Conjunto de regras que provê uma seqüência de operações para resolver um

3/12/2021 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) 3 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)

3/12/2021 Algoritmo Formas de representação –Narrativa: uso de português –Fluxograma: símbolos gráficos para representar

3/12/2021 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 4

3/12/2021 Algoritmo Formas de representação –Narrativa –Fluxograma –Pseudocódigo 5

3/12/2021 Algoritmo Formas de representação –Narrativa –Fluxograma –Pseudocódigo 5

Descrição Narrativa 3/12/2021 Algoritmo Receita de bolo: 1. Misture os ingredientes 2. Bata os

Descrição Narrativa 3/12/2021 Algoritmo Receita de bolo: 1. Misture os ingredientes 2. Bata os ingredientes em uma vasilha 3. Unte a forma com manteiga 4. Despeje a mistura na forma 5. Se houver coco ralado • então despeje-o sobre a mistura • deixe a forma no forno 6. Leve a forma ao forno 7. Enquanto não corar 6 8. Retire do forno 9. Deixe esfriar

Descrição Narrativa 3/12/2021 Algoritmo Troca de pneus: 1. 2. 3. 4. 5. 6. 7.

Descrição Narrativa 3/12/2021 Algoritmo Troca de pneus: 1. 2. 3. 4. 5. 6. 7. Afrouxar ligeiramente as porcas Suspender o carro Retirar as porcas e o pneu Colocar o pneu reserva Apertar as porcas Abaixar o carro Dar o aperto final nas porcas 7

Descrição Narrativa 3/12/2021 Algoritmo Obter o status de um aluno: 1. Obter as suas

Descrição Narrativa 3/12/2021 Algoritmo Obter o status de um aluno: 1. Obter as suas 2 notas de provas 2. Calcular a média aritmética 3. Se a média for maior que 7 • • o aluno foi aprovado senão ele foi reprovado 8

3/12/2021 Trocar uma Lâmpada Sequenciação 1. pegar uma escada 2. posicionar a escada embaixo

3/12/2021 Trocar uma Lâmpada Sequenciação 1. pegar uma escada 2. posicionar a escada embaixo da lâmpada 3. buscar uma lâmpada nova 4. subir na escada 5. retirar lâmpada velha 6. colocar lâmpada nova 9

3/12/2021 Trocar uma Lâmpada SE estiver queimada = Decisão 1. pegar uma escada 2.

3/12/2021 Trocar uma Lâmpada SE estiver queimada = Decisão 1. pegar uma escada 2. posicionar a escada embaixo da lâmpada 3. buscar uma lâmpada nova 4. acionar o interruptor 5. se a lâmpada não acender, então 10 5. 1 subir na escada 5. 2 retirar lâmpada queimada 5. 3 colocar lâmpada nova

3/12/2021 Trocar uma Lâmpada SE estiver queimada v 2 = (decisão) evitar pegar escada

3/12/2021 Trocar uma Lâmpada SE estiver queimada v 2 = (decisão) evitar pegar escada e lâmpada 1. acionar o interruptor; 2. se a lâmpada não acender, então 2. 1 2. 2 2. 3 2. 4 2. 5 2. 6 pegar uma escada posicionar a escada embaixo da lâmpada buscar uma lâmpada nova subir na escada retirar lâmpada queimada colocar lâmpada nova 11

3/12/2021 Trocar uma Lâmpada. . . SE estiver queimada v 3 = (decisão) Re-teste

3/12/2021 Trocar uma Lâmpada. . . SE estiver queimada v 3 = (decisão) Re-teste após a troca 1. acionar o interruptor 2. se a lâmpada não acender, então 2. 1 2. 2 2. 3 2. 4 2. 5 2. 6 2. 7 2. 8 – – retirar lâmpada queimada colocar lâmpada nova várias vezes!!! 12 . . . pegar uma escada posicionar a escada embaixo da lâmpada buscar uma lâmpada nova subir na escada retirar lâmpada queimada colocar lâmpada nova acionar o interruptor Repetir se a lâmpada não acender, então

3/12/2021 Trocar uma Lâmpada. . . SE estiver queimada v 4 = Repetição!! 1.

3/12/2021 Trocar uma Lâmpada. . . SE estiver queimada v 4 = Repetição!! 1. acionar o interruptor 2. se a lâmpada não acender, então 2. 1 pegar uma escada 2. 2 posicionar a escada embaixo da lâmpada 2. 3 buscar uma lâmpada nova 2. 4 subir na escada 2. 5 retirar lâmpada queimada 2. 6 colocar lâmpada nova 2. 7 acionar o interruptor 2. 8 enquanto a lâmpada não acender, faça: retirar lâmpada queimada colocar lâmpada nova acionar o interruptor 13 – – –

3/12/2021 Trocar 10 Lâmpadas. . . SE estiverem queimadas (v 1) 1. acionar o

3/12/2021 Trocar 10 Lâmpadas. . . SE estiverem queimadas (v 1) 1. acionar o interruptor do primeiro soquete 2. se a lâmpada não acender, então 2. 1 2. 2 2. 3 2. 4 2. 5 2. 6 2. 7 2. 8 pegar uma escada posicionar a escada embaixo da lâmpada buscar uma lâmpada nova subir na escada retirar lâmpada queimada colocar lâmpada nova acionar o interruptor enquanto a lâmpada não acender, faça: – – – retirar lâmpada queimada colocar lâmpada nova acionar o interruptor 14 3. acionar o interruptor do segundo soquete 4. . .

3/12/2021 Trocar 10 Lâmpadas. . . SE estiverem queimadas (v 2) 1. 2. acionar

3/12/2021 Trocar 10 Lâmpadas. . . SE estiverem queimadas (v 2) 1. 2. acionar o interruptor do primeiro soquete 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 escada 2. 1. 2 posicionar a escada embaixo da lâmpada 2. 1. 3 buscar uma lâmpada nova 2. 1. 4 subir na escada 2. 1. 5 retirar lâmpada queimada 2. 1. 6 colocar lâmpada nova 2. 1. 7 acionar o interruptor 2. 1. 8 enquanto a lâmpada não acender, faça: » » » retirar lâmpada queimada colocar lâmpada nova acionar o interruptor 15 2. 2 acionar o interruptor do segundo soquete

Descrição Narrativa 3/12/2021 Exercícios Descreva os seguintes algoritmos 1. Passos para chegar a UFRPE

Descrição Narrativa 3/12/2021 Exercícios 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 16

3. 3/12/2021 Exercícios Descrição Narrativa Tendo como exemplo os algoritmos desenvolvidos para solucionar o

3. 3/12/2021 Exercícios Descrição Narrativa 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 esquerdo 2. Trocar o pneu traseiro esquerdo e, antes, verificar se o pneu reserva está em condições de uso 3. 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 17

3/12/2021 Algoritmo Formas de representação –Narrativa –Fluxograma –Pseudocódigo 18

3/12/2021 Algoritmo Formas de representação –Narrativa –Fluxograma –Pseudocódigo 18

Fluxograma 3/12/2021 Algoritmo Fluxograma : – Representação gráfica de algoritmos onde formas geométricas diferentes

Fluxograma 3/12/2021 Algoritmo Fluxograma : – Representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintos Símbolos 19

Início Divisão de Dois Números Ler o primeiro número – N 1 Ler o

Início Divisão de Dois Números Ler o primeiro número – N 1 Ler o segundo número – N 2 D = N 1/N 2 F N 2 = 0 ? Exibir D em vídeo V Exibir em vídeo “Não é permitido divisão por zero” Fim 3/12/2021 Fluxograma

3/12/2021 Fluxograma Troca de 10 lâmpadas início ir para o primeiro soquetes restantes <=

3/12/2021 Fluxograma Troca de 10 lâmpadas início ir para o primeiro soquetes restantes <= 10 F posicionar escada buscar lâmpada nova não acendeu? F F V acionar o interruptor retirar a lâmpada queimada subir na escada colocar lâmpada nova V acionar o interruptor não acendeu? retirar a lâmpada queimada colocar lâmpada nova ir ao próximo soquete V pegar uma escada acionar o interruptor fim 21

22 Gráfica (Fluxograma ) – Vantagens • Maior clareza no fluxo de execução •

22 Grá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 3/12/2021 Texto x Gráficos

Fluxograma 3/12/2021 Exercícios Construa fluxogramas para os seguintes algoritmos – Calcular a área de

Fluxograma 3/12/2021 Exercícios 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) 23

3/12/2021 Algoritmo Formas de representação –Narrativa –Fluxograma –Pseudocódigo 24

3/12/2021 Algoritmo Formas de representação –Narrativa –Fluxograma –Pseudocódigo 24

Pseudo-código 3/12/2021 Algoritmo Programa para calcular um número multiplicado por 2: algoritmo "dobro" var

Pseudo-código 3/12/2021 Algoritmo 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 25

Pseudo-código 3/12/2021 Algoritmo Principais Comandos – Atribuição (= ou : = ou ) :

Pseudo-código 3/12/2021 Algoritmo Principais Comandos – Atribuição (= ou : = ou ) : Utilizado para guardar um valor em uma variável • total = 0 • 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) 26 • escreval(‘d: arquivo. txt’)

Uma linguagem 3/12/2021 Linguagens de Programação de programação é um vocabulário e um conjunto

Uma linguagem 3/12/2021 Linguagens de Programação 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 27 – Linguagem de Alto Nível

Linguagem de Máquina 3/12/2021 Linguagens de Programação linguagem de mais baixo nível de entendimento

Linguagem de Máquina 3/12/2021 Linguagens de Programação 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: 28 – 0100 1111 1010

Linguagem Simbólica 3/12/2021 Linguagens de Programação Assembly: – linguagem acima de nível imediatamente da

Linguagem Simbólica 3/12/2021 Linguagens de Programação Assembly: – linguagem acima de nível imediatamente 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úmeros 29 A conversão da linguagem simbólica para a linguagem de máquina se chama montagem, e é feita por um programa chamado montador (assembler).

Linguagem Simbólica 3/12/2021 Linguagens de Programação Exemplo de instrução: ADD A, B MOV AX,

Linguagem Simbólica 3/12/2021 Linguagens de Programação Exemplo de instrução: ADD A, B MOV AX, 6 Classificada como linguagem de segunda geração Assim como a linguagem de máquina, é considerada baixo 30 nível uma linguagem de

Linguagem de Alto Nível 3/12/2021 Linguagens de Programação linguagens de programação que possuem uma

Linguagem de Alto Nível 3/12/2021 Linguagens de Programação 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 31

Linguagem de Alto Nível 3/12/2021 Linguagens de Programação Exemplo de instrução de uma linguagem

Linguagem de Alto Nível 3/12/2021 Linguagens de Programação Exemplo de instrução de uma linguagem de alto nível: – if (A>10) then A=A-7; 32

3/12/2021 Compilador Compilação : transformação de um programa em código fonte para linguagem de

3/12/2021 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) 33 http: //pt. wikipedia. org/wiki/Compilador

3/12/2021 Compilador

3/12/2021 Compilador

3/12/2021 Interpretador Executa instruções em determinada linguagem: uma – Traduz o código fonte em

3/12/2021 Interpretador Executa instruções em determinada linguagem: uma – Traduz o código fonte em uma representação intermediária e o executa imediatamente Python, Matlab, Java, etc. Principal desvantagem: Eficiência 35

3/12/2021 Perguntas? ? ? 36

3/12/2021 Perguntas? ? ? 36