Você está na página 1de 7

DISCIPLINA DE LÓGICA DE PROGRAMAÇÃO

PROFA VERLANI TIMM HINZ

RESOLUÇÃO SUGESTÃO LISTA DE EXERCÍCIOS

MÓDULO 4

IMPORTANTE: na maioria dos


algoritmos propostos existem
outras soluções possíveis.

UNIDADE 1

1) Escreva um algoritmo que armazene em um vetor e imprima os números de


1(inclusive) a 10(inclusive) em ordem decrescente, utilizando vetores.

Algoritmo "Exe_unid1_01"
Var
valores: vetor[1..10] de inteiro
i:inteiro
Inicio
//Preenchendo o vetor
para i de 10 ate 1 passo -1 faca
valores[i]:=i
fimpara

//mostra os valores armazenados no vetor


para i de 10 ate 1 passo -1 faca
escreval(valores[i])
fimpara
Fimalgoritmo

2) Escreva um algoritmo que armazene em um vetor e imprima os 10 números


pares que sejam menores que 20.
Algoritmo " Exe_unid1_02"
Var
valores:vetor[0..9] de inteiro
i, aux:inteiro
Inicio
aux:=0 //serve para contar os 10 valores armazenados no
vetor
//Preenchendo o vetor
para i de 0 ate 19 faca

//testa se o número é par, ou seja, se //dividido por 2 o


resto for zero
se i mod 2 = 0 entao
valores[aux]:=i
aux:=aux+1
fimse
fimpara

//mostra os valores armazenados no vetor


para i de 0 ate 9 faca
escreval(valores[i])
fimpara
Fimalgoritmo

3) Escreva um algoritmo que armazene 6 valores em um vetor e mostre o menor e


o maior deles.
Algoritmo "Exe_unid1_03"
Var
valores: vetor[0..5] de Real
i: Inteiro
maior, menor: Real

Inicio
//Preenchendo o vetor
Para i de 0 ate 5 faca
Escreva("Digite um valor: ")
Leia(valores[i])
Fimpara

//Inicializando as variáveis
maior := valores[0]
menor:= valores[0]

//procurando o maior e menor valor


Para i de 1 ate 5 faca
se (valores[i] < menor) entao
menor := valores[i]
senao
se (valores[i] > maior) entao
maior := valores[i]
fimse
fimse
Fimpara

4) Escreva um algoritmo em que receba dez números do usuário e armazene em


um vetor a metade de cada número. Após isso, o algoritmo deve imprimir todos os
valores armazenados.
Algoritmo "Exe_unid1_04"

2
Var
valores: vetor[0..9] de Real
i: Inteiro

Inicio
//Preenchendo o vetor
Para i de 0 ate 9 faca
Escreva("Digite um valor: ")
Leia(valores[i])
valores[i]:= valores[i] / 2
Fimpara

//Mostrando os valores armazenados no vetor


Para i de 0 ate 9 faca
Escreval("A metade do valor é:", valores[i])
Fimpara

Fimalgoritmo

UNIDADE 2

1) Crie uma matriz de inteiros com 4 linhas e 6 colunas. Desenvolva as operações:

Algoritmo "Exe_unid2_01"
Var
matriz: vetor[0..3,0..5] de Real
i, j: Inteiro
soma, media, maior, menor, somadiag:real
Inicio

 Preencha_Matriz – lê os dados do usuário;


para i de 0 ate 3 faca
para j de 0 ate 5 faca
escreva("Digite um valor:")
leia(matriz[i,j])
fimpara
fimpara

 Soma_Matriz – soma todos os elementos;


soma:=0
para i de 0 ate 3 faca
para j de 0 ate 5 faca
soma:=soma + matriz[i,j]
fimpara
fimpara
escreva("A soma de todos elementos da matriz
é:",soma)

 Media_Matriz – calcula média da matriz;


soma:=0

3
media:=0
para i de 0 ate 3 faca
para j de 0 ate 5 faca
soma:=soma + matriz[i,j]
fimpara
fimpara
media:=soma/((i+1)*(j+1))
escreva("A média de todos elementos da matriz é:",media)

 Maior_Valor_Matriz – mostra o maior valor da matriz;


maior := matriz[i,j]
para i de 0 ate 3 faca
para j de 0 ate 5 faca
se (matriz[i,j] > maior) entao
maior := matriz[i,j]
fimse
fimpara
fimpara
escreva("O maior valor da matriz é:",maior)

 Menor_Valor_Matriz – mostra o menor valor da matriz;


menor := matriz[i,j]
para i de 0 ate 3 faca
para j de 0 ate 5 faca
se (matriz[i,j] < menor) entao
menor := matriz[i,j]
fimse
fimpara
fimpara
escreva("O menor valor da matriz é:",menor)

 Soma_Diagonal_principal – soma todos elementos da diagonal principal


(i=j);
somadiag:= 0
para i de 0 ate 3 faca
para j de 0 ate 5 faca
se (i=j) entao
somadiag := somadiag+ matriz[i,j]
fimse
fimpara
fimpara
escreva("A soma da diagonal principal é:", somadiag)

 Mostra_itens – mostra quantos itens tem a matriz.


//Como as variáveis i e j foram inicializadas com zero
soma-se 1 para a contagem dos valores
Escreva("O número de itens é:", (i+1)*(j+1))

4
UNIDADE 3

1) Escreva um algoritmo que leia 3 vetores de 10 posições, no primeiro informe o


preço unitário de vários produtos, no segundo a quantidade a ser comprada por
um cliente e no terceiro calcule o total gasto. Ao final escreva os valores do
terceiro vetor.
Algoritmo "Exe_unid3_01"
Var
preco_unit:vetor[0..9]de real
quant:vetor[0..9]de real
total:vetor[0..9]de real
i:inteiro
Inicio

//preenchendo os vetores de preços unitários e quantidades


para i de 0 ate 9 faca
escreva("Digite o preço unitário:")
leia(preco_unit[i])
escreva("Digite a quantidade:")
leia(quant[i])
escreval("")
fimpara

//preenchendo o vetor de totais e escrevendo os valores


para i de 0 ate 9 faca
total[i]:=preco_unit[i]*quant[i]
escreval("O total é:", total[i])
fimpara

Fimalgoritmo

2) Dada uma matriz de ordem 4x3 contendo valores numéricos reais. Faça um
algoritmo que calcule e exiba a soma dos números positivos e a soma dos
números negativos.
Algoritmo "Vetores 6 Posições"
Var
matriz:vetor[0..3,0..2] de real
i, j:inteiro
soma_pos, soma_neg:real

Inicio
//preenchendo o vetor
para i de 0 ate 3 faca
para j de 0 ate 2 faca
escreva("Digite um valor:")
leia(matriz[i,j])
fimpara
fimpara

para i de 0 ate 3 faca

5
para j de 0 ate 2 faca
//testa a soma dos positivos
se matriz[i,j] > 0 entao
soma_pos:=soma_pos +matriz[i,j]
fimse

//testa a soma dos negativos


se matriz[i,j] < 0 entao
soma_neg:=soma_neg +matriz[i,j]
fimse
fimpara
fimpara

escreva("A soma dos positivos é:", soma_pos)


escreva("A soma dos positivos é:", soma_neg)
Fimalgoritmo

3) Escreva um algoritmo que leia 2 matrizes 3x4 (3 linhas e 4 colunas), faça a


subtração dos valores dessas 2 matrizes e armazene o resultado em uma terceira
matriz, também de tamanho 3x4 (3 linhas e 4 colunas).
Algoritmo "Exe_unid3_01"
Var
matriz1:vetor[0..2, 0..3]de real
matriz2:vetor[0..2, 0..3]de real
matriz3:vetor[0..2, 0..3]de real
i,j:inteiro
Inicio
//preenchendo a matriz1
para i de 0 ate 2 faca
para j de 0 ate 3 faca
escreva("Digite um valor para a matriz 1:")
leia(matriz1[i,j])
fimpara
fimpara

//preenchendo a matriz2
para i de 0 ate 2 faca
para j de 0 ate 3 faca
escreva("Digite um valor para a matriz 2:")
leia(matriz2[i,j])
fimpara
fimpara

//subtraindo a matriz 1 da matriz 2 e preenchendo //a matriz 3


para i de 0 ate 2 faca
para j de 0 ate 3 faca
matriz3[i,j]:=matriz1[i,j]-matriz2[i,j]
fimpara
fimpara

//mostrando a matriz 3
para i de 0 ate 2 faca
para j de 0 ate 3 faca
escreva("|",matriz3[i,j],"|")

6
fimpara
escreval("")
fimpara
Fimalgoritmo

Você também pode gostar