Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Introdução à Programação
Ceça Moraes Março/10 Introdução à Programação
2
Conteúdo Algoritmos Linguagens de Programação Compilador Interpretador
3/30/2017 Algoritmos Representação Exercícios Linguagens de Programação Compilador Interpretador
3
Algoritmo 3/30/2017 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)
4
Algoritmo Formas de representação Narrativa: uso de português
3/30/2017 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
5
Narrativa Algoritmo Formas de representação Fluxograma Pseudocódigo
3/30/2017 Formas de representação Narrativa Fluxograma Pseudocódigo
6
Algoritmo Descrição Narrativa
3/30/2017 Receita de bolo: Misture os ingredientes Bata os ingredientes em uma vasilha Unte a forma com manteiga Despeje a mistura na forma Se houver coco ralado então despeje-o sobre a mistura Leve a forma ao forno Enquanto não corar deixe a forma no forno Retire do forno Deixe esfriar
7
Algoritmo Descrição Narrativa
3/30/2017 Troca de pneus: 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
8
Algoritmo Descrição Narrativa
3/30/2017 Obter o status de um aluno: Obter as suas 2 notas de provas Calcular a média aritmética Se a média for maior que 7 o aluno foi aprovado senão ele foi reprovado
9
Trocar uma Lâmpada Sequenciação pegar uma escada
3/30/2017 Sequenciação pegar uma escada posicionar a escada embaixo da lâmpada buscar uma lâmpada nova subir na escada retirar lâmpada velha colocar lâmpada nova
10
Trocar uma Lâmpada SE estiver queimada = Decisão pegar uma escada
3/30/2017 SE estiver queimada = Decisão pegar uma escada posicionar a escada embaixo da lâmpada buscar uma lâmpada nova acionar o interruptor se a lâmpada não acender, então 5.1 subir na escada 5.2 retirar lâmpada queimada 5.3 colocar lâmpada nova
11
Trocar uma Lâmpada SE estiver queimada v2 = (decisão)
3/30/2017 SE estiver queimada v2 = (decisão) evitar pegar escada e lâmpada acionar o interruptor; 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
12
Trocar uma Lâmpada... SE estiver queimada v3 = (decisão)
3/30/2017 SE estiver queimada v3 = (decisão) Re-teste após a troca acionar o interruptor 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 se a lâmpada não acender, então retirar lâmpada queimada colocar lâmpada nova ..... Repetir várias vezes!!!
13
Trocar uma Lâmpada... SE estiver queimada v4 = Repetição!!
3/30/2017 SE estiver queimada v4 = Repetição!! acionar o interruptor 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
14
Trocar 10 Lâmpadas... SE estiverem queimadas (v1)
3/30/2017 SE estiverem queimadas (v1) acionar o interruptor do primeiro soquete 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 acionar o interruptor do segundo soquete ....
15
Trocar 10 Lâmpadas... acionar o interruptor do primeiro soquete
3/30/2017 SE estiverem queimadas (v2) 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 2.2 acionar o interruptor do segundo soquete
16
Exercícios Descrição Narrativa
3/30/2017 Descreva os seguintes algoritmos Passos para chegar a UFRPE e assistir aula de introdução a programação. Passos para comprar um DVD pela internet
17
Exercícios Descrição Narrativa
3/30/2017 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: Trocar o pneu traseiro esquerdo Trocar o pneu traseiro esquerdo e, antes, verificar se o pneu reserva está em condições de uso 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
18
Fluxograma Algoritmo Formas de representação Narrativa Pseudocódigo
3/30/2017 Formas de representação Narrativa Fluxograma Pseudocódigo
19
Algoritmo Fluxograma Fluxograma : Símbolos
3/30/2017 Fluxograma : Representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintos Símbolos
20
Fluxograma Divisão de Dois Números Início Ler o primeiro número – N1
30/03/2017 Ler o primeiro número – N1 Ler o segundo número – N2 D = N1/N2 F V Exibir em vídeo “Não é permitido divisão por zero” N2 = 0 ? Fim Exibir D em vídeo
21
Fluxograma Troca de 10 lâmpadas 3/30/2017 início
ir para o primeiro soquete posicionar escada não acendeu? F soquetes restantes <= 10 buscar lâmpada nova F V acionar o interruptor retirar a lâmpada queimada V acionar o interruptor subir na escada colocar lâmpada nova não acendeu? retirar a lâmpada queimada F ir ao próximo soquete colocar lâmpada nova V pegar uma escada acionar o interruptor fim
22
Texto x Gráficos Gráfica (Fluxograma ) Vantagens
3/30/2017 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
23
Exercícios Fluxograma
3/30/2017 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)
24
Pseudocódigo Algoritmo Formas de representação Narrativa
3/30/2017 Formas de representação Narrativa Fluxograma Pseudocódigo
25
Algoritmo Pseudo-código
3/30/2017 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
26
Algoritmo Pseudo-código
3/30/2017 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’)
27
Linguagens de Programação
3/30/2017 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
28
Linguagens de Programação Linguagem de Máquina
3/30/2017 É 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:
29
Linguagens de Programação Linguagem Simbólica
3/30/2017 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úmeros A conversão da linguagem simbólica para a linguagem de máquina se chama montagem, e é feita por um programa chamado montador (assembler).
30
Linguagens de Programação Linguagem Simbólica
3/30/2017 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 uma linguagem de baixo nível
31
Linguagens de Programação Linguagem de Alto Nível
3/30/2017 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
32
Linguagens de Programação Linguagem de Alto Nível
3/30/2017 Exemplo de instrução de uma linguagem de alto nível: if (A>10) then A=A-7;
33
Compilador 3/30/2017 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)
34
Compilador 30/03/2017
35
Interpretador Executa instruções em uma determinada linguagem:
3/30/2017 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
36
3/30/2017 Perguntas???
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.