Algoritmos. Prof. Jonatas Bastos Site:

Documentos relacionados
INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof.

Introdução à Programação. Ceça Moraes

ALGORITMOS AULA 1. Profª Amanda Gondim

#Conceituação. Algoritmos. Eliezio Soares

01/08/2011. Introdução Lógica Sequencia lógica Instruções Algoritmos Programas. Lógica. Lógica na programação. Instrução.

Prof. Paulo Villa Aula 1

Lógica de Programação Lógica, Conceitos; Fluxo de Controle

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES

Algoritmos e Técnicas. Lógica de Programação. É a técnica de encadear pensamento para atingir determinado objetivo.

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. ANÁLISE E DESENVOLVIMENTO DE SISTEMAS/PARANGABA PROF. MS. RONNISON REGES VIDAL Ceará, 01 de fevereiro de 2017

PROGRAMAÇÃO I. Introdução

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Introdução à Computação

Linguagens de Programação Classificação

É neste ponto que entra o conceito de lógica de programação.

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1

INTRODUÇÃO A LÓGICA DE PROGRAMAÇÃO

Aula I Introdução à Lógica de Programação

Fundamentos de Lógica e Algoritmos. Aula 2.3 Introdução a Algoritmos. Prof. Dr. Bruno Moreno

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano Cansian

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

Algoritmos e Programação de Computadores Disciplina:

Lógica de Programação I

Algoritmos e Programação

Introdução à Programação. Prof. Gustavo Callou

Introdução ao Conceito de Algoritmo e Programação Estruturada

Infraestrutura de Hardware. Funcionamento de um Computador

Programação de Computadores:

Algoritmos e Programação

Lógica de Programação. Capítulo 1. Introdução. Lógica de Programação. Forbellone / Eberspacher. Introdução

Sistema Computacional

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

Programação de Computadores

Programação de Computadores

Portugol. Tiago Alves de Oliveira

CONCEITO DE ALGORITMO

Técnicas de Programação

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.

Organização de Computadores

Capítulo 1 - Lógica e Algoritmos

Capítulo 1 Conceitos Básicos

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Programação Básica de Computadores

Algoritmos e Programação

Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas

Disciplina de Algoritmos e Programação

Fundamentos de Programação 1

Lógica de Programação I. Gilson de Souza Carvalho

Linguagem de Descrição de algoritmos

Laboratório de Programação 1 Algoritmos e a Lógica de Programação

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

Universidade Federal de Goiás Instituto de Informática

CONCEITO DE COMPUTADOR. O que é um computador?

TÉCNICO DE INFORMÁTICA - SISTEMAS

Desenvolvimento de Aplicações Desktop

LAPRO I. Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática - FACIN. Prof. Dr. Rafael Garibotti

Algoritmos e Programação

Introdução aos Algoritmos

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

INTRODUÇÃO A ALGORITMOS

Introdução à Computação MAC0110

Microcontroladores. Programação: fluxogramas, pseudocódigos e lógica. Prof. Daniel

Introdução à Computação: Máquinas Multiníveis

SSC304 Introdução à Programação Para Engenharias

Introdução aos Algoritmos

AULA 02. Lógica de Programação. Centro Educação Profissional Ezequiel Ferreira Lima CEPEF. Curso Técnico em Eletrônica.

Aula 01 Algoritmos e lógica de programação e introdução ao C++

Linguagem de Programação

Algoritmos e Linguagem de Programação I

Introdução à Programação. 2ª aula. Prof. José Honorato F. Nunes

Transcrição:

Algoritmos Prof. Jonatas Bastos Email: jonatasfbastos@gmail.com Site: http://jonatasfbastos.wordpress.com/ 1

Dúvidas! p p p Como os computadores entendem os algoritmo? Os computadores não entendem os passos descritos para resolver um problema. É necessário traduzir os passos em uma linguagem que o computador entenda.

Etapas da Construção de Programas DEFINIÇÃO Definição do Problema PROBLEMA Fase de resolução do problema SOLUÇÃO EM FORMA DE ALGORITMO DESENVOLVIMENTO ü Projetar a solução (algoritmo) ü Codificar a solução (linguagem de programação) ü Testar o programa. Ø Revisões Ø Documentação Fase de implementação SOLUÇÃO EM FORMA DE PROGRAMA 15/03/2011 3/41

Programação e Níveis de Linguagem p Os programas criados por programadores são escritos em Linguagens de Programação de alto nível. p Linguagens de programação de alto nível estão próximas aos programadores e portanto são mais claras e compreensíveis do que as linguagens de baixo nível. begin if else Exemplo: SOMA := X + 5; 15/03/2011 4/41

Linguagem de Máquina p Cada CPU possui um conjunto de instruções expressas em uma linguagem (a única) que ela pode entender; Constituída inteiramente de números binários Muito difícil para um humano entender e manipular!! Exemplo: código da operação operando 001 01010 Programadores de verdade programam em binário! 15/03/2011 5/41

Linguagem de Montagem - Assembly p Linguagem de baixo nível próxima à linguagem de máquina. p Possui a mesma estrutura e conjunto de instruções que a linguagem de máquina, porém n permite que o programador utilize nomes (chamados mnemônicos) e símbolos em lugar dos números. Exemplo: código da operação operandos significado MOV EAX, 4 ADD EAX, 5 Move 4 para o registrador EAX Soma 5 ao registrador EAX 15/03/2011 6/41

Ling. Alto Nível Ling. Máquina a:= 3; b:= 2; c:=a+b; Programadores preferem Linguagem de alto nível Computadores só entendem Linguagem de máquina Como fazer pra todo mundo ficar feliz? 15/03/2011 7/41

Ling. Alto Nível Ling. Máquina var a:= x, 3; y : integer; begin b:= 2; if c:=a+b; x<=y then writeln (x); CÓDIGO FONTE 0101110010101101 1001010001000110 000100110010110 1111011010110001 TRADUÇÃO CÓDIGO OBJETO 15/03/2011 8/41

Processo de Tradução (1) COMPILADOR: Programa utilizado pelo computador para traduzir os comandos simbólicos de uma linguagem de alto nível, para linguagem de nível mais baixo (possivelmente, de máquina). CÓDIGO FONTE Linguagem de Alto Nível COMPILAÇÃO CÓDIGO ASSEMBLY Linguagem de Baixo Nível MONTADOR: Programa utilizado pelo computador para traduzir os comandos simbólicos de uma linguagem de baixo nível, para linguagem de máquina. MONTAGEM CÓDIGO OBJETO Linguagem de Máquina 15/03/2011 9/41

Processo de Tradução (1) Exemplos de linguagens compiladas: Pascal C C++ Cobol CÓDIGO FONTE Linguagem de Alto Nível COMPILAÇÃO CÓDIGO ASSEMBLY Linguagem de Baixo Nível O código objeto pode ser armazenado e executado diretamente no computador quantas vezes for desejado MONTAGEM CÓDIGO OBJETO Linguagem de Máquina 15/03/2011 10/41

Processo de Tradução (2) INTERPRETADO R: Programa que lê, traduz e executa uma declaração do programa por vez. CÓDIGO FONTE Linguagem de Alto Nível Todo processo de tradução é feito em tempo de execução. Não é produzido um código objeto do programa completo que possa ser armazenado e executado posteriormente. SAÍDA DO PROGRAMA INTERPRETAÇÃO Exemplos de linguagens interpretadas: Javascript; Python; Perl, Basic. 15/03/2011 11/41

Representações de um Algoritmo p Descrição narrativa; SUBJETIVIDADE p Fluxograma p Pseudocódigo, Português Estruturado ou Portugol; PRECISÃO

Representações de um Algoritmo p Descrição Narrativa: n Preferencialmente um verbo por frase; n Frases curtas e simples; n Objetividade; n Evitar palavras com sentido dúbio;

Exemplo p Descrição Narrativa: n Dobro de um número (Dobro = Número x 2): p Digitar um número; p Gravar em uma variável; p Multiplicar o número digitado por 2; p Gravar o resultado em outra variável; p Mostrar o resultado da operação.

Representações de um algoritmo p Fluxogramas n Descrevem o fluxo de ação de um determinado trabalho lógico, seja manual ou mecânico; n Usa símbolos convencionais, permitindo poucas variações; n Representado por símbolos geométricos;

Fluxograma Algoritmo troca de lâmpada Início Acionar interruptor Lâmpada não acendeu? F V Pegar uma escada Posicionar escada embaixo da lâmpada buscar lâmpada nova Subir na escada Re?rar lâmpada velha Colocar lâmpada nova Fim 16/60

Representações de um algoritmo p Português estruturado (Portugol) n Linguagem mais restrita que o português em linguagem natural; n Simplificação extrema do português; n Significados bem definidos para todos os termos utilizados nas instruções; n Possui um conjunto de palavras e regras específicas (sintaxe da linguagem); n Representação utilizada no curso;

Pseudocódigo Algoritmo troca de lâmpada Início Fim Ir até o interruptor do primeiro soquete; enquanto <houver soquetes> faça acionar interruptor; se <lâmpada não acender> então pegar uma escada; posicionar a escada embaixo da lâmpada; buscar uma lâmpada nova; subir na escada; re?rar a lâmpada velha; colocar a lâmpada nova; ir até interruptor do próximo soquete; fim se fim enquanto 18/60

Exemplo de Algoritmo { declaração de variáveis } real: p1, p2, p3, p4, Media; inicio { comandos de entrada de dados } leia (p1); leia (p2); leia (p3); leia (p4); { processamento - Calculo da media } Media (p1 + p2 + p3 + p4)/4; { saída de dados } escreva ( Media final =, Media); fim. 19