Algoritmos e Programação - 2015.2 - Aula 2
-
Upload
thyago-maia -
Category
Education
-
view
47 -
download
2
Transcript of Algoritmos e Programação - 2015.2 - Aula 2
![Page 1: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/1.jpg)
Algoritmos e Programação
Prof.º Thyago Maia2015.2
![Page 2: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/2.jpg)
Objetivos
Aula 1: Introdução
• Fazer com que o aluno conheça a importância dos algoritmos
• Apresentar os tipos de algoritmos existentes
2
![Page 3: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/3.jpg)
O que podemos concluir sobre algoritmos?
![Page 4: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/4.jpg)
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
![Page 5: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/5.jpg)
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
![Page 6: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/6.jpg)
Por que criamos algoritmos?
![Page 7: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/7.jpg)
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
![Page 8: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/8.jpg)
Tipos de algoritmos
![Page 9: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/9.jpg)
Tipos de algoritmos
Descrição Narrativa;
Fluxograma;
Pseudocódigo, Português Estruturado ou Portugol;
9
SUBJETIVIDADE
PRECISÃO
![Page 10: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/10.jpg)
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
![Page 11: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/11.jpg)
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
![Page 12: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/12.jpg)
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
![Page 13: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/13.jpg)
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
![Page 14: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/14.jpg)
Tipos de algoritmos
• Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre dois números.
14
![Page 15: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/15.jpg)
Tipos de algoritmos
• Fluxograma – Exemplo:
15
INÍCIO
M = N1 * N2
N1, N2
M FIM
![Page 16: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/16.jpg)
Tipos de algoritmos
• Exemplo 2: Faça um algoritmo que calcula e apresenta a divisão entre dois números.
16
![Page 17: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/17.jpg)
Tipos de algoritmos
• Fluxograma – Exemplo 2:
17
INÍCIO
D = NUM / DEN
NUM, DEN
IMPOSSÍVEL DIVIDIR
FIM
DEN = 0
SIM
D
NÃO
![Page 18: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/18.jpg)
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
![Page 19: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/19.jpg)
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
![Page 20: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/20.jpg)
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
![Page 21: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/21.jpg)
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
![Page 22: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/22.jpg)
Tipos de algoritmos
• Forma básica de um algoritmo em portugol:
ALGORITMO “nome”VAR :INICIO
FIMALGORITMO22
VARIÁVEIS
INSTRUÇÕES
TIPOS DE DADOS
![Page 23: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/23.jpg)
Tipos de algoritmos
• Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre dois números.
23
![Page 24: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/24.jpg)
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
![Page 25: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/25.jpg)
Explore o assunto!
![Page 26: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/26.jpg)
Explore o assunto!
• Referências– Fundamentos da programação de computadores
(ASCENCIO, A. F. G., CAMPOS, E. A. V.): Capítulo 1
26
![Page 27: Algoritmos e Programação - 2015.2 - Aula 2](https://reader031.fdocument.pub/reader031/viewer/2022020800/55d17773bb61eb17788b4700/html5/thumbnails/27.jpg)
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