programação de computadores i aula 02 algoritmos: conceito e
TRANSCRIPT
![Page 1: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/1.jpg)
1/26
Programacao de Computadores I
Aula 02
Algoritmos: Conceito e Representacao
Jose Romildo Malaquias
Departamento de ComputacaoUniversidade Federal de Ouro Preto
2011-1
![Page 2: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/2.jpg)
2/26
Importancia do estudo de algoritmos
I . . . antes que o computador possa executar uma tarefa, deveser fornecido um algoritmo que instrua exatamente o quedeve ser feito . . .
![Page 3: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/3.jpg)
3/26
Conceito de Algoritmo I
I Algoritmo e a especificacao da sequencia ordenada depassos que deve ser seguida para a solucao de um problemaou para a realizacao de uma tarefa, garantindo a suarepetibilidade.
I Algoritmo e um conjunto ordenado de passos executaveis naoambıguos, definindo um processo que tem um termino.
Sanduiche mixto
passo 1: corte o pao em duas partespasso 2: abra o paopasso 3: insira o presunto e o queijo no paopasso 4: feche o pao
![Page 4: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/4.jpg)
3/26
Conceito de Algoritmo I
I Algoritmo e a especificacao da sequencia ordenada depassos que deve ser seguida para a solucao de um problemaou para a realizacao de uma tarefa, garantindo a suarepetibilidade.
I Algoritmo e um conjunto ordenado de passos executaveis naoambıguos, definindo um processo que tem um termino.
Sanduiche mixto
passo 1: corte o pao em duas partespasso 2: abra o paopasso 3: insira o presunto e o queijo no paopasso 4: feche o pao
![Page 5: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/5.jpg)
3/26
Conceito de Algoritmo I
I Algoritmo e a especificacao da sequencia ordenada depassos que deve ser seguida para a solucao de um problemaou para a realizacao de uma tarefa, garantindo a suarepetibilidade.
I Algoritmo e um conjunto ordenado de passos executaveis naoambıguos, definindo um processo que tem um termino.
Sanduiche mixto
passo 1: corte o pao em duas partespasso 2: abra o paopasso 3: insira o presunto e o queijo no paopasso 4: feche o pao
![Page 6: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/6.jpg)
4/26
Conceito de Algoritmo II
![Page 7: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/7.jpg)
5/26
Conceito de Algoritmo II
![Page 8: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/8.jpg)
6/26
Conceito de Algoritmo IV
I Diferenca entre algoritmo e sua representacaoI um algoritmo pode ser representados de diversas formasI Ex: algoritmo que converte Celsius para Fahrenheit
I representacao algebrica:
F =9
5× C + 32
I representacao narrativa:multiplicar a temperatura, lida em grau Celsius, por 9
5, e entao
somar 32 ao produto assim obtido
![Page 9: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/9.jpg)
7/26
Exercıcios
I Em que sentido os passos descritos a seguir falham em comoum algoritmo?
passo 1: retire uma moeda do bolso e coloque sobre amesa
passo 2: retorne ao passo 1
I O processo chegara ao fim quando o bolso nao tiver maismoedas?
I Nao foi especificado!
I Nenhuma indicacao sobre a conduta a adotar quando naohouver mais moedas
![Page 10: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/10.jpg)
7/26
Exercıcios
I Em que sentido os passos descritos a seguir falham em comoum algoritmo?
passo 1: retire uma moeda do bolso e coloque sobre amesa
passo 2: retorne ao passo 1
I O processo chegara ao fim quando o bolso nao tiver maismoedas?
I Nao foi especificado!
I Nenhuma indicacao sobre a conduta a adotar quando naohouver mais moedas
![Page 11: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/11.jpg)
7/26
Exercıcios
I Em que sentido os passos descritos a seguir falham em comoum algoritmo?
passo 1: retire uma moeda do bolso e coloque sobre amesa
passo 2: retorne ao passo 1
I O processo chegara ao fim quando o bolso nao tiver maismoedas?
I Nao foi especificado!
I Nenhuma indicacao sobre a conduta a adotar quando naohouver mais moedas
![Page 12: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/12.jpg)
8/26
Formas de representacao I
I A representacao de algoritmos requer alguma forma delinguagem
I Dentre as forma de representacao mais conhecidas:I Descricao narrativa;I Fluxograma convencional;I Pseudocodigo, tambem conhecido como linguagem estruturada
ou Portugol.
![Page 13: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/13.jpg)
9/26
Formas de representacao II
I Descricao NarrativaI Nesta forma de representacao os algoritmos sao expressos
diretamente em linguagem natural.I Exemplo: Calculo da media de um aluno
1. Obter as notas da primeira e da segunda prova
2. Calcular a media aritmetica entre as duas notas
3. Se a media for igual ou maior que 6.0, o aluno foi aprovado,senao ele foi reprovado.
![Page 14: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/14.jpg)
10/26
Formas de representacao III
I Ex: trocar um pneu
1. Afrouxar ligeiramente as porcas
2. Suspender o carro
3. Retirar as porcas e o pneu
4. Colocar o pneu reserva
5. Apertar as porcas
6. Abaixar o carro
7. Dar o aperto final nas porcas
![Page 15: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/15.jpg)
11/26
Formas de representacao IV
![Page 16: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/16.jpg)
12/26
Formas de representacao V
I Ex: tomando um banho
![Page 17: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/17.jpg)
13/26
Formas de representacao VI
1. Entrar no banheiro e tirar a roupa
2. Abrir a torneira do chuveiro
3. Entrar na agua
4. Ensaboar-se
5. Enxaguar-se
6. Sair da agua
7. Fechar a torneira
8. Enxugar-se
9. Vestir-se
![Page 18: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/18.jpg)
14/26
Formas de representacao VII
I Fluxograma convencionalI E uma representacao grafica de algoritmos onde formas
geometricas diferentes implicam acoes (instrucoes, comandos)diferentes.
I Tal propriedade facilita o entendimento das ideias contidas nosalgoritmos
I Esta forma e aproximadamente intermediaria a descricaonarrativa e ao pseudocodigo (subitem seguinte), pois e menosimprecisa que a primeira.
I Nao se preocupa com detalhes de implementacao
![Page 19: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/19.jpg)
15/26
Formas de representacao VIII
![Page 20: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/20.jpg)
16/26
Formas de representacao IX
I Exemplo: Calcular a soma de dois numeros
![Page 21: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/21.jpg)
17/26
Formas de representacao X
I Exemplo: Calculo da media de um aluno
![Page 22: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/22.jpg)
18/26
Formas de representacao XI
I PseudocodigoI E uma tecnica textual de representacao de um algoritmo.I Tambem e conhecida como Portugues Estruturado ou
PortugolI Esta forma de representacao de algoritmos e rica em detalhes,
como a definicao dos tipos das variaveis usadas no algoritmo.
![Page 23: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/23.jpg)
19/26
Formas de representacao XII
I Por assemelhar-se bastante a forma em que os programas saoescritos, encontra muita aceitacao.
I Permite que os algoritmos nela representados possam sertraduzidos, quase que diretamente, para uma linguagem deprogramacao.
Algoritmo <nome do algoritmo><subalgoritmos>Inıcio<declaracao de variaveis>;<corpo do algoritmo>Fim
![Page 24: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/24.jpg)
20/26
Formas de representacao XIII
I Exemplo: calculo da media de um aluno
Algoritmo Media
Inıcio
real N1, N2, Media;
Leia N1, N2;
Media <- (N1 + N2) / 2;
Se Media >= 6.0 ent~ao
Escreva ("Aprovado");
sen~ao
Escreva ("Reprovado");
Fim_se
Fim
![Page 25: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/25.jpg)
21/26
Formas de representacao XIV
I Exemplo: encontrar o maior de dois numeros
![Page 26: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/26.jpg)
22/26
Formas de representacao XV
I Exemplo: encontrar o maior de dois numeros
Algoritmo Maior
Inıcio
real N1, N2;
Leia N1, N2;
Se N1 > N2 ent~ao
Escreva (N1);
sen~ao
Escreva (N2);
Fim_se
Fim
![Page 27: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/27.jpg)
23/26
Sıntese
I Ha diversas formas de representacao de algoritmos quediferem entre si pela:
I quantidade de detalhes de implementacao que fornecemI pelo grau de abstracao
I Dentre as principais formas de representacao de algoritmosdestacam-se: a descricao narrativa, o fluxogramaconvencional e o pseudocodigo (ou linguagem estruturada).
![Page 28: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/28.jpg)
24/26
Exercıcios em aula
1. Escreva os algoritmos utilizando fluxogramas:
1.1 Inserir dois numero e calcular o produto de ambos.1.2 Modificar o algoritmo anterior e responder se o produto e
positivo ou negativo
2. Escrever os pseudocodigos para:
2.1 Inserir os seguintes dados: nome e idade. Responder se apessoa e maior de idade.
2.2 Dado os lados de um quadrado (inseridos por teclado),encontrar a sua area e o seu perımetro.
![Page 29: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/29.jpg)
25/26
Exercıcios propostos
1. Escreva um fluxograma para calcular e mostrar o menor de 3numeros inseridos por teclado.
2. Escrever o pseudocodigo e fluxograma para:
2.1 Obter 2 valores do teclado e exibi-los em ordem crescente.2.2 Calcular a area de um cırculo. A area de um cırculo de raio r e
dada por A = πr2.2.3 Calcular e mostrar o menor de 3 numeros inseridos por teclado.
3. Escreva os algoritmos na forma descricao narrativa:
3.1 Fritar um ovo.3.2 Trocar uma lampada.
![Page 30: Programação de Computadores I Aula 02 Algoritmos: Conceito e](https://reader034.vdocuments.com.br/reader034/viewer/2022042611/5871f2461a28ab431c8bae73/html5/thumbnails/30.jpg)
26/26
FIM
Creditos:Baseado no material preparado pelo
Prof. Guillermo Camara-Chavez.