Apostila Elementos de Programação
61 pág.

Apostila Elementos de Programação


DisciplinaElementos de Programação de Computadores5 materiais54 seguidores
Pré-visualização11 páginas
Computer Dicionary, 2002). 
 É possível aprimorarmos ainda mais a técnica de manipulação de informações 
nos algoritmos, usando várias dimensões. Esse é o nosso próximo assunto. 
 
 
 
Elementos de Programação 
SOCIESC \u2013 Sociedade Educacional de Santa Catarina 
15 
3 ARRAYS MULTIDIMENSIONAIS 
 
 Até agora vimos como trabalhar com um grande volume de dados usando 
arrays unidimensionais (ou vetores). Mas em alguns casos, apenas uma dimensão 
não é suficiente para representar adequadamente a informação no algoritmo. Além 
disso, é comum desejarmos associar as informações para a comparação de dados. 
Veja o exemplo que podemos ter (tabela 1): 
 
Tabela 1 \u2013 Associação de informações para comparação de dados 
Vendas Janeiro Vendas Fevereiro 
$ 1.000,00 $ 1.100,00 
$ 2.500,00 $ 2.200,00 
 
 Diante dessa tabela, podemos armazenar as informações em um array 
multidimensional, chamado de matriz, considerando sua abordagem baseada no 
mesmo conceito matemático de matrizes. 
 
3.1 TRABALHANDO COM ARRAYS MULTIDIMENSIONAIS 
 
 A única diferença na declaração de um array multidimensional é a agregação 
de mais um elemento no comando, conforme o comando abaixo em pseudocódigo. 
 
variavel [tipo de dados] [nome] [dimensão1 dimensão2 dimensãoN] 
 Então, podemos declarar um array multidimensional para suportar a tabela de 
vendas exemplo nesta seção usando o seguinte comando: 
variavel real Vendas[2,2] 
 Depois vamos armazenar os dados através dos seguintes comandos: 
Vendas[1,1] \ufffd 1000,00 
Vendas[1,2] \ufffd 2500,00 
Vendas[2,1] \ufffd 1100,00 
Vendas[2,2] \ufffd 2200,00 
Elementos de Programação 
SOCIESC \u2013 Sociedade Educacional de Santa Catarina 
16 
 Na memória, o armazenamento se dará da seguinte forma (figura 5): 
 
 
Figura 5 \u2013 Representação de exemplo de array multidimensional 
 
 
4 APLICAÇÃO PRÁTICA USANDO ARRAY 
 
Vamos considerar agora uma abordagem prática no uso de arrays, com a 
ferramenta Portugol. 
 
4.1 PROBLEMA 
 
 Dado um conjunto de 10 idades, calcule e forneça os seguintes resultados: 
\u2022 Média das idades informadas; 
\u2022 Quantidade de pessoas acima da média calculada; 
\u2022 Quantidade de pessoas abaixo da média calculada. 
 
4.2 SOLUÇÃO 
 
 O número total de entradas que serão fornecidas é informado no problema (10 
idades), portanto a lógica para a leitura de dados deverá ser controlada por um 
contador. Vamos utilizar um laço de repetição com contador automático. 
 Para calcular a média, será necessário receber todas as idades. Depois vamos 
comparar cada entrada de idade usando um vetor de 10 elementos. Vamos utilizar 
dois laços de repetição: um para leitura e soma das idades e o outro para a 
comparação de cada valor armazenado no vetor com a média calculada. 
 
 
 
Elementos de Programação 
SOCIESC \u2013 Sociedade Educacional de Santa Catarina 
17 
4.3 PROCEDIMENTO 
 
1. Executar o software Portugol; 
2. Apague a linha \u201cescrever "PORTUGOL IDE 6-12-2006"\u201d; 
3. Digite o seguinte comentário: 
//Lê o valor das 10 idades, calcula e fornece a média das 
//idades a quantidade de pessoas acima e abaixo da média 
4. Declare as variáveis: 
variavel inteiro idades [ 10 ] , contar , total , acima , abaixo 
variavel real media 
5. Inicialize as variáveis 
total <- 0 
acima <- 0 
abaixo <- 0 
6. Vamos agora declarar o laço de repetição para obter as idades: 
para contar de 0 ate 9 passo 1 
 ler idades [ contar ] 
 total <- total + idades [ contar ] 
proximo 
7. Após receber a entrada de todas as idades, vamos obter a média das 
idades. Insira o seguinte pseudocódigo: 
// Calculando a média 
média <- total / 10 
8. Vamos agora implementar o laço de repetição para separar as idades 
informadas abaixo e acima da média calculada: 
para contar de 0 até 10 passo 1 
 se idades[contar] > média então 
 acima <- acima + 1 
 fimse 
 se idades[contar] < média então 
 abaixo <- abaixo + 1 
 fimse 
Elementos de Programação 
SOCIESC \u2013 Sociedade Educacional de Santa Catarina 
18 
 proximo 
9. Finalmente, vamos apresentar os resultados usando os seguintes 
comandos: 
escrever &quot;Total das Idades: &quot;, total, &quot;\n&quot; 
escrever &quot;Média das Idades: &quot;, média, &quot;\n&quot; 
escrever &quot;Total das Idades Acima: &quot;, acima, &quot;\n&quot; 
escrever &quot;Total das Idades Abaixo: &quot;, abaixo, &quot;\n&quot; 
10. Execute o pseudocódigo usando o comando Executar do menu Algoritmo; 
11. Informe as idades e veja o resutlado do programa (figura 6) 
 
 
Figura 6 \u2013 Janela do Portugol solicitando dados 
 
12. O código final do programa deverá se apresentar conforme abaixo: 
inicio 
 //Lê o valor das 10 idades, calcula e fornece a média das idades 
 //a quantidade de pessoas acima e abaixo da média 
 variavel inteiro idades [ 10 ] , contar , total , acima , abaixo 
 variavel real media 
 total <- 0 
 acima <- 0 
 abaixo <- 0 
 para contar de 0 ate 9 passo 1 
 ler idades [ contar ] 
 total <- total + idades [ contar ] 
 proximo 
 // Calculando a média 
 média <- total / 10 
 // Agora vamos separar as idades informadas que estão abaixo 
Elementos de Programação 
SOCIESC \u2013 Sociedade Educacional de Santa Catarina 
19 
 // e acima da média para contar de 0 até 10 passo 1 
 se idades[contar] > média então 
 acima <- acima + 1 
 fimse 
 se idades[contar] < média então 
 abaixo <- abaixo + 1 
 fimse 
 proximo 
 escrever &quot;Total das Idades: &quot;, total, &quot;\n&quot; 
 escrever &quot;Média das Idades: &quot;, média, &quot;\n&quot; 
 escrever &quot;Total das Idades Acima: &quot;, acima, &quot;\n&quot; 
 escrever &quot;Total das Idades Abaixo: &quot;, abaixo, &quot;\n&quot; 
fim 
 
 
 
SÍNTESE 
 
 Nesta aula realizamos o primeiro passo para o desenvolvimento de soluções 
mais complexas. O uso de arrays é uma abordagem muito comum, principalmente 
em soluções que exigem o tratamento de um grande volume de informações, apesar 
de que também é comum seu uso em pequenas soluções. 
 Veja que o array estende as capacidades de manipulação de dados na 
linguagem e uso, e sua utilização facilita no tratamento de informações de forma 
estruturada. 
O conhecimento em estruturas mais complexas apenas começou. 
Vamos em frente! 
 
 
 
 
 
Elementos de Programação 
SOCIESC \u2013 Sociedade Educacional de Santa Catarina 
20 
EXERCÍCIOS PROPOSTOS 
 
1) Defina vetor e exemplifique. 
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________ 
 
2) Qual a vantagem em utilizarmos um array multidimensional? 
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
_______________ 
 
3) Apresente exemplos de declaração para um vetor e de uma matriz. 
___________________________________________________________________
___________________________________________________________________
_______________ 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Elementos de Programação 
SOCIESC \u2013 Sociedade Educacional de Santa Catarina 
21 
Aula 2 
TRABALHANDO COM REGISTROS 
 
 
Objetivos da aula 
 
Ao final desta aula, você deverá ser capaz de: 
\u2022 Utilizar registros, identificando as suas vantagens; 
\u2022 Construir algoritmos utilizando-se da manipulação de registros;
Tiago
Tiago fez um comentário
Três livros de formatos regulares, cada um com peso W e comprimento a são empilhados como mostrado na figura. Determine a máxima distância d que o livro de cima pode se deslocar em relação ao livro de baixo de modo que a pilha não desmorone:
0 aprovações
Carregar mais