Buscar

2018. Aula 2 Conceito Algoritmo

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

Continue navegando