LÓGICA DA PROGRAMAÇÃO INFORMÁTICA
ATIVIDADES
COMPLEMENTARES
INFORMÁTICA
ATIVIDADES COMPLEMENTARES
Módulo | 1 Capítulo | Lógica da Programação Autores | Lucy Mari Tabuti e Rodrigo Assirati Dias MiniCV
|
Lucy Mari Tabuti Mestre em ciência da computação pela IME-USP. Especialista em educação matemática pela Faculdades São Luis. Graduada em matemática pela USP. Técnica em administração de empresas pela Fundação Bradesco. Atuou como analista na área técnica, chefe de serviço na área administrativa e de recursos humanos. Atualmente é professora e orientadora no colégio Rainha da Paz.
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _______________________________________________________________________
SUMÁRIO 1
ATIVIDADES COMPLEMENTARES ...................................................................................... 1 1.1 ATIVIDADES COMPLEMENTARES | AULA 01 .................................................................... 1 1.2 ATIVIDADES COMPLEMENTARES | AULA 02 .................................................................... 3 1.3 ATIVIDADES COMPLEMENTARES | AULA 03 .................................................................... 6 1.4 ATIVIDADES COMPLEMENTARES | AULA 04 .................................................................... 9 1.5 ATIVIDADES COMPLEMENTARES | AULA 05 .................................................................. 12
2
APÊNDICE ....................................................................................................................... 18 2.1 GABARITO DA ATIVIDADES COMPLEMENTARES | AULA 01 ........................................... 18 2.2 GABARITO DAS ATIVIDADES COMPLEMENTARES | AULA 02.......................................... 42 2.3 GABARITO DAS ATIVIDADE COMPLEMENTARES | AULA 03 ........................................... 63 2.4 GABARITO DAS ATIVIDADES COMPLEMENTARES | AULA 04.......................................... 81 2.5 GABARITO DAS ATIVIDADES COMPLEMENTARES | AULA 05........................................ 100
LÓGICA DA PROGRAMAÇÃO
1
ATIVIDADES COMPLEMENTARES
1.1 ATIVIDADES COMPLEMENTARES | AULA 01 Realize estas atividades complementares e teste seu conhecimento: 01) Clarisbela recebeu x moedas de sua tia e y moedas de seu primo. Desenvolva um algoritmo que mostra quantas moedas Clarisbela tem no total. 02)
Fiorisbela ganhou um saquinho com n balas e resolveu dividir igualmente com seus três irmãos. Desenvolva um algoritmo que mostre quantas balas recebeu cada um dos seus irmãos e quantas balas sobraram, já que não foi possível dividir de forma justa.
03) Clodorico Nunesberg deseja construir um programa que imprima seu nome. Desenvolva um algoritmo que receba o nome e o sobrenome de Clodorico Nunesberg e mostra seu nome impresso na tela do computador. 04) Mendesnerte possui uma certa quantidade de bolinhas de gude. Ele as separa de dois em dois para saber se possui um número par ou ímpar de bolinhas de gude. Desenvolva um algoritmo em que Mendesnerte possa entrar com a quantidade de bolinhas de gude e mostra para ele se essa quantidade é par ou ímpar. 05) O professor Jonesclark precisa verificar quais de seus alunos estão de recuperação. Ajude o professor nessa tarefa desenvolvendo um algoritmo que receba uma nota e verifique se, com essa nota, o aluno
Página 1
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _______________________________________________________________________
foi aprovado (nota >= 5), reprovado (nota < 3) ou em recuperação (nota < 5 e nota >= 3). 06)
Cosmolinda está estudando os meses do ano. Ela precisa classificar os meses do ano em primeiro e segundo semestres. Desenvolva um algoritmo que ajude Cosmolinda a estudar em qual semestre está determinado mês.
07)
Emengildo, amigo de Cosmolinda, também está estudando os meses do ano. Ele precisa classificar os meses do ano em primeiro, segundo, terceiro e quarto trimestres. Desenvolva um algoritmo que ajude Emengildo a estudar em qual trimestre está determinado mês.
08) Clesmenildo quer desenvolver uma agenda que o ajude a lembrar de suas
tarefas
semanais.
Desenvolva
um
algoritmo
que
ajude
Clesmenildo a saber as tarefas do dia, quando digitar um dia da semana. 09)
Gilbertino está estudando somatória. Ele já calculou a somatória de algumas sequências numéricas, porém está com dificuldade de concluir a somatório de dez números. Ajude Gilbertino a resolver seu problema, desenvolvendo um algoritmo que receba dez números e mostre a soma desses números.
10)
Agora Gilbertino está estudando somatório de números pares. Ele já calculou a somatória de algumas sequências de números pares, porém está com dificuldade de concluir a somatória de números pares numa sequência de quinze números. Ajude Gilbertino a resolver seu problema, desenvolvendo um algoritmo que receba quinze números e mostre
a
soma
dos
números
pares.
Página 2
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES
1.2 ATIVIDADES COMPLEMENTARES | AULA 02 Realize estas atividades complementares e teste seu conhecimento: 11) O fatorial de um número natural n é o produto dos números de 1 até n. Desenvolva um algoritmo que receba um número e calcule o fatorial desse número. 12)
Marisnelda precisa estudar tabuada, porém ela acha que estudar tabuada é uma tarefa basicamente decorativa e desestimulante. Assim, ela prefere estudar com o auxílio do computador. Ajude Marisnelda a estudar tabuada, a partir de um algoritmo que receba um número e mostre o resultado da tabuada desse número.
13)
Hidekovisk possui um conjunto de vinte moedas com diferentes números naturais. Ele precisa descobrir qual é a moeda que possui o maior número natural. Desenvolva um algoritmo em que Hidekovisk possa digitar os vinte números e o algoritmo mostre o maior desses números.
14)
Ao estudar produtos notáveis, Merislindra pediu para um amigo(a) ajudá-la a desenvolver um algoritmo em que ela possa digitar dois números e o algoritmo lhe mostre a soma do quadrado desses números. Sabendo que você é o(a) amigo(a) de Merislindra, ajude-a a desenvolver esse algoritmo.
15)
Ao estudar produtos notáveis, Zildofredo pediu para um(a) amigo(a) ajudá-lo a desenvolver um algoritmo em que ele possa digitar dois números e o algoritmo lhe mostre a soma do cubo desses números. Sabendo
que
você
é
o(a)
amigo(a)
de
Zildofredo,
ajude-o
a
Página 3
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES
desenvolver
esse
algoritmo.
Página 4
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES ______________________________________________________________________
16) Akirovisk está estudando raiz quadrada de um número e gostaria de verificar se os cálculos, que tem realizado, condizem com o resultado correto. Desenvolva um algoritmo em que Akirovisk possa digitar um número e o algoritmo lhe mostre a raiz quadrada desse número. 17) O professor Jonesclark precisa calcular a média aritmética das notas de duas provas de cada um dos seus alunos. Ajude o professor nessa tarefa, desenvolvendo um algoritmo que receba duas notas e mostre a média aritmética dessas notas. 18) Mendesnerte possui uma certa quantidade de bolinhas de gude. Ele as separa de três em três para saber se possui um número divisível por 3. Desenvolva um algoritmo em que Mendesnerte possa entrar com a quantidade de bolinhas de gude e lhe mostre se essa quantidade é divisível por 3. 19)
Piteiscook possui um terreno no formato de um quadrado e quer descobrir a área desse terreno. Ajude Piteiscook nessa empreitada, sabendo que ele consegue medir, pelo menos, um dos lados desse terreno.
20) Reinilton está construindo uma quadra poliesportiva e está, neste momento, desenhando o círculo central da quadra. Como curiosidade, Reinilton gostaria de saber a medida da circunferência que contorna o círculo. Desenvolva um algoritmo que receba o raio da circunferência desse círculo da quadra e que lhe mostre a medida do seu comprimento.
Página 5
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES
1.3 ATIVIDADES COMPLEMENTARES | AULA 03 Realize estas atividades complementares e teste seu conhecimento: 21) Reinilton está construindo uma quadra poliesportiva e está, neste momento, desenhando o círculo central da quadra. Como curiosidade, Reinilton,
gostaria
de
saber
a
área
do
círculo
dessa
quadra.
Desenvolva um algoritmo que receba o raio do círculo da quadra de Reinilton e lhe mostra a medida de sua área. 22) Gilbertino ainda está estudando somatória. Ele já calculou a somatória de algumas sequências numéricas, porém apresenta dificuldade de concluir a somatório de trinta números. Ajude Gilbertino a resolver seu problema, desenvolvendo um algoritmo que receba trinta números e mostre a soma desses números. 23) Piteiscook possui alguns terrenos no formato de um quadrado e quer descobrir a área de cada um desses terrenos. Ajude Piteiscook a descobrir essas áreas, sabendo que as medidas dos lados desses terrenos vão de 10 a 20 metros. 24) Um grupo de jovens foi fazer uma visita a uma emissora de televisão que deseja presentear a pessoa mais jovem desse grupo. Desenvolva um algoritmo que receba a idade dos vinte jovens e mostre a idade do jovem mais novo. 25) Um grupo de jovens foi fazer uma visita a uma emissora de rádio que deseja saber a média de idades desse grupo. Desenvolva um algoritmo
Página 6
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES ______________________________________________________________________
que receba as idades desses dez jovens, calcule e mostre, para a emissora, a média da idade dos jovens. 26) Clarisbela recebeu x moedas de sua tia e y moedas de seu primo. Desenvolva uma função que retorne quantas moedas Clarisbela tem no total. 27) Flauberiana está estudando o cálculo de multiplicação. Ela já resolve facilmente o produto de dois números, porém apresenta bastante dificuldade em entender e verificar seus cálculos no produto de três números reais. Ajude Flauberiana a verificar se seus cálculos estão corretos, escrevendo uma função que receba três números reais e retorne o produto desses números. 28) Flauberiana está estudando os números positivos e negativos. Porém está com bastante dificuldade em entender e verificar quais dos números são positivos e quais não são. Ajude Flauberiana a verificar se determinado número é positivo, escrevendo uma função que receba um número e retorne verdadeiro, se ele for positivo, e falso, caso contrário. 29) Clarisbela recebeu x moedas de sua tia e y moedas de seu primo. Desenvolva um procedimento que mostre quantas moedas Clarisbela tem no total. 30) Flauberiana está estudando o cálculo de multiplicação. Ela já resolve facilmente o produto de dois números, porém está com bastante dificuldade em entender e verificar seus cálculos no produto de três números reais. Ajude Flauberiana a verificar se seus cálculos estão
Página 7
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES ______________________________________________________________________
corretos, escrevendo um procedimento que receba três números reais e mostra o produto desses números.
Página 8
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES
1.4 ATIVIDADES COMPLEMENTARES | AULA 04 Realize estas atividades complementares e teste seu conhecimento: 31) Mendesnerte possui uma certa quantidade de bolinhas de gude. Ele as separa de duas em duas para saber se possui um número par ou ímpar. Desenvolva um procedimento que receba a quantidade dessas bolinhas de gude e mostre, para Mendesnerte, se essa quantidade é par ou ímpar. 32) Taltinho quer guardar os dez números que mais lhe dão sorte para futuramente utilizá-los a seu favor. Porém, como ele é bastante esquecido, quer um algoritmo que possa guardar essa informação e mostrá-la sempre que quiser. Desenvolva um algoritmo em que Taltinho possa digitar os seus números da sorte num vetor e mostre esses números. 33) Um grupo da terceira idade foi fazer uma visita a uma emissora de televisão. Porém a emissora deseja presentear a pessoa mais velha desse grupo. Desenvolva uma função que receba um vetor com a idade dessas pessoas e que retorne a idade da pessoa mais velha. 34) Gilbertino continua estudando somatória. Ele já calculou a somatória de algumas sequências numéricas, porém está com dificuldade de concluir a somatório de outros números. Ajude Gilbertino a resolver seu problema, desenvolvendo um procedimento que receba um vetor números
e
mostre
a
soma
desses
números.
Página 9
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _______________________________________________________________________
35) Mendesnerte possui uma certa grande quantidade de bolinhas de gude que está separada em pequenos saquinhos. Ele pega cada saquinho e separa as bolinhas de gude de duas em duas para saber se possui um número
par
ou
ímpar.
Desenvolva
um
procedimento
em
que
Mendesnerte possa entrar com um vetor em que cada posição tenha a quantidade de bolinhas de cada saquinho e mostre os números pares desse vetor. 36) Gilbertino está estudando somatório de números positivos. Já calculou a somatória de algumas sequências de números positivos, porém está com dificuldade de concluir a somatória de números positivos, numa sequência grande de números. Ajude Gilbertino a resolver seu problema, desenvolvendo uma função que receba um vetor números e retorne a soma dos números positivos. 37) Hidekovisk possui um conjunto de moedas com diferentes números
[U1] Comentário: Igual à questão 13?
naturais. Ele precisa descobrir qual é a moeda que possui o maior número natural. Desenvolva uma função que receba uma matriz com os valores das moedas e a função retorne o valor da maior moeda. 38) Gilbertino está estudando somatória. Ele já calculou a somatória de algumas sequências numéricas, porém, está com dificuldade de concluir a somatório de 50 números. Ajude Gilbertino a resolver seu problema, desenvolvendo um algoritmo que receba 50 números e mostre a soma desses números. 39) Flauberiana está estudando o cálculo de multiplicação. Ela já resolve facilmente o produto de uma sequência de números, porém encontra bastante dificuldade em entender e em verificar seus cálculos no produto
de
vinte
números
inteiros. Página 10
[U2] Comentário: A função retorne o valor da maior moeda. Está correto?
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _______________________________________________________________________
Ajude
Flauberiana
a
verificar
se
seus
cálculos
estão
corretos,
escrevendo uma função que receba os números de 1 a 20 e mostra o produto desses números. 40) Desenvolva um algoritmo que receba uma opção inteira e saia da repetição
somente
quando
o
usuário
digitar
0.
Página 11
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES
1.5 ATIVIDADES COMPLEMENTARES | AULA 05 Realize estas atividades complementares e teste seu conhecimento: 41) A série harmônica é uma série infinita, representada pelos números 1, 1/2, 1/3, 1/4, 1/5, ... . Ela é chamada série harmônica por causa da semelhança que possui com a proporcionalidade da música, ou seja, com os comprimentos das ondas de uma corda que vibra a 1, 1/2, 2/4, 1/5, ... . Desenvolva um algoritmo que mostre o resultado da somatória da série harmônica até um número n natural positivo, digitado pelo usuário: 1 + 1/2 + 1/3 + ... + 1/N. 42) A potenciação, também conhecida como exponenciação, é a operação de elevar determinado número a a outro número b, cujo resultado também pode ser obtido pelo produto do número a, b vezes. Desenvolva um algoritmo que receba dois números a e b e mostre o resultado de a elevado a b sem ser utilizado o operador da potência. 43) Um grupo de jovens foi fazer uma visita a uma emissora de televisão. Porém a emissora quer saber a média de idades desse grupo. Desenvolva uma função que receba as idades desses jovens num vetor, calcula e retorna a média da idade desses jovens. 44) Um grupo de jovens foi fazer uma visita a uma emissora de televisão. Porém a emissora quer saber a média de idades desse grupo. Desenvolva um procedimento que receba as idades desses jovens num vetor, calcule e mostre, para a emissora, a média da idade desses jovens.
Página 12
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _______________________________________________________________________
45) Hidekovisk possui um conjunto de moedas com diferentes números naturais. Ele precisa descobrir qual é a moeda que possui o maior número natural. Desenvolva uma função em que receba um vetor com os valores dessas moedas e retorne o maior valor desse vetor. 46) Sabemos que Hidekovisk possui um conjunto de moedas com diferentes números naturais. Agora ele precisa descobrir qual é a moeda que possui o menor número natural. Assim, desenvolva uma função em que receba um vetor com os valores das moedas e retorne o menor valor desse vetor. 47) Desenvolva um programa em C e um programa em Java para a seguinte situação-problema: Alguns motoristas registram os quilômetros dirigidos e os litros consumidos a cada abastecimento de seus carros. Sua função é escrever um programa que ajude esses motoristas a obter o consumo (em quilômetros por litro) de seus carros. Ao ser executado, seu programa solicitará que o usuário informe o número de quilômetros dirigidos e a quantidade de litros de combustível colocada naquele abastecimento. Após receber essa entrada, seu programa deverá calcular e mostrar a quantidade de quilômetros por litro, obtida neste abastecimento e, em seguida, a quantidade média dos abastecimentos digitados até então. Em seguida, deverá solicitar os dados do próximo abastecimento. Caso o usuário digite 0 no número de quilômetros e 0 na quantidade de litros de combustível consumidos, o programa deverá ser encerrado. Um exemplo de funcionamento do programa poderia ser:
Página 13
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _______________________________________________________________________
Digite a quantidade de quilômetros percorridos (ou 0 para sair): 320 Digite a quantidade de litros abastecidos percorridos (ou 0 para sair): 39 Seu consumo neste abastecimento é: 8.20 km/l Sua média de consumo é: 8.20 km/l Digite a quantidade de quilômetros percorridos (ou 0 para sair): 360 Digite a quantidade de litros abastecidos percorridos (ou 0 para sair): 37 Seu consumo neste abastecimento é: 9.73 km/l Sua média de consumo é: 8.97 km/l Digite a quantidade de quilômetros percorridos (ou 0 para sair): 0 Digite a quantidade de litros abastecidos percorridos (ou 0 para sair): 0 Saindo... 48)
Desenvolva um programa em C e um programa em Java para a seguinte situação-problema: Você foi encarregado de desenvolver um programa para uma empresa logística, responsável por entregar encomendas entre cidades do Brasil. Seu programa deverá armazenar as distâncias entre as 5 cidades mais atendidas pela transportadora. Você deverá utilizar os códigos das cidades (1, 2, 3, 4 ou 5) e as distâncias deverão ser armazenadas em uma tabela de distâncias, conforme o exemplo abaixo: 1
2
3
4
5
1
0
39,5
73,2
58
62
2
39,5
0
36
25,4
86,8
Página 14
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _______________________________________________________________________
3
73,2
36
0
55,1
85,7
4
58
25,4
55,1
0
23
5
62
86,8
85,7
23
0
O programa desenvolvido por você deverá inicialmente apresentar um menu com três opções: 1) Cadastramento de distâncias, 2) Consulta de distâncias e 3) Sair do programa. No cadastramento de distâncias, seu programa deverá pedir para o usuário informar a distância entre a primeira e a segunda cidade e armazená-la na tabela. Em seguida, fazer o mesmo entre a primeira e a terceira, e assim por diante até todas as distâncias estarem cadastradas. Após isso seu programa deve retornar ao menu inicial. Na consulta de distâncias, seu programa deverá pedir para o usuário informar a cidade de origem e, em seguida a cidade de destino. Caso os códigos das cidades sejam válidos, seu programa deverá retornar a distância entre as duas cidades armazenadas na tabela e, em seguida, retornar ao menu inicial. Caso o usuário digite um código incorreto, o sistema deve informar e pedir para que o usuário insira novamente um código de cidade. Caso o usuário escolha a terceira opção, o programa deverá ser encerrado. Seu
programa
deve
ser
modularizado,
utilizando
um
módulo
para
apresentar o menu (módulo procedimento sem parâmetros), um módulo para o cadastramento de distâncias (módulo função que devolve a tabela de distâncias) e outro módulo para a consulta de distâncias (módulo função parametrizado, que recebe como parâmetro a tabela de distância e devolve a distância encontrada).
Página 15
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _______________________________________________________________________
OBS: Diferente do Java, o módulo de cadastramento de usuários em C deverá ser um módulo procedimento que recebe a tabela de distâncias.
Para
que
a
tabela
informada
seja
modificada
para
acrescentar as distâncias, ao utilizarmos o módulo deveremos informar a tabela precedida do operador &. Ex: float distancias[5][5]; Cadastro(&distancias); 49)
Crie um programa que simule um sistema de autenticação. O programa deverá apresentar um menu com três opções. Na primeira opção, o programa deverá cadastrar os nomes e as senhas de 5 pessoas e retornar ao menu principal. Na segunda opção, o programa deverá perguntar o nome e a senha da pessoa que deseja acesso. Caso o nome entrado seja um dos cinco nomes cadastrados, o sistema deverá mostrar a mensagem “Acesso liberado”, e, caso contrário, “Acesso negado” e voltar ao menu principal. Caso o usuário escolha a terceira opção, o sistema deverá ser encerrado.
50) O valor de π pode ser calculado usando a seguinte série:
4
4 3
4 5
4 7
4 4 ... 9 11
A precisão da aproximação do valor de π depende da quantidade de termos da série que utilizamos para fazer esse cálculo. Crie um programa que calcule a aproximação do valor de π, utilizando n termos da série acima. O programa deverá pedir um número n ao usuário e deverá imprimir o valor aproximado de π, usando n termos (conte o primeiro 4 como um termo). Caso o usuário digite um número menor
Página 16
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _______________________________________________________________________
do que 1, o programa deverá solicitar ao usuário que entre com outro número, repetindo isso até que o usuário digite um número inteiro maior ou igual a 1.
Página 17
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES
2
APÊNDICE
2.1 GABARITO DA ATIVIDADES COMPLEMENTARES | AULA 01 GABARITO | QUESTÃO 01
01) Solução em Pseudocódigo Algoritmo Soma inicio var n1, n2, s inteiro; ler (n1, n2); s <- n1 + n2; escrever (s); fim.
01) Solução em C #include <stdio.h> main() { int n1, n2, s; printf("Digite um número: "); scanf("%d",
&n1);
Página 18
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
printf("Digite um número: "); scanf("%d", &n2); s = n1 + n2; printf("%d", s); }
01) Solução em Java import javax.swing.*; class Soma { public static void main (String x[]) { int n1, n2, s; n1
=
Integer.parseInt(JOptionPane.showInputDialog("Digite
um
Integer.parseInt(JOptionPane.showInputDialog("Digite
um
número")); n2
=
número")); s = n1 + n2; JOptionPane.showMessageDialog (null, s); } }
GABARITO | QUESTÃO 02
Página 19
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
02) Solução em Pseudocódigo Algoritmo Divisao inicio var n1, n2, q, r inteiro; ler (n1, n2); q <- n1 div n2; r <- n1 mod n2; escrever (q, r); fim.
02) Solução em C #include <stdio.h> main() { int n1, n2, q, r; printf("Digite um número: "); scanf("%d", &n1); printf("Digite um número: "); scanf("%d", &n2); q = n1 / n2;
Página 20
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
r = n1 % n2; printf("%d", q); printf("%d", r); }
02) Solução em Java import javax.swing.*; class Divisao { public static void main (String x[]) { int n1, n2, q, r; n1
=
Integer.parseInt(JOptionPane.showInputDialog("Digite
um
Integer.parseInt(JOptionPane.showInputDialog("Digite
um
número")); n2
=
número")); q = n1 / n2; r = n1 % n2; JOptionPane.showMessageDialog (null, q); JOptionPane.showMessageDialog (null, r); } }
GABARITO | QUESTÃO 03
Página 21
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
03) Solução em Pseudocódigo Algoritmo NomeSobrenome inicio var n, s alfanumérico; ler(n, s); escrever (n , " " , s); fim.
03) Solução em C #include <stdio.h> main() { char n[30], s[30]; printf("Digite seu nome: "); scanf("%s", &n); printf("Digite seu sobrenome: "); scanf("%s", &s); printf("%s %s", n, s); }
03) Solução em Java
Página 22
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
import javax.swing.*; class NomeSobrenome { public static void main (String x[]) { String n, s; n = (JOptionPane.showInputDialog("Digite seu nome")); s = ("Digite seu sobrenome")); JOptionPane.showMessageDialog (null, n + " " + s); } }
GABARITO | QUESTÃO 04
04) Solução em Pseudocódigo
Página 23
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
Algoritmo ParImpar inicio var n inteiro; ler (n); se (n mod 2 = 0) então escrever ("é par"); senão escrever ("é ímpar"); fimse; fim.
04) Solução em C #include <stdio.h> main() { int n; printf("Digite um número: "); scanf("%d",
&n);
Página 24
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
if (n % 2 == 0) { printf("é par"); } else { printf("é ímpar"); } }
04) Solução em Java import javax.swing.*; class ParImpar { public static void main (String x[]) { int n; n
=
Integer.parseInt(JOptionPane.showInputDialog("Digite
um
número")); if (n % 2 == 0) { JOptionPane.showMessageDialog (null, "é par"); } else { JOptionPane.showMessageDialog (null, "é ímpar" ); } } }
Página 25
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
GABARITO | QUESTÃO 05
05) Solução em Pseudocódigo Algoritmo Nota inicio var n real; ler (n); se (n >= 5) então escrever ("aprovado"); senão se (nota >= 3) então escrever ("em recuperação"); senão escrever ("reprovado"); fimse; fimse; fim.
05) Solução em C
Página 26
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
#include <stdio.h> main() { float n; printf("Digite um numero: "); scanf("%f", &n); if (n >= 5) { printf("Aprovado"); } else { if (n >= 3) { printf("em recuperação"); } else { printf("reprovado"); } } }
05) Solução em Java
Página 27
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
import javax.swing.*; class Nota { public static void main (String x[]) { double n; n
=
Double.parseDouble(JOptionPane.showInputDialog("Digite
um
número")); if (n >= 5) { JOptionPane.showMessageDialog (null, "aprovado"); } else { if ( n>= 3) { JOptionPane.showMessageDialog (null, "em recuperação" ); } else { JOptionPane.showMessageDialog (null, "reprovado" ); } } } }
GABARITO | QUESTÃO 06
Página 28
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
06) Solução em Pseudocódigo Algoritmo Semestre inicio var m inteiro; ler (m); se (m >= 1 e m <= 6) então escrever ("primeiro semestre"); senão escrever ("segundo semestre"); fimse; fim.
06) Solução em C #include <stdio.h> main() { int m; printf("Digite um numero: "); scanf("%d", &m); if (m >= 1 && m <= 6)
Página 29
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
{ printf("primeiro semestre"); } else { printf("segundo semestre"); } }
06) Solução em Java import javax.swing.*; class Semestre { public static void main (String x[]) { int m; m
=
Integer.parseInt(JOptionPane.showInputDialog("Digite
um
número")); if (m >= 1 e m <= 6)) { JOptionPane.showMessageDialog (null, "primeiro semestre"); } else { JOptionPane.showMessageDialog (null, "segundo semestre" ); } }
Página 30
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
}
GABARITO | QUESTÃO 07
07) Solução em Pseudocódigo Algoritmo trimestre inicio var m inteiro; ler (m); escolha (m) caso 1, 2, 3 : escrever ("primeiro trimestre"); caso 4, 5, 6 : escrever ("segundo trimestre"); caso 7, 8, 9 : escrever ("terceiro trimestre"); caso 10, 11, 12 : escrever ("quarto trimestre"); caso contrário: escrever ("inválido"); fimescolha; fim.
07) Solução em C #include <stdio.h> main() {
Página 31
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
int m; printf("Digite um numero: "); scanf("%d", &m); switch (m) { case 1: case 2: case 3: printf("primeiro trimestre"); break; case 4: case 5: case 6: printf("segundo trimestre"); break; case 7: case 8: case 9: printf("terceiro trimestre"); break; case 10: case 11: case 12: printf("quarto trimestre"); break; default: printf("opção inválida");
Página 32
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
} }
07) Solução em Java import javax.swing.*; class Trimestre { public static void main (String x[]) { int m; m
=
Integer.parseInt(JOptionPane.showInputDialog("Digite
um
número")); switch (m) { case 1, 2, 3: JOptionPane.showMessageDialog (null, "primeiro trimestre"); break; case 4, 5, 6: JOptionPane.showMessageDialog (null, "primeiro trimestre"); break; case 7, 8, 9: JOptionPane.showMessageDialog (null, "primeiro trimestre"); break; case 10, 11, 12: JOptionPane.showMessageDialog (null, "primeiro trimestre"); break; case
default:
JOptionPane.showMessageDialog
(null,
"opção
Página 33
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
inválida"); } } }
GABARITO | QUESTÃO 08
08) Solução em Pseudocódigo Algoritmo tarefas inicio var dia alfanumérico; ler (dia); escolha (dia) caso "segunda-feira", "sexta-feira" : escrever ("estudar algoritmos"); caso "terça-feira" : escrever ("estudar matemática"); caso "quarta-feira" : escrever ("estudar inglês"); caso "quinta-feira" : escrever ("estudar português"); caso "sábado" : escrever ("passear"); caso "domingo" : escrever ("descansar"); caso contrário : escrever ("inválido"); fim.
08) Solução em C #include <stdio.h>
Página 34
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
main() { char dia; printf("Digite um numero: "); scanf("%c", &dia); switch (dia) { case '1': case '5': printf("estudar algoritmos"); break; case '2': printf("estudar matemática"); break; case '3': printf("estudar inglês"); break; case '4': printf("estudar português"); break; case '6': printf("passear"); break; case '7': printf("descansar");
Página 35
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
break; default: printf("opção inválida"); } }
08) Solução em Java import javax.swing.*; class Tarefa { public static void main (String x[]) { char dia; dia = (JOptionPane.showInputDialog("Digite um número")).charAt(0); switch (m) { case '1', '5': JOptionPane.showMessageDialog (null, "estudar algoritmos"); break; case
'2'
:
JOptionPane.showMessageDialog
(null,
"estudar
matemática"); break; case '3' : JOptionPane.showMessageDialog (null, "estudar inglês"); break; case
'4'
:
JOptionPane.showMessageDialog
(null,
"estudar
português"); break;
Página 36
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
case '6' : JOptionPane.showMessageDialog (null, "passear"); break; case '7' : JOptionPane.showMessageDialog (null, "descansar"); break; case
default:
JOptionPane.showMessageDialog
(null,
"opção
inválida"); } } }
GABARITO | QUESTÃO 09
09) Solução em Pseudocódigo Algoritmo soma var i, n, s <- 0 inteiro; para i de 1 até 10 passo +1 faça ler (n); s <- s + n; fimpara; escrever (s); fim.
Página 37
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
09) Solução em C #include <stdio.h> main() { int i, n, s = 0; for (i = 1; i < 11; i++) { printf("Digite um número: "); scanf("%d", &n); s = s + n; } printf("%d", s); }
09) Solução em Java import javax.swing.*; class Soma { public static void main (String x[]) { int i, n, s = 0; for (i = 1; i < 11; i++) { n = Integer.parseInt(JOptionPane.showInputDialog("Digite um
Página 38
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
número")); s = s + n; } JOptionPane.showMessageDialog (null, s); } }
GABARITO | QUESTÃO 10
10) Solução em Pseudocódigo Algoritmo SomaPares var i, n, s <- 0 inteiro; para i de 1 até 15 passo +1 faça ler (n); se (n mod 2 = 0) então s <- s + n; fimse; fimpara; escrever (s);
Página 39
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
fim.
10) Solução em C #include <stdio.h> main() { int i, n, s = 0; for (i = 1; i < 16; i++) { printf("Digite um número: "); scanf("%d", &n); if (n % 2 == 0) { s = s + n; } } printf("%d", s); }
10) Solução em Java import javax.swing.*; class SomaPares { public static void main (String x[]) {
Página 40
LÓGICA DA PROGRAMAÇÃO ATIVIDADES COMPLEMENTARES _____________________________________________________________________
int i, n, s = 0; for (i = 1; i < 16; i++) { n = Integer.parseInt(JOptionPane.showInputDialog("Digite um número")); if (n % 2 == 0) { s = s + n; } } JOptionPane.showMessageDialog (null, s); } }
Página 41
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES
2.2 GABARITO DAS ATIVIDADES COMPLEMENTARES | AULA 02 GABARITO | QUESTÃO 11
11) Solução em Pseudocódigo Algoritmo Fatorial var i, n, fat <- 1 inteiro; ler (n); para i de 1 até n passo + 1 faça fat <- fat * i; fimpara; escrever (fat); fim.
11) Solução em C #include <stdio.h> main() { int i, n, fat = 1; printf("Digite um número: "); scanf("%d", &n); for
(i
=
1;
i
<=
n;
i++)
Página 42
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
{ fat = fat + i; } printf("%d", fat); }
11) Solução em Java import javax.swing.*; class Fatorial { public static void main (String x[]) { int i, n, fat = 1; n
=
Integer.parseInt(JOptionPane.showInputDialog("Digite
um
número")); for (i = 1; i <= n; i++) { fat = fat + i; } JOptionPane.showMessageDialog (null, fat); } }
Página 43
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
GABARITO | QUESTÃO 12
12) Solução em Pseudocódigo Algoritmo Tabuada inicio var t, i inteiro; ler (t); para i de 1 até 10 passo + 1 faça escrever (i , " x " , t , " = " , (t*i)); fimpara; fim.
12) Solução em C #include <stdio.h> main() { int i, t; printf("Digite um número: "); scanf("%d", &t); for (i = 1; i <= 10; i++)
Página 44
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
{ printf("%d x %d = %d\n",i , t, (i * t)); } }
12) Solução em Java import javax.swing.*; class Tabuada { public static void main (String x[]) { int i, t; t
=
Integer.parseInt(JOptionPane.showInputDialog("Digite
um
número")); for (i = 1; i <= 10; i++) { JOptionPane.showMessageDialog (null, i + " x " + t
+ " = " +
(t*i)); } } }
Página 45
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
GABARITO | QUESTÃO 13
13) Solução em Pseudocódigo Algoritmo MaiorNumero inicio var n, maior, i inteiro; ler (n); maior <- n; para i de 1 até 19 passo +1 faça ler (n); se (n > maior) então maior <- n); fimse; fimpara; escrever(maior); fim.
13) Solução em C #include <stdio.h> main() { int n, maior, i;
Página 46
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
printf("Digite um número: "); scanf("%d", &n); maior = n; for (i = 1 ; i < 20 ; i++) { printf("Digite um número: "); scanf("%d", &n); if (n > maior) { maior = n; } } printf("%d", maior); }
13) Solução em Java import javax.swing.*; class MaiorNumero { public static void main (String x[]) { int n, maior, i;
Página 47
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
n
=
Integer.parseInt(JOptionPane.showInputDialog("Digite
um
número")); maior = n; for (i = 1 ; i < 20 ; i++) { n
=
Integer.parseInt(JOptionPane.showInputDialog("Digite
um
número")); if (n > maior) { maior = n; } } JOptionPane.showMessageDialog (null, maior ); } }
GABARITO | QUESTÃO 14
14) Solução em Pseudocódigo Algoritmo SomaQuadrado inicio var s, n1, n2 real; ler (n1, n2); s <- n1*n1 + n2*n2;
Página 48
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
escrever (s); fim.
14) Solução em C #include <stdio.h> main() { int n1, n2, s; printf("Digite um número: "); scanf("%d", &n1); printf("Digite um número: "); scanf("%d", &n2); s = n1*n1 + n2*n2; printf("%d", s); }
14) Solução em Java import javax.swing.*; class SomaQuadrado { public static void main (String x[])
Página 49
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
{ double n1, n2, s; n1
=
Double.parseDouble(JOptionPane.showInputDialog("Digite
um
Double.parseDouble(JOptionPane.showInputDialog("Digite
um
número")); n2
=
número")); s = n1*n1 + n2*n2; JOptionPane.showMessageDialog (null, s); } }
GABARITO | QUESTÃO 15
15) Solução em Pseudocódigo Algoritmo SomaQuadrado inicio var s, n1, n2 real; ler (n1, n2); s <- pot(n1,3) + pot(n2,3); escrever (s); fim.
Página 50
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
15) Solução em C #include <stdio.h> #include <math.h> main() { int n1, n2, s; printf("Digite um número: "); scanf("%d", &n1); printf("Digite um número: "); scanf("%d", &n2); s = pow(n1,3) + pow(n2,3); printf("%d", s); }
15) Solução em Java import javax.swing.*; class SomaQuadrado { public static void main (String x[]) {
Página 51
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
double n1, n2, s; n1
=
Double.parseDouble(JOptionPane.showInputDialog("Digite
um
Double.parseDouble(JOptionPane.showInputDialog("Digite
um
número")); n2
=
número")); s = Math.pow(n1,3) + Math.pow(n2,3); JOptionPane.showMessageDialog (null, s); } }
GABARITO | QUESTÃO 16
16) Solução em Pseudocódigo Algoritmo Raiz inicio var n, r inteiro; ler (n); r <- rad(n); escrever (r); fim.
Página 52
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
16) Solução em C #include <stdio.h> #include <math.h> main() { int n; float r; printf("Digite um número: "); scanf("%d", &n); r = sqrt(n); printf("%f", r); }
16) Solução em Java import javax.swing.*; class Raiz { public static void main (String x[]) { int n double r;
Página 53
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
n
=
Integer.parseInt(JOptionPane.showInputDialog("Digite
um
número")); r = Math.sqrt(n); JOptionPane.showMessageDialog (null, r); } }
GABARITO | QUESTÃO 17
17) Solução em Pseudocódigo Algoritmo Media inico var n1, n2, m real; ler (n1, n2); m <- (n1 + n2) / 2; escrever (m); fim.
17) Solução em C #include <stdio.h> main()
Página 54
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
{ float n1, n2, m; printf("Digite um número: "); scanf("%f", &n1); printf("Digite um número: "); scanf("%f", &n2); m = (n1 + n2) / 2; printf("%f", m); }
17) Solução em Java import javax.swing.*; class Media { public static void main (String x[]) { double n1, n2, m; n1
=
Double.parseDouble(JOptionPane.showInputDialog("Digite
um
Double.parseDouble(JOptionPane.showInputDialog("Digite
um
número")); n2
=
número")); m = (n1 + n2) / 2;
Página 55
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
JOptionPane.showMessageDialog (null, m); } }
GABARITO | QUESTÃO 18
18) Solução em Pseudocódigo Algoritmo Divisivel3 inicio var n inteiro; ler(n); se (n mod 3 = 0) então escrever ("é divisível por três"); senão escrever ("não é divisível por três"); fimse; fim.
18) Solução em C #include <stdio.h> main()
Página 56
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
{ int n; printf("Digite um número: "); scanf("%d", &n); if (n % 3 == 0) { printf("é divisível por 3"); } else { printf("não é divisível por 3" ); } }
18) Solução em Java import javax.swing.*; class Divisivel3 { public static void main (String x[]) { int n; n
=
Integer.parseInt(JOptionPane.showInputDialog("Digite
um
número")); if (n % 3 == 0)
Página 57
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
{ JOptionPane.showMessageDialog (null, "é divisível por 3"); } else { JOptionPane.showMessageDialog (null, "não é divisível por 3" ); } } }
GABARITO | QUESTÃO 19
19) Solução em Pseudocódigo Algoritmo Area inicio var l, a real; ler (l); se (l > 0) então a <- l * l; escrever (a); senão escrever ("valor inválido"); fimse; fim.
Página 58
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
19) Solução em C #include <stdio.h> main() { float l, a; printf("Digite um número: "); scanf("%f", &l); a = l * l; printf("%f", a); }
19) Solução em Java import javax.swing.*; class Area { public static void main (String x[]) { double l, a; l
=
Double.parseDouble(JOptionPane.showInputDialog("Digite
um
número"));
Página 59
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
a = l * l; JOptionPane.showMessageDialog (null, a); } }
GABARITO | QUESTÃO 20
20) Solução em Pseudocódigo Algoritmo Comprimento inicio var r, c real; ler (r); se (r > 0) então c <- 2 * 3.14 * r; escrever (c); senão escrever ("valor inválido"); fimse; fim.
Página 60
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
20) Solução em C #include <stdio.h> main() { float c, r; printf("Digite um número: "); scanf("%f", &r); if (r > 0) { c = 2 * 3.14 * r; printf("%f", c); } else { printf("valor inválido" ); } }
20) Solução em Java import javax.swing.*; class Comprimento { public static void main (String x[])
Página 61
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
{ double c, r; r
=
Double.parseDouble(JOptionPane.showInputDialog("Digite
um
raio")); if (r > 0) { c = 2 * 3.14 * r; JOptionPane.showMessageDialog (null, c); } else { JOptionPane.showMessageDialog (null, "valor inválido" ); } } }
Página 62
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES
2.3 GABARITO DAS ATIVIDADE COMPLEMENTARES | AULA 03 GABARITO | QUESTÃO 21
21) Solução em Pseudocódigo Algoritmo AreaCírculo inicio var r, a real; ler (r); se (r > 0) então a <- 3.14 * r * r escrever (a); senão escrever ("valor inválido"); fimse; fim.
21) Solução em C #include <stdio.h> main() { float
a,
r;
Página 63
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
printf("Digite um número: "); scanf("%f", &r); if (r > 0) { a = 3.14 * r * r; printf("%f", a); } else { printf("valor inválido" ); } }
21) Solução em Java import javax.swing.*; class AreaCirculo { public static void main (String x[]) { double a, r; r
=
Double.parseDouble(JOptionPane.showInputDialog("Digite
um
raio")); if (r > 0) {
Página 64
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
a = 3.14 * r * r; JOptionPane.showMessageDialog (null, a); } else { JOptionPane.showMessageDialog (null, "valor inválido" ); } } }
GABARITO | QUESTÃO 22
22) Solução em Pseudocódigo Algoritmo Soma inicio var i, s <- 0, n inteiro; para i de 1 até 30 passo +1 faça ler (n); s <- s + n; fimpara; escrever (n); fim.
Página 65
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
22) Solução em C #include <stdio.h> main() { int i, n, s = 0; for (i = 1; i < 31; i++) { printf("Digite um número: "); scanf("%d", &n); s = s + n; } printf("%d", s); }
22) Solução em Java import javax.swing.*; class Soma { public static void main (String x[]) { int i, n, s = 0; for (i = 1; i < 31; i++)
Página 66
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
{ n = Integer.parseInt(JOptionPane.showInputDialog("Digite um número")); s = s + n; } JOptionPane.showMessageDialog (null, s); } }
GABARITO | QUESTÃO 23
23) Solução em Pseudocódigo Algoritmo Quadrado inicio var n, i inteiro; para i de 10 até 20 passo +1 faça n <- i * i; escrever (n); fimpara; fim.
Página 67
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
23) Solução em C #include <stdio.h> main() { int i, n; for (i = 10; i < 21; i++) { n = i * i; printf("%d\n", n); } }
23) Solução em Java import javax.swing.*; class Quadrado { public static void main (String x[]) { int i, n; for (i = 10; i < 21; i++) { n = i * i; JOptionPane.showMessageDialog (null, s);
Página 68
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
} } }
GABARITO | QUESTÃO 24
24) Solução em Pseudocódigo Algoritmo Idade inicio var id, i, menor inteiro; ler (id); menor <- id; para i de 2 até 20 passo +1 faça ler (id); se (menor > id) então menor <- id; fimse; fimpara; escrever (menor); fim.
Página 69
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
24) Solução em C #include <stdio.h> main() { int i, id, menor; printf("Digite um número: "); scanf("%d", &id); menor = id; for (i = 2; i < 21; i++) { printf("Digite um número: "); scanf("%d", &id ); if (menor > id) { menor = id; } } printf("%d", menor); }
Página 70
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
24) Solução em Java import javax.swing.*; class Idade { public static void main (String x[]) { int i, id, menor; id
=
Integer.parseInt(JOptionPane.showInputDialog("Digite
um
número")); menor = id; for (i = 2; i < 21; i++) { n = Integer.parseInt(JOptionPane.showInputDialog("Digite um número")); if (menor > id) { menor = id; } } JOptionPane.showMessageDialog (null, menor); } }
GABARITO | QUESTÃO 25
Página 71
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
25) Solução em Pseudocódigo Algoritmo Media inicio var n, i inteiro; m <- 0 real; para i de 1 até 10 passo +1 faça ler (n); m <- m + n; fimpara; m <- m / 10; escrever (m); fim.
25) Solução em C #include <stdio.h> main() { int i, n; float m = 0; for (i = 1; i < 11; i++) {
Página 72
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
printf("Digite um número: "); scanf("%d", &n); m = m + n; } m = m / 10; printf("%f", m); }
25) Solução em Java import javax.swing.*; class Media { public static void main (String x[]) { int i, n; double m = 0; for (i = 1; i < 11; i++) { n
=
Integer.parseInt(JOptionPane.showInputDialog("Digite
um
número")); m = m + n; } m = m / 10; JOptionPane.showMessageDialog (null, m); } }
Página 73
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
GABARITO | QUESTÃO 26
26) Solução em Pseudocódigo inteiro Soma (n1 inteiro, n2 inteiro) inicio var s inteiro; s <- n1 + n2; retornar s; fim.
26) Solução em C int Soma (int n1, int n2) { int s; s = n1 + n2; return s; }
26) Solução em Java
Página 74
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
int Soma (int n1, int n2) { int s; s = n1 + n2; return s; }
GABARITO | QUESTÃO 27
27) Solução em Pseudocódigo real Produto (n1 real, n2 real, n3 real) inicio var p real; p <- n1 * n2 * n3; retornar p; fim.
27) Solução em C float Produto (float n1, float n2, float n3) { float p;
Página 75
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
p = n1 * n2 * n3; return p; }
27) Solução em Java double Produto (double n1, double n2, double n3) { double p; p = n1 * n2 * n3; return p; }
GABARITO | QUESTÃO 28
28) Solução em Pseudocódigo lógico Verifica (n inteiro) inicio se (n > 0) então retornar verdadeiro; senão retornar falso; fimse;
Página 76
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
fim.
28) Solução em C #include <stdbool.h> bool Verifica (int n) { if (n > 0) { return true; } else { return false; } }
28) Solução em Java boolean Verifica (int n) { if (n > 0) { return true; } else {
Página 77
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
return false; } }
GABARITO | QUESTÃO 29
29) Solução em Pseudocódigo Soma (n1 inteiro, n2 inteiro) inicio var s inteiro; s <- n1 + n2; escrever (s); fim.
29) Solução em C void Soma (int n1, int n2) { int s; s = n1 + n2; printf("%d", s); }
29) Solução em Java
Página 78
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
Soma (int n1, int n2) { int s; s = n1 + n2; JOptionPane.showMessageDialog(null, s); }
GABARITO | QUESTÃO 30
30) Solução em Pseudocódigo Produto (n1 real, n2 real, n3 real) inicio var p real; p <- n1 * n2 * n3; escrever (p); fim.
30) Solução em C
Página 79
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
Produto (float n1, float n2, float n3) { float p; p = n1 * n2 * n3; printf("%f", p); }
30) Solução em Java Produto (double n1, double n2, double n3) { double p; p = n1 * n2 * n3; JOptionPane.showMessageDialog(null, p); }
Página 80
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES
2.4 GABARITO DAS ATIVIDADES COMPLEMENTARES | AULA 04 GABARITO | QUESTÃO 31
31) Solução em Pseudocódigo Verifica (n inteiro) inicio se (n > 0) então escrever ("é positivo"); senão escrever ("é não positivo"); fimse; fim.
31) Solução em C Verifica (int n) { if (n > 0) { printf("é positivo"); } else { printf("é não positivo"); } }
Página 81
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
31) Solução em Java Verifica (int n) { if (n > 0) { JOptionPane.showMessageDialog(null,"é positivo"); } else { JOptionPane.showMessageDialog(null,"é não positivo"); } }
GABARITO | QUESTÃO 32
32) Solução em Pseudocódigo Algoritmo VetorNumeros inicio var Vet[10], n, i inteiro; para i de 0 até 9 passo +1 faça ler (n); Vet[i] <- n;
Página 82
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
escrever (Vet[i]); fimpara; fim.
32) Solução em C #include <stdio.h> main() { int i, n, Vet[10]; for (i = 0; i < 10; i++) { printf("Digite um número: "); scanf("%d", &n); Vet[i] = n; printf("%d\n", Vet[i]); } }
32) Solução em Java import javax.swing.*; class VetorNumeros { public static void main (String x[]) {
Página 83
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
int i, n, Vet[] = new int [10]; for (i = 0; i < 10; i++) { n = Integer.parseInt(JOptionPane.showInputDialog("Digite um número")); Vet[i] = n; JOptionPane.showMessageDialog (null, Vet[i]); } } }
GABARITO | QUESTÃO 33
33) Solução em Pseudocódigo inteiro MaiorNumero (Vet[] inteiro) inicio var maior <- Vet[0], i inteiro; para i de 1 até (Vet.tamanho-1) passo +1 faça se (Vet[i] > maior) então maior <- Vet[i]; fimse; fimpara;
Página 84
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
retornar maior; fim.
33) Solução em C int
MaiorNumero (int *Vet, int tam)
{ int maior = Vet[0], i; for (i = 0 ; i < tam; i++) { if (Vet[i] > maior) { maior = Vet[i]; } } return maior; }
33) Solução em Java int
MaiorNumero (int Vet[])
{ int maior = Vet[0], i; for ( i = 1 ; i <= (Vet.length-1) ; i++) { if (Vet[i] > maior)
Página 85
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
{ maior = Vet[i]; } } return maior; }
GABARITO | QUESTÃO 34
34) Solução em Pseudocódigo SomaVetor (Vet[] real) var i, s <- 0 inteiro; para i de 0 até (Vet.tamanho-1) passo +1 faça s <- s + Vet[i]; fimpara; escrever s; fim.
34) Solução em C SomaVetor (int *Vet, int tam) { int s = 0, i;
Página 86
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
for ( i = 0 ; i < tam ; i++) { s = s + Vet[i]; } printf("%d", s); }
34) Solução em Java double SomaVetor (int Vet[]) { int s = 0, i; for ( i = 0 ; i <= (Vet.length-1) ; i++) { s = s + Vet[i]; } JOptionPane.showMessageDialog(null, s); }
Página 87
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
GABARITO | QUESTÃO 35
35) Solução em Pseudocódigo ParesVetor (Vet[] inteiro) inicio var i inteiro; para i de 0 até (Vet.tamanho-1) passo +1 faça se (Vet[i] mod 2 = 0) então escrever (Vet[i]); fimse; fimpara;
35) Solução em C ParesVetor (int *Vet, int tam) { int i; for ( i = 0; i < tam; i++) { if (Vet[i] % 2 == 0) { printf("%d", Vet[i]);
Página 88
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
} } }
35) Solução em Java ParesVetor (int Vet[]) { int i; for ( i = 0 ; i <= (Vet.length-1) ; i++) { if (Vet[i] % 2 == 0) { JOptionPane.showMessageDialog(null, Vet[i]); } } }
GABARITO | QUESTÃO 36
36) Solução em Pseudocódigo real PositivoVetor(Vet[] real) inicio var i, s <- 0 inteiro;
Página 89
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
para i de 0 ate (Vet.tamanho-1) passo +1 faça se (Vet[i] > 0) então s <- s + Vet[i]; fimse; fimpara; retornar s; fim.
36) Solução em C float PositivoVetor (float *Vet, int tam) { int i, s = 0; for ( i = 0 ; i < tam; i++) { if (Vet[i] > 0) { s = s + Vet[i]; } } return s; }
Página 90
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
36) Solução em Java double PositivoVetor (double Vet[]) { int i, s = 0; for ( i = 0 ; i <= (Vet.length-1) ; i++) { if (Vet[i] > 0) { s = s + Vet[i] } } return s; }
GABARITO | QUESTÃO 37
37) Solução em Pseudocódigo inteiro MaiorNumero (Mat[][] inteiro) inicio var maior <- Mat[0][0], i, j inteiro; para i de 0 até (Mat.tamanho-1) passo +1 faça
Página 91
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
para j de 0 até (Mat[0].tamanho-1) passo +1 faça se (Mat[i][j] > maior) então maior <- Mat[i][j]; fimse; fimpara; fimpara; retornar maior; fim.
37) Solução em C int
MaiorNumero (int **Mat, int m, int n)
{ int maior = Mat[0][0], i, j; for ( i = 0 ; i < m ; i++) { for ( j = 0 ; j < n ; j++) { if (Mat[i][j] > maior) { maior = Mat[i][j]; } } } return maior; }
Página 92
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
37) Solução em Java int
MaiorNumero (int Mat[][])
{ int maior = Mat[0][0], i, j; for ( i = 0 ; i <= (Mat.tamanho-1) ; i++) { for ( j = 0 ; j <= (Mat[0].tamanho-1) ; j++) { if (Mat[i][j] > maior) { maior = Mat[i][j]; } } } return maior; }
GABARITO | QUESTÃO 38
38) Solução em Pseudocódigo Algoritmo Soma inicio var
Página 93
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
s <- 0, i <- 1, n inteiro; enquanto (i <=50) faça ler (n); s <- s + n; i <- i + 1; fimenquanto; escrever (s); fim
38) Solução em C #include <stdio.h> main() { int s = 0, i = 1, n; while (i <=50) { printf("Digite um número: "); scanf("%d", &n); s = s + n; i = i + 1; } printf("%d", s); }
Página 94
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
38) Solução em Java import javax.swing.*; class Soma { public static void main (String x[]) { int s = 0, i = 1, n; while (i <=50) { n
=
Integer.parseInt(JOptionPane.showInputDialog("digite
um
número")); s = s + n; i = i + 1; } JOptionPane.showMessageDialog (null, s); } }
GABARITO | QUESTÃO 39
39) Solução em Pseudocódigo Algoritmo Produto inicio var
Página 95
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
p <- 1, i <- 1, n inteiro; enquanto (i <=20) faça p <- p * i; i <- i + 1; fimenquanto; escrever (p); fim.
39) Solução em C #include <stdio.h> main() { int p = 1, i = 1; while (i <=20) { p = p * i; i = i + 1; printf("%d\n", p); } printf("%d", p); }
Página 96
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
39) Solução em Java import javax.swing.*; class Produto { public static void main (String x[]) { int p = 1, i = 1; while (i <=20) { p = p * i; i = i + 1; } JOptionPane.showMessageDialog (null, p); } }
GABARITO | QUESTÃO 40
40) Solução em Pseudocódigo Algoritmo Opcao inicio var op inteiro;
Página 97
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
faça ler(op); enquanto (op <> 0); fim.
40) Solução em C #include <stdio.h> main() { int op = 0; do { printf("Digite um número: "); scanf("%d", &op); } while (op != 0); }
40) Solução em Java import javax.swing.*; class Opcao { public static void main (String x[]) { int op = 0;
Página 98
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
do { op
=
Integer.parseInt(JOptionPane.showInputDialog("Digite
uma
opção")); while (op != 0); } }
Página 99
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES
2.5 GABARITO DAS ATIVIDADES COMPLEMENTARES | AULA 05 GABARITO | QUESTÃO 41
41) Solução em Pseudocódigo Algoritmo Serie inicio var n, i <- 1 inteiro; s <- 0 real; ler (n); enquanto (i <= n) faça s <- s + 1/i; fimenquanto; escrever (s); fim.
41) Solução em C #include <stdio.h> main() { int i = 1, n; float
s
=
0;
Página 100
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
printf("Digite um número: "); scanf("%d", &n); while (i <=n) { s = s + 1.0/i; i = i + 1; } printf("%f", s); }
41) Solução em Java import javax.swing.*; class Serie { public static void main (String x[]) { int i = 1, n; double s = 0; n
=
Integer.parseInt(JOptionPane.showInputDialog("digite
um
número")); while (i <=n) { s = s + 1/i; i = i + 1;
Página 101
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
} JOptionPane.showMessageDialog (null, s); } }
GABARITO | QUESTÃO 42
42) Solução em Pseudocódigo Algoritmo Potencia inicio var a, b, pot <- 1 inteiro; ler (a, b); enquanto (b >= 1) faça pot <- pot * a; b <- b – 1; fimenquanto; escrever (pot); fim.
42) Solução em C #include <stdio.h> main()
Página 102
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
{ int a, b, pot = 1; printf("Digite um número: "); scanf("%d", &a); printf("Digite um número: "); scanf("%d", &b); while (b >= 1) { pot = pot * a; b = b - 1; } printf("%d", pot); }
42) Solução em Java import javax.swing.*; class Potencia { public static void main (String x[]) { int a, b, pot = 1;
Página 103
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
a
=
Integer.parseInt(JOptionPane.showInputDialog("digite
um
Integer.parseInt(JOptionPane.showInputDialog("digite
um
número")); b
=
número")); while (b >= 1) { pot = pot * a; b = b - 1; } JOptionPane.showMessageDialog (null, pot); } }
GABARITO | QUESTÃO 43
43) Solução em Pseudocódigo real Media (Vet[] inteiro) inicio var m <- 0, i inteiro; para i de 0 até (Vet.tamanho -1) passo +1 faça m <- m + Vet[i]; fimpara; m <- m / Vet.tamanho; retornar (m); fim.
Página 104
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
43) Solução em C float Media (int *Vet, int tam) { int i; float m = 0.0; for ( i = 0 ; i < tam; i++) { m = m + Vet[i]; } m = m / tam; return m; }
43) Solução em Java real Media (int Vet[]) { int m = 0, i; for ( i = 0 ; i <= (Vet.length-1) ; i++) { m = m + Vet[i]; } m = m / Vet.length; return m; }
Página 105
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
GABARITO | QUESTÃO 44
44) Solução em Pseudocódigo Media (Vet[] inteiro) inicio var m <- 0, i inteiro; para i de 0 até (Vet.tamanho -1) passo +1 faça m <- m + Vet[i]; fimpara; m <- m / Vet.tamanho; escrever (m); fim.
44) Solução em C Media (int *Vet, int tam) { int i; float m = 0.0; for ( i = 0 ; i < tam; i++) { m = m + Vet[i]; } m = m / tam; printf("%f", m);
Página 106
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
}
44) Solução em Java Media (int Vet[]) { int m = 0, i; for ( i = 0 ; i <= (Vet.length-1) ; i++) { m = m + Vet[i]; } m = m / Vet.length; JOptionPane.showMessageDialog(null, m); }
GABARITO | QUESTÃO 45
45) Solução em Pseudocódigo real Maior (Vet[] real) inicio i, maior real; maior <- Vet[0]; para i de 1 até (Vet.tamanho – 1) passo +1 faça se (Vet[i] > maior)
Página 107
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
então maior <- Vet[i]; fimse; fimpara; retornar maior; fim.
45) Solução em C float MaiorNumero (float *Vet, int tam) { float maior; int i; maior = Vet[0]; for ( i = 0 ; i < tam; i++) { if (Vet[i] > maior) { maior = Vet[i]; } } return maior; }
45) Solução em Java double MaiorNumero (double Vet[])
Página 108
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
{ double maior, i; maior = Vet[0]; for ( i = 1 ; i <= (Vet.length-1) ; i++) { if (Vet[i] > maior) { maior = Vet[i]; } } return maior; }
GABARITO | QUESTÃO 46
46) Solução em Pseudocódigo Menor (Vet[] real) inicio i, menor real; menor <- Vet[0]; para i de 1 até (Vet.tamanho – 1) passo +1 faça se (Vet[i] < menor) então menor <- Vet[i];
Página 109
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
fimse; fimpara; retornar menor; fim.
46) Solução em C float MaiorNumero (float *Vet, int tam) { float menor; int i; menor = Vet[0]; for ( i = 0 ; i < tam; i++) { if (Vet[i] < menor) { menor = Vet[i]; } } return menor; }
46) Solução em Java double MenorNumero (double Vet[])
Página 110
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
{ double menor, i; menor = Vet[0]; for ( i = 1 ; i <= (Vet.length-1) ; i++) { if (Vet[i] < menor) { menor = Vet[i]; } } return menor; }
GABARITO | QUESTÃO 47
47) Solução em C #include <stdio.h> // módulo principal main() { // declaração de variáveis e/ou constantes int contador = 0; float quilometros, litros;
Página 111
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
float consumoAtual = 0; float consumoAcumulado = 0; do { printf("Digite a quantidade de quilometros percorridos (ou 0 para sair): "); scanf("%f", &quilometros); printf("Digite a quantidade de litros abastecidos percorridos (ou 0 para sair): "); scanf("%f", &litros); if (litros != 0 && quilometros != 0) { contador = contador + 1; consumoAtual = quilometros / litros; consumoAcumulado = consumoAcumulado + consumoAtual; printf("Seu
consumo
neste
média
de
abastecimento
é:
%fkm/l
\n",
consumoAtual); printf("Sua
consumo
é:
%fkm/l
\n",
(consumoAcumulado/contador) ); } else { printf("Saindo... \n"); } } while (litros != 0 && quilometros != 0);// fim do do } // fim do main
Página 112
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
47) Solução em Java import javax.swing.*; public class Consumo { public static void main(String[] args) { // declaração de variáveis e/ou constantes int contador = 0; double quilometros, litros; double consumoAtual = 0; double consumoAcumulado = 0; do { quilometros
=
Double.parseDouble(JOptionPane.showInputDialog("Digite a quantidade de quilometros percorridos (ou 0 para sair)")); litros = Double.parseDouble(JOptionPane.showInputDialog("Digite a quantidade de litros abastecidos percorridos (ou 0 para sair)")); if (litros != 0 && quilometros != 0) { contador = contador + 1; consumoAtual = quilometros / litros; consumoAcumulado = consumoAcumulado + consumoAtual;
Página 113
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
JOptionPane.showMessageDialog(null,"Seu
consumo
neste
abastecimento é: " + consumoAtual + "km/l"); JOptionPane.showMessageDialog(null,"Sua média de consumo é: " + (consumoAcumulado/contador) + "km/l"); } else { JOptionPane.showMessageDialog(null,"Saindo..."); } } while (litros != 0 && quilometros != 0);// fim do do } // fim do void main } //fim da classe
GABARITO | QUESTÃO 48
48) Solução em C #include <stdio.h> #include<stdlib.h> // módulo função Menu que retorna a opção digitada pelo usuário int Menu() { int op; // mensagem ao usuário e entrada de dados
Página 114
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
printf("Digite 1 para cadastramento de distancias\nDigite 2 para consulta de distancias\nDigite 3 para sair do programa\n:"); scanf("%d", &op); return op; } // fim do módulo Menu
//Módulo procedimento que recebe a tabela de distâncias e insere as distâncias informadas pelo usuário void Cadastro(float distancias[5][5]) { int i, j; for (i = 0; i < 5; i++) { for (j = 0; j <= i; j++) { if (i == j) { distancias[i][j]= 0; } else { printf("Digite a distancia da cidade %d ate %d: ", j + 1, i + 1); scanf("%f", &distancias[i][j]); distancias[j][i] = distancias[i][j]; } } }
Página 115
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
} // Módulo função parametrizado, que recebe como parâmetro a tabela de distância e devolve a distância encontrada float Consulta(float distancias[5][5]) { int origem, destino; do { printf("Digite o número da cidade de origem: "); scanf("%d", &origem); if (origem <= 0 || origem > 5) { printf("Número inválido!\n"); } } while (origem <= 0 || origem > 5); do { printf("Digite o número da cidade de destino: "); scanf("%d", &destino); if (destino <= 0 || destino > 5) { printf("Número inválido!\n"); } } while (destino <= 0 || destino > 5);
Página 116
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
return distancias[origem-1][destino-1]; } // módulo principal main() { // declaração de variáveis e/ou constantes int op; float distancias[5][5]; float distancia; do { op = Menu(); switch (op) { case 1 : Cadastro(&distancias); break; case 2 : distancia = Consulta(distancias); printf("A distância é %f\n", distancia); break; case 3 : printf("Saindo do programa \n");
Página 117
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
break; default : printf ("opção inválida, tente novamente \n"); // saída de resultados } // fim do switch } while (op != 3);// fim do do } // fim do main
48) Solução em Java import javax.swing.*; public class Distancias { // módulo função Menu que retorna a opção digitada pelo usuário static int Menu() { int op; // mensagem ao usuário e entrada de dados op = Integer.parseInt(JOptionPane.showInputDialog("Digite 1 para cadastramento de distancias\nDigite 2 para consulta de distancias\nDigite 3 para sair do programa")); return op; } // fim do módulo Menu //Módulo função que devolve a tabela de distâncias informadas pelo usuário static double[][] Cadastro()
Página 118
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
{ int i, j; double distancias[][] = new double[5][5]; for (i = 0; i < 5; i++) { for (j = 0; j <= i; j++) { if (i == j) { distancias[i][j]= 0; } else { distancias[i][j]
=
Double.parseDouble(JOptionPane.showInputDialog("Digite a distancia da cidade " + (j + 1) + " ate " + (i + 1) + ":")); distancias[j][i] = distancias[i][j]; } } } return distancias; } // Módulo função parametrizado, que recebe como parâmetro a tabela de distância e devolve a distância encontrada static double Consulta(double distancias[][]) {
Página 119
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
int origem, destino; do { origem = Integer.parseInt(JOptionPane.showInputDialog("Digite o número da cidade de origem")); if (origem <= 0 || origem > 5) { System.out.println("Número inválido!"); } } while (origem <= 0 || origem > 5); do { destino = Integer.parseInt(JOptionPane.showInputDialog("Digite o número da cidade de destino")); if (destino <= 0 || destino > 5) { System.out.println("Número inválido!"); } } while (destino <= 0 || destino > 5); return distancias[origem-1][destino-1]; }
public static void main (String args [ ])
Página 120
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
{ // declaração de variáveis e/ou constantes int op; double distancias[][] = new double[5][5]; double distancia; do { op = Menu(); switch (op) { case 1 : distancias = Cadastro(); break; case 2 : distancia = Consulta(distancias); System.out.println("A distância é " + distancia); break; case 3 : System.out.println("Saindo do programa!"); System.exit(0); break; default : System.out.println ("opção inválida, tente novamente"); } // fim do switch } while (op != 3); } // fim do void main } //fim da classe
Página 121
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
GABARITO | QUESTÃO 49
49) Solução em Java import javax.swing.*; public class Acesso { // módulo função Menu que retorna a opção digitada pelo usuário static int Menu() { int op; // mensagem ao usuário e entrada de dados op = Integer.parseInt(JOptionPane.showInputDialog("Digite 1 para cadastramento dos usuários\nDigite 2 para teste de acesso\nDigite 3 para sair do programa")); return op; } // fim do módulo Menu //Módulo função que devolve a tabela de usuários e senhas static String[][] Cadastro() { int i; String usuarios[][] = new String[5][2]; for (i = 0; i < 5; i++) {
Página 122
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
usuarios[i][0] = JOptionPane.showInputDialog("Digite o nome do usuário " + (i + 1) + ":"); usuarios[i][1] = JOptionPane.showInputDialog("Digite a senha do usuário " + (i + 1) + ":"); } return usuarios; } // Módulo função parametrizado, que recebe como parâmetro a tabela de usuários e pede um usuário e senha para teste de acesso static void TestarAcesso(String usuarios[][]) { String usuarioTeste, senhaTeste; int i; usuarioTeste
=
JOptionPane.showInputDialog("Digite
o
nome
do
senha
de
usuário:"); senhaTeste
=
JOptionPane.showInputDialog("Digite
a
acesso:"); for (i = 0; i < 5; i++) { if
(usuarioTeste.equals(usuarios[i][0])
&&
senhaTeste.equals(usuarios[i][1])) { System.out.println("Acesso liberado!"); return; }
Página 123
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
} System.out.println("Acesso negado!"); }
public static void main (String args [ ]) { // declaração de variáveis e/ou constantes int op; String usuarios[][] = new String[5][2]; do { op = Menu(); switch (op) { case 1 : usuarios = Cadastro(); break; case 2 : TestarAcesso(usuarios); break; case 3 : System.out.println("Saindo do programa!"); System.exit(0); break; default : System.out.println ("opção inválida, tente novamente");
Página 124
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
} // fim do switch } while (op != 3); } // fim do void main } //fim da classe
GABARITO | QUESTÃO 50
50) Solução em Java import javax.swing.*; public class ValorDePi {
public static void main (String args [ ]) { int n, i; double pi = 0.0; do { n
=
Integer.parseInt(JOptionPane.showInputDialog("Digite
o
número de termos:")); } while (n < 1); for (i = 0; i < n; i++) {
Página 125
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
if (i % 2 == 0) { pi = pi + 4.0 / (2.0 * i + 1.0); } else { pi = pi - 4.0 / (2.0 * i + 1.0); } } System.out.println(pi); } // fim do void main } //fim da classe
50) Solução em C #include <stdio.h> // módulo principal main() { // declaração de variáveis e/ou constantes int n, i; float pi = 0.0; do {
Página 126
LÓGICA DA PROGRAMAÇÃO
ATIVIDADES COMPLEMENTARES _____________________________________________________________________
printf("Digite o número de termos: "); scanf("%d", &n); } while (n < 1); for (i = 0; i < n; i++) { if (i % 2 == 0) { pi = pi + 4.0 / (2.0 * i + 1.0); } else { pi = pi - 4.0 / (2.0 * i + 1.0); } } printf("%f", pi); } // fim do main
Página 127