Introdução à Programação

Slides:



Advertisements
Apresentações semelhantes
Algoritmo e Programação
Advertisements

Data: 10 a 12 de fevereiro de 2009 e
Introdução a Programação
Desenvolvendo Algoritmos
INTRODUÇÃO – LOGICA E ALGORITMOS
Programação para Geociências
Paradigmas de Linguagens Conceitos Básicos
ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES
Introdução a Algoritmos Seqüenciais
ALGORÍTMOS E ESTRUTURA DE DADOS SLIDE - 2
Introdução a Programação Renata Freire
Estruturas de repetição
Introdução à Programação
INTRODUÇÃO À PROGRAMAÇÃO
Introdução à Lógica de Programação (cont.)
Estruturas de Controle
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade Federal do Espírito Santo
ALGORITMO E ESTRUTURA DE DADOS
Introdução aos Algoritmos
Resolução de Problemas
Módulo I 7 – Fluxogramas Programação e Sistemas de Informação.
Programação e Sistemas de Informação
INTRODUÇÃO À PROGRAMAÇÃO
Algoritmos Prof. Kelly E. Medeiros.
PRC Bruno Correa.
Algoritmos e Estruturas de Dados I Construção de Algoritmos
Processamento da Informação BC-05045
Lógica de Programação Introdução.
Aula 5 Lógica de Programação Germano Marcos
Aula 5 Lógica de Programação Germano Marcos
PROGRAMAÇÃO I UNIDADE 1.
Introdução Capítulo 1 Lógica de Programação
Linguagem de Programação I Parte II
INTRODUÇÃO – LOGICA E ALGORITMOS
Estrutura de dados, pseudocódigo
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL
TÉCNICAS DE PROGRAMAÇÃO
Android Aula 01 Introdução ao Java Humberto Moura
Desenvolvimento Web Lógica de Programação
Linguagem e Ambiente Scratch
Programação e Sistemas de Informação
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Programação e Sistemas de Informação
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
CH: 60h Créditos: 3 Prof Me. Tiago Araujo
Introdução a Algoritmos
Algoritmos Fabrício Costa Santana
Fábio de Oliveira Borges
Igor Steinmacher, MSc. O maravilhoso mundo da Lógica de Programação.
Programação de PIC em C Exposição das funções básicas para
Algoritmo e Programação
Algoritmos e Estruturas de Dados I - Introdução
Introdução aos algoritmos de programação
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos Aquiles Burlamaqui UERN
PROF. MSC ROBERTA ANDRADE e Prof. Msc. George Cabral 1 sexta-feira, 24 de abril de 2015sexta-feira, 24 de abril de 2015 AULA – Algoritmo Introdução à Programação.
Programação de Computadores - 1
Exercícios (Algoritmo Narrativo, Fluxograma e Pseudocódigo) RESOLVIDO
Programação Computacional Aula 5: Algoritmos
Algoritmos e Programação
Algoritmos e Programação I
Linguagens de Programação MÓDULO 1- Introdução à Programação e Algoritmia Pedro Lopes.
Exercícios Faça um algoritmos para trocar uma lampada queimada.
Algoritmos e Estruturas de Dados I - Introdução
Projeto e Desenvolvimento de Algoritmos
Algoritmos e Programação I
Linguagem de Programação Prof. Fabricio Roulin Bittencout
Algoritmos – Conceitos Iniciais
Representação de Algoritmos Marcos Antonio Estremote
Transcrição da apresentação:

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

Conteúdo Algoritmos Linguagens de Programação Compilador Interpretador 3/30/2017 Algoritmos Representação Exercícios Linguagens de Programação Compilador Interpretador

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)

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

Narrativa Algoritmo Formas de representação Fluxograma Pseudocódigo 3/30/2017 Formas de representação Narrativa Fluxograma Pseudocódigo

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

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

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

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

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

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

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

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

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

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

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

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

Fluxograma  Algoritmo Formas de representação Narrativa Pseudocódigo 3/30/2017 Formas de representação Narrativa Fluxograma Pseudocódigo 

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

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

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

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

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)

Pseudocódigo   Algoritmo Formas de representação Narrativa 3/30/2017 Formas de representação Narrativa Fluxograma Pseudocódigo  

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

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’)

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

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: 0100 1111 1010

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).

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

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

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;

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

Compilador 30/03/2017

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

3/30/2017 Perguntas???