LÓGICA DE PROGRAMAÇÃO
(PARTE 3.1)
prof.silvano.oliveira@gmail.com
Exercícios
1. Faça um Programa que leia um vetor de 5 números inteiros e
mostre-os.
2. Faça um Programa que leia um vetor de 10 números reais e
mostre-os na ordem inversa.
3. Faça um Programa que leia 4 notas, mostre as notas e a média na
tela.
Prof Silvano Oliveira (Lógica de Programação) 3
Solução
Faça um Programa que leia um vetor de 5 números inteiros e
mostre-os.
inteiro num[5], cont
para (cont=0; cont<5;cont ++) {
escreva(“Digite o número: “)
leia(num[cont])
}
para (cont=0; cont<5;cont ++) {
escreva(num[cont], “ “)
}
Prof Silvano Oliveira (Lógica de Programação) 4
Solução
Faça um Programa que leia um vetor de 10 números reais e mostre-
os na ordem inversa.
inteiro num[10], cont
para (cont=0; cont<10;cont ++) {
escreva(“Digite o número: “)
leia(num[cont])
}
para (cont=9; cont>=0;cont --) {
escreva(num[cont], “ “)
}
Prof Silvano Oliveira (Lógica de Programação) 5
Solução
Faça um Programa que leia 4 notas, mostre as notas e a média na tela.
real nota[4], soma=0.0
inteiro cont
para (cont=0; cont<4;cont ++) {
escreva(“Digite a nota: “)
leia(nota[cont])
}
para (cont=0; cont<4;cont ++) {
escreva(nota[cont], “ “)
soma = soma + nota[cont]
}
media = soma/4
escreva(“Média: “, media)
Prof Silvano Oliveira (Lógica de Programação) 6
Exercícios
1. Faça um Programa que leia 20 números inteiros e armazene-os
num vetor. Armazene os números pares no vetor PAR e os
números IMPARES no vetor impar. Imprima os três vetores.
2. Faça um Programa que peça as quatro notas de 10 alunos,
calcule e armazene num vetor a média de cada aluno, imprima o
número de alunos com média maior ou igual a 7.0.
Prof Silvano Oliveira (Lógica de Programação) 7
Solução
Faça um programa que leia 20 números inteiros
e armazene-os num vetor. Armazene os
números pares no vetor PAR e os números
IMPARES no vetor impar. Imprima os três
vetores.
inteiro num[20], par[20],
impar[20],cont
para (cont=0; cont<20;cont ++) {
escreva(“Digite um número: “)
leia(num[cont])
se (num[cont]%2==0){
par[cont] = num[cont]
} senao {
impar[cont] = num[cont]
}
}
escreva(“Números digitados:n”)
para (cont=0; cont<20;cont ++) {
escreva(num[cont], “ “)
}
escreva(“nNúmeros Pares:n”)
para (cont=0; cont<20;cont ++) {
escreva(par[cont], “ “)
}
escreva(“nNúmeros Ímpares:n”)
para (cont=0; cont<20;cont ++) {
escreva(impar[cont], “ “)
}
Prof Silvano Oliveira (Lógica de Programação) 8
Solução
Faça um programa que peça as quatro notas de 10
alunos, calcule e armazene num vetor a média de cada
aluno, imprima o número de alunos com média maior ou
igual a 7.0.
cadeia aluno[10]
real media[10], n1, n2, n3, n4
inteiro cont, media7 = 0
para (cont=0; cont<10;cont ++) {
escreva(“Digite nome aluno: “)
leia(aluno[cont])
escreva(“Entre nota 1:”)
leia(nota1)
escreva(“Entre nota 2:”)
leia(nota2)
escreva(“Entre nota 3:”)
leia(nota3)
escreva(“Entre nota 4:”)
leia(nota4)
media[cont] = (n1+n2+n3+n4)/4
se (media[cont]>=7.0) {
media7 = media7 + 1
}
}
escreva(“Nº Alunos acima média: “,media7)
Prof Silvano Oliveira (Lógica de Programação) 9
Exercício
■ Elabore um algoritmo em que o usuário deve informar cinco números inteiros usando o comando PARA,
então o programa soma esses cinco valores, calcula a média e depois mostra o quadrado da soma, e o
quadrado do maior número, como no exemplo abaixo:
Entre com o número 1: xx
Entre com o número 2: xx
Entre com o número 3: xx
Entre com o número 4: xx
Entre com o número 5: xx
A soma é: www
A média é: yyy.zzz
O quadrado da soma é: bbb
O maior número é: 99
O quadrado do maior número é: 8888
Prof Silvano Oliveira (Lógica de Programação) 10
Solução
Elabore um algoritmo em que o usuário deve informar cinco números inteiros usando o comando PARA, então o programa soma
esses cinco valores, calcula a média e depois mostra o quadrado da soma, e o quadrado do maior número.
inteiro cont, maior=0, soma=0
real media
para (cont=0;cont<5;cont++){
escreva(“Entre com o nº”,cont+1,”: “)
leia(num[cont])
soma = soma + num[cont]
se (num[cont]>maior) {
maior = num[cont]
}
}
media = soma/5.0
escreva("A soma é: ", soma)
escreva("A média é: ", media)
escreva("O quadrado da soma é: ", soma*soma)
escreva("O maior número é: ", maior)
escreva("O quadrado do maior número é: ", maior*maior)
Prof Silvano Oliveira (Lógica de Programação) 11
Exercício
■ Em uma competição de salto em distância cada atleta tem direito a cinco saltos. O resultado do atleta
será determinado pela média dos cinco valores restantes. Você deve fazer um programa que receba o
nome e as cinco distâncias alcançadas pelo atleta em seus saltos e depois informe o nome, os saltos e
a média dos saltos. O programa deve ser encerrado quando responder N a pergunta se quer continuar.
A saída do programa deve ser conforme o exemplo abaixo:
Atleta: Rodrigo Curvello
Primeiro Salto: 6.5
Segundo Salto: 6.1
Terceiro Salto: 6.2
Quarto Salto: 5.4
Quinto Salto: 5.3
Resultado final:
Atleta: Rodrigo Curvello
Saltos: 6.5m - 6.1m - 6.2m - 5.4m - 5.3m
Média dos saltos: 5.9m
Prof Silvano Oliveira (Lógica de Programação) 12
Solução
cadeia atleta
inteiro cont
real media, soma, salto[5]
caracter opcao = 'S'
enquanto (opcao=='S'){
soma=0.0
escreva("Digite o nome do Atleta: ")
leia(atleta)
para (cont=0;cont<5;cont++){
escreva("Digite o ",cont+1,"º Salto: ")
leia(salto[cont])
soma = soma + salto[cont]
}
media = soma/5
escreva("Resultado Final:n")
escreva("Atleta: ", atleta)
escreva("nSaltos: ")
para (cont=0;cont<5;cont++){
escreva(salto[cont],"m - ")
}
escreva("nMédia dos saltos: ", media, "m")
escreva("nDeseja continuar(S/N)? ")
leia(opcao)
}
Prof Silvano Oliveira (Lógica de Programação) 13
Exercício
■ Foram anotadas as idades e alturas de 10 alunos. Faça um
Programa que determine quantos alunos com mais de 13 anos
possuem altura inferior à média de altura desses alunos.
■ Depois reorganize os alunos em ordem crescente de altura e
mostre os nomes dos alunos e suas alturas nesta nova ordem.
Prof Silvano Oliveira (Lógica de Programação) 14
Solução (parte 1)
const inteiro MAX=10
cadeia aluno[MAX]
inteiro idade[MAX], cont, qtde=0
real altura[MAX], soma=0.0, media
para (cont=0;cont<MAX;cont++){
escreva("Digite o nome do aluno ",cont+1,": ")
leia(aluno[cont])
escreva("Entre com a idade ",cont+1,": ")
leia(idade[cont])
escreva("Entre com a altura ",cont+1,": ")
leia(altura[cont])
soma = soma + altura[cont]
}
media = soma/MAX
para (cont=0;cont<MAX;cont++){
se (idade[cont]>13 e altura[cont]<media){
qtde = qtde + 1
}
}
escreva("nA média de alturas é: ", media)
escreva("nA qtde de alunos com mais de 13 anos e abaixo da média de altura é: ", qtde)
Prof Silvano Oliveira (Lógica de Programação) 15
Exercício
O Sr. Manoel Joaquim expandiu seus negócios para além dos negócios de 1,99 e agora possui uma
loja de conveniências. Faça um programa em que implemente uma caixa registradora rudimentar. O
programa deverá receber um número desconhecido de valores referentes aos preços das
mercadorias com seus respectivos nomes dos produtos. Perguntar se Deseja Continuar? Se não
continuar, o programa deve então mostrar o total da compra e perguntar o valor em dinheiro que o
cliente forneceu, para então calcular e mostrar o valor do troco. A saída deve ser conforme o
exemplo abaixo: (Obs.: Usar comando ENQUANTO pq não se sabe a qtde de produtos)
Lojas Tabajara
-------------------------
Produto 1: Feijão
Valor: R$ 2.20
Deseja Continuar? (S/N) S
Produto 2: Arroz
Valor: R$ 5.80
Deseja Continuar? (S/N) N
Total dos Produtos: R$ 8.00
Pgto em Dinheiro: R$ 20.00
-------------------------
Troco: R$ 12.00
...
Prof Silvano Oliveira (Lógica de Programação) 16
Solução
inteiro indice
real soma, valor, dinheiro
caracter opcao
cadeia produto
escreva("Lojas Tabajaran")
escreva("---------------------n")
opcao = 's'
indice = 1
soma = 0.0
enquanto (opcao == 's'){
escreva("Produto ",indice,": ")
leia(produto)
escreva("Valor: R$ ")
leia(valor)
soma = soma + valor
indice = indice + 1
escreva("Deseja continuar? (S/N) ")
leia(opcao)
}
escreva("Total dos Produtos: R$ ", soma)
escreva("nPgto em Dinheiro: R$ ")
leia(dinheiro)
escreva("----------------------------")
escreva("nTroco: R$ ", dinheiro-soma)
Prof Silvano Oliveira (Lógica de Programação) 17
Exercício
■ Validação de número de conta - Crie um algoritmo que peça ao
usuário para fornecer um número de conta e determine se esse
número é válido. Para ser válido, esse número deve ser igual a
um dos listados abaixo:
5658845 4520125 7895122 8777541 8451277 1302850
8080152 4562555 5552012 5050552 7825877 1250255
1005231 6545231 3852085 7576651 7881200 4581002
Se o número fornecido pelo usuário estiver nessa lista, o algoritmo
deverá informar que o número é válido; caso contrário, deverá
informar que é inválido.
Prof Silvano Oliveira (Lógica de Programação) 18

LP02.1 - Lógica de Programação Netcom.pdf

  • 2.
    LÓGICA DE PROGRAMAÇÃO (PARTE3.1) prof.silvano.oliveira@gmail.com
  • 3.
    Exercícios 1. Faça umPrograma que leia um vetor de 5 números inteiros e mostre-os. 2. Faça um Programa que leia um vetor de 10 números reais e mostre-os na ordem inversa. 3. Faça um Programa que leia 4 notas, mostre as notas e a média na tela. Prof Silvano Oliveira (Lógica de Programação) 3
  • 4.
    Solução Faça um Programaque leia um vetor de 5 números inteiros e mostre-os. inteiro num[5], cont para (cont=0; cont<5;cont ++) { escreva(“Digite o número: “) leia(num[cont]) } para (cont=0; cont<5;cont ++) { escreva(num[cont], “ “) } Prof Silvano Oliveira (Lógica de Programação) 4
  • 5.
    Solução Faça um Programaque leia um vetor de 10 números reais e mostre- os na ordem inversa. inteiro num[10], cont para (cont=0; cont<10;cont ++) { escreva(“Digite o número: “) leia(num[cont]) } para (cont=9; cont>=0;cont --) { escreva(num[cont], “ “) } Prof Silvano Oliveira (Lógica de Programação) 5
  • 6.
    Solução Faça um Programaque leia 4 notas, mostre as notas e a média na tela. real nota[4], soma=0.0 inteiro cont para (cont=0; cont<4;cont ++) { escreva(“Digite a nota: “) leia(nota[cont]) } para (cont=0; cont<4;cont ++) { escreva(nota[cont], “ “) soma = soma + nota[cont] } media = soma/4 escreva(“Média: “, media) Prof Silvano Oliveira (Lógica de Programação) 6
  • 7.
    Exercícios 1. Faça umPrograma que leia 20 números inteiros e armazene-os num vetor. Armazene os números pares no vetor PAR e os números IMPARES no vetor impar. Imprima os três vetores. 2. Faça um Programa que peça as quatro notas de 10 alunos, calcule e armazene num vetor a média de cada aluno, imprima o número de alunos com média maior ou igual a 7.0. Prof Silvano Oliveira (Lógica de Programação) 7
  • 8.
    Solução Faça um programaque leia 20 números inteiros e armazene-os num vetor. Armazene os números pares no vetor PAR e os números IMPARES no vetor impar. Imprima os três vetores. inteiro num[20], par[20], impar[20],cont para (cont=0; cont<20;cont ++) { escreva(“Digite um número: “) leia(num[cont]) se (num[cont]%2==0){ par[cont] = num[cont] } senao { impar[cont] = num[cont] } } escreva(“Números digitados:n”) para (cont=0; cont<20;cont ++) { escreva(num[cont], “ “) } escreva(“nNúmeros Pares:n”) para (cont=0; cont<20;cont ++) { escreva(par[cont], “ “) } escreva(“nNúmeros Ímpares:n”) para (cont=0; cont<20;cont ++) { escreva(impar[cont], “ “) } Prof Silvano Oliveira (Lógica de Programação) 8
  • 9.
    Solução Faça um programaque peça as quatro notas de 10 alunos, calcule e armazene num vetor a média de cada aluno, imprima o número de alunos com média maior ou igual a 7.0. cadeia aluno[10] real media[10], n1, n2, n3, n4 inteiro cont, media7 = 0 para (cont=0; cont<10;cont ++) { escreva(“Digite nome aluno: “) leia(aluno[cont]) escreva(“Entre nota 1:”) leia(nota1) escreva(“Entre nota 2:”) leia(nota2) escreva(“Entre nota 3:”) leia(nota3) escreva(“Entre nota 4:”) leia(nota4) media[cont] = (n1+n2+n3+n4)/4 se (media[cont]>=7.0) { media7 = media7 + 1 } } escreva(“Nº Alunos acima média: “,media7) Prof Silvano Oliveira (Lógica de Programação) 9
  • 10.
    Exercício ■ Elabore umalgoritmo em que o usuário deve informar cinco números inteiros usando o comando PARA, então o programa soma esses cinco valores, calcula a média e depois mostra o quadrado da soma, e o quadrado do maior número, como no exemplo abaixo: Entre com o número 1: xx Entre com o número 2: xx Entre com o número 3: xx Entre com o número 4: xx Entre com o número 5: xx A soma é: www A média é: yyy.zzz O quadrado da soma é: bbb O maior número é: 99 O quadrado do maior número é: 8888 Prof Silvano Oliveira (Lógica de Programação) 10
  • 11.
    Solução Elabore um algoritmoem que o usuário deve informar cinco números inteiros usando o comando PARA, então o programa soma esses cinco valores, calcula a média e depois mostra o quadrado da soma, e o quadrado do maior número. inteiro cont, maior=0, soma=0 real media para (cont=0;cont<5;cont++){ escreva(“Entre com o nº”,cont+1,”: “) leia(num[cont]) soma = soma + num[cont] se (num[cont]>maior) { maior = num[cont] } } media = soma/5.0 escreva("A soma é: ", soma) escreva("A média é: ", media) escreva("O quadrado da soma é: ", soma*soma) escreva("O maior número é: ", maior) escreva("O quadrado do maior número é: ", maior*maior) Prof Silvano Oliveira (Lógica de Programação) 11
  • 12.
    Exercício ■ Em umacompetição de salto em distância cada atleta tem direito a cinco saltos. O resultado do atleta será determinado pela média dos cinco valores restantes. Você deve fazer um programa que receba o nome e as cinco distâncias alcançadas pelo atleta em seus saltos e depois informe o nome, os saltos e a média dos saltos. O programa deve ser encerrado quando responder N a pergunta se quer continuar. A saída do programa deve ser conforme o exemplo abaixo: Atleta: Rodrigo Curvello Primeiro Salto: 6.5 Segundo Salto: 6.1 Terceiro Salto: 6.2 Quarto Salto: 5.4 Quinto Salto: 5.3 Resultado final: Atleta: Rodrigo Curvello Saltos: 6.5m - 6.1m - 6.2m - 5.4m - 5.3m Média dos saltos: 5.9m Prof Silvano Oliveira (Lógica de Programação) 12
  • 13.
    Solução cadeia atleta inteiro cont realmedia, soma, salto[5] caracter opcao = 'S' enquanto (opcao=='S'){ soma=0.0 escreva("Digite o nome do Atleta: ") leia(atleta) para (cont=0;cont<5;cont++){ escreva("Digite o ",cont+1,"º Salto: ") leia(salto[cont]) soma = soma + salto[cont] } media = soma/5 escreva("Resultado Final:n") escreva("Atleta: ", atleta) escreva("nSaltos: ") para (cont=0;cont<5;cont++){ escreva(salto[cont],"m - ") } escreva("nMédia dos saltos: ", media, "m") escreva("nDeseja continuar(S/N)? ") leia(opcao) } Prof Silvano Oliveira (Lógica de Programação) 13
  • 14.
    Exercício ■ Foram anotadasas idades e alturas de 10 alunos. Faça um Programa que determine quantos alunos com mais de 13 anos possuem altura inferior à média de altura desses alunos. ■ Depois reorganize os alunos em ordem crescente de altura e mostre os nomes dos alunos e suas alturas nesta nova ordem. Prof Silvano Oliveira (Lógica de Programação) 14
  • 15.
    Solução (parte 1) constinteiro MAX=10 cadeia aluno[MAX] inteiro idade[MAX], cont, qtde=0 real altura[MAX], soma=0.0, media para (cont=0;cont<MAX;cont++){ escreva("Digite o nome do aluno ",cont+1,": ") leia(aluno[cont]) escreva("Entre com a idade ",cont+1,": ") leia(idade[cont]) escreva("Entre com a altura ",cont+1,": ") leia(altura[cont]) soma = soma + altura[cont] } media = soma/MAX para (cont=0;cont<MAX;cont++){ se (idade[cont]>13 e altura[cont]<media){ qtde = qtde + 1 } } escreva("nA média de alturas é: ", media) escreva("nA qtde de alunos com mais de 13 anos e abaixo da média de altura é: ", qtde) Prof Silvano Oliveira (Lógica de Programação) 15
  • 16.
    Exercício O Sr. ManoelJoaquim expandiu seus negócios para além dos negócios de 1,99 e agora possui uma loja de conveniências. Faça um programa em que implemente uma caixa registradora rudimentar. O programa deverá receber um número desconhecido de valores referentes aos preços das mercadorias com seus respectivos nomes dos produtos. Perguntar se Deseja Continuar? Se não continuar, o programa deve então mostrar o total da compra e perguntar o valor em dinheiro que o cliente forneceu, para então calcular e mostrar o valor do troco. A saída deve ser conforme o exemplo abaixo: (Obs.: Usar comando ENQUANTO pq não se sabe a qtde de produtos) Lojas Tabajara ------------------------- Produto 1: Feijão Valor: R$ 2.20 Deseja Continuar? (S/N) S Produto 2: Arroz Valor: R$ 5.80 Deseja Continuar? (S/N) N Total dos Produtos: R$ 8.00 Pgto em Dinheiro: R$ 20.00 ------------------------- Troco: R$ 12.00 ... Prof Silvano Oliveira (Lógica de Programação) 16
  • 17.
    Solução inteiro indice real soma,valor, dinheiro caracter opcao cadeia produto escreva("Lojas Tabajaran") escreva("---------------------n") opcao = 's' indice = 1 soma = 0.0 enquanto (opcao == 's'){ escreva("Produto ",indice,": ") leia(produto) escreva("Valor: R$ ") leia(valor) soma = soma + valor indice = indice + 1 escreva("Deseja continuar? (S/N) ") leia(opcao) } escreva("Total dos Produtos: R$ ", soma) escreva("nPgto em Dinheiro: R$ ") leia(dinheiro) escreva("----------------------------") escreva("nTroco: R$ ", dinheiro-soma) Prof Silvano Oliveira (Lógica de Programação) 17
  • 18.
    Exercício ■ Validação denúmero de conta - Crie um algoritmo que peça ao usuário para fornecer um número de conta e determine se esse número é válido. Para ser válido, esse número deve ser igual a um dos listados abaixo: 5658845 4520125 7895122 8777541 8451277 1302850 8080152 4562555 5552012 5050552 7825877 1250255 1005231 6545231 3852085 7576651 7881200 4581002 Se o número fornecido pelo usuário estiver nessa lista, o algoritmo deverá informar que o número é válido; caso contrário, deverá informar que é inválido. Prof Silvano Oliveira (Lógica de Programação) 18