SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Algoritmos e Estruturas de Dados
Introdu¸c˜ao
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br>
V´ıdeoaulas, exemplos e exerc´ıcios em linguagem C, acesse
www.mathgraph.com.br
26 de fevereiro de 2016
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Sum´ario
1 Introdu¸c˜ao
2 Estrutura Sequencial
3 Estrutura Condicional
se... ent˜ao
se ... sen˜ao ...
4 Estruturas de Repeti¸c˜ao
enquanto... fa¸ca
para... at´e... fa¸ca
repita... at´e...
5 Estruturas Homogˆeneas de Dados
Vetor
Matriz
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
2/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Algoritmos computacionais
Defini¸c˜ao
Segundo Cormem (2001) um algoritmo computacional pode ser
entendido como“... qualquer procedimento computacional bem
definido que toma algum valor ou conjunto de valores como
entrada e produz algum valor ou conjunto de valores como sa´ıda.
Portanto, um algoritmo ´e uma sequˆencia de passos computacionais
que transformam a entrada na sa´ıda”.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
3/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Algoritmos computacionais
Outras defini¸c˜oes
• ”Algoritmo ´e uma sequˆencia de passos que visa atingir um
objetivo bem definido”(FORBELLONE, 1999)
• “Algoritmo ´e a descri¸c˜ao de uma seq¨uˆencia de passos que
dever ser seguida para a realiza¸c˜ao de uma tarefa”
(ASCENCIO, 2007)
• “Algoritmo ´e uma sequˆencia finita de instru¸c˜oes ou opera¸c˜oes
cuja execu¸c˜ao, em tempo finito, resolve um problema
computacional, qualquer que seja sua instˆancia”(SALVETTI,
1999)
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
4/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Algoritmos computacionais
Outras defini¸c˜oes
• “Algoritmo s˜ao regras formais para a obten¸c˜ao de um
resultado ou da solu¸c˜ao de um problema, englobando
f´ormulas de express˜oes aritm´eticas”(MANZANO, 1997)
• “A¸c˜ao ´e um acontecimento que, a partir de um estado inicial,
ap´os um per´ıodo de tempo finito, produz um estado final
previs´ıvel e bem-definido. Portanto, um algoritmo ´e a
descri¸c˜ao de um conjunto de comandos que, obedecidos,
resultam numa sucess˜ao finita de a¸c˜oes”(FARRER, 1999)
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
5/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Algoritmos computacionais
Continua¸c˜ao
Um algoritmo ´e como uma“receita de bolo”para o computador,
onde est˜ao definidos todos os comandos que ele deve executar p
ara se chegar a um resultado. Da´ı, temos que, o algoritmo ´e uma
sequˆencia de instru¸c˜oes, onde cada instru¸c˜ao representa uma
A¸C˜AO que deve ser entendida e realizada. Em algoritmos
computacionais, o computador possui um conjunto limitado de
instru¸c˜oes e o algoritmo deve ser expresso nos termos destas
instru¸c˜oes. O computador utiliza dois conceitos b´asicos para
construir e interpretar algoritmos, s˜ao eles:
• Estruturas de Dados → para manipula¸c˜ao das informa¸c˜oes
• Estruturas de Controle → para manipula¸c˜ao das a¸c˜oes
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
6/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Tipos de Algoritmos
Descri¸c˜ao Narrativa
A descri¸c˜ao narrativa consiste em analisar o enunciado do
problema e escrever, utilizando um linguagem natural (por
exemplo, a l´ıngua portuguesa), os passos a serem seguidos para
resolu¸c˜ao do problema (semelhante a escrever uma receita).
• Vantagem: N˜ao ´e necess´ario aprender nenhum conceito novo,
pois uma l´ıngua natural j´a ´e bem conhecida.
• Desvantagem: A linguagem natural (n˜ao padronizada e
informal) abre espa¸co para v´arias interpreta¸c˜oes. Ser´a mais
dif´ıcil estrutur´a-la e transcrever este algoritmo para uma
linguagem de programa¸c˜ao.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
7/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Tipos de Algoritmos
Fluxograma
Analisar o enunciado do problema e escrever, utilizando s´ımbolos
gr´aficos pr´e-definidos, os passos a serem seguidos para a resolu¸c˜ao
do problema.
• Vantagem: Vis˜ao geral do fluxo de processamento.
• Desvantagem: ´E necess´ario aprender a simbologia dos
fluxogramas e, al´em disso o algoritmo resultante n˜ao
apresenta muitos detalhes, dificultando sua transcri¸c˜ao para
uma linguagem de programa¸c˜ao.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
8/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Tipos de Algoritmos
Fluxograma
Os s´ımbolos utilizados para representar o uso em fluxograma
podem variar dependendo do autor. A seguir ´e apresentada a lista
de s´ımbolos a ser utilizada nas aulas deste curso.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
9/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Tipos de Algoritmos
Pseudoc´odigo
Consiste em analisar o enunciado do problema e escrever, por meio
de regras predefinidas, os passos a serem seguidos para a resolu¸c˜ao
do problema.
• Vantagem: A passagem (transcri¸c˜ao) do algoritmo para uma
linguagem de programa¸c˜ao ´e quase imediata, bastando
conhecer as regras e palavras reservadas da linguagem que
ser´a utilizada.
• Desvantagem: ´E necess´ario aprender as regras para se
escrever um algoritmo corretamente.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
10/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Dados
Defini¸c˜ao
Uma estrutura de dados ´e um meio para armazenar e organizar
dados com o objetivo de facilitar o acesso e as modifica¸c˜oes.
Nenhuma estrutura de dados ´unica funciona bem para todos os
prop´ositos, e assim ´e importante conhecer os pontos fortes e as
limita¸c˜oes de v´arias delas (CORMEN, 2001)
As estruturas de dados representam as informa¸c˜oes do problema a
ser resolvido. Tais estruturas est˜ao organizadas em tipos distintos
de informa¸c˜oes. Dentro do escopo das estruturas de dados,
define-se os seguintes termos:
Constante, Vari´avel e Identificador.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
11/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Dados
Constantes
Representam valores constantes, ou seja, que n˜ao variam no
decorrer do algoritmo.
Exemplo 1:
Seja x = 2, efetuando as seguintes opera¸c˜oes:
y = x → y = 2
A = 3x + 5x → A = 3*(2) + 5 * 2 → A = 16
Exemplo 2:
Seja PI = 3,14, efetuando as seguintes opera¸c˜oes:
A = PI .*1 → A = 3,14
A = PI * 2 → A = 6,28
A = PI * 3 → A = 9,42
Nos exemplos 1 e 2, tanto o valor de x quanto PI n˜ao variam a
medida que as opera¸c˜oes s˜ao executadas.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
12/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Dados
Vari´aveis
Representam informa¸c˜oes cujos valores s˜ao modificados ao longo
do tempo.
Exemplo 1:
Deseja-se saber o sal´ario de um funcion´ario considerando que ele
recebe R$ 1.000, 00 por mˆes, supondo que teve um aumento de
20% e deve-se descontar 8% de INSS do novo sal´ario, qual ser´a o
sal´ario l´ıquido?
Resposta:
salario = 1.000
reajuste = salario * 0,2
salario = salario + reajuste
imposto = salario * 0,08
salario = salario - imposto
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
13/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Dados
Vari´aveis
Matematicamente, vari´avel ´e a representa¸c˜ao simb´olica dos
elementos de um certo conjunto. Computacionalmente, pode-se
definir vari´avel como um local reservado na mem´oria do
computador usado para armazenar dados.
Uma vari´avel possui nome (identificador) e tipo, possui apenas um
valor em um determinado instante, mas seu conte´udo pode variar
ao longo do tempo.
O conceito de vari´avel, em computa¸c˜ao, corresponde a posi¸c˜oes de
mem´oria RAM (Random Access Memory) onde s˜ao
armazenados os dados manipulados pelo programa quando este for
executado.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
14/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Dados
Identificador
Nome de um local onde se pode colocar qualquer valor do
conjunto de valores poss´ıveis de um tipo b´asico associado. Usado
para manipular os dados necess´arios no algoritmo.
O identificador ´e tamb´em usado para rotular valores constantes,
assim como o nome PI, utilizado no exemplo 2, em constantes (o
identificador PI foi utilizado para representar o valor constante
3,14).
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
15/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Dados
Regras para forma¸c˜ao de identificadores
1 Come¸car sempre o nome com uma letra ou o caractere
sublinhado“ ”;
2 N˜ao usar espa¸cos em branco, pontua¸c˜ao, acentos nem
caracteres especiais (@, #, ?, $, etc);
3 N˜ao usar palavras reservadas, ou seja, palavras que perten¸cam
a linguagem de programa¸c˜ao que estiver sendo usada (ex: if,
for, case, int, etc).
Importante: Um identificador deve representar o melhor poss´ıvel
o papel da vari´avel no algoritmo
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
16/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Dados
Identificadores v´alidos
1 nota, nota1, nota 1, operador, salario, nome, x, y,
enderecoResidencial,
2 aluno01, preco produto, Area, Tensao A, tensao B, media,
soma, S.
Identificadores inv´alidos
1 1K, nota 1, sal´ario, x@1, y%2, aluno 01, preco produto.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
17/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Tipos Primitivos de Dados
Num´ericos
1 Inteiros. Ex: ...-100... -2, -1, 0, 1, 2, ..., 100, ...
2 Reais. Ex: ... -100, ..., -50.2, ..., -2, ..., -1.5, ..., 0, ..., 1, ...,
2, ..., 25.12,
Literal
Caractere ou alfanum´ericos. Ex: “ESCOLA”,“livro”,“18”,
“R$ 55,36”, ...
L´ogicos ou booleanos
Assume um estado: verdadeiro (V) ou falso (F)
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
18/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Tipos Primitivos de Dados
Declara¸c˜ao
´E a cria¸c˜ao (ou defini¸c˜ao) do identificador da vari´avel (ou
constante) que ser´a utilizado no algoritmo. Esta vari´avel ser´a
utilizada para a manipula¸c˜ao de um determinado tipo de dado.
Formato
tipo do dados: identificador;
tipo do dado: identificador1, identificador2, . . . , identificadorn
1 Todas as vari´aveis utilizadas em algoritmos ser˜ao definidas no in´ıcio
do mesmo, por meio de um comando de uma das formas seguintes:
2 Em uma mesma linha podem ser denidas uma ou mais vari´aveis do
mesmo tipo, separando-se os nomes das mesmas por v´ırgulas.
3 Vari´aveis de tipos diferentes devem ser declaradas em linhas
diferentes.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
19/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Tipos Primitivos de Dados
Exemplos
inteiro: idade;
real: salario;
caracter: nome;
l´ogico: temFilhos;
No exemplo, foram declaradas quatro vari´aveis, sendo elas:
• Vari´avel nome: capaz de armazenar dados literais;
• Vari´avel idade: capaz de armazenar um n´umero inteiro;
• Vari´avel salario: capaz de armazenar um n´umero real;
• Vari´avel temFilhos: capaz de armazenar um valor l´ogico,
verdadeiro (V) ou falso (F).
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
20/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Comandos b´asico
Tabela: Comandos em pseudoc´odigo
Comando Fun¸c˜ao Exemplo
← atribui um valor a uma vari´avel x ← 2
leia
obter um valor informado externo
e atribuir a uma vari´avel
leia x;
escreva
mostrar algo, que pode ser uma
vari´avel, texto ou ambos
escreva x;
escreva ”mensagem de teste”;
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
21/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estrutura Sequencial
Sobre a estrutura
Na estrutura sequencial os comandos s˜ao executados numa
sequˆencia pr´e-estabelecida. Cada comando ´e executado somente
ap´os o t´ermino do comando anterior.
Em pseudoc´odigos, a estrutura sequencial caracteriza-se por um
conjunto de comandos dispostos ordenadamente.
Formato
in´ıcio
tipo: vari´avel1, vari´avel2, . . . ; //declara¸c˜ao das vari´avieis
leia vari´avel1, vari´avel2; //dados de entrada
comandos/a¸c˜oes; //a¸c˜oes a serem executadas
escreva“Mensagem pr´e-determinada”, vari´avel; //dados de sa´ıda
fim.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
22/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas Condicional
Finalidade
Utilizada quando o problema apresenta alguma ou algumas
condi¸c˜oes. Em problemas que apresentam classifica¸c˜ao,
compara¸c˜ao, verifica¸c˜ao, restri¸c˜ao, e outras situa¸c˜oes que existam
condi¸c˜oes a serem observadas.
Classifica¸c˜ao:
1 Simples
2 Composta
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
23/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Condicional Simples
Pseudoc´odigo
se (condi¸c˜ao) ent˜ao
comandos/a¸c˜oes;
fimse;
Caracter´ısticas:
• A a¸c˜ao ser´a executada apenas se a condi¸c˜ao for verdadeira.
• A a¸c˜ao ou a¸c˜oes a serem executadas s˜ao escritas depois da
palavra ent˜ao e antes de fimse.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
24/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Condicional Composta
Pseudoc´odigo
se (condi¸c˜ao) ent˜ao
comando1;
sen˜ao
comando2;
fimse;
Funcionamento:
Se a condi¸c˜ao for verdadeira, ser´a executado o comando1; caso
contr´ario, se a condi¸c˜ao for falsa, ser´a executado o comando2.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
25/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Sele¸c˜ao de M´ultipla Escolha
Finalidade
Utilizada para simplificar a escrita de sele¸c˜oes encadeadas
se-sen˜ao-se.
Pseudoc´odigo
escolha X
V1: C1;
V2: C2;
. . .
Vn: Cn;
fimescolha;
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
26/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Repeti¸c˜ao
Finalidade
Permitem executar mais de uma vez (repetir) um determinado
trecho do algoritmo
• O trecho do algoritmo em repeti¸c˜ao ´e tamb´em chamado de
la¸co (ou“loop”)
• As repeti¸c˜oes devem ser sempre finitas
Quanto a quantidade de repeti¸c˜oes, os la¸cos podem ser
1 Pr´e-determinados: Sabe-se antes a quantidade de execu¸c˜oes
2 Indeterminados: N˜ao se conhece a quantidade de execu¸c˜oes
Quanto ao crit´erio de parada, os la¸cos podem utilizar
1 Vari´avel de controle
2 Teste no in´ıcio
3 Teste no final
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
27/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Repeti¸c˜ao
enquanto... fa¸ca
• La¸co que verifica antes de cada execu¸c˜ao, se ´e“permitido”
executar o trecho do algoritmo
• O la¸co acontece enquanto uma dada condi¸c˜ao permanecer
verdadeira
Pseudoc´odigo
enquanto(condi¸c˜ao) fa¸ca
comandos/a¸c˜oes;
fimenquanto;
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
28/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Repeti¸c˜ao
Exemplo: Fa¸ca um algoritmo que leia a nota de cada aluno de uma
turma com 50 alunos, em seguida apresente a m´edia da turma.
in´ıcio
real: mediaTurma, somaNotas, nota;
inteiro: i; //contador
i ← 0; //inicializa¸c˜ao do contador
somaNotas ← 0; //inicializaodoacumulador
enquanto (i < 50) fa¸ca // teste da condi¸c˜ao de parada
leia nota;
//soma em somaNotas os valores lidos em nota
somaNotas ← somaNotas + nota ;
i ← i + 1; //incremento do contador
fimenquanto;
mediaTurma ← somaNotas / 50; // c´alculo da m´edia da turma
escreva“m´edia da turma =“, mediaTurma;
fim.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
29/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Repeti¸c˜ao
para... at´e... fa¸ca
• Utilizada somente em casos nos quais a quantidade de
repeti¸c˜oes previamente conhecida.
• Incorpora internamente o funcionamento de um contador para
controlar a quantidade de la¸cos
Pseudoc´odigo
para v de vi at´e vf passo p fa¸ca
comandos/a¸c˜oes;
fimpara;
• v: vari´avel de controle
• vi : valor inicial de v
• vf : valor final de v
• p: varia¸c˜ao de v
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
30/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Repeti¸c˜ao
repita... at´e...
• A verifica¸c˜ao se ´e permitido repetir a a¸c˜ao ocorre no final da
estrutura
• Trata-se de um la¸co que se mant´em repetindo at´e que uma
dada condi¸c˜ao se torne verdadeira
Pseudoc´odigo
repita
comandos/a¸c˜oes;
at´e (condi¸c˜ao);
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
31/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estruturas de Repeti¸c˜ao
Compara¸c˜ao
´E importante perceber que existem la¸cos mais adequados ou
convenientes para cada situa¸c˜ao
Tabela: Compara¸c˜ao entre Estruturas de Repeti¸c˜ao
Estrutura Condi¸c˜ao Qtd. de Execu¸c˜oes
Condi¸c˜ao de
Existˆencia
enquanto ... in´ıcio zero ou muitas verdadeira
para ... in´ıcio valor final - valor inicial verdadeira
repita ... final m´ınimo uma falsa
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
32/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Estrutura Homogˆenea de Dados
Defini¸c˜ao
• Estruturas homogˆeneas de dados possibilitam o
armazenamento de grupos de valores em uma ´unica vari´avel
que ser´a armazenada na mem´oria do computador.
• S˜ao ditas homogˆeneas porque os valores a serem armazenados
devem ser do mesmo tipo.
• Entre outros nomes que estas estruturas recebem, iremos
cham´a-las de vetores e matrizes.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
33/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Vetor
Vetor - Arranjo Unidimensional
• Um vetores ´e uma vari´avel composta (arranjo) com m´ultiplas
posi¸c˜oes.
• Podem ser vistos como lista de elementos do mesmo tipo.
• S˜ao estruturas lineares e est´aticas, ou seja, s˜ao compostas por
um n´umero finito e pr´e-determinado de valores
Representa¸c˜ao:
Exemplo: Vetor de notas de uma turma com 10 alunos:
Notas = 6,1 3,4 9,2 8,5 4,6 8,3 7,4 6,5 10 9,6
Posi¸c˜ao 1 2 3 4 5 6 7 8 9 10
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
34/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Vetor
Pseudoc´odigo - Declara¸c˜ao
tipo: identificador[qtd. de elementos];
Exemplo: Fa¸ca um algoritmo que leia as notas de uma turma com
50 alunos e mostre o vetor resultante.
inicio
inteiro: i, notas[50];
para i de 1 at´e 50 passo 1 fa¸ca
escrever ”Entre com um valor: ”;
ler notas[i];
fimpara;
para i de 1 at´e 50 passo 1 fa¸ca
escrever notas[i];
fimpara;
fim.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
35/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Matriz
Matriz - Array Bidimensional
Uma matriz ´e uma vari´avel composta homogˆenea bidimensional
formada por elementos do mesmo tipo, alocados sequencialmente
na mem´oria, organizada em linhas e colunas.
Representa¸c˜ao:
Aluno
6,1 3,4 9,2 8,5 4,6 8,3 7,4 6,5 10 9,6 1
Turma 5,6 3,1 8 4,5 7 6 7,3 9,8 6,7 8 2
8,6 9 5,5 8,4 3,5 7,3 8,9 8,1 5,7 7 3
1 2 3 4 5 6 7 8 9 10
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
36/37
l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h
Matriz
Pseudoc´odigo - Declara¸c˜ao
tipo: identificador[qtd. linha][qtd. coluna];
Exemplo: Fa¸ca um algoritmo que leia as notas de 5 turmas, cada turma com 50
alunos, e mostre a matriz resultante.
inicio
inteiro i, j;
real notas[5][50];
para i de 1 at´e 5 passo 1 fa¸ca
para j de 1 at´e 50 passo 1 fa¸ca
escreva ”Entre com um valor: ”;
leia notas[i][j];
fimpara;
fimpara;
para i de 1 at´e 5 passo 1 fa¸ca
para j de 1 at´e 50 passo 1 fa¸ca
escreva notas[i][j];
fimpara;
fimpara;
fim.
Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016
37/37

Mais conteúdo relacionado

Mais procurados

Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoElaine Cecília Gatto
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmiadiogoa21
 
Introdução a Lógica e a Algoritmos
Introdução a Lógica e a AlgoritmosIntrodução a Lógica e a Algoritmos
Introdução a Lógica e a AlgoritmosMicael Coutinho
 
Apostila de algoritimo super básica
Apostila de algoritimo super básicaApostila de algoritimo super básica
Apostila de algoritimo super básicaPablo Verlly Moreira
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Lógica de Programação - Entrada/saída de dados
Lógica de Programação - Entrada/saída de dadosLógica de Programação - Entrada/saída de dados
Lógica de Programação - Entrada/saída de dadosWesley R. Bezerra
 
Algoritmos - Aula 04 A - Principios de Resolucao de Problemas
Algoritmos - Aula 04 A - Principios de Resolucao de ProblemasAlgoritmos - Aula 04 A - Principios de Resolucao de Problemas
Algoritmos - Aula 04 A - Principios de Resolucao de ProblemasRodrigo Kiyoshi Saito
 
Como usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramasComo usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramasKleber Jacinto
 
Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Pacc UAB
 
Análise descritiva e introdução à análise inferencial
Análise descritiva e introdução à análise inferencial Análise descritiva e introdução à análise inferencial
Análise descritiva e introdução à análise inferencial Henrique Gomide
 
Primeira aula sp1
Primeira aula sp1Primeira aula sp1
Primeira aula sp1gastaovalle
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizandoJoão Gomes
 
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaFelipe J. R. Vieira
 
Aula 2 - Lógica de Programação
Aula 2 - Lógica de ProgramaçãoAula 2 - Lógica de Programação
Aula 2 - Lógica de ProgramaçãoInstituto CENTEC
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de ProgramaçãoAdao Chiavelli
 
Aula 13 - Matrizes
Aula 13 - MatrizesAula 13 - Matrizes
Aula 13 - MatrizesPacc UAB
 

Mais procurados (20)

Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de Programação
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmia
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Introdução a Lógica e a Algoritmos
Introdução a Lógica e a AlgoritmosIntrodução a Lógica e a Algoritmos
Introdução a Lógica e a Algoritmos
 
Apostila de algoritimo super básica
Apostila de algoritimo super básicaApostila de algoritimo super básica
Apostila de algoritimo super básica
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Lógica de Programação - Entrada/saída de dados
Lógica de Programação - Entrada/saída de dadosLógica de Programação - Entrada/saída de dados
Lógica de Programação - Entrada/saída de dados
 
Algoritmos - Aula 04 A - Principios de Resolucao de Problemas
Algoritmos - Aula 04 A - Principios de Resolucao de ProblemasAlgoritmos - Aula 04 A - Principios de Resolucao de Problemas
Algoritmos - Aula 04 A - Principios de Resolucao de Problemas
 
Como usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramasComo usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramas
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
 
Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1
 
Análise descritiva e introdução à análise inferencial
Análise descritiva e introdução à análise inferencial Análise descritiva e introdução à análise inferencial
Análise descritiva e introdução à análise inferencial
 
Primeira aula sp1
Primeira aula sp1Primeira aula sp1
Primeira aula sp1
 
Aula de programacao_final.dizando
Aula de programacao_final.dizandoAula de programacao_final.dizando
Aula de programacao_final.dizando
 
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
 
Aula 2 - Lógica de Programação
Aula 2 - Lógica de ProgramaçãoAula 2 - Lógica de Programação
Aula 2 - Lógica de Programação
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Aula 13 - Matrizes
Aula 13 - MatrizesAula 13 - Matrizes
Aula 13 - Matrizes
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 

Semelhante a Algoritmos e Estruturas de Dados

Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...Manuel Menezes de Sequeira
 
Exercícios de avaliação 01 professor
Exercícios de avaliação 01 professorExercícios de avaliação 01 professor
Exercícios de avaliação 01 professorpronatecvja
 
Primeira aula sp1
Primeira aula sp1Primeira aula sp1
Primeira aula sp1gastaovalle
 
Erro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuanteErro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuanteAlexandre Grossi
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxPaulo Cardoso
 
Apostila matemática aplicada
Apostila matemática aplicadaApostila matemática aplicada
Apostila matemática aplicadaMarcos Nori
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoMauro Pereira
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturadodasko
 
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentáriosICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentáriosFelipe J. R. Vieira
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 

Semelhante a Algoritmos e Estruturas de Dados (20)

Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Aula 03
Aula 03Aula 03
Aula 03
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
 
Exercícios de avaliação 01 professor
Exercícios de avaliação 01 professorExercícios de avaliação 01 professor
Exercícios de avaliação 01 professor
 
Primeira aula sp1
Primeira aula sp1Primeira aula sp1
Primeira aula sp1
 
FC-Logic
FC-LogicFC-Logic
FC-Logic
 
01 logica
01 logica01 logica
01 logica
 
Erro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuanteErro na aritmética de ponto flutuante
Erro na aritmética de ponto flutuante
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
 
Lógica de programação
Lógica de programaçãoLógica de programação
Lógica de programação
 
Modulo02
Modulo02Modulo02
Modulo02
 
Apostila matemática aplicada
Apostila matemática aplicadaApostila matemática aplicada
Apostila matemática aplicada
 
Aula03
Aula03Aula03
Aula03
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentáriosICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
ICC - Aula 02 - Algoritmo estruturado, constantes, variáveis e comentários
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 

Último

FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresAnaCarinaKucharski1
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfElianeElika
 

Último (20)

FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
 

Algoritmos e Estruturas de Dados

  • 1. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Algoritmos e Estruturas de Dados Introdu¸c˜ao Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> V´ıdeoaulas, exemplos e exerc´ıcios em linguagem C, acesse www.mathgraph.com.br 26 de fevereiro de 2016
  • 2. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Sum´ario 1 Introdu¸c˜ao 2 Estrutura Sequencial 3 Estrutura Condicional se... ent˜ao se ... sen˜ao ... 4 Estruturas de Repeti¸c˜ao enquanto... fa¸ca para... at´e... fa¸ca repita... at´e... 5 Estruturas Homogˆeneas de Dados Vetor Matriz Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 2/37
  • 3. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Algoritmos computacionais Defini¸c˜ao Segundo Cormem (2001) um algoritmo computacional pode ser entendido como“... qualquer procedimento computacional bem definido que toma algum valor ou conjunto de valores como entrada e produz algum valor ou conjunto de valores como sa´ıda. Portanto, um algoritmo ´e uma sequˆencia de passos computacionais que transformam a entrada na sa´ıda”. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 3/37
  • 4. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Algoritmos computacionais Outras defini¸c˜oes • ”Algoritmo ´e uma sequˆencia de passos que visa atingir um objetivo bem definido”(FORBELLONE, 1999) • “Algoritmo ´e a descri¸c˜ao de uma seq¨uˆencia de passos que dever ser seguida para a realiza¸c˜ao de uma tarefa” (ASCENCIO, 2007) • “Algoritmo ´e uma sequˆencia finita de instru¸c˜oes ou opera¸c˜oes cuja execu¸c˜ao, em tempo finito, resolve um problema computacional, qualquer que seja sua instˆancia”(SALVETTI, 1999) Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 4/37
  • 5. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Algoritmos computacionais Outras defini¸c˜oes • “Algoritmo s˜ao regras formais para a obten¸c˜ao de um resultado ou da solu¸c˜ao de um problema, englobando f´ormulas de express˜oes aritm´eticas”(MANZANO, 1997) • “A¸c˜ao ´e um acontecimento que, a partir de um estado inicial, ap´os um per´ıodo de tempo finito, produz um estado final previs´ıvel e bem-definido. Portanto, um algoritmo ´e a descri¸c˜ao de um conjunto de comandos que, obedecidos, resultam numa sucess˜ao finita de a¸c˜oes”(FARRER, 1999) Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 5/37
  • 6. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Algoritmos computacionais Continua¸c˜ao Um algoritmo ´e como uma“receita de bolo”para o computador, onde est˜ao definidos todos os comandos que ele deve executar p ara se chegar a um resultado. Da´ı, temos que, o algoritmo ´e uma sequˆencia de instru¸c˜oes, onde cada instru¸c˜ao representa uma A¸C˜AO que deve ser entendida e realizada. Em algoritmos computacionais, o computador possui um conjunto limitado de instru¸c˜oes e o algoritmo deve ser expresso nos termos destas instru¸c˜oes. O computador utiliza dois conceitos b´asicos para construir e interpretar algoritmos, s˜ao eles: • Estruturas de Dados → para manipula¸c˜ao das informa¸c˜oes • Estruturas de Controle → para manipula¸c˜ao das a¸c˜oes Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 6/37
  • 7. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Tipos de Algoritmos Descri¸c˜ao Narrativa A descri¸c˜ao narrativa consiste em analisar o enunciado do problema e escrever, utilizando um linguagem natural (por exemplo, a l´ıngua portuguesa), os passos a serem seguidos para resolu¸c˜ao do problema (semelhante a escrever uma receita). • Vantagem: N˜ao ´e necess´ario aprender nenhum conceito novo, pois uma l´ıngua natural j´a ´e bem conhecida. • Desvantagem: A linguagem natural (n˜ao padronizada e informal) abre espa¸co para v´arias interpreta¸c˜oes. Ser´a mais dif´ıcil estrutur´a-la e transcrever este algoritmo para uma linguagem de programa¸c˜ao. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 7/37
  • 8. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Tipos de Algoritmos Fluxograma Analisar o enunciado do problema e escrever, utilizando s´ımbolos gr´aficos pr´e-definidos, os passos a serem seguidos para a resolu¸c˜ao do problema. • Vantagem: Vis˜ao geral do fluxo de processamento. • Desvantagem: ´E necess´ario aprender a simbologia dos fluxogramas e, al´em disso o algoritmo resultante n˜ao apresenta muitos detalhes, dificultando sua transcri¸c˜ao para uma linguagem de programa¸c˜ao. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 8/37
  • 9. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Tipos de Algoritmos Fluxograma Os s´ımbolos utilizados para representar o uso em fluxograma podem variar dependendo do autor. A seguir ´e apresentada a lista de s´ımbolos a ser utilizada nas aulas deste curso. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 9/37
  • 10. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Tipos de Algoritmos Pseudoc´odigo Consiste em analisar o enunciado do problema e escrever, por meio de regras predefinidas, os passos a serem seguidos para a resolu¸c˜ao do problema. • Vantagem: A passagem (transcri¸c˜ao) do algoritmo para uma linguagem de programa¸c˜ao ´e quase imediata, bastando conhecer as regras e palavras reservadas da linguagem que ser´a utilizada. • Desvantagem: ´E necess´ario aprender as regras para se escrever um algoritmo corretamente. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 10/37
  • 11. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Estruturas de Dados Defini¸c˜ao Uma estrutura de dados ´e um meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modifica¸c˜oes. Nenhuma estrutura de dados ´unica funciona bem para todos os prop´ositos, e assim ´e importante conhecer os pontos fortes e as limita¸c˜oes de v´arias delas (CORMEN, 2001) As estruturas de dados representam as informa¸c˜oes do problema a ser resolvido. Tais estruturas est˜ao organizadas em tipos distintos de informa¸c˜oes. Dentro do escopo das estruturas de dados, define-se os seguintes termos: Constante, Vari´avel e Identificador. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 11/37
  • 12. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Estruturas de Dados Constantes Representam valores constantes, ou seja, que n˜ao variam no decorrer do algoritmo. Exemplo 1: Seja x = 2, efetuando as seguintes opera¸c˜oes: y = x → y = 2 A = 3x + 5x → A = 3*(2) + 5 * 2 → A = 16 Exemplo 2: Seja PI = 3,14, efetuando as seguintes opera¸c˜oes: A = PI .*1 → A = 3,14 A = PI * 2 → A = 6,28 A = PI * 3 → A = 9,42 Nos exemplos 1 e 2, tanto o valor de x quanto PI n˜ao variam a medida que as opera¸c˜oes s˜ao executadas. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 12/37
  • 13. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Estruturas de Dados Vari´aveis Representam informa¸c˜oes cujos valores s˜ao modificados ao longo do tempo. Exemplo 1: Deseja-se saber o sal´ario de um funcion´ario considerando que ele recebe R$ 1.000, 00 por mˆes, supondo que teve um aumento de 20% e deve-se descontar 8% de INSS do novo sal´ario, qual ser´a o sal´ario l´ıquido? Resposta: salario = 1.000 reajuste = salario * 0,2 salario = salario + reajuste imposto = salario * 0,08 salario = salario - imposto Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 13/37
  • 14. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Estruturas de Dados Vari´aveis Matematicamente, vari´avel ´e a representa¸c˜ao simb´olica dos elementos de um certo conjunto. Computacionalmente, pode-se definir vari´avel como um local reservado na mem´oria do computador usado para armazenar dados. Uma vari´avel possui nome (identificador) e tipo, possui apenas um valor em um determinado instante, mas seu conte´udo pode variar ao longo do tempo. O conceito de vari´avel, em computa¸c˜ao, corresponde a posi¸c˜oes de mem´oria RAM (Random Access Memory) onde s˜ao armazenados os dados manipulados pelo programa quando este for executado. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 14/37
  • 15. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Estruturas de Dados Identificador Nome de um local onde se pode colocar qualquer valor do conjunto de valores poss´ıveis de um tipo b´asico associado. Usado para manipular os dados necess´arios no algoritmo. O identificador ´e tamb´em usado para rotular valores constantes, assim como o nome PI, utilizado no exemplo 2, em constantes (o identificador PI foi utilizado para representar o valor constante 3,14). Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 15/37
  • 16. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Estruturas de Dados Regras para forma¸c˜ao de identificadores 1 Come¸car sempre o nome com uma letra ou o caractere sublinhado“ ”; 2 N˜ao usar espa¸cos em branco, pontua¸c˜ao, acentos nem caracteres especiais (@, #, ?, $, etc); 3 N˜ao usar palavras reservadas, ou seja, palavras que perten¸cam a linguagem de programa¸c˜ao que estiver sendo usada (ex: if, for, case, int, etc). Importante: Um identificador deve representar o melhor poss´ıvel o papel da vari´avel no algoritmo Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 16/37
  • 17. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Estruturas de Dados Identificadores v´alidos 1 nota, nota1, nota 1, operador, salario, nome, x, y, enderecoResidencial, 2 aluno01, preco produto, Area, Tensao A, tensao B, media, soma, S. Identificadores inv´alidos 1 1K, nota 1, sal´ario, x@1, y%2, aluno 01, preco produto. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 17/37
  • 18. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Tipos Primitivos de Dados Num´ericos 1 Inteiros. Ex: ...-100... -2, -1, 0, 1, 2, ..., 100, ... 2 Reais. Ex: ... -100, ..., -50.2, ..., -2, ..., -1.5, ..., 0, ..., 1, ..., 2, ..., 25.12, Literal Caractere ou alfanum´ericos. Ex: “ESCOLA”,“livro”,“18”, “R$ 55,36”, ... L´ogicos ou booleanos Assume um estado: verdadeiro (V) ou falso (F) Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 18/37
  • 19. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Tipos Primitivos de Dados Declara¸c˜ao ´E a cria¸c˜ao (ou defini¸c˜ao) do identificador da vari´avel (ou constante) que ser´a utilizado no algoritmo. Esta vari´avel ser´a utilizada para a manipula¸c˜ao de um determinado tipo de dado. Formato tipo do dados: identificador; tipo do dado: identificador1, identificador2, . . . , identificadorn 1 Todas as vari´aveis utilizadas em algoritmos ser˜ao definidas no in´ıcio do mesmo, por meio de um comando de uma das formas seguintes: 2 Em uma mesma linha podem ser denidas uma ou mais vari´aveis do mesmo tipo, separando-se os nomes das mesmas por v´ırgulas. 3 Vari´aveis de tipos diferentes devem ser declaradas em linhas diferentes. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 19/37
  • 20. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Tipos Primitivos de Dados Exemplos inteiro: idade; real: salario; caracter: nome; l´ogico: temFilhos; No exemplo, foram declaradas quatro vari´aveis, sendo elas: • Vari´avel nome: capaz de armazenar dados literais; • Vari´avel idade: capaz de armazenar um n´umero inteiro; • Vari´avel salario: capaz de armazenar um n´umero real; • Vari´avel temFilhos: capaz de armazenar um valor l´ogico, verdadeiro (V) ou falso (F). Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 20/37
  • 21. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Comandos b´asico Tabela: Comandos em pseudoc´odigo Comando Fun¸c˜ao Exemplo ← atribui um valor a uma vari´avel x ← 2 leia obter um valor informado externo e atribuir a uma vari´avel leia x; escreva mostrar algo, que pode ser uma vari´avel, texto ou ambos escreva x; escreva ”mensagem de teste”; Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 21/37
  • 22. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Estrutura Sequencial Sobre a estrutura Na estrutura sequencial os comandos s˜ao executados numa sequˆencia pr´e-estabelecida. Cada comando ´e executado somente ap´os o t´ermino do comando anterior. Em pseudoc´odigos, a estrutura sequencial caracteriza-se por um conjunto de comandos dispostos ordenadamente. Formato in´ıcio tipo: vari´avel1, vari´avel2, . . . ; //declara¸c˜ao das vari´avieis leia vari´avel1, vari´avel2; //dados de entrada comandos/a¸c˜oes; //a¸c˜oes a serem executadas escreva“Mensagem pr´e-determinada”, vari´avel; //dados de sa´ıda fim. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 22/37
  • 23. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Estruturas Condicional Finalidade Utilizada quando o problema apresenta alguma ou algumas condi¸c˜oes. Em problemas que apresentam classifica¸c˜ao, compara¸c˜ao, verifica¸c˜ao, restri¸c˜ao, e outras situa¸c˜oes que existam condi¸c˜oes a serem observadas. Classifica¸c˜ao: 1 Simples 2 Composta Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 23/37
  • 24. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Condicional Simples Pseudoc´odigo se (condi¸c˜ao) ent˜ao comandos/a¸c˜oes; fimse; Caracter´ısticas: • A a¸c˜ao ser´a executada apenas se a condi¸c˜ao for verdadeira. • A a¸c˜ao ou a¸c˜oes a serem executadas s˜ao escritas depois da palavra ent˜ao e antes de fimse. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 24/37
  • 25. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Condicional Composta Pseudoc´odigo se (condi¸c˜ao) ent˜ao comando1; sen˜ao comando2; fimse; Funcionamento: Se a condi¸c˜ao for verdadeira, ser´a executado o comando1; caso contr´ario, se a condi¸c˜ao for falsa, ser´a executado o comando2. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 25/37
  • 26. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Sele¸c˜ao de M´ultipla Escolha Finalidade Utilizada para simplificar a escrita de sele¸c˜oes encadeadas se-sen˜ao-se. Pseudoc´odigo escolha X V1: C1; V2: C2; . . . Vn: Cn; fimescolha; Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 26/37
  • 27. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Estruturas de Repeti¸c˜ao Finalidade Permitem executar mais de uma vez (repetir) um determinado trecho do algoritmo • O trecho do algoritmo em repeti¸c˜ao ´e tamb´em chamado de la¸co (ou“loop”) • As repeti¸c˜oes devem ser sempre finitas Quanto a quantidade de repeti¸c˜oes, os la¸cos podem ser 1 Pr´e-determinados: Sabe-se antes a quantidade de execu¸c˜oes 2 Indeterminados: N˜ao se conhece a quantidade de execu¸c˜oes Quanto ao crit´erio de parada, os la¸cos podem utilizar 1 Vari´avel de controle 2 Teste no in´ıcio 3 Teste no final Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 27/37
  • 28. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Estruturas de Repeti¸c˜ao enquanto... fa¸ca • La¸co que verifica antes de cada execu¸c˜ao, se ´e“permitido” executar o trecho do algoritmo • O la¸co acontece enquanto uma dada condi¸c˜ao permanecer verdadeira Pseudoc´odigo enquanto(condi¸c˜ao) fa¸ca comandos/a¸c˜oes; fimenquanto; Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 28/37
  • 29. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Estruturas de Repeti¸c˜ao Exemplo: Fa¸ca um algoritmo que leia a nota de cada aluno de uma turma com 50 alunos, em seguida apresente a m´edia da turma. in´ıcio real: mediaTurma, somaNotas, nota; inteiro: i; //contador i ← 0; //inicializa¸c˜ao do contador somaNotas ← 0; //inicializaodoacumulador enquanto (i < 50) fa¸ca // teste da condi¸c˜ao de parada leia nota; //soma em somaNotas os valores lidos em nota somaNotas ← somaNotas + nota ; i ← i + 1; //incremento do contador fimenquanto; mediaTurma ← somaNotas / 50; // c´alculo da m´edia da turma escreva“m´edia da turma =“, mediaTurma; fim. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 29/37
  • 30. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Estruturas de Repeti¸c˜ao para... at´e... fa¸ca • Utilizada somente em casos nos quais a quantidade de repeti¸c˜oes previamente conhecida. • Incorpora internamente o funcionamento de um contador para controlar a quantidade de la¸cos Pseudoc´odigo para v de vi at´e vf passo p fa¸ca comandos/a¸c˜oes; fimpara; • v: vari´avel de controle • vi : valor inicial de v • vf : valor final de v • p: varia¸c˜ao de v Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 30/37
  • 31. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Estruturas de Repeti¸c˜ao repita... at´e... • A verifica¸c˜ao se ´e permitido repetir a a¸c˜ao ocorre no final da estrutura • Trata-se de um la¸co que se mant´em repetindo at´e que uma dada condi¸c˜ao se torne verdadeira Pseudoc´odigo repita comandos/a¸c˜oes; at´e (condi¸c˜ao); Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 31/37
  • 32. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Estruturas de Repeti¸c˜ao Compara¸c˜ao ´E importante perceber que existem la¸cos mais adequados ou convenientes para cada situa¸c˜ao Tabela: Compara¸c˜ao entre Estruturas de Repeti¸c˜ao Estrutura Condi¸c˜ao Qtd. de Execu¸c˜oes Condi¸c˜ao de Existˆencia enquanto ... in´ıcio zero ou muitas verdadeira para ... in´ıcio valor final - valor inicial verdadeira repita ... final m´ınimo uma falsa Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 32/37
  • 33. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Estrutura Homogˆenea de Dados Defini¸c˜ao • Estruturas homogˆeneas de dados possibilitam o armazenamento de grupos de valores em uma ´unica vari´avel que ser´a armazenada na mem´oria do computador. • S˜ao ditas homogˆeneas porque os valores a serem armazenados devem ser do mesmo tipo. • Entre outros nomes que estas estruturas recebem, iremos cham´a-las de vetores e matrizes. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 33/37
  • 34. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Vetor Vetor - Arranjo Unidimensional • Um vetores ´e uma vari´avel composta (arranjo) com m´ultiplas posi¸c˜oes. • Podem ser vistos como lista de elementos do mesmo tipo. • S˜ao estruturas lineares e est´aticas, ou seja, s˜ao compostas por um n´umero finito e pr´e-determinado de valores Representa¸c˜ao: Exemplo: Vetor de notas de uma turma com 10 alunos: Notas = 6,1 3,4 9,2 8,5 4,6 8,3 7,4 6,5 10 9,6 Posi¸c˜ao 1 2 3 4 5 6 7 8 9 10 Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 34/37
  • 35. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Vetor Pseudoc´odigo - Declara¸c˜ao tipo: identificador[qtd. de elementos]; Exemplo: Fa¸ca um algoritmo que leia as notas de uma turma com 50 alunos e mostre o vetor resultante. inicio inteiro: i, notas[50]; para i de 1 at´e 50 passo 1 fa¸ca escrever ”Entre com um valor: ”; ler notas[i]; fimpara; para i de 1 at´e 50 passo 1 fa¸ca escrever notas[i]; fimpara; fim. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 35/37
  • 36. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Matriz Matriz - Array Bidimensional Uma matriz ´e uma vari´avel composta homogˆenea bidimensional formada por elementos do mesmo tipo, alocados sequencialmente na mem´oria, organizada em linhas e colunas. Representa¸c˜ao: Aluno 6,1 3,4 9,2 8,5 4,6 8,3 7,4 6,5 10 9,6 1 Turma 5,6 3,1 8 4,5 7 6 7,3 9,8 6,7 8 2 8,6 9 5,5 8,4 3,5 7,3 8,9 8,1 5,7 7 3 1 2 3 4 5 6 7 8 9 10 Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 36/37
  • 37. l ´o g i c a d e p r o g r a m a ¸c ˜a o m a t h g r a p h Matriz Pseudoc´odigo - Declara¸c˜ao tipo: identificador[qtd. linha][qtd. coluna]; Exemplo: Fa¸ca um algoritmo que leia as notas de 5 turmas, cada turma com 50 alunos, e mostre a matriz resultante. inicio inteiro i, j; real notas[5][50]; para i de 1 at´e 5 passo 1 fa¸ca para j de 1 at´e 50 passo 1 fa¸ca escreva ”Entre com um valor: ”; leia notas[i][j]; fimpara; fimpara; para i de 1 at´e 5 passo 1 fa¸ca para j de 1 at´e 50 passo 1 fa¸ca escreva notas[i][j]; fimpara; fimpara; fim. Prof. Sinaide Nunes Bezerra <contato@mathgraph.com.br> — AED — 26 de fevereiro de 2016 37/37