Escrever um algoritmo e um programa que leia um valor em R$, calcule e mostre o menor número possível de notas de 100, 50, 10, 5, 1 em que o valor lido pode ser decomposto. Mostrar as quantidades de cada um dos tipos de notas encontradas.
Sugestão de resposta do algoritmo em linguagem algorítmica:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| program Prj00010AlgoritmosSequencias;
var
v100, v50, v20, v10, v5, v2, v1, vValor : Inteiro;
begin
Escreva('Informe um valor inteiro em Reais: ');
Leia(vValor);
v100 <- vValor div 100;
vValor <- vValor - v100 * 100;
v50 <- vValor div 50;
vValor <- vValor - v50 * 50;
v20 <- vValor div 20;
vValor <- vValor - v20 * 20;
v10 <- vValor div 10;
vValor <- vValor - v10 * 10;
v5 <- vValor div 5;
vValor <- vValor - v5 * 5;
v2 <- vValor div 2;
vValor <- vValor - v2 * 2;
v1 <- vValor;
Escreva('O número de notas de 100 é: ', v100);
Escreva('O número de notas de 50 é: ', v50);
Escreva('O número de notas de 20 é: ', v20);
Escreva('O número de notas de 10 é: ', v10);
Escreva('O número de notas de 5 é: ', v5);
Escreva('O número de notas de 2 é: ', v2);
Escreva('O número de notas de 1 é: ', v1);
end. |
program Prj00010AlgoritmosSequencias;
var
v100, v50, v20, v10, v5, v2, v1, vValor : Inteiro;
begin
Escreva('Informe um valor inteiro em Reais: ');
Leia(vValor);
v100 <- vValor div 100;
vValor <- vValor - v100 * 100;
v50 <- vValor div 50;
vValor <- vValor - v50 * 50;
v20 <- vValor div 20;
vValor <- vValor - v20 * 20;
v10 <- vValor div 10;
vValor <- vValor - v10 * 10;
v5 <- vValor div 5;
vValor <- vValor - v5 * 5;
v2 <- vValor div 2;
vValor <- vValor - v2 * 2;
v1 <- vValor;
Escreva('O número de notas de 100 é: ', v100);
Escreva('O número de notas de 50 é: ', v50);
Escreva('O número de notas de 20 é: ', v20);
Escreva('O número de notas de 10 é: ', v10);
Escreva('O número de notas de 5 é: ', v5);
Escreva('O número de notas de 2 é: ', v2);
Escreva('O número de notas de 1 é: ', v1);
end.
Sugestão de resposta em Pascal / Delphi Console.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| { Para escrever acentos em pascal, devemos usar a tabela ASCII. }
program Prj00010AlgoritmosSequencias;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows;
var
v100, v50, v20, v10, v5, v2, v1, vValor : Integer;
begin
SetConsoleTitle('Algoritmo 00010 - Algoritmos sequenciais. Show Delphi.');
Writeln('Algoritmo 00010 - Algoritmos sequenciais. Show Delphi.');
Write(#10#13 + 'Informe um valor inteiro em Reais: ');
Readln(vValor);
v100 := vValor div 100;
vValor := vValor - v100 * 100;
v50 := vValor div 50;
vValor := vValor - v50 * 50;
v20 := vValor div 20;
vValor := vValor - v20 * 20;
v10 := vValor div 10;
vValor := vValor - v10 * 10;
v5 := vValor div 5;
vValor := vValor - v5 * 5;
v2 := vValor div 2;
vValor := vValor - v2 * 2;
v1 := vValor;
Writeln(#10#13, 'O n'#163'mero de notas de 100 '#130': ', v100);
Writeln('O n'#163'mero de notas de 50 '#130': ', v50);
Writeln('O n'#163'mero de notas de 20 '#130': ', v20);
Writeln('O n'#163'mero de notas de 10 '#130': ', v10);
Writeln('O n'#163'mero de notas de 5 '#130': ', v5);
Writeln('O n'#163'mero de notas de 2 '#130': ', v2);
Writeln('O n'#163'mero de notas de 1 '#130': ', v1);
Write(#10#13#10#13, 'Tecle "Entrer" para sair.');
Readln;
end. |
{ Para escrever acentos em pascal, devemos usar a tabela ASCII. }
program Prj00010AlgoritmosSequencias;
{$APPTYPE CONSOLE}
uses
SysUtils,
Windows;
var
v100, v50, v20, v10, v5, v2, v1, vValor : Integer;
begin
SetConsoleTitle('Algoritmo 00010 - Algoritmos sequenciais. Show Delphi.');
Writeln('Algoritmo 00010 - Algoritmos sequenciais. Show Delphi.');
Write(#10#13 + 'Informe um valor inteiro em Reais: ');
Readln(vValor);
v100 := vValor div 100;
vValor := vValor - v100 * 100;
v50 := vValor div 50;
vValor := vValor - v50 * 50;
v20 := vValor div 20;
vValor := vValor - v20 * 20;
v10 := vValor div 10;
vValor := vValor - v10 * 10;
v5 := vValor div 5;
vValor := vValor - v5 * 5;
v2 := vValor div 2;
vValor := vValor - v2 * 2;
v1 := vValor;
Writeln(#10#13, 'O n'#163'mero de notas de 100 '#130': ', v100);
Writeln('O n'#163'mero de notas de 50 '#130': ', v50);
Writeln('O n'#163'mero de notas de 20 '#130': ', v20);
Writeln('O n'#163'mero de notas de 10 '#130': ', v10);
Writeln('O n'#163'mero de notas de 5 '#130': ', v5);
Writeln('O n'#163'mero de notas de 2 '#130': ', v2);
Writeln('O n'#163'mero de notas de 1 '#130': ', v1);
Write(#10#13#10#13, 'Tecle "Entrer" para sair.');
Readln;
end.
Sugestão de resposta em C, C++ / C Builder
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
| #include <vcl.h>
#pragma hdrstop
#include <tchar.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
//---------------------------------------------------------------------------
#pragma argsused
void _tmain(){
SetConsoleTitleA("Algoritmo 00010 - Algoritmos sequenciais. Show Delphi.");
printf("Algoritmo 00010 - Algoritmos sequenciais. Show Delphi.\n");
system("chcp 1252 > nul");
printf("\nInforme um valor inteiro em Reais: ");
int vValor;
scanf("%d", &vValor);
int v100 = vValor / 100;
vValor = vValor - v100 * 100;
int v50 = vValor / 50;
vValor = vValor - v50 * 50;
int v20 = vValor / 20;
vValor = vValor - v20 * 20;
int v10 = vValor / 10;
vValor = vValor - v10 * 10;
int v5 = vValor / 5;
vValor = vValor - v5 * 5;
int v2 = vValor / 2;
vValor = vValor - v2 * 2;
int v1 = vValor;
printf("\nO número de notas de 100 é: %d", (v100));
printf("\nO número de notas de 50 é: %d", (v50));
printf("\nO número de notas de 20 é: %d", (v20));
printf("\nO número de notas de 10 é: %d", (v10));
printf("\nO número de notas de 5 é: %d", (v5));
printf("\nO número de notas de 2 é: %d", (v2));
printf("\nO número de notas de 1 é: %d", (v1));
printf("\n\n");
system("pause");
} |
#include <vcl.h>
#pragma hdrstop
#include <tchar.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
//---------------------------------------------------------------------------
#pragma argsused
void _tmain(){
SetConsoleTitleA("Algoritmo 00010 - Algoritmos sequenciais. Show Delphi.");
printf("Algoritmo 00010 - Algoritmos sequenciais. Show Delphi.\n");
system("chcp 1252 > nul");
printf("\nInforme um valor inteiro em Reais: ");
int vValor;
scanf("%d", &vValor);
int v100 = vValor / 100;
vValor = vValor - v100 * 100;
int v50 = vValor / 50;
vValor = vValor - v50 * 50;
int v20 = vValor / 20;
vValor = vValor - v20 * 20;
int v10 = vValor / 10;
vValor = vValor - v10 * 10;
int v5 = vValor / 5;
vValor = vValor - v5 * 5;
int v2 = vValor / 2;
vValor = vValor - v2 * 2;
int v1 = vValor;
printf("\nO número de notas de 100 é: %d", (v100));
printf("\nO número de notas de 50 é: %d", (v50));
printf("\nO número de notas de 20 é: %d", (v20));
printf("\nO número de notas de 10 é: %d", (v10));
printf("\nO número de notas de 5 é: %d", (v5));
printf("\nO número de notas de 2 é: %d", (v2));
printf("\nO número de notas de 1 é: %d", (v1));
printf("\n\n");
system("pause");
}
Sugestão de resposta em Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
| package exercicio14;
import javax.swing.JOptionPane;
/**
*
* @author Franciele Benedetti
*/
public class Exercicio14 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int valor;
int qtd_nota100;
int qtd_nota50;
int qtd_nota10;
int qtd_nota5;
int qtd_nota1;
System.out.println("Informe um valor");
valor = Integer.parseInt(JOptionPane.showInputDialog("Informe um valor"));
qtd_nota100 = valor / 100;
valor = valor - (qtd_nota100 * 100);
qtd_nota50 = valor / 50;
valor = valor - (qtd_nota50 * 50);
qtd_nota10 = valor / 10;
valor = valor - (qtd_nota10 * 10);
qtd_nota5 = valor / 5;
valor = valor - (qtd_nota5 * 5);
qtd_nota1 = valor;
System.out.println("Notas de 100: " + qtd_nota100);
System.out.println("Notas de 50: " + qtd_nota50);
System.out.println("Notas de 10: " + qtd_nota10);
System.out.println("Notas de 5: " + qtd_nota5);
System.out.println("Notas de 1: " + qtd_nota1);
}
} |
package exercicio14;
import javax.swing.JOptionPane;
/**
*
* @author Franciele Benedetti
*/
public class Exercicio14 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int valor;
int qtd_nota100;
int qtd_nota50;
int qtd_nota10;
int qtd_nota5;
int qtd_nota1;
System.out.println("Informe um valor");
valor = Integer.parseInt(JOptionPane.showInputDialog("Informe um valor"));
qtd_nota100 = valor / 100;
valor = valor - (qtd_nota100 * 100);
qtd_nota50 = valor / 50;
valor = valor - (qtd_nota50 * 50);
qtd_nota10 = valor / 10;
valor = valor - (qtd_nota10 * 10);
qtd_nota5 = valor / 5;
valor = valor - (qtd_nota5 * 5);
qtd_nota1 = valor;
System.out.println("Notas de 100: " + qtd_nota100);
System.out.println("Notas de 50: " + qtd_nota50);
System.out.println("Notas de 10: " + qtd_nota10);
System.out.println("Notas de 5: " + qtd_nota5);
System.out.println("Notas de 1: " + qtd_nota1);
}
}
Envie também a sua sugestão de algoritmo para showdelphi@showdelphi.com.br.
-
InfusTec
-
37.208 views
- 2 comentários
- 16 de abril de 2015
Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!
Posts Relacionados - Continue Aprendendo
Como faço com centavos junto?
Sei que este comentário está meio atrasado, mas poderia substituir a expressão”vValor = vValor – v100 * 100;” utilizando um operador resto “%” utilizado em C ou C++, afim de simplificar mais o código. Poderia também implementar esse operador em outras linguagens.