algoritmos e programação - 2016.2 - aula 2
TRANSCRIPT
![Page 1: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/1.jpg)
Algoritmos e Programação
Prof.º Thyago Maia
![Page 2: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/2.jpg)
O que podemos concluir sobre algoritmos?
![Page 3: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/3.jpg)
O que podemos concluir sobre algoritmos?
Algoritmo é uma espécie de passo a passo de ações (instruções);
Algoritmos retornam uma ou mais saídas (ex.: um ovo frito) a partir de entradas (ex.: um ovo) através de uma sequência de passos;
Os passos são executados um após o outro (de forma sequencial);
3
![Page 4: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/4.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;
4
![Page 5: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/5.jpg)
Por que criamos algoritmos?
![Page 6: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/6.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;
6
![Page 7: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/7.jpg)
Tipos de algoritmos
![Page 8: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/8.jpg)
Tipos de algoritmos
Descrição Narrativa;
Fluxograma;
Pseudocódigo, Português Estruturado ou Portugol;
8
SUBJETIVIDADE
PRECISÃO
![Page 9: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/9.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;
9
![Page 10: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/10.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;
10
![Page 11: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/11.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;
11
![Page 12: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/12.jpg)
Tipos de algoritmos
• Fluxograma – Conjunto de Símbolos:
12
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 13: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/13.jpg)
Tipos de algoritmos
• Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre dois números.
13
![Page 14: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/14.jpg)
Tipos de algoritmos
• Fluxograma – Exemplo:
14
INÍCIO
M = N1 * N2
N1, N2
M FIM
![Page 15: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/15.jpg)
Tipos de algoritmos
• Exemplo 2: Faça um algoritmo que calcula e apresenta a divisão entre dois números.
15
![Page 16: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/16.jpg)
Tipos de algoritmos
• Fluxograma – Exemplo 2:
16
INÍCIO
D = NUM / DEN
NUM, DEN
IMPOSSÍVEL DIVIDIR
FIM
DEN = 0
SIM
D
NÃO
![Page 17: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/17.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;
17
![Page 18: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/18.jpg)
Tipos de algoritmos
• Fluxograma – Exercício:
18
INÍCIO
MEDIA = (N1 + N2 + N3) / 3
N1, N2, N3
APROVADO
FIM
MEDIA >= 7
SIM NÃO
REPROVADO
![Page 19: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/19.jpg)
Explore o assunto!
![Page 20: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/20.jpg)
Explore o assunto!
• Referências– Fundamentos da programação de computadores
(ASCENCIO, A. F. G., CAMPOS, E. A. V.): Capítulo 1
20
![Page 21: Algoritmos e Programação - 2016.2 - Aula 2](https://reader035.vdocuments.mx/reader035/viewer/2022062522/58a6746c1a28abb47e8b6a77/html5/thumbnails/21.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
21