Lógica de Programação – Exercícios resolvidos de Vetores
Lógica de Programação – Exercícios resolvidos de vetores no VisualG
Neste artigo trazemos alguns exercícios resolvidos de vetores (arrays unidimensionais) para estudo em lógica de programação, com as resoluções em português estruturado, e que podem ser rodados e testados no VisualG.
Exercícios
1. Escreva um algoritmo que solicite ao usuário a entrada de 5 números, e que exiba o somatório desses números na tela.
Após exibir a soma, o programa deve mostrar também os números que o usuário digitou, um por linha.
Var numeros : vetor [0..4] de inteiro cont, soma : inteiro Inicio para cont de 0 ate 4 faca escreval("Entre com um número:") leia(numeros[cont]) soma <- soma + numeros[cont]) fimpara escreval("A soma dos números é", soma) escreval() escreval("Os números digitados foram:") para cont de 0 ate 4 faca escreval(numeros[cont]) fimpara Fimalgoritmo
2. Escreva um algoritmo que solicite ao usuário a entrada de 5 nomes, e que exiba a lista desses nomes na tela.
Após exibir essa lista, o programa deve mostrar também os nomes na ordem inversa em que o usuário os digitou, um por linha.
Var nomes : vetor [0..4] de caractere cont : inteiro Inicio para cont de 0 ate 4 faca escreval("Entre com um nome:") leia(nomes[cont]) fimpara escreval() escreval("Os nomes digitados foram:") para cont de 0 ate 4 faca escreval(nomes[cont]) fimpara escreval() escreval("Os nomes digitados em ordem inversa foram:") para cont de 4 ate 0 passo - 1 faca escreval(nomes[cont]) fimpara Fimalgoritmo
3. Crie um programa que solicite a entrada de 10 números pelo usuário, armazenando-os em um vetor, e então monte outro vetor com os valores do primeiro multiplicados por 5.
Exiba os valores dos dois vetores na tela, simultaneamente, em duas colunas (um em cada coluna), uma posição por linha.
Var nums1 : vetor [0..5] de inteiro nums2 : vetor [0..5] de inteiro cont : inteiro Inicio para cont de 0 ate 5 faca escreval("Digite um número:") leia(nums1[cont]) nums2[cont] <- nums1[cont] * 5 fimpara escreval() escreval("Resultado:") para cont de 0 ate 5 faca escreval(nums1[cont], " ", nums2[cont]) fimpara escreval() Fimalgoritmo
4. Crie um programa que armazene 10 números digitados pelo usuário em dois vetores: um somente para números pares, e outro somente para números ímpares.
Após, exiba os valores dos dois vetores na tela, em sequência.
Obs.: As posições que não receberem valores exibirão o número zero. Não se preocupe com isso por enquanto.
Var numPar : vetor [0..9] de inteiro numImpar : vetor [0..9] de inteiro num, cont : inteiro Inicio para cont de 0 ate 9 faca escreval("Digite um número:") leia(num) se (num % 2 = 0 ) entao numPar[cont] <- num senao numImpar[cont] <- num fimse fimpara escreval() escreval("Resultados:") escreval("Array de Pares:") para cont de 0 ate 9 faca escreval(numPar[cont]) fimpara escreval() escreval("Array de Ímpares:") para cont de 0 ate 9 faca escreval(numImpar[cont]) fimpara Fimalgoritmo
5. Modifique o programa anterior para não aceitar a entrada do número zero, e requisitar a digitação de outro número neste caso.
Var numPar : vetor [0..9] de inteiro numImpar : vetor [0..9] de inteiro num, cont : inteiro Inicio para cont de 0 ate 9 faca escreval("Digite um número:") leia(num) enquanto (num = 0) faca escreval("Zero é número inválido. Digite outro número:") leia(num) fimenquanto se (num % 2 = 0 ) entao numPar[cont] <- num senao numImpar[cont] <- num fimse fimpara escreval() escreval("Resultados:") escreval("Array de Pares:") para cont de 0 ate 9 faca escreval(numPar[cont]) fimpara escreval() escreval("Array de Ímpares:") para cont de 0 ate 9 faca escreval(numImpar[cont]) fimpara Fimalgoritmo
6. Modifique novamente o programa anterior, de modo a não exibir na saída os números zero que são mostrados para todas as posições que não receberam nenhum valor durante a atribuição (e portanto estão vazias).
Var numPar : vetor [0..5] de inteiro numImpar : vetor [0..5] de inteiro num, cont : inteiro Inicio para cont de 0 ate 5 faca escreval("Digite um número:") leia(num) enquanto (num = 0) faca escreval("Zero é número inválido. Digite outro número:") leia(num) fimenquanto se (num % 2 = 0 ) entao numPar[cont] <- num senao numImpar[cont] <- num fimse fimpara escreval() escreval("Resultados:") escreval("Array de Pares:") para cont de 0 ate 5 faca se (numPar[cont] <> 0) entao escreval(numPar[cont]) fimse fimpara escreval() escreval("Array de Ímpares:") para cont de 0 ate 5 faca se (numImpar[cont] <> 0) entao escreval(numImpar[cont]) fimse fimpara Fimalgoritmo
É isso aí! Em nossa próxima lição vamos mostrar uma técnica simples que permite intercambiar os valores armazenados em duas variáveis, sem que haja perda de dados.
Anterior: Atribuição de Valores e Leitura de Dados em Vetores
Próximo: Técnica para trocar valores entre duas Variáveis
Muito bom os exercícios! dá pra treinar bastante!
matriz 12 x 4 com os valores das vendas
de uma loja de janeiro a dezembro
Ler 2 vetores X e Y de 10 elementos cada um (ocupando as posições de 0 a 9 em cada vetor). Intercalar os elementos desses 2 vetores formando assim, um novo vetor R de 20 elementos, onde nas posições pares de R (0,2,4,…,8) estejam os elementos de X e nas posições ímpares (1,3,…,9) os elementos de Y. Após a geração completa do vetor R, escreva-o.
Não consegui responder. Preciso de ajuda
Var
x: vetor [0..18] de inteiro
y: vetor [0..19] de inteiro
z: vetor [0..19] de inteiro
c: inteiro
Inicio
para c <- 0 ate 18 passo 2 faca
escreva("digite x: ")
leia(x[c])
fimpara
para c <- 1 ate 19 passo 2 faca
escreva("digite y: ")
leia(y[c])
fimpara
para c <- 0 ate 18 passo 2 faca
z[c] <- x[c]
fimpara
para c <- 1 ate 19 passo 2 faca
z[c] <- y[c]
fimpara
para c <- 0 ate 19 faca
escreva(z[c])
fimpara
Analisando o pseudocódigo, qual o valor das variáveis X, Y e
Z ao final do algoritmo?
X_________________
Y_________________
Z_________________
X<- 2
Y<- 3
Z<- 1
para I de 1 ate 2 faca
X<- X*I
para K de 1 ate 2 faca
Y<- Y+K
Z<- Z+1
fimpara
fimpara
escreva(X,Y,Z)
Gostei o terceiro exercício é em que linguagem
Portugol para VisualG
Qual programa usaram aqui nenhum abriu Dev C++,Phyton,Portugol Studio,Portugol viana,nenhum abriu esses algoritmos.
Faça um programa que leia um valor inteiro N não negativo. Se o valor de N for
inválido, o usuário deverá digitar outro até que ele seja válido (ou seja, positivo). Em
seguida, leia um vetor V contendo N posições de inteiros, em que cada valor deverá
ser maior ou igual a 2. Esse vetor deverá ser alocado dinamicamente.
criar um programa em shell script que leia os limites inferior e superior de um intervalo e imprima todos os números pares deste intervalo. suponha que os dados digitados são para um intervalo crescente, ou seja, o primeiro valor é menor que o segundo.
Ex:
Valor inferior = 4
Valor superior = 10
Saída:
Números pares: 4, 6, 8 e 10
#!/bin/bash
par=0
impar=0
soma=0
ate=(seq $ini $fim)
echo ” “Informe o valor do limite inferior: “”
read ini
echo “Informe o valor do limite superior: ”
read fim
if [ `expr $ate % 2` -eq 0 ]; then
read par
else
read impar
fi
for i in $(seq $ini $fim); do
soma=$(($par+i))
echo “$i”
done
echo “Soma: $soma”
PORQUE DA ERRO ::
De fato, amei bastante os exercícios para praticar, e já estou percebendo melhor sobre a lógica de programação, obrigado!
Eu gostei da página neste caso..
Ela me ajudou bastante e recomendo sinceramente….