Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade do Estado do Rio Grande do Norte - CaN Introdução à Programação AULA 2 – Conceito de Algoritmo Profª. Glaucia M. M. Campos glaucia.melissa@gmail.com * Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Questões O que é um Computador? O que é um Programa de Computador? Como fazer e onde executar um programa? * Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN O que é um Computador Arquitetura de Von Neumann E/S Memória * Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Modelo de Computador * Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Computadores conversam? Como é a linguagem falada pelos computadores? Que símbolos ela usa? Quais palavras? Como seria a gramática dessa língua eletrônica? * Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Uma nova linguagem... Computadores possuem cordas vocais muito simples: ou emitem som, ou não emitem É possível haver uma linguagem com apenas dois números? * Universidade do Estado do Rio Grande do Norte - CaN 0 (zero) 1 (um) Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Linguagem binária Falar 0's e 1's deve ser fácil, não é mesmo? Como deixar uma linguagem binária mais fácil de usar? * Universidade do Estado do Rio Grande do Norte - CaN NÃO É! Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN O que é um Programa de Computador? É uma seqüência de passos que “dizem” ao computador como realizar a tarefa para o qual foi construído o programa. Então em qual idioma o programa “conversa” com o computador? Basicamente... * Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Como escrever um Programa? Compreender o problema que o programa irá resolver; Identificar que dados de entrada são necessários; Identificar que informações deverão ser entregues como resultado do processamento; Definir a sequência de passos que levam a solução do problema: Algoritmo! Representar (escrever) o algoritmo utilizando uma das formas existentes; Testar o algoritmo realizando simulações. * Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Formas de Representação de Algoritmos Descrição Narrativa Usar linguagem natural (Inglês, Francês, Português...) para dizer a solução do problema. Não é necessário aprender nenhum conceito novo. * Universidade do Estado do Rio Grande do Norte - CaN SOMA DE DOIS NÚMEROS OBTER O PRIMEIRO NÚMERO OBTER O SEGUNDO NÚMERO SOMAR OS DOIS NÚMEROS MOSTRAR O RESULTADO DA SOMA DESCRIÇÃO NARRATIVA Universidade do Estado do Rio Grande do Norte - CaN Fluxograma Escrever a solução do problema utilizando-se de símbolos gráficos * Universidade do Estado do Rio Grande do Norte - CaN Formas de Representação de Algoritmos Universidade do Estado do Rio Grande do Norte - CaN Fluxograma Vantagens: O entendimento de símbolos gráficos é mais simples que o entendimento de textos. Desvantagens: É necessário conhecer a simbologia dos fluxogramas e, além disso, o algoritmo resultando não apresenta muitos detalhes, dificultando sua transcrição para um programa. Para utilizar o fluxograma e as próximas formas de representação é necessário conhecer a sintaxe e semântica das mesmas. * Universidade do Estado do Rio Grande do Norte - CaN Formas de Representação de Algoritmos Universidade do Estado do Rio Grande do Norte - CaN Pseudocódigo Consiste em analisar o enunciado do problema e escrever uma solução por meio de regras predefinidas. Vantagens: A passagem do algoritmo para qualquer linguagem de programação é quase imediata, sendo necessário apenas conhecer a sintaxe da linguagem. Desvantagens: É preciso aprender as regras da pseudocódigo. * Universidade do Estado do Rio Grande do Norte - CaN Formas de Representação de Algoritmos Universidade do Estado do Rio Grande do Norte - CaN Pseudocódigo * Universidade do Estado do Rio Grande do Norte - CaN Formas de Representação de Algoritmos ALGORITMO <NOME DO ALGORITMO> VARIÁVEIS <LISTA DE VARIÁVEIS> INÍCIO <BLOCO DE COMANDOS> FIM SINTAXE ALGORITMO <Soma de números> VARIÁVEIS Inteiro: soma, num1, num2 INÍCIO Leia(num1) Leia(num2) soma = num1 + num2 Escreva(soma) FIM EXEMPLO Universidade do Estado do Rio Grande do Norte - CaN Uma linguagem de programação é um método padronizado para comunicar instruções para um computador É um conjunto de algoritmos que podem ser entendidos por um computador * Universidade do Estado do Rio Grande do Norte - CaN Formas de Representação de Algoritmos Ou simplesmente, Universidade do Estado do Rio Grande do Norte - CaN * Universidade do Estado do Rio Grande do Norte - CaN Formas de Representação de Algoritmos Universidade do Estado do Rio Grande do Norte - CaN Linguagem de Programação de “Propósito Geral” Existem diversas linguagens definidas para uso na escrita de programas: C, C++, Java, Phyton, Lisp, Fortran, Delphi, Pascal, Matlab, Basic... Vantagens: São linguagens que o computador compreende. Isso não é bem verdade, mas logo entenderemos o que acontece! Desvantagens: Precisamos conhecer a linguagem, bem como suas características e comandos... * Universidade do Estado do Rio Grande do Norte - CaN Formas de Representação de Algoritmos Universidade do Estado do Rio Grande do Norte - CaN Linguagem de Programação de “Propósito Geral” Ex.: Programa em C * Universidade do Estado do Rio Grande do Norte - CaN Formas de Representação de Algoritmos Universidade do Estado do Rio Grande do Norte - CaN Linguagem de Máquina Retomando a primeira pergunta: Em qual idioma o programa “conversa” com o computador? Os computadores só conhecem uma linguagem, a chama linguagem de Máquina. Os códigos de máquinas possuem simbologia difícil de serem entendidas e escritas por seres humanos. E para facilitar a vida do programador, surgiram os programas que fazem o papel de tradutor entre os “humanos” e os “computadores”. DI-UERN * Universidade do Estado do Rio Grande do Norte - CaN DI-UERN Universidade do Estado do Rio Grande do Norte - CaN Programas Tradutores Existe a seguinte classificação das linguagens: Portanto para traduzir os programas escritos em “linguagem de alto nível” para a linguagem que o computador de fato compreende é necessário o uso dos programas tradutores. Tipos de Tradutores: Compilador e Interpretador * Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Entender o problema (LEITURA) Propor um plano (PLANEJAMENTO) Executar o plano (RESOLUÇÃO) Checar a solução (VERIFICAÇÃO) * Universidade do Estado do Rio Grande do Norte - CaN Etapas da Construção de Programas Universidade do Estado do Rio Grande do Norte - CaN * Universidade do Estado do Rio Grande do Norte - CaN Ciclo de desenvolvimento Universidade do Estado do Rio Grande do Norte - CaN Ciclo de desenvolvimento Escolha da linguagem de programação depende da aplicação que será desenvolvida. Nessa disciplina, a escolha da linguagem C está relacionada a: eficiência facilidade de uso base para muitas outras linguagens * Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Ciclo de desenvolvimento * Universidade do Estado doRio Grande do Norte - CaN Disponível em: http://www.inf.puc-rio.br/~inf1005/material/slides/intro_prog.pdf Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN estruturas em um pseudocódigo * Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Estrutura de um Algoritmo * Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Pseudo-código * Universidade do Estado do Rio Grande do Norte - CaN Disponível: http://wiki.icmc.usp.br/images/6/67/Aula_02.pdf Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Pseudo-código * Universidade do Estado do Rio Grande do Norte - CaN Disponível: http://wiki.icmc.usp.br/images/6/67/Aula_02.pdf Universidade do Estado do Rio Grande do Norte - CaN Pseudo-código * Universidade do Estado do Rio Grande do Norte - CaN Disponível: http://wiki.icmc.usp.br/images/6/67/Aula_02.pdf Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Pseudo-código * Universidade do Estado do Rio Grande do Norte - CaN Disponível: http://wiki.icmc.usp.br/images/6/67/Aula_02.pdf Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Pseudo-código * Universidade do Estado do Rio Grande do Norte - CaN Disponível: http://wiki.icmc.usp.br/images/6/67/Aula_02.pdf Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Pseudo-código * Universidade do Estado do Rio Grande do Norte - CaN Disponível: http://wiki.icmc.usp.br/images/6/67/Aula_02.pdf Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN * Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN * Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN * Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN Referências Medina, Marco; Fertig, Cristina. Algoritmos e Programação: teoria e prática. São Paulo: Novatec Editora, 2006. Transparências modificadas dos professores Aníbal Tavares e Cassilda Ribeiro, da Unesp, Campus de Guaratinguetá Transparências modificadas da professora Camila de Araújo, da UERN, Campus de Natal * Universidade do Estado do Rio Grande do Norte - CaN Universidade do Estado do Rio Grande do Norte - CaN
Compartilhar