Logo Passei Direto

A maior rede de estudos do Brasil

Grátis
18 pág.
Lista_4_Gabarito

Pré-visualização | Página 1 de 4

Lista 4 - gabarito 
 
 
1 Autora: ANITA LOPES 
Lista 4 - imprima, atribuição,leia e se ... entao .. senao se, escolha, para. 
 
 
Orientações: 
1- Todas as soluções em fluxograma e na linguagem UAL. 
2- O comanda de entrada está presente em todos os exercícios. 
3- Quando existir algum cálculo, declare a variável e armazene o resultado da 
operação. 
4- O comando para está presente em todos os exercícios. 
5 - Todos os exercícios terão comando de saída. 
6- Seja audacioso e tente codificar em C++ algumas soluções já testadas no 
ambiente UAL. 
 
Solução do exercício 1 da lista do para Dentro de para 
Fluxograma Linguagem UAL Linguagem C++ 
 
 
 
1) Entrar com 10 números e imprimir o logaritmo desse número na base 10. 
prog Lista4Ex1 
 int a; 
 real numero; 
 para( a <- 1; a <=10; a++) 
 { 
 imprima "\nDigite numero: "; 
 leia numero; 
 se(numero > 0.0) 
 { imprima "\nlogaritmo: ", log(numero) /log(10.0); } 
 senao 
 { imprima "\nNao fao logaritmo de numero negativo"; } 
 } 
 imprima "\n"; 
fimprog 
 
Em C++ 
#include <iostream> 
#include <cmath> 
using namespace std; 
int main() 
{ 
 
Lista 4 - gabarito 
 
 
2 Autora: ANITA LOPES 
 int a; 
 real numero; 
 for( a = 1; a <=10; a++) 
 { 
 cout<<“\nDigite numero: "; 
 cin>> numero; 
 if(numero > 0) 
 { cout<<“\nlogaritmo: "<< log(numero) /log(10); } 
 else 
 { cout<<“\nNao fao logaritmo de numero negativo"; } 
 } 
 cout<<“\n"; 
 system(“pause”); 
} 
 
2) Entrar com 5 números e imprimir a raiz quadrada do número, caso seja possível. 
Se não for possível, imprimir a mensagem NAO FACO. 
prog Lista3Ex2 
 int a; 
 real numero; 
 para( a <- 1; a <=5; a++) 
 { 
 imprima "\nDigite numero: "; 
 leia numero; 
 se(numero >= 0.0) 
 { imprima "\nraiz: ", raiz(numero); } 
 senao 
 { imprima "\nNAO FACO"; } 
 } 
 imprima "\n"; 
fimprog 
 
Em C++ 
#include <iostream> 
#include <cmath> 
using namespace std; 
int main() 
{ 
 int a; 
 float numero; 
 for( a = 1; a <=5; a++) 
 { 
 cout<<"\nDigite numero: "; 
 cin>> numero; 
 if(numero >= 0) 
 { cout<<"\nraiz: "<<sqrt(numero); } 
 else 
 { cout<<"\nNAO FACO"; } 
 } 
 cout<<"\n"; 
 system("pause"); 
} 
 
 
Lista 4 - gabarito 
 
 
3 Autora: ANITA LOPES 
3) Entrar com 12 números e imprimir a soma de todos os números. 
prog Lista3Ex3 
 int i; 
 real num, soma; 
 soma <- 0.0; 
 para( i <- 1; i <= 12 ; i++) 
 { 
 imprima "\nDigite numero: "; 
 leia num; 
 soma <- soma + num; 
 } 
 imprima "\nSoma dos numeros", soma; 
 imprima "\n"; 
fimprog 
 
Em C++ 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int i; 
 float num, soma=0; 
 for( i = 1; i <= 12 ; i++) 
 { 
 cout<<"\nDigite numero: "; 
 cin>> num; 
 soma += num; //soma = soma + num; 
 } 
 cout<<"\nSoma dos numeros"<<soma; 
 cout<<"\n"; 
system("pause"); 
} 
 
4) Entrar com 12 números e imprimir a média de todos os números. 
prog Lista3Ex4 
 int i; 
 real num, soma, media; 
 soma <- 0.0; 
 para( i <- 1; i <= 12 ; i++) 
 { 
 imprima "\nDigite numero: "; 
 leia num; 
 soma <- soma + num; 
 } 
 media <- soma / 12; 
 imprima "\nSoma dos numeros", media; 
 imprima "\n"; 
fimprog 
 
Em C++ 
#include <iostream> 
using namespace std; 
int main() 
{ 
 
Lista 4 - gabarito 
 
 
4 Autora: ANITA LOPES 
 int i; 
 float num, soma=0, media; 
 for( i = 1; i <= 12 ; i++) 
 { 
 cout<<"\nDigite numero: "; 
 cin>> num; 
 soma += num; //soma = soma + num; 
 } 
 media= soma/12; 
 cout<<"\nMedia dos numeros: "<<media; 
 cout<<"\n"; 
 system("pause"); 
} 
 
5) Entrar com 5 números e imprimir quantos números são múltiplos de 6. 
prog Lista4Ex5 
 int numero, c, conta6; 
 conta6<- 0; 
 para( c <- 1; c <= 5; c++) 
 { 
 imprima "\ndigite numero: "; 
 leia numero; 
 se( numero % 6 == 0 ) 
 { 
 conta6 <- conta6 +1; # ou conta6++; 
 } 
 } 
 imprima "\nTotal de multiplos de 6: ", conta6,"\n"; 
fimprog 
 
Em C++ 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int numero, c, conta6=0; 
 for( c = 1; c <= 5; c++) 
 { 
 cout<<"\ndigite numero: "; 
 cin>> numero; 
 if( numero % 6 == 0 ) 
 conta6++; // as chaves são dispensáveis porque só tem um comando 
 } 
 cout<<"\nTotal de multiplos de 6: "<<conta6<<"\n"; 
system("pause"); 
} 
 
6) Entrar com nome, nota da PR1 e nota da PR2 de 15 alunos. Imprimir, a cada 
entrada,: nome, nota da PR1, nota da PR2 e média de cada aluno. Ao final, a 
média geral da turma. 
prog Lista3Ex6 
 int c; 
 string nome; 
 real pr1, pr2, soma, mediaAluno, mediaTurma; 
 
Lista 4 - gabarito 
 
 
5 Autora: ANITA LOPES 
 soma <- 0.0 ; 
 para( c <- 1; c <= 15; c++) 
 { 
 imprima "\n\nEntre com nome: "; 
 leia nome; 
 imprima "\nEntre com nota 1: "; 
 leia pr1; 
 imprima "\nEntre com nota 2: "; 
 leia pr2; 
 mediaAluno <- (pr1 + pr2)/2; 
 soma <- soma + mediaAluno; 
 imprima "\n\n",nome,"\t", pr1,"\t", pr2,"\t", mediaAluno,"\n" ; 
 } 
 mediaTurma <- soma / 15; 
 imprima "\nmedia: ", mediaTurma, "\n"; 
fimprog 
 
Em C++ 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int c; 
 char nome[31]; 
 float pr1, pr2, soma=0, mediaAluno, mediaTurma; 
 for( c = 1; c <= 15; c++) 
 { 
 cout<<"\n\nEntre com nome: "; 
 cin.getline( nome, 31); 
 cout<<"\nEntre com nota 1: "; 
 cin>> pr1; 
 cout<<"\nEntre com nota 2: "; 
 cin>> pr2; 
 cin.get(); //"apanha o enter" que foi deixado pelo cin>>pr2; 
 mediaAluno = (pr1 + pr2)/2; 
 soma = soma + mediaAluno; 
 cout<<"\n\n"<<nome<<"\t"<<pr1<<"\t"<<pr2<<"\t"<< mediaAluno 
<<"\n" ; 
 } 
 mediaTurma = soma / 15; 
 cout<<"\nmedia: "<< mediaTurma<< "\n"; 
 system("pause"); 
} 
 
 
7) Entrar com um número e imprimir todos os seus divisores. 
Solução 1 
prog Lista4Ex7 
 int numero, c; 
 imprima "\ndigite numero: "; 
 leia numero; 
 para( c <- 1; c <= numero; c++) 
 { 
 se( numero % c == 0 ) 
 
Lista 4 - gabarito 
 
 
6 Autora: ANITA LOPES 
 { 
 imprima c, "\t"; 
 } 
 } 
 imprima "\n"; 
fimprog 
 
Em C++ 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int numero, c; 
 cout<<"\ndigite numero: "; 
 cin>> numero; 
 for( c = 1; c <= numero; c++) 
 { 
 if( numero % c == 0 ) 
 { 
 cout<<c<< "\t"; 
 } 
 } 
 cout<<"\n"; 
 system("pause"); 
} 
 
Solução 2 
• Depois da metade, só encontramos como divisor o próprio número e, por 
isso, usamos a expressão numero div 2. 
• Como o número ficou fora do for, ele foi impresso depois do for. 
• Tendo em vista as duas considerações acima, melhoramos a 
performance em 50%, visto que evitamos metade das comparações. 
 
prog Lista4Ex7 
 int numero, c; 
 imprima "\ndigite numero: "; 
 leia numero; 
 para( c <- 1; c <= numero div 2; c++) 
 { 
 se( numero % c == 0 ) 
 { 
 imprima c, "\t"; 
 } 
 } 
 imprima numero,"\n"; 
fimprog 
 
Em C++ 
#include <iostream> 
using namespace std; 
int main() 
{ 
 int numero, c; 
 cout<<"\ndigite numero: "; 
 
Lista 4 - gabarito 
 
 
7
Página1234