Buscar

PROVA AEDS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PROVA – TP1
Nome: Patrícia Avelar Ribeiro 
Matrícula: 164200060
Faça um programa que leia um inteiro entre 0 e 2.000.000.000 e realize sua impressão por extenso. Após isto o programa deve imprimir 5 múltiplos deste número, também por extenso.
#include <iostream>
#include <conio.h>
using namespace std;
Como a função não necessita de retorno, foi utilizado a função void para começar. Então foi utilizado as variáveis: int c, int d e int u para centenas, dezenas e unidades respectivamente , para imprimir os valores de centena. Logo após foi utilizado uma sequência de comandos if para centenas, entre 100 e 999, esse comando é o switch. Isso faz com que, se unidade e dezena receber qualquer valor diferente de zero, o programa irá imprimir o valor da centena mais a letra “e” e se unidade e dezena receber zero, o programa irá imprimir o valor da centena.
void imprimir_centena (int c, int d, int u)
{
 switch (c)
 {
 case 9: if (u==0 && d==0 ) cout << (" Novecentos ");
 else cout << (" Novecentos e "); break;	
 case 8: if (u==0 && d==0 ) cout << (" Oitocentos ");
 else cout << (" Oitocentos e "); break;
 case 7: if (u==0 && d==0 ) cout << (" Setecentos ");
 else cout << (" Setecentos e "); break;
 case 6: if (u==0 && d==0 ) cout << (" Seiscentos ");
 else cout << ("
 Seiscentos e "); break;
 case 5: if (u==0 && d==0 ) cout << (" Quinhentos ");
 else cout << (" Quinhentos e "); break;
 case 4: if (u==0 && d==0 ) cout << (" Quatrocentos");
 else cout << (" Quatrocentos e "); break;
 case 3: if (u==0 && d==0 ) cout << (" Trezentos ");
 else cout <<(" Trezentos e "); break;
 case 2: if (u==0 && d==0 ) cout << (" Duzentos ");
 else cout << (" Duzentos e "); break;
 case 1: if (u==0 && d==0 ) cout << (" Cem ");
 else cout << (" Cento e "); break;
 }
}
Nessa próxima parte foi utilizado as variáveis int d e int u para dezenas e unidades respectivamente, para imprimir os valores de dezenas. Nessa parte o switch (d) foi utilizado para dezenas entre 10 e 99. Dessa forma, se a unidade receber um número diferente de zero, o programa irá imprimir o valor da dezena mais a letra “e” e se a unidade receber zero, o programa irá imprimir apenas o valor da dezena. Como pode ser observado, na parte de 10 à 19, no programa foi colocado muitos comandos if, isso é para diferenciar os valores, por exemplo: Se a unidade for 4, seria 14, se a unidade for 5, seria 15.
void imprimir_dezena (int d, int u)
{
 switch (d)
 {
 case 9: if (u==0) cout << (" Noventa ");
 else cout << (" Noventa e "); break;	
 case 8: if (u==0) cout << (" Oitenta ");
 else cout << (" Oitenta e "); break;
 case 7: if (u==0) cout << (" Setenta ");
 else cout << (" Setenta e "); break;
 case 6: if (u==0) cout << (" Sessenta ");
 else cout << (" Sessenta e "); break;
 case 5: if (u==0) cout << (" Cinquenta ");
 else cout << (" Cinquenta e "); break;
 case 4: if (u==0) cout << (" Quarenta");
 else cout << (" Quarenta e "); break;
 case 3: if (u==0) cout << (" Trinta ");
 else cout << (" Trinta e "); break;
 case 2: if (u==0) cout << (" Vinte ");
 else cout << (" Vinte e "); break;
 case 1: if (d==1 && u==9) cout << (" Dezenove ");
 if (d==1 && u==8) cout << (" Dezoito ");
 if (d==1 && u==7) cout << (" Dezessete ");
 if (d==1 && u==6) cout << (" Dezesseis ");
 if (d==1 && u==5) cout << (" Quinze ");
 if (d==1 && u==4) cout << (" Quatorze ");
 if (d==1 && u==3) cout << (" Treze ");
 if (d==1 && u==2) cout << (" Doze ");
 if (d==1 && u==1) cout << (" Onze ");
 if (d==1 && u==0) cout << (" Dez ");
 break;
 }
}
Nessa parte, foi utilizado as variáveis int d e int u para dezenas e unidades respectivemente, para imprimir os valores de unidades. E o comando switch (u) foi usado entre 0 e 9. Dessa forma, a unidade irá imprimir o valor correspondente.
void imprimir_unidade(int d, int u)
{
 if (d!=1)
 {
 
 
 switch (u)
 {
 	case 9: cout << (" Nove "); break;
 	case 8: cout << (" Oito "); break;
 	case 7: cout << (" Sete "); break;
 	case 6: cout << (" Seis "); break;
 	case 5: cout << (" Cinco "); break;
 	case 4: cout << (" Quatro "); break;
 	case 3: cout << (" Três "); break;
 	case 2: cout << (" Dois "); break;
 	case 1: cout << (" Um "); break;
 } 
 }
}
Nessa próxima parte do programa novas variáveis foram definidas, que são elas: int u, d, c, um, dm, cm, uM, dM, cM, uB (unidades, dezenas e centenas de milhares, milhões e bilhões). Foi utilizado funções imprimir_centena, imprimir_dezena e imprimir_unidade para imprimir os milhares. 
void imprimir_milhar (int c, int d, int u)
{
 imprimir_centena (c,d,u);
 imprimir_dezena (d,u);
 imprimir_unidade (d,u);
}
Então, os valores que cada variável recebia foram definidos nessa parte.
void imprimir_por_extenso (int n)
{
 int u,d,c,um,dm,cm,uM,dM,cM,uB;
 uB=n/1000000000;
 n=n%1000000000;
 cM=n/100000000;
 n=n%100000000;
 dM=n/10000000;
 n=n%10000000;
 uM=n/1000000;
 n=n%1000000;
 cm=n/100000;
 n=n%100000;
 dm=n/10000;
 n=n%10000;
 um=n/1000;
 n=n%1000;
 c=n/100;
 n=n%100;
 d=n/10;
 n=n%10;
 u=n;
 
 imprimir_milhar (0,0,uB);
 if (uB==1) cout << (" bilhao ");
 else if (uB>1) cout << ("bilhoes");
 imprimir_milhar (cM,dM,uM);
 if (cM != 0 || dM !=0 || uM != 0 )
 {
	 if (cM==0 && dM==0 && uM==1) cout << (" milhao ");
	 else cout << (" milhoes");
 }
 imprimir_milhar (cm,dm,um);
 if (cm!=0 || dm!=0 || um!=0) cout << (" Mil ");
 imprimir_milhar (c,d,u);
 }
E para finalizar, abaixo é a função principal do programa que é responsável em imprimir por extenso o número, utilizando imprimir_por_extenso que foi já foi definida. Sendo assim, com essa função é possível digitar qualquer valor, e o valor irá aparecer por extenso. O comando responsável por imprimir em sequências todos os valores é o for(i=1; i<=6; i++).
int main ()
{
 int n , i;
 cin >> n; 
 
 for (i=1; i<=6; i++)
 {
 imprimir_por_extenso (n*i);
 cout << ("\n");
 }
}

Outros materiais