Prévia do material em texto
(
Resposta dos Exercícios Propostos
Livro:
Algoritmo e Programação de Computadores
Autores:
Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de Mendonça Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
)
CAPÍTULO 7
07.01 Colocar em MAIOR o maior de A, B e C e em MENOR o menor deles, sendo que A,B e C devem ser lidos.
Imprimir os valores lidos e os determinados.
07.01 - VisuAlg
algoritmo "07.01"
var
MAIOR, MENOR, A, B, C: inteiro
inicio
// Seção de Comandos
escreva("Digite 3 numeros INTEIROS: ")
leia(A, B, C)
se (A > B) entao
se (B > C) entao
MAIOR <- A
MENOR <- C
senao
se(A > C) entao
MAIOR <- A
MENOR <- B
senao
MAIOR <- C
MENOR <- B
fimse
fimse
senao
se(A > C) entao
MAIOR <- B
MENOR <- C
senao
se(B > C) entao
MAIOR <- B
MENOR <- A
senao
MAIOR <- C
MENOR <- A
fimse
fimse
fimse
escreval("MAIOR =", MAIOR, "MENOR =", MENOR)
fimalgoritmo
07.01 - Pascal
program SeteUm;
uses Crt;
var
MAIOR, MENOR, A, B, C: integer;
begin
write('Digite 3 numeros INTEIROS: ');
readln(A, B, C);
if (A > B) then
begin
if (B > C) then
begin
MAIOR := A;
MENOR := C;
end
else begin
if(A > C) then
begin
MAIOR := A;
MENOR := B;
end
else begin
MAIOR := C;
MENOR := B;
end;
end;
end
else begin
if(A > C) then
begin
MAIOR := B;
MENOR := C;
end
else begin
if(B > C) then
begin
MAIOR := B;
MENOR := A;
end
else begin
MAIOR := C;
MENOR := A;
end;
end;
end;
writeln('MAIOR =', MAIOR, ' MENOR =', MENOR);
end.
07.01 - C
#include <stdio.h>
#include <conio.h>
void main()
{
int MAIOR, MENOR,A, B, C;
printf("Digite 3 numeros INTEIROS (separados por um espaco): ");
scanf("%d%d%d", &A, &B, &C);
if (A > B)
if (B > C) {MAIOR = A; MENOR = C;}
else
if(A > C) {MAIOR = A; MENOR = B;}
else {MAIOR = C; MENOR = B;}
else
if(A > C) {MAIOR = B; MENOR = C;}
else
if(B > C) {MAIOR = B; MENOR = A;}
else {MAIOR = C; MENOR = A;}
printf("\nMAIOR = %d\nMENOR = %d", MAIOR, MENOR);
getch();
}
07.01 - Java
import java.util.*;
public class SeteUm {
public static void main (String[] arg) {
int MAIOR, MENOR,
A, B, C;
Scanner entrada_dado = new Scanner (System.in);
System.out.print ("Digite 3 numeros INTEIROS (separados por um espaco): ");
A = entrada_dado.nextInt();
B = entrada_dado.nextInt();
C = entrada_dado.nextInt();
if (A > B)
if (B > C) {MAIOR = A; MENOR = C;}
else
if(A > C) {MAIOR = A; MENOR = B;}
else {MAIOR = C; MENOR = B;}
else
if(A > C) {MAIOR = B; MENOR = C;}
else
if(B > C) {MAIOR = B; MENOR = A;}
else {MAIOR = C; MENOR = A;}
System.out.print ("\nMAIOR = "+MAIOR+"\nMENOR = "+ MENOR);
}
}
07.01 - PHP
<?php
$A = 10;
$B = 30;
$C = 20;
if ($A > $B)
if ($B > $C) {$MAIOR = $A; $MENOR = $C;}
else
if($A > $C) {$MAIOR = $A; $MENOR = $B;}
else {$MAIOR = $c; $MENOR = $B;}
else
if($A > $C) {$MAIOR = $B; $MENOR = $C;}
else
if($B > $C) {$MAIOR = $B; $MENOR = $A;}
else {$MAIOR = $C; $MENOR = $A;}
echo"\nMAIOR = $MAIOR\nMENOR = $MENOR";
?>
07.02 Faça um programa que solicite o ano de casamento, o ano atual e escreva as seguintes mensagens, para os seguintes casos:
- 25 anos - "Bodas de Prata";
- 50 anos - "Bodas de Ouro"; e
- 75 anos - "Bodas de Diamante".
Nos casos restantes escrever apenas o número de anos de casados. Utilize o comando de seleção.
07.02 - VisuAlg
algoritmo "07.02"
var
AnoCasamento, AnoAtual, diferenca: inteiro
inicio
// Seção de Comandos
AnoAtual <- 2012
escreva("Digite o Ano de Casamento (paramato AAAA): ")
leia(AnoCasamento)
diferenca <- AnoAtual - AnoCasamento
escreval(diferenca, " Anos de Casamento.")
escolha diferenca
caso 25
escreval(" Bodas de Prata.")
caso 50
escreva(" Bodas de Ouro.")
caso 75
escreva(" Bodas de Diamante.")
fimescolha
fimalgoritmo
07.02 - Pascal
program SeteDois;
uses Crt;
var
AnoCasamento, AnoAtual, diferenca: integer;
begin
AnoAtual := 2012;
write('Digite o Ano de Casamento (paramato AAAA): ');
readln(AnoCasamento);
diferenca := AnoAtual - AnoCasamento;
writeln(diferenca, ' Anos de Casamento.');
case diferenca of
25 : writeln(' Bodas de Prata.');
50 : writeln(' Bodas de Ouro.');
75 : writeln(' Bodas de Diamante.');
end;
end.
07.02 - C
#include <stdio.h>
#include <conio.h>
void main()
{
int AnoCasamento,
AnoAtual = 2012,
diferenca;
printf("Digite o Ano de Casamento (formato AAAA): ");
scanf("%d", &AnoCasamento);
diferenca = AnoAtual - AnoCasamento;
printf("\n %d Anos de Casamento.", diferenca);
switch (diferenca)
{
case 25: printf(" Bodas de Prata.\n");
break;
case 50: printf(" Bodas de Ouro.\n");
break;
case 75: printf(" Bodas de Diamante.\n");
break;
}
getch();
}
07.02 - Java
import java.util.*;
public class SeteDois {
public static void main (String[] arg) {
int AnoCasamento,
AnoAtual = 2012,
diferenca;
Scanner entrada_dado = new Scanner (System.in);
System.out.print ("Digite o Ano de Casamento (formato AAAA): ");
AnoCasamento= entrada_dado.nextInt();
diferenca = AnoAtual - AnoCasamento;
System.out.print ("\n"+ diferenca+ " Anos de Casamento.");
switch (diferenca)
{
case 25: System.out.print (" Bodas de Prata.\n");
break;
case 50: System.out.print (" Bodas de Ouro.\n");
break;
case 75: System.out.print (" Bodas de Diamante.\n");
break;
}
}
}
07.02 - PHP
<?php
$AnoAtual = 2012;
$Anocasamento= 1962;
$diferenca = $AnoAtual - $Anocasamento;
echo"\n $diferenca Anos de casamento.";
switch ($diferenca) {
case 25: echo" Bodas de Prata.\n";
break;
case 50: echo" Bodas de Ouro.\n";
break;
case 75: echo" Bodas de Diamante.\n";
break;
}
?>
07.03 Ler uma nota numérica (número real) codificada entre 0 e 10. Em seguida converta essa nota para a correspondente em conceito, segundo a tabela dada abaixo. Escolha qual o comando mais indicado para a solução do problema (if ou switch). Repita o processo para N alunos (N deverá ser lido). Ao final imprimir a média da classe em número e em conceito.
A = acima ou igual a 9.0
B = inferior a 9.0 e superior ou igual a 7.0
C = inferior a 7.0 e superior ou igual a 5.0
D = inferior a 5.0 e superior ou igual a 2.5
E = Inferior a 2.5
07.03 - VisuAlg
algoritmo "07.03"
var
Nota: real
inicio
// Seção de Comandos
escreva("Digite a Nota do aluno: ")
leia(Nota)
escreva("Nota = ",Nota, " - Conceito: ")
se( Nota >=9) entao
escreva("A")
senao
se( Nota>=7) entao
escreva("B")
senao
se(Nota >= 5) entao
escreva("C")
senao
se(Nota >= 2.5) entao
escreva("D")
senao
escreva("E")
fimse
fimse
fimse
fimse
fimalgoritmo
07.03 - Pascal
program SeteTres;
uses Crt;
var
Nota: real;
begin
write('Digite a Nota do aluno: ');
readln(Nota);
write('Nota = ',Nota:5:2, ' - Conceito: ');
if( Nota >=9) then
write('A')
else begin
if( Nota>=7) then
write('B')
else begin
if(Nota >= 5) then
write('C')
else begin
if(Nota >= 2.5) then
write('D')
else begin
write('E');
end;
end;
end;
end;
end.
07.03 - C
#include <stdio.h>
#include <conio.h>
void main()
{
float Nota;
printf("Digite a Nota do aluno: ");
scanf("%f", &Nota);
printf("\nNota = %.1f - Conceito: ", Nota);
if( Nota >=9) printf("A");
else
if( Nota>=7) printf("B");
else
if(Nota >= 5) printf("C");
else
if(Nota>= 2.5) printf("D");
else
printf("E");
getch();
}
07.03 - Java
import java.util.*;
public class SeteTres {
public static void main (String[] arg) {
float Nota;
Scanner entrada_dado = new Scanner (System.in);
System.out.print ("Digite a Nota do aluno: ");
Nota = entrada_dado.nextFloat();
System.out.print ("\nNota = "+Nota+" - Conceito: ");
if( Nota >=9) System.out.print ("A");
else
if( Nota>=7) System.out.print ("B");
else
if(Nota >= 5) System.out.print ("C");
else
if(Nota >= 2.5) System.out.print ("D");
else
System.out.print ("E");
}
}
07.03 - PHP
<?php
$Nota = 5.5;
echo"\nNota = $Nota - conceito: ";
if( $Nota >=9) echo"A";
else
if( $Nota>=7) echo"B";
else
if($Nota >= 5) echo"C";
else
if($Nota >= 2.5) echo"D";
else
echo"E";
?>
07.04 Construir um programa que faz a leitura de três números inteiros, representando uma data (dd, mm, aaaa). E, utilizando o comando de seleção, para a escolha do mês, imprime a data, onde o mês é escrito por extenso.
Exemplo: leitura da data: 31 3 2011; impressão: 31 de marco de 2011.
07.04 - VisuAlg
algoritmo "07.04"
var
Dia,Mes,Ano: inteiro
inicio
// Seção de Comandos
escreva("Digite uma data (dia mes ano): ")
leia(Dia, Mes, Ano)
escolha Mes
caso 1
escreval("Data: ", Dia, " de janeiro de ", Ano)
caso 2
escreval("Data: ", Dia, " de fevereiro de ", Ano)
caso 3
escreval("Data: ", Dia, " de marco de ", Ano)
caso 4
escreval("Data: ", Dia, " de abril de ", Ano)
caso 5
escreval("Data: ", Dia, " de maio de ", Ano)
caso 6
escreval("Data: ", Dia, " de junho de ", Ano)
caso 7
escreval("Data: ", Dia, " de julho de ", Ano)
caso 8
escreval("Data: ", Dia, " de agosto de ", Ano)
caso 9
escreval("Data: ", Dia, " de setembro de ", Ano)
caso 10
escreval("Data: ", Dia, " de outubro de ", Ano)
caso 11
escreval("Data: ", Dia, " de novembro de ", Ano)
caso 12
escreval("Data: ", Dia, " de dezembro de ", Ano)
outrocaso
escreval("Mes invalido!")
fimescolha
fimalgoritmo
07.04 - Pascal
program SeteQuatro;
uses Crt;
var
Dia,Mes,Ano: integer;
begin
write('Digite uma data (dia mes ano): ');
readln(Dia, Mes, Ano);
case Mes of
1 :
writeln('Data: ', Dia, ' de janeiro de ', Ano);
2 :
writeln('Data: ', Dia, ' de fevereiro de ', Ano);
3 :
writeln('Data: ', Dia, ' de marco de ', Ano);
4 :
writeln('Data: ', Dia, ' de abril de ', Ano);
5 :
writeln('Data: ', Dia, ' de maio de ', Ano);
6 :
writeln('Data: ', Dia, ' de junho de ', Ano);
7 :
writeln('Data: ', Dia, ' de julho de ', Ano);
8 :
writeln('Data: ', Dia, ' de agosto de ', Ano);
9 :
writeln('Data: ', Dia, ' de setembro de ', Ano);
10 :
writeln('Data: ', Dia, ' de outubro de ', Ano);
11 :
writeln('Data: ', Dia, ' de novembro de ', Ano);
12 :
writeln('Data: ', Dia, ' de dezembro de ', Ano);
else
writeln('Mes invalido!');
end;
end.
07.04 - C
#include <stdio.h>
#include <conio.h>
void main()
{
int Dia,
Mes,
Ano;
printf("Digite uma data (dia mes ano - separados por um espaco): ");
scanf("%d%d%d", &Dia, &Mes, &Ano);
switch(Mes)
{
case 1: printf("\nData: %d de janeiro de %d", Dia, Ano);break;
case 2: printf("\nData: %d de fevereiro de %d", Dia, Ano);break;
case 3: printf("\nData: %d de marco de %d", Dia, Ano);break;
case 4: printf("\nData: %d de abril de %d", Dia, Ano);break;
case 5: printf("\nData: %d de maio de %d", Dia, Ano);break;
case 6: printf("\nData: %d de junho de %d", Dia, Ano);break;
case 7: printf("\nData: %d de julho de %d", Dia, Ano);break;
case 8: printf("\nData: %d de agosto de %d", Dia, Ano);break;
case 9: printf("\nData: %d de setembro de %d", Dia, Ano);break;
case 10:printf("\nData: %d de outubro de %d", Dia, Ano);break;
case 11:printf("\nData: %d de novembro de %d", Dia, Ano);break;
case 12:printf("\nData: %d de dezembro de %d", Dia, Ano);break;
default: printf("\nMes invalido!");
}
getch();
}
07.04 - Java
import java.util.*;
public class SeteQuatro {
public static void main (String[] arg) {
int Dia,
Mes,
Ano;
Scanner entrada_dado = new Scanner (System.in);
System.out.print ("Digite uma data (dia mes ano - separados por um espaco): ");
Dia = entrada_dado.nextInt();
Mes = entrada_dado.nextInt();
Ano = entrada_dado.nextInt();
switch(Mes)
{
case 1: System.out.print ("\nData: "+Dia +" de janeiro de "+ Ano);break;
case 2: System.out.print ("\nData: "+Dia +" de fevereiro de "+ Ano);break;
case 3: System.out.print ("\nData: "+Dia +" de marco de "+ Ano);break;
case 4: System.out.print ("\nData: "+Dia +" de abril de "+ Ano);break;
case 5: System.out.print ("\nData: "+Dia +" de maio de "+ Ano);break;
case 6: System.out.print ("\nData: "+Dia +" de junho de "+ Ano);break;
case 7: System.out.print ("\nData: "+Dia +" de julho de "+ Ano);break;
case 8: System.out.print ("\nData: "+Dia +" de agosto de "+Ano);break;
case 9: System.out.print ("\nData: "+Dia +" de setembro de "+Ano);break;
case 10:System.out.print ("\nData: "+Dia +" de outubro de "+Ano);break;
case 11:System.out.print ("\nData: "+Dia +" de novembro de "+Ano);break;
case 12:System.out.print ("\nData: "+Dia +" de dezembro de "+Ano);break;
default: System.out.print ("\nMes invalido!");
}
}
}
07.04 - PHP
<?php
$Dia = 11;
$Mes = 12;
$Ano = 2011;
switch($Mes)
{
case 1: echo"\nData: $Dia de janeiro de $Ano";break;
case 2: echo"\nData: $Dia de fevereiro de $Ano";break;
case 3: echo"\nData: $Dia de marco de $Ano";break;
case 4: echo"\nData: $Dia de abril de $Ano";break;
case 5: echo"\nData: $Dia de maio de $Ano";break;
case 6: echo"\nData: $Dia de junho de $Ano";break;
case 7: echo"\nData: $Dia de julho de $Ano";break;
case 8: echo"\nData: $Dia de agosto de $Ano";break;
case 9: echo"\nData: $Dia de setembro de $Ano";break;
case 10:echo"\nData: $Dia de outubro de $Ano";break;
case 11:echo"\nData: $Dia de novembro de $Ano";break;
case 12:echo"\nData: $Dia de dezembro de $Ano";break;
default: echo"\nMes invalido!";
}
?>
página: 1