Prévia do material em texto
Lista de Exercícios
Curso de Lógica e Técnicas de Programação
Prof. Marcelo Cabral
Portugol:
1. Escreva um algoritmo que leia uma matriz 4x4 de números e o exiba na tela.
algoritmo "matriz_numeros"
// Seção de Declarações
var
numeros : vetor [1..4,1..4] de inteiro
contador1,contador2,indice : inteiro
inicio
// Seção de Comandos
//leitura
indice <- 1
para contador1 de 1 ate 4 passo 1 faca
para contador2 de 1 ate 4 passo 1 faca
escreva("Digite o ",indice,"º elemento da matriz numeros:")
leia(numeros[contador1,contador2])
indice <- indice + 1
fimpara
fimpara
//exibição
para contador1 de 1 ate 4 passo 1 faca
para contador2 de 1 ate 4 passo 1 faca
escreva(numeros[contador1,contador2]," ")
fimpara
escreval("")
fimpara
fimalgoritmo
2. Escreva um algoritmo que leia uma matriz 2x2 de palavras e o exiba na tela.
algoritmo "matriz_palavras"
// Seção de Declarações
var
palavras : vetor [1..2,1..2] de caractere
contador1,contador2,indice : inteiro
inicio
// Seção de Comandos
//leitura
indice <- 1
para contador1 de 1 ate 2 passo 1 faca
para contador2 de 1 ate 2 passo 1 faca
escreva("Digite o ",indice,"º elemento da matriz palavras:")
leia(palavras[contador1,contador2])
indice <- indice + 1
fimpara
fimpara
//exibição
para contador1 de 1 ate 2 passo 1 faca
para contador2 de 1 ate 2 passo 1 faca
escreva(palavras[contador1,contador2]," ")
fimpara
escreval("")
fimpara
fimalgoritmo
3. Escreva um algoritmo que leia uma matriz 5x5 de números e exiba cada linha em separado.
algoritmo "matriz_numeros_linha_separado"
// Seção de Declarações
var
numeros : vetor [1..5,1..5] de inteiro
contador1,contador2,indice : inteiro
inicio
// Seção de Comandos
//leitura
indice <- 1
para contador1 de 1 ate 5 passo 1 faca
para contador2 de 1 ate 5 passo 1 faca
escreva("Digite o ",indice,"º elemento da matriz numeros:")
leia(numeros[contador1,contador2])
indice <- indice + 1
fimpara
fimpara
//exibição
para contador1 de 1 ate 5 passo 1 faca
escreva("A linha",contador1,": ")
para contador2 de 1 ate 5 passo 1 faca
escreva(numeros[contador1,contador2]," ")
fimpara
escreval("")
escreval("")
fimpara
fimalgoritmo
4. Escreva um algoritmo que leia uma matriz 5x5 de números e exiba cada coluna em
separado.
algoritmo "matriz_numeros_coluna_separado"
// Seção de Declarações
var
numeros : vetor [1..5,1..5] de inteiro
contador1,contador2,indice : inteiro
inicio
// Seção de Comandos
//leitura
indice <- 1
para contador1 de 1 ate 5 passo 1 faca
para contador2 de 1 ate 5 passo 1 faca
escreva("Digite o ",indice,"º elemento da matriz numeros:")
leia(numeros[contador1,contador2])
indice <- indice + 1
fimpara
fimpara
//exibição
para contador1 de 1 ate 5 passo 1 faca
escreva("A coluna",contador1,": ")
para contador2 de 1 ate 5 passo 1 faca
escreva(numeros[contador2,contador1]," ")
fimpara
escreval("")
escreval("")
fimpara
fimalgoritmo
5. Escreva um algoritmo receba um tamanho de matriz e os respectivos elementos de duas
matrizes e exiba a soma das duas matrizes de mesmo tamanho em uma matriz resultante.
algoritmo "soma_matrizes"
// Seção de Declarações
var
a,b,c : vetor [1..10,1..10] de inteiro
contador1,contador2,tamanho_matriz,indice : inteiro
inicio
// Seção de Comandos
escreva("Digite o tamanho de uma matriz - de 2 ate 9:")
leia(tamanho_matriz)
indice <- 1
para contador1 de 1 ate tamanho_matriz passo 1 faca
para contador2 de 1 ate tamanho_matriz passo 1 faca
escreva("Digite o ",indice,"º elemento da matriz A:")
leia(a[contador1,contador2])
escreva("Digite o ",indice,"º elemento da matriz B:")
leia(b[contador1,contador2])
indice <- indice + 1
fimpara
fimpara
para contador1 de 1 ate tamanho_matriz passo 1 faca
para contador2 de 1 ate tamanho_matriz passo 1 faca
c[contador1,contador2] <- a[contador1,contador2] + b[contador1,contador2]
fimpara
fimpara
para contador1 de 1 ate tamanho_matriz passo 1 faca
escreva(" ")
para contador2 de 1 ate tamanho_matriz passo 1 faca
escreva(a[contador1,contador2]," ")
fimpara
escreva(" + ")
para contador2 de 1 ate tamanho_matriz passo 1 faca
escreva(b[contador1,contador2]," ")
fimpara
escreva(" = ")
para contador2 de 1 ate tamanho_matriz passo 1 faca
escreva(c[contador1,contador2]," ")
fimpara
escreval("")
fimpara
fimalgoritmo
6. Escreva um algoritmo receba um tamanho de matriz e os respectivos elementos de duas
matrizes e exiba a subtração das duas matrizes de mesmo tamanho em uma matriz
resultante.
algoritmo "subtracao_matrizes"
// Seção de Declarações
var
a,b,c : vetor [1..10,1..10] de inteiro
contador1,contador2,tamanho_matriz,indice : inteiro
inicio
// Seção de Comandos
escreva("Digite o tamanho de uma matriz - de 2 ate 9:")
leia(tamanho_matriz)
indice <- 1
para contador1 de 1 ate tamanho_matriz passo 1 faca
para contador2 de 1 ate tamanho_matriz passo 1 faca
escreva("Digite o ",indice,"º elemento da matriz A:")
leia(a[contador1,contador2])
escreva("Digite o ",indice,"º elemento da matriz B:")
leia(b[contador1,contador2])
indice <- indice + 1
fimpara
fimpara
para contador1 de 1 ate tamanho_matriz passo 1 faca
para contador2 de 1 ate tamanho_matriz passo 1 faca
c[contador1,contador2] <- a[contador1,contador2] - b[contador1,contador2]
fimpara
fimpara
para contador1 de 1 ate tamanho_matriz passo 1 faca
escreva(" ")
para contador2 de 1 ate tamanho_matriz passo 1 faca
escreva(a[contador1,contador2]," ")
fimpara
escreva(" - ")
para contador2 de 1 ate tamanho_matriz passo 1 faca
escreva(b[contador1,contador2]," ")
fimpara
escreva(" = ")
para contador2 de 1 ate tamanho_matriz passo 1 faca
escreva(c[contador1,contador2]," ")
fimpara
escreval("")
fimpara
fimalgoritmo
7. Escreva um algoritmo que receba uma matriz 4x5 e gere sua matriz transposta. OBS: Matriz
transposta é o resultado da troca de linhas por colunas. Exemplo: matriz 2x3 = transposta
3x2.
algoritmo "semnome"
// Seção de Declarações
var
a : vetor [1..4,1..5] de inteiro
t : vetor [1..5,1..4] de inteiro
contador1,contador2,indice : inteiro
inicio
// Seção de Comandos
indice <- 1
para contador1 de 1 ate 4 passo 1 faca
para contador2 de 1 ate 5 passo 1 faca
escreval("Digite o ",indice,"º numero da matriz A")
leia(a[contador1,contador2])
fimpara
fimpara
para contador1 de 1 ate 5 passo 1 faca
para contador2 de 1 ate 4 passo 1 faca
t[contador1,contador2] <- a[contador2,contador1]
fimpara
fimpara
para contador1 de 1 ate 4 passo 1 faca
para contador2 de 1 ate 5 passo 1 faca
escreva(a[contador1,contador2]," ")fimpara
escreval("")
fimpara
escreval("")
para contador1 de 1 ate 5 passo 1 faca
para contador2 de 1 ate 4 passo 1 faca
escreva(t[contador1,contador2]," ")
fimpara
escreval("")
fimpara
fimalgoritmo
8. Escreva um algoritmo que gere um boletim de um aluno com as matérias de Português,
Matemática, Ciências, Historia, Geografia e exiba na tela as suas respectivas médias de um
ano, sendo que o ano será dividido em 4 bimestres.
algoritmo "boletim_aluno"
// Seção de Declarações
var
boletim : vetor [1..5,1..4] de real
contador1,contador2 : inteiro
inicio
// Seção de Comandos
para contador1 de 1 ate 5 passo 1 faca
para contador2 de 1 ate 4 passo 1 faca
escolha contador1
caso 1
escreval("Digite a nota do aluno referente ao ",contador2,"º Bimestre - Materia
de Português")
leia(boletim[contador1,contador2])
caso 2
escreval("Digite a nota do aluno referente ao ",contador2,"º Bimestre - Materia
de Matemática")
leia(boletim[contador1,contador2])
caso 3
escreval("Digite a nota do aluno referente ao ",contador2,"º Bimestre - Materia
de Ciências")
leia(boletim[contador1,contador2])
caso 4
escreval("Digite a nota do aluno referente ao ",contador2,"º Bimestre - Materia
de História")
leia(boletim[contador1,contador2])
caso 5
escreval("Digite a nota do aluno referente ao ",contador2,"º Bimestre - Materia
de Geografia")
leia(boletim[contador1,contador2])
fimescolha
fimpara
fimpara
escreval(" 1ºB 2ºB 3ºB 4ºB")
para contador1 de 1 ate 5 passo 1 faca
escolha contador1
caso 1
escreva("Português: ")
caso 2
escreva("Matemática: ")
caso 3
escreva("Ciências: ")
caso 4
escreva("História: ")
caso 5
escreva("Geografia: ")
fimescolha
para contador2 de 1 ate 4 passo 1 faca
escreva(boletim[contador1,contador2]," ")
fimpara
escreval("")
fimpara
fimalgoritmo
9. Utilizando-se do exercício anterior, exiba nesse boletim a média final dos quatro bimestres
na ultima linha.
algoritmo "boletim_aluno_com_media"
// Seção de Declarações
var
boletim : vetor [1..5,1..5] de real
contador1,contador2 : inteiro
media : real
inicio
// Seção de Comandos
para contador1 de 1 ate 5 passo 1 faca
media <- 0
para contador2 de 1 ate 4 passo 1 faca
escolha contador1
caso 1
escreval("Digite a nota do aluno referente ao ",contador2,"º Bimestre - Materia
de Português")
leia(boletim[contador1,contador2])
caso 2
escreval("Digite a nota do aluno referente ao ",contador2,"º Bimestre - Materia
de Matemática")
leia(boletim[contador1,contador2])
caso 3
escreval("Digite a nota do aluno referente ao ",contador2,"º Bimestre - Materia
de Ciências")
leia(boletim[contador1,contador2])
caso 4
escreval("Digite a nota do aluno referente ao ",contador2,"º Bimestre - Materia
de História")
leia(boletim[contador1,contador2])
caso 5
escreval("Digite a nota do aluno referente ao ",contador2,"º Bimestre - Materia
de Geografia")
leia(boletim[contador1,contador2])
fimescolha
media <- media + boletim[contador1,contador2]
fimpara
media <- media / 4
boletim[contador1,5] <- media
fimpara
escreval(" 1ºB 2ºB 3ºB 4ºB Média")
para contador1 de 1 ate 5 passo 1 faca
escolha contador1
caso 1
escreva("Português: ")
caso 2
escreva("Matemática: ")
caso 3
escreva("Ciências: ")
caso 4
escreva("História: ")
caso 5
escreva("Geografia: ")
fimescolha
para contador2 de 1 ate 5 passo 1 faca
escreva(boletim[contador1,contador2]," ")
fimpara
escreval("")
fimpara
fimalgoritmo
10. Escreva um algoritmo que receba uma duas matrizes, uma 4x3 e outra 3x2, e exiba a matriz
resultante da multiplicação entre essas duas matrizes.
algoritmo "multiplicacao_matrizes"
var
contador1,contador2,contador3,somamulti,indice : inteiro
a : vetor [1..4,1..3] de inteiro
b : vetor [1..3,1..2] de inteiro
c : vetor [1..4,1..2] de inteiro
inicio
indice <- 1
para contador1 de 1 ate 4 passo 1 faca
para contador2 de 1 ate 3 passo 1 faca
escreval("Digite o ",indice,"º elemento da matriz A")
leia(a[contador1,contador2])
indice <- indice + 1
fimpara
fimpara
indice <- 1
para contador1 de 1 ate 3 passo 1 faca
para contador2 de 1 ate 2 passo 1 faca
escreval("Digite o ",indice,"º elemento da matriz B")
leia(b[contador1,contador2])
indice <- indice + 1
fimpara
fimpara
para contador1 de 1 ate 4 passo 1 faca
para contador2 de 1 ate 2 passo 1 faca
somamulti <- 0
para contador3 de 1 ate 3 passo 1 faca
somamulti <- somamulti + (a[contador1,contador3] * b[contador3,contador2])
escreval("Valor de A:",a[contador1,contador3])
escreval("Valor de B:",b[contador3,contador2])
escreval("Valor somamulti:",somamulti)
fimpara
c[contador1,contador2] <- somamulti
fimpara
fimpara
para contador1 de 1 ate 4 passo 1 faca
para contador2 de 1 ate 2 passo 1 faca
escreva(c[contador1,contador2]," ")
fimpara
escreval("")
fimpara
fimalgoritmo