Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

<p>4ºAula</p><p>VETORES E MATRIZES</p><p>Objetivos de aprendizagem</p><p>Ao término desta aula, vocês serão capazes de:</p><p>• saber como usar vetores;</p><p>• entender o uso de matrizes.</p><p>Olá, pessoal, tudo bem?</p><p>Bem-vindos(as) novamente a nossa disciplina de</p><p>“Algoritmos e Programação”. Na nossa aula de hoje, vamos</p><p>aprender como criar variáveis que armazenam mais de um</p><p>dado simultaneamente. Vamos ver hoje o que são os vetores e</p><p>as matrizes em nossos Algoritmos.</p><p>Leia atentamente esta aula e se tiver alguma dúvida, use a</p><p>sua área do aluno.</p><p>Bons estudos!</p><p>141</p><p>Algoritmos e Programação 26</p><p>1.</p><p>Seções de estudo</p><p>Entendendo os vetores</p><p>2. Entendendo as matrizes</p><p>1 - Entendendo os vetores</p><p>Na nossa primeira aula, vimos como funciona o “bê-a-</p><p>bá” dos algoritmos, você viu como funcionam as variáveis,</p><p>que são espaços reservados de memória, onde cada um deles</p><p>armazenam apenas um dado na memória. Assim, as variáveis</p><p>servem para armazenar apenas um dado de um determinado</p><p>tipo.</p><p>Mas em muitas vezes, uma variável simples não é</p><p>suficiente para armazenar o que queremos. Veja alguns</p><p>contextos em que uma variável simples não adianta:</p><p>• Uma lista de alturas;</p><p>• Um conjunto de idades dos alunos, para apurar</p><p>algumas estatísticas;</p><p>• Conjunto de respostas apuradas;</p><p>• etc.</p><p>Para esses casos, os algoritmos e as linguagens de</p><p>programação nos oferecem a possibilidade de criar variáveis</p><p>compostas homogêneas, que são variáveis que armazenam</p><p>uma quantidade pré-definidas de dados do mesmo tipo. Essas</p><p>variáveis se enquadram em dois tipos. Vetores e Matrizes.</p><p>Nesta seção, vamos estudar os vetores. Na seção a seguir,</p><p>mostraremos o que são as matrizes.</p><p>Para entender isso, suponha uma variável. Uma variável</p><p>só armazena um dado de um determinado tipo. Assim,</p><p>suponha uma variável de nomeada de “idade”. O computador</p><p>entenderá (de uma forma bastante abstrata) essa variável da</p><p>seguinte forma:</p><p>idade: inteiro</p><p>Suponhamos que queremos armazenar dez idades</p><p>em um algoritmo. A primeira opção é criar dez variáveis para</p><p>cada uma das idades que serão armazenadas.</p><p>idade1: inteiro</p><p>idade2: inteiro</p><p>idade3: inteiro</p><p>...</p><p>idade9: inteiro</p><p>idade10: inteiro</p><p>Mas, isso não é a situação ideal. Se quisermos preencher</p><p>o conteúdo de cada uma dessas variáveis, temos que escrever</p><p>explicitamente os comandos de leitura para cada uma dessas</p><p>variáveis, da seguinte forma:</p><p>leia(idade1)</p><p>leia(idade2)</p><p>leia(idade3)</p><p>leia(idade4)</p><p>…</p><p>leia(idade9)</p><p>leia(idade10)</p><p>Outra forma de fazer isso é criar um vetor. Para o autor</p><p>Mamedes (2013) “É um conjunto de variáveis do mesmo</p><p>tipo acessíveis com um único nome. Armazenadas de forma</p><p>contínua e ocupando as posições de forma fixas. Pode-se</p><p>dizer que vetor é uma matriz unidimensional.”</p><p>Assim, ao invés de armazenarmos dez variáveis em um</p><p>mesmo algoritmo, podemos armazenar um vetor de dez</p><p>posições. Essas posições estarão contíguas na memória, da</p><p>seguinte forma:</p><p>idades: vetor [1..10] de inteiro</p><p>1 2 3 4 5 6 7 8 9 10</p><p>Perceba que cada posição recebe um número para o</p><p>seu acesso. Esses números são chamados de índices. Em</p><p>algoritmos, nós definimos uma faixa de valores onde cada</p><p>posição do vetor irá receber. Assim, podemos definir que um</p><p>vetor de 10 posições tenha seus índices os valores entre 101</p><p>a 110:</p><p>idades: vetor [101..110] de inteiro</p><p>101 102 103 104 105 106 107 108 109 110</p><p>Para acessarmos uma das posições desse vetor, indicamos</p><p>o número da posição desejada entre colchetes após o nome</p><p>do vetor. Assim, se quisermos acessar a posição 3 do vetor,</p><p>indicamos da seguinte forma:</p><p>idades[3]</p><p>Para que possamos preencher as posições, há duas</p><p>formas. A primeira delas é indicar explicitamente cada posição</p><p>em uma instrução leia, da seguinte forma:</p><p>leia(idades[1])</p><p>leia(idades[2])</p><p>leia(idades[3])</p><p>leia(idades[4])</p><p>…</p><p>leia(idades[9])</p><p>leia(idades[10])</p><p>Perceba que podemos simplificar isso, usando os laços</p><p>de repetição. Para isso, criamos uma variável que será usada</p><p>para controlar um laço PARA, que percorrerá os índices 1</p><p>a 10 do vetor. Com isso, simplificamos o nosso processo de</p><p>142</p><p>27</p><p>leitura de 10 linhas para apenas 3 linhas.</p><p>para i de 1 ate 10 faca</p><p>leia(idades[i])</p><p>fimpara</p><p>O mesmo se aplica para operações de cálculos e de</p><p>escrita de dados em um vetor. Para exemplificar isso, vamos</p><p>mostrar um algoritmo que leia dez idades e depois procure e</p><p>escreva a maior e a menor idade dentre os dados informados:</p><p>algoritmo “TesteVetor”</p><p>var:</p><p>i: inteiro</p><p>maior: inteiro</p><p>menor : inteiro</p><p>idades: vetor [1..10] de inteiro</p><p>inicio</p><p>para i de 1 ate 10 faca</p><p>escreva(“Digite o valor “, i)</p><p>leia(idades[i])</p><p>fimpara</p><p>//procura o maior e menor elemento</p><p>maior <- idades[1]</p><p>menor <- idades[1]</p><p>para i de 2 ate 10 faca</p><p>se (maior < idades[i]) entao</p><p>maior <- idades[i]</p><p>senao</p><p>se (menor > idades[i]) entao</p><p>menor <- idades[i]</p><p>fimse</p><p>fimse</p><p>fimpara</p><p>escreval(maior)</p><p>escreval(menor)</p><p>fimalgoritmo</p><p>Observe que para fazermos a comparação, inicializamos</p><p>a variável maior e menor com o valor do primeiro elemento</p><p>do vetor. A comparação propriamente dita é feita a partir do</p><p>segundo ao décimo elemento do vetor.</p><p>Além dos vetores, existe outro tipo de variável composta</p><p>homogênea. Veremos sobre ela a seguir.</p><p>2 - Entendendo as matrizes</p><p>Enquanto que os vetores é um conjunto de valores de</p><p>um mesmo tipo, contíguo de forma linear, as matrizes são</p><p>como tabelas. Ela armazena um conjunto de valores de um</p><p>mesmo tipo, mas dispostas em forma de tabela. Em termos</p><p>mais técnicos, podemos entender as matrizes como variáveis</p><p>compostas bidimensionais, pois possuem duas dimensões.</p><p>O exemplo a seguir faz a declaração de uma matriz de</p><p>15 posições, sendo de 3 linhas e 5 colunas, da seguinte forma:</p><p>tabela: vetor[1..3, 1..5] de inteiro</p><p>1 2 3 4 5</p><p>1</p><p>2</p><p>3</p><p>Observe que podemos definir as faixas de valores em</p><p>que os índices ficarão, da maneira que nós quisermos.</p><p>tabela: vetor[61..63, 80..85] de inteiro</p><p>81 82 83 84 85</p><p>61</p><p>62</p><p>63</p><p>Nesse caso, para acessarmos os valores dessa matriz,</p><p>devemos indicar dois índices. O primeiro indica a linha da</p><p>matriz e a segunda indica a coluna da matriz:</p><p>tabela[2,3]</p><p>1 2 3 4 5</p><p>1</p><p>2</p><p>3</p><p>Para percorrermos os seus valores, devemos ter dois</p><p>laços de repetição, sendo que o primeiro cuida da contagem</p><p>das linhas e o segundo cuida da contagem das colunas e acessa</p><p>diretamente a matriz. Observe.</p><p>para linha de 1 ate 5 faca</p><p>para coluna de 1 ate 3 faca</p><p>leia(tabela[linha, coluna])</p><p>fimpara</p><p>fimpara</p><p>Agora que você sabe como funcionam os vetores</p><p>e as matrizes, vamos ver um exemplo que junta esses dois</p><p>conhecimentos que aprendemos nesta aula?</p><p>Os nomes das cinquenta pessoas serão armazenados em</p><p>um vetor chamado de pessoas, da seguinte maneira:</p><p>pessoas: vetor [1..50] de caractere</p><p>1 2 3 4 5 6 ... 48 49 50</p><p>143</p><p>Algoritmos e Programação 28</p><p>ARAÚJO, Everton Coimbra de. Algoritmos:</p><p>fundamentos e prática. 3. ed. Florianópolis: Visual Books,</p><p>2007.</p><p>FARRER, Harry. Algoritmos estruturados. 2. ed. Rio de</p><p>Janeiro: Guanabara Koogan, 1989.</p><p>GUIMARÃES, Angelo de Moura; LAGES, Newton</p><p>Alberto de Castilho. Algoritmos e estrutura de dados. Rio de</p><p>Janeiro: LTC, 2008.</p><p>MANZANO, José Augusto N. G.; OLIVEIRA, Jayr</p><p>Figueiredo de. Algoritmos : lógica para desenvolvimento de</p><p>programação de computadores. 9. ed. São Paulo: Saraiva;</p><p>São Paulo: Érica, 2016.</p><p>SOUZA, Marco Antonio Furlan de; CONCILIO,</p><p>Ricardo; GOMES, Marcelo Marques. et al. Algoritmos e lógica</p><p>de programação : um texto introdutório para engenharia. 2. ed.</p><p>São Paulo: Cengage Learning, 2015.</p><p>Vale a pena ler</p><p>Vale a pena</p><p>Já os salários serão salvos em uma matriz chamada de</p><p>salários, sendo que cada linha dessa matriz representa os</p><p>salários de uma pessoa.</p><p>salarios: vetor[1..50, 1..3] de inteiro</p><p>1 2 3</p><p>1</p><p>2</p><p>3</p><p>...</p><p>49</p><p>50</p><p>Esse algoritmo terá três passos básicos, sendo que para</p><p>cada passo, será empregado um laço ou um conjunto de laços</p><p>de repetição:</p><p>Ler todos os nomes das pessoas;</p><p>Ler todos os salários das pessoas;</p><p>Calcular a média de cada um desses salários.</p><p>Com isso em mente, vamos para o nosso</p><p>algoritmo:</p><p>algoritmo “LeiaPessoa”</p><p>var:</p><p>pessoa, i: inteiro</p><p>soma: inteiro</p><p>media: real</p><p>pessoas: vetor [1..50] de caractere</p><p>salarios: vetor[1..50, 1..3] de</p><p>inteiro</p><p>início</p><p>para pessoa de 1 ate 50 faca</p><p>escreva(“Digite o nome da pessoa</p><p>“, i)</p><p>leia(pessoas[pessoa])</p><p>fimpara</p><p>para pessoa de 1 ate 50 faca</p><p>escreval(“Digite os salários da</p><p>pessoa “, pessoas[pessoa])</p><p>para i de 1 ate 3 faca</p><p>escreva(“Salário “, i)</p><p>leia(salarios[pessoa]</p><p>[i])</p><p>fimpara</p><p>fimpara</p><p>para pessoa de 1 ate 50 faca</p><p>soma <- 0</p><p>para i de 1 ate 3 faca</p><p>soma <- soma +</p><p>salarios[pessoa][i]</p><p>fimpara</p><p>media <- soma / 3</p><p>escreva(“Média de salarios da</p><p>pessoa “, pessoas[pessoa])</p><p>escreva(“ é “, media)</p><p>fimpara</p><p>fimalgoritmo</p><p>E com isso, encerramos a nossa aula sobre vetores e</p><p>matrizes. Na próxima aula, vamos iniciar os nossos estudos a</p><p>respeito das linguagens de programação. Até lá!</p><p>Retomando a aula</p><p>relembrar?</p><p>1 - Entendendo os vetores</p><p>Você viu que os vetores são um conjunto de variáveis do</p><p>mesmo tipo acessíveis com um único nome. Armazenadas de</p><p>forma contínua e ocupando as posições de forma fixas. Pode-</p><p>se dizer que vetor é uma matriz unidimensional.</p><p>2 - Entendendo as matrizes</p><p>Você também viu que as matrizes são como tabelas.</p><p>Ela armazena um conjunto de valores de um mesmo tipo,</p><p>mas dispostas em forma de tabela. Em termos mais técnicos,</p><p>podemos entender as matrizes como variáveis compostas</p><p>bidimensionais, pois possuem duas dimensões.</p><p>144</p><p>29</p><p>ALVES, Gustavo Furtado de Oliveira. O que são</p><p>Vetores e Matrizes (arrays). Dicas de Programação, 2013.</p><p>Disponível em: <https://dicasdeprogramacao.com.br/o-</p><p>que-sao-vetores-e-matrizes-arrays/>. Acesso em 03 out.</p><p>2018.</p><p>AVILA, Walter Marlon Mamedes. Algoritmo: Estrutura</p><p>de vetores e matrizes. Fábrica de Software, 2013. Disponível</p><p>em: <http://fabrica.ms.senac.br/2013/06/algoritmo-</p><p>estrutura-de-vetores-e-matrizes/>. Acesso em 03 out. 2018.</p><p>Vale a pena acessar</p><p>Minhas anotações</p><p>145</p>

Mais conteúdos dessa disciplina