algoritmos e programação - 2015.2 - aula 2
TRANSCRIPT
Algoritmos e Programação
Prof.º Thyago Maia2015.2
Objetivos
Aula 1: Introdução
• Fazer com que o aluno conheça a importância dos algoritmos
• Apresentar os tipos de algoritmos existentes
2
O que podemos concluir sobre algoritmos?
O que podemos concluir sobre algoritmos?
Algoritmo é uma espécie de passo a passo de ações (instruções);
Algoritmos retornam uma saída (ex.: um ovo frito) a partir de uma determinada entrada (ex.: um ovo) através de uma sequência de passos;
Os passos são executados um após o outro (de forma sequencial);
4
O que podemos concluir sobre algoritmos?
Um algoritmo está correto quando sua sequência de instruções retorna uma saída esperada;
Podem existir um ou mais algoritmos que retornam uma saída esperada; Mas podem existir algoritmos mais eficientes que
outros;
Um algoritmo não é a solução do problema, mas o caminho que busca a solução do problema;
5
Por que criamos algoritmos?
Por que criamos algoritmos?
A linguagem natural não pode ser interpretada por computadores;
Computadores são projetados para executar tarefas bem definidas a partir de instruções;
Para desenvolver software, utilizamos linguagens de programação...
A linguagem algorítmica é similar a uma linguagem de programação; Logo, aprendendo a criar algoritmos, estamos aptos
a programar em qualquer linguagem de programação;
7
Tipos de algoritmos
Tipos de algoritmos
Descrição Narrativa;
Fluxograma;
Pseudocódigo, Português Estruturado ou Portugol;
9
SUBJETIVIDADE
PRECISÃO
Tipos de algoritmos
Descrição Narrativa
Utiliza-se preferencialmente um verbo por frase; Formada por frases curtas e simples; É objetiva; Evita palavras com sentido dúbio;
10
Tipos de algoritmos
Descrição Narrativa – Exemplo:
Dobro de um número (dobro = número x 2)
Digitar um número; Gravar em uma variável; Multiplicar o número digitado por 2; Gravar o resultado em outra variável; Mostrar o resultado da operação;
11
Tipos de algoritmos
Fluxograma
Descrevem o fluxo de ação de um determinado trabalho lógico;
Usa símbolos convencionais, permitindo poucas variações;
Representados por símbolos geométricos;
12
Tipos de algoritmos
• Fluxograma – Conjunto de Símbolos:
13
INÍCIO OU FIM DE ALGORITMO
CÁLCULO OU ATRIBUIÇÃO DE VALOR
ENTRADA DE DADOS
SAÍDA DE DADOS
DECISÃOFLUXO DE DADOS
Tipos de algoritmos
• Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre dois números.
14
Tipos de algoritmos
• Fluxograma – Exemplo:
15
INÍCIO
M = N1 * N2
N1, N2
M FIM
Tipos de algoritmos
• Exemplo 2: Faça um algoritmo que calcula e apresenta a divisão entre dois números.
16
Tipos de algoritmos
• Fluxograma – Exemplo 2:
17
INÍCIO
D = NUM / DEN
NUM, DEN
IMPOSSÍVEL DIVIDIR
FIM
DEN = 0
SIM
D
NÃO
Tipos de algoritmos
• Exercício: Faça um algoritmo (fluxograma) que calcula a média de três notas de um determinado aluno e informa se o aluno está aprovado ou reprovado.
– O aluno estará aprovado se sua média for maior ou igual a 7;
18
Tipos de algoritmos
• Fluxograma – Exercício:
19
INÍCIO
MEDIA = (N1 + N2 + N3) / 3
N1, N2, N3
APROVADO
FIM
MEDIA >= 7
SIM NÃO
REPROVADO
Tipos de algoritmos
Português Estruturado (Portugol)
Linguagem mais restrita que o português em linguagem natural;
Simplificação extrema do português; Significados bem definidos para todos os termos
utilizados nas instruções; Possui um conjunto de palavras e regras
específicas (sintaxe da linguagem);
20
Tipos de algoritmos
Português Estruturado (Portugol)
Normalmente as implementações são feitas em papel, escritas a mão;
Atualmente, também são utilizados programas que interpretam, testam e executam algoritmos; Ex.: VisuAlg (programa que utilizaremos no curso);
21
Tipos de algoritmos
• Forma básica de um algoritmo em portugol:
ALGORITMO “nome”VAR :INICIO
FIMALGORITMO22
VARIÁVEIS
INSTRUÇÕES
TIPOS DE DADOS
Tipos de algoritmos
• Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre dois números.
23
Tipos de algoritmos
ALGORITMO “exemplo”VAR N1, N2, M: REAL
ESCREVA (“Digite dois números: ”)LEIA (N1, N2)M <- N1 * N2ESCREVA (M)
FIM_ALGORITMO
24
Explore o assunto!
Explore o assunto!
• Referências– Fundamentos da programação de computadores
(ASCENCIO, A. F. G., CAMPOS, E. A. V.): Capítulo 1
26
Explore o assunto!
• Referências– Introdução aos
algoritmos(TONET, B., KOLIVER, C.): Introdução e tópico 1;
– Disponível em http://www.claudiorodolfo.com/ftc/ap/manual_visualg.pdf
27