introdução a algoritmos computação i profa. ms. viviane guimarães ribeiro prof. rodrigo de maio...
TRANSCRIPT
![Page 1: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/1.jpg)
Introdução a Algoritmos
Computação I
Profa. Ms. Viviane Guimarães Ribeiro
Prof. Rodrigo de Maio Almeida
![Page 2: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/2.jpg)
2
Conceito de Algoritmo
Á especificação de seqüência ordenada de passos que deve ser seguida para a realização de um tarefa, garantindo a sua repetibilidade, dá-se o nome de algoritmo.
Para que um computador possa desempenhar uma tarefa é necessário que esta seja detalha passo a passo, numa forma compreensível pela máquina, utilizando aquilo que se chama de programa. Neste sentido, um programa nada mais é que um algoritmo escrito numa forma compreensível pelo computador.
![Page 3: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/3.jpg)
3
Dentre as formas de representação de algoritmos mais conhecidas sobressaltam:
• Descrição Narrativa;• Fluxograma Convencional;• Pseudocódigo (Portugol).
Formas de representação
![Page 4: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/4.jpg)
4
Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural. Exemplos:
• Receita de bolo;• Troca de um pneu furado;• Cálculo da média de um aluno....
Descrição Narrativa
![Page 5: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/5.jpg)
5
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.
OBS: instruções sujeitas a diferentes interpretações.
Descrição Narrativa
![Page 6: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/6.jpg)
6
Escreva a Descrição Narrativa para cada situação abaixo:
1-José acorda atrasado; ao sair apressado com seu carro provoca um acidente, chocando-se com um ônibus. Há um problema importante para ser tratado em sua seção, naquela manhã. José precisa avisar seu chefe sobre o acontecido.
2- Maria precisa ensinar sua filhinha a tomar banho sozinha.
Descrição Narrativa
![Page 7: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/7.jpg)
7
3- O professor de matemática precisa calcular a média de um aluno. Para tanto ele precisa levar em consideração 4 notas do aluno.
4- Carlos precisa calcular a área de uma sala. Sabe-se que a sala é retangular.
Descrição Narrativa
![Page 8: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/8.jpg)
8
É uma representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintas.
Tal propriedade facilita o entendimento das idéias contidas nos algoritmos e justifica sua popularidade.
Fluxograma Convencional
![Page 9: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/9.jpg)
9
Esta forma é menos imprecisa que a Descrição Narrativa e, no entanto, não se preocupa com detalhes de implementação do programa, como o tipo de variáveis usadas.
Fluxograma Convencional
![Page 10: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/10.jpg)
10
Principais formas geométricas usadas em fluxogramas:
Início e fim do fluxograma
Operação de entrada de dados
Fluxograma Convencional
![Page 11: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/11.jpg)
11
Operação de atribuição
Operação de saída de dados
Operação de decisão
Fluxograma Convencional
![Page 12: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/12.jpg)
12
Fluxograma Convencional
![Page 13: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/13.jpg)
13
Esta forma de representação de algoritmos é mais rica em detalhes, como a definição dos tipos das variáveis usadas.
Na verdade, esta representação é suficiente para permitir que a tradução de um algoritmo nela representado para uma linguagem de programação específica seja praticamente direta.
Pseudocódigo
![Page 14: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/14.jpg)
14
Forma geral:
Algoritmo <nome do algoritmo><declaração de variáveis><subalgoritmos>Início
<corpo do algoritmo>Fim.
Pseudocódigo
![Page 15: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/15.jpg)
15
Algoritmo Media;Var N1, N2, M : real;Início
Escreva (“Entre com 2 númros: ”);Leia (N1, N2);M (N1+N2)/2;Se (M >= 7) Então
Escreva (“Aprovado”); Senão
Escreva (“Reprovado”);Fim_se
Fim
Pseudocódigo
![Page 16: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/16.jpg)
16
Na estrutura seqüencial os comandos de um algoritmo são executados numa seqüência pré-estabelecida. Cada comando é executado somente após o término do comando anterior.
Em termos de fluxograma, a estrutura seqüencial é caracterizada por um único fluxo de execução no diagrama. Ex:
Estrutura Seqüencial
![Page 17: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/17.jpg)
17
<Comando 1>
<Comando 2>
<Comando 3>
Estrutura Seqüencial
![Page 18: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/18.jpg)
18
Em pseudocódigos, a estrutura seqüencial caracteriza-se por um conjunto de comandos dispostos ordenadamente.
...<Comando 1><Comando 2><Comando 3>...
Estrutura Seqüencial
![Page 19: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/19.jpg)
19
Neste tipo de estrutura o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma ou mais condições. Uma condição é uma expressão lógica.
A classificação das estruturas de decisão é feita de acordo com o número de condições que devem ser testadas para que se decida qual o caminho a ser seguido. Têm-se 2 tipos de estrutura de decisão:
• Se;• Escolha.
Estrutura de Decisão
![Page 20: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/20.jpg)
20
Nesta estrutura uma única condição (expressão lógica) é avaliada. Se o resultado desta avaliação for verdadeiro (.V.), então um determinado conjunto de instruções (comandos compostos) é executado. Caso contrário, ou seja, quando o resultado da avaliação for falso (.F.), um comando diferente é executado.
Estrutura de Decisão - Se
![Page 21: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/21.jpg)
21
Estrutura de Decisão - Se
![Page 22: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/22.jpg)
22
Se <condição>Então
<Comando 1>Senão
<Comando 2>Fim_se
Estrutura de Decisão - Se
![Page 23: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/23.jpg)
23
Este tipo de estrutura é uma generalização da estrutura Se, onde somente uma condição era avaliada e dois caminhos podiam ser seguidos. Na estrutura de decisão do tipo Escolha pode haver uma ou mais condições a serem testadas e um comando composto diferente associado a cada uma destas.
Estrutura de Decisão - Escolha
![Page 24: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/24.jpg)
24
Estrutura de Decisão - Escolha
![Page 25: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/25.jpg)
25
Escolha (variável)Caso <valor_1>
<Comando 1>Caso <valor_2>
<Comando 2>.....
Caso <valor_n><Comando n>
Senão <Comando n + 1>
Fim_escolha
Estrutura de Decisão - Escolha
![Page 26: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/26.jpg)
26
São muito comuns as situações em que se deseja repetir um determinado trecho de um programa um certo número de vezes. Por exemplo, pode-se citar o caso em que se deseja realizar um mesmo processamento para conjuntos de dados diferentes.
A classificação das estruturas de repetição é feita de acordo com o conhecimento prévio do número de vezes que o conjunto de comandos será executado.
Estrutura de Repetição
![Page 27: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/27.jpg)
27
A estrutura de repetição divide-se em:
• Laços contados: quando se conhece previamente quantas vezes o comando no interior da construção será executado;
• Laços condicionais: quando não se conhece de antemão o número de vezes que o conjunto de comandos no interior do laço será repetido, pelo fato de o mesmo estar amarrado a uma condição sujeita a modificações pelas instruções do interior do laço.
Estrutura de Repetição
![Page 28: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/28.jpg)
28
Laços Contados
Este tipo de laço nada mais é que uma estrutura dotada de mecanismos para contar o número de vezes que o corpo do laço é executado.
Para <var> de <início> até <fim> incr de <inc> faça
<comando> Fim_para
Estrutura de Repetição
![Page 29: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/29.jpg)
29
<Var> = <inicio>,<fim>, <inc>
Comando
Estrutura de Repetição
![Page 30: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/30.jpg)
30
Laços Condicionais
São aqueles cujo conjunto de comandos em seu interior é executado até que uma determinada condição seja satisfeita.Divide-se em:
• Enquanto;• Repita.
Estrutura de Repetição
![Page 31: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/31.jpg)
31
Laços Condicionais - Enquanto
Ao início da construção Enquanto a condição é testada. Se seu resultado for falso, então o comando composto no seu interior não é executado e a execução prossegue normalmente pela instrução seguinte ao Fim_enquanto. Se a condição for verdadeira o comando no interior da estrutura é executado e ao seu termino retorna-se ao teste da condição. Assim, o processo acima será repetido enquanto a condição testada for verdadeira.
Estrutura de Repetição
![Page 32: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/32.jpg)
32
<Condição> Comando.V.
.F.
Estrutura de Repetição
![Page 33: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/33.jpg)
33
Enquanto <condição> faça
<comando>
Fim_enquanto
Uma vez dentro do corpo do laço, a execução somente abandonará o mesmo quando a condição for falsa.
Estrutura de Repetição
![Page 34: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/34.jpg)
34
Laços Condicionais - Repita
O comando é executado uma vez. A seguir, a condição é testada: se ela for falsa, o comando composto é executado novamente e este processo é repetido até que a condição seja verdadeira, quando então a execução prossegue pelo comando imediatamente seguinte ao final da construção.
Estrutura de Repetição
![Page 35: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/35.jpg)
35
<Condição>
Comando
.V.
.F.
Estrutura de Repetição
![Page 36: Introdução a Algoritmos Computação I Profa. Ms. Viviane Guimarães Ribeiro Prof. Rodrigo de Maio Almeida](https://reader035.vdocuments.mx/reader035/viewer/2022062418/552fc168497959413d8eb4e1/html5/thumbnails/36.jpg)
36
Repita
<comando>
até que <condição>
Esta construção difere da construção Enquanto pelo fato de o comando composto ser executado uma ou mais vezes (pelo menos uma vez), ao passo que na construção Enquanto o comando é executado zero ou mais vezes (possivelmente nenhuma).
Estrutura de Repetição