A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução à Programação

Apresentações semelhantes


Apresentação em tema: "Introdução à Programação"— Transcrição da apresentação:

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???


Carregar ppt "Introdução à Programação"

Apresentações semelhantes


Anúncios Google