• Nenhum resultado encontrado

ALGORITMOS + PASCAL MODULO 4

N/A
N/A
Protected

Academic year: 2021

Share "ALGORITMOS + PASCAL MODULO 4"

Copied!
7
0
0

Texto

(1)

PROF. MARCIO FERREIRA DE JESUS 1

MODULO 4

7. ESTRTUTURAS DE DADOS HOMEGENIAS... 2

7.1 MATRIZES DE UMA DIMENSÃO OU VETORES ... 2

7.2 MATRIZ DE UMA DIMENSÃO OU VETORES ... 2

7.2.1 CRIANDO A MATRIZ NA ÁREA DE VARIÁVEIS ... 2

7.3 ESCRITA DE DADOS DE UMA MATRIZ ... 3

7.4 CLASSIFICAÇÃO DOS ELEMENTOS DE UMA MATRIZ ... 5

(2)

PROF. MARCIO FERREIRA DE JESUS 2

7 - ESTRUTURAS DE DADOS HOMOGÊNIAS

7.1 - MATRIZES DE UMA DIMENSAO OU VETORES

Também denominado por alguns profissionais como matrizes unidimensionais. Sua utilização esta vinculada a criação de tabelas. Caracteriza-se por ser definida uma única variável dimensionada com um determinado tamanho. A dimensão de uma matriz e constituída por constantes inteiras e positivas. Os nomes dados as matrizes seguem as mesmas regras de nomes utilizados para indicar as variáveis simples.

Exemplo:

Criar um algoritmo para calcular a media de 8 notas de um aluno. ALGORITMO MEDIA_TURMA

VAR

NT1,NT2,NT3,NT4,NT5,NT5,NT6,NT7,NT8,MEDIA:REAL INCIO

ESCREVA “Digite a primeira nota:”;LEIA NT1 ESCREVA “Digite a segunda nota:”;LEIA NT2 ESCREVA “Digite a terceira nota:”;LEIA NT3 ESCREVA “Digite a quarta nota:”;LEIA NT4 ESCREVA “Digite a quinta nota:”;LEIA NT5 ESCREVA “Digite a sexta nota:”;LEIA NT6 ESCREVA “Digite a setima nota:”;LEIA NT67 ESCREVA “Digite a oitava nota:”;LEIA NT8

MEDIA ← (NT1 + NT2 + NT3 + NT4 + NT5 + NT6 + NT7 + NT8 ) 8 ESCREVA “A Media do aluno e:”,MEDIA

FIM

7.2 - MATRIZ DE UMA DIMENSAO OU VETORES

7.2.1 - CRIANDO A MATRIZ NA ÁREA DE VARIÁVEIS:

VAR

MD:CONJUNTO[1..8] DE REAL

<matriz>:CONJUNTO[dimensão] DE <tipo de dado> ONDE:

<matriz> - o nome atribuído a matriz

<dimensão> - o tamanho da matriz, em numero de elementos <tipo de dado> - o tipo de elemento armazenado (inteiro, real, etc..)

(3)

PROF. MARCIO FERREIRA DE JESUS 3 Em Pascal

MD:ARRAY[1..8] OF REAL;

Vamos criar o mesmo programa agora utilizando matriz de uma dimensão. ALGORITMO MEDIA_TURMA VAR MD:CONJUNTO[1..8] DE REAL SOMA,MEDIA:REAL I:INTEIRO INICIO

PARA I DE 1 ATE 8 FACA

ESCREVA “Digite a “,I,”a NOTA DO ALUNO:”;LEIA MD[I] SOMA ← SOMA + MD[I]

FIM-PARA

MEDIA ← SOMA / 8

ESCREVA “A Media do aluno e:”,MEDIA FIM

Veja que o programa ficou mais compacto, alem de possibilitar uma mobilidade maior, pois se houver a necessidade de efetuar o calculo para um numero maior de notas basta dimensionar a matriz e mudar o valor final da instrução PARA. Observe que no exemplo acima, a leitura e processada uma por vez. Desta forma, a matriz e controlada pelo numero do índice que faz com que cada entrada aconteça um uma posição diferente da outra. Assim sendo, a matriz passa a Ter todas as notas. A tabela a seguir, mostra como ficarão os valores armazenados na matriz:

Matriz MD INDICE ELEMENTO 1 4,5 2 6,5 3 8,0 4 3,4 5 6,0 6 7,0 7 6,5 8 6,0

Tem cuidado para não confundir o índice com o elemento. Índice e o endereço de alocação de uma unidade da matriz, enquanto elemento e o conteúdo armazenado em um determinado endereço.

7.3 - ESCRITA DOS DADOS DE UMA MATRIZ

O processo de escrita e bastante parecido com o processo de leitura de seus elementos. Para esta ocorrência devera ser utilizada a instrução ESCREVA seguida da indicação da variável e seu índice. Supondo que após a leitura das 8 notas, houvesse a necessidade de apresentar cada nota?

(4)

PROF. MARCIO FERREIRA DE JESUS 4 ALGORITMO MEDIA_TURMA VAR MD:CONJUNTO[1..8] DE REAL SOMA,MEDIA:REAL I:INTEIRO INICIO

PARA I DE 1 ATE 8 FACA

ESCREVA “Digite a “,I,”a NOTA DO ALUNO:”;LEIA MD[I] SOMA ← SOMA + MD[I]

FIM-PARA

MEDIA ← SOMA / 8 PARA I DE 1 ATE 8 FACA

ESCREVA “As notas são:”,MD[I] FIM-PARA

ESCREVA “A Media do aluno e:”,MEDIA FIM

Criar um programa que efetue a leitura de 10 elementos de uma matriz A tipo vetor. Construir uma matriz B de mesmo tipo, observando a seguinte lei de formação: Se o valor do índice for par, o valor devera ser multiplicado por 5, sendo impar devera ser somado com 5. Ao final mostrar os conteúdos das duas matrizes.

ALGORITMO INDICE_PAR_OU_IMPAR VAR A,B:CONJUNTO[1..10] DE REAL I:INTEIRO INICIO

PARA I DE 1 ATE 10 FACA

ESCREVA “Digite o “,I,”o VALOR DA MATRIZ:”;LEIA A[I] FIM-PARA

PARA I DE 1 ATE 10 FACA SE (I MOD 2) = 0 ENTÃO B[I] ← A[I] * 5 SENÃO B[I] ← A[I] + 5 FIM-SE FIM-PARA

PARA I DE 1 ATE 10 FAÇA

ESCREVA “O conteúdo da 1a. matriz é:”,A[I], “O conteúdo da segunda matriz é:”,B[I] FIM-PARA

FIM

Criar um algoritmo para ler 20 nomes, ao final da leitura liste os 20 nomes. ALGORITMO LISTA_NOMES

VAR

NOME:CONJUNTO[1..20] DE TEXTO I:INTEIRO

(5)

PROF. MARCIO FERREIRA DE JESUS 5 INICIO

PARA I DE 1 ATE 20 FAÇA

ESCREVA “Digite o “,I,”º NOME:”;LEIA NOME[I] FIM-PARA

PARA I DE 1 ATE 20 FAÇA

ESCREVA “O nome é:”,NOME[I] FIM-PARA

FIM

7.4 - CLASSIFICAÇÃO DOS ELEMENTOS DE UMA MATRIZ

Tendo feito o programa anterior séria muito útil que antes de apresentá-los, o programa efetuasse o processamento da classificação alfabética, apresentando os nomes em ordem independente daquela em que foram informados, facilitando desta forma a localização de algum nome, quando for efetuada uma pesquisa visual.

Existem vários métodos para se obter ordenação de elementos de uma matriz. Vamos observar um método muito simples. Este método de ordenação consiste na comparação de cada elemento com todos os elementos subseqüentes existentes depois dele. Sendo o elemento comparado menor para ordenação decrescente, ou maior para ordenação crescente que o atual, este será trocado de posição com o outro. A ordenação considerada é alfabética, devendo esta ser crescente, ou seja de A até Z.

Vamos supor a tabela abaixo:

QUANDO I FOR J SERÁ

1 2,3,4,5,6,7,8,9...20 2 3,4,5,6,7,8,9...20 3 4,5,6,7,8,9...20 4 5,6,7,8,9...20 5 6,7,8,9...20 6 7,8,9...20 7 8,9...20 8 9...20 .. ....,20 19 20

O primeiro a ser observado é a utilização de uma segunda variável para controlar o índice subseqüente no processo de ordenação, no caso a variável J. Observe que a variável I é iniciada pela instrução para como Ide 1, e no segundo pela instrução para que está sendo encadeada à primeira e iniciando a variável J como J de I + 1. Isto implica na segunda seqüência, observe que somente quando a variável J atinge o valor de 20 é que este looping se encerra, retornando ao looping da variável I, acrescentando mais um em I até que atinja o seu limite e ambos os looping sejam encerrados.

Quando a variável I for 1, a variável J será 2 e contará até 20. Ao final deste ciclo, a variável I é acrescentada de mais 1 tornando-se 2, assim sendo a variável J passa a ser 3. Quando a variável J voltar a ser 20 novamente, a variável I passa a ser 3 e a variável J passa a ser 4. Este ciclo irá ser executado até que por fim a variável I seja 19 e a variável J seja 20, onde será comparado o penúltimo elemento com o seu elemento subseqüente, no caso, o último.

(6)

PROF. MARCIO FERREIRA DE JESUS 6 O segundo ponto a ser observado é o fato da utilização do algoritmo de troca, utilizado junto da instrução de decisão, conforme observado abaixo:

X ← NOME[I]

NOME[I] ← NOME[J] NOME[J] ← X

Vamos refazer o algoritmo anterior, ordenando os nomes e imprimindo a matriz ordenada. ALGORITMO LISTA_NOME_ORDENADA VAR NOME:CONJUNTO[1..20] DE TEXTO I,J:INTEIRO X: TEXTO INICIO

{Rotina de entrada de Dados} PARA I DE 1 ATE 20 FAÇA

ESCREVA “Digite o “,I,”º NOME:”;LEIA NOME[I] FIM-PARA

{Rotina de processamento de ordenação} PARA I DE 1 ATE 19 FAÇA

PARA J DE I + 1 ATE 20 FAÇA SE (NOME[I] > NOME[J] ENTÃO X ← NOME[I] NOME[I] ← NOME[J] NOME[J] ← X FIM-SE FIM-PARA FIM-PARA

{Rotina de saída com dados ordenados} PARA I DE 1 ATE 20 FAÇA

ESCREVA “O nome é:”,NOME[I] FIM-PARA

(7)

PROF. MARCIO FERREIRA DE JESUS 7

7.5 - EXERCÍCIOS

1 – Criar um algoritmo para ler dez elementos de matriz. Imprima os dez elementos.

2 – Criar um algoritmo para ler oito elementos de uma matriz A, construir uma matriz B de mesma dimensão com os elementos da matriz A multiplicados por 3. Apresentar a matriz B

3 – Criar um algoritmo para ler duas matrizes A e B com vinte elementos. Construir uma matriz C, onde cada elemento de C é a subtração do elemento corresponde de A com B, atenção não poderá existir resultados negativos.

4 – Criar um algoritmo para ler duas matrizes A e B com quinze elementos cada. Construir uma matriz C, sendo esta a junção das duas outras matrizes. Desta forma, C deverá ter o dobro de elementos de A e B.

5 – Criar um algoritmo par ler 8 elementos de uma matriz, colocá-los em ordem decrescente e apresenta os elementos ordenados.

6 – Ler 20 elementos de uma matriz A tipo vetor e construir uma matriz B de mesma dimensão com os mesmos elementos de A, sendo que estes deverão estar invertidos, ou seja, o primeiro elemento de A passa a ser o último de B, o segundo elemento de A passa a ser o penúltimo de B e assim por diante. Apresentar as matrizes A e B.

7 – Ler 15 elementos de uma matriz A do tipo vetor. Construir uma matriz B de mesmo tipo, observando a seguinte lei de formação: “Todo elemento de B deverá ser o quadrado do elemento de A correspondente”. Apresentar a matriz B.

8 – Ler duas matrizes do tipo vetor A com 20 elementos e B com 30 elementos. Construir uma matriz C, sendo esta a junção das duas outras matrizes. Desta forma, C deverá ter a capacidade de armazenar 50 elementos. Apresentar a matriz C.

9 - Ler uma matriz A do tipo vetor com 15 elementos. Construir uma matriz B do mesmo tipo, sendo que cada elemento de matriz B seja o fatorial do elemento correspondente da matriz A . Apresentar a matriz B.

Referências

Documentos relacionados

Dois (10%) responderam que não possuem preferência. Os que preferem a mídia digital justificaram a preferencia por geralmente os jogos nesse formato são mais baratos. E

Inicialmente é feito um resumo de matrizes, no Capítulo 3, diagonalização de ma- trizes, se cria o ambiente inicial das condições para se calcular as raízes de matrizes, no Capítulo

As hospitalizações por lesões autoprovocadas intencionalmente na Bahia nessa série histórica ocorreram em sua maioria em homens, sendo o álcool o mecanismo de lesão predominante;

Ao longo do livro, você poderá notar que a maioria das receitas leva ou azeite de oliva ou manteiga como gordura para cozinhar - e estas são excelentes fontes de gordura.. Porém,

identificação “C M” refere-se aos sobrenomes dos proprietários dos imóveis, e que os serviços da corré foram contratados para a Fazenda ---, que não é de sua propriedade; que

PARÁGRAFO TERCEIRO - O valor das multas aplicadas deverá ser recolhido no prazo de 5 (cinco) dias, a contar da data da notificação. Se o valor da multa não for pago, ou depositado,

A administração é responsável pela elaboração e adequada apresentação das demonstrações contábeis de acordo com as práticas contábeis adotadas no Brasil, aplicáveis

Disciplinar o processo de Seleção de bolsistas e não bolsistas para participarem do PROGRAMA DE EDUCAÇÃO TUTORIAL (PET) CONEXÕES DE SABERES PESQUISA E EXTENSÃO EM ESPAÇOS SÓCIOS