Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kelvin Dules

CalculaK 0.9

Recommended Posts

Bom... ai está meu primeiro programinha feito em pascal (sei que é muito antigo).

Uma calculadora simples... legazinha xD

EDIT: Código ao invés do executável

Program Calculadora_Especial;
 var //Variaveis
 opcao,opcao2:integer;
 resposta1,resposta2:real;
 num1,num2:real;
 resposta:real;
 termo1,termo2,termo3:real;
 repetir:string;
 
 
 Begin //Inicio dos comandos
  //Inicio da repetição
repeat
 writeln('=====--- || CalculaK ®  by Kelvin Dias Dules || ---====='); //Apresentação
 writeln('||								versão 0.9		   ||');
 writeln('||													 ||');
 writeln('||													 ||');
 writeln('---------------------------------------------------------');
 writeln('||Digite o número correspondente à função para começar!||');
 writeln('|||------------------|||');  //Menu de navegação
 writeln('|||[1] Somar');
 writeln('|||[2] Subtrair');
 writeln('|||[3] Multiplicar');
 writeln('|||[4] Dividir');
 writeln('|||[5] Produtos Notáveis');
 writeln('|||[6] Sobre o Programa');
 writeln('|||------------------|||'); 
 read(opcao); 
 //Soma
 if opcao=1 then
 begin
 writeln('Digite o primeiro número da soma:');
 read(num1);
 writeln('Digite o segundo número da soma:');
 read(num2); 
 resposta:=(num1+num2);
 writeln('Resposta :',' ',round(resposta));
 end   
 
 //Subtração
 else if opcao=2 then 
 begin
 writeln('Digite o primeiro número da subtração:');
 read(num1);
 writeln('Digite o segundo número da subtração:');
 read(num2);
 resposta:=(num1-num2);
 writeln('Resposta:',' ',round(resposta));
 end																		  
 //Multiplicação
 else if opcao=3 then
 begin
 writeln('Digite o primeiro número da multiplicação:');
 read(num1);
 writeln('Digite o segundo número da multiplicação:');
 read(num2);
 resposta:=(num1*num2);
 writeln('Resposta:',' ',round (resposta));
 end
 
 //Divisão
 else if opcao=4 then
 begin
 writeln('Digite o dividendo (número a ser dividido):');
 read(num1);
 writeln('Digite o divisor (número de partes que o dividendo será dividido)');
 read(num2);
 resposta:=(num1/num2);
 writeln('Resposta:',' ',round (resposta));
 end
 //Sobre o Programa
 else if opcao=6 then
 begin
 writeln('||| ===================Sobre o Programa=====================|||');//Início Info
 writeln('||--  Por estar começando agora, esse é o primeiro programa'); 
 writeln('||--  que durou mais de 30min para ser criado, então decidi'); 
 writeln('||--  fazer esse "Sobre o Programa" por organização');
 writeln('||--  O programa se encontra na versão 0.9, ou seja, não está completo,');
 writeln('||--  ele deve chegar à uma versão 2.0 futuramente.');
 writeln('||--  Bugs serão corrigidos e novas funções serão adicionadas como:');
 writeln('||--  *Raiz, Potênciação etc...'); 
 writeln('||--  Vai ser uma calculadora totalmente completa!'); 
 writeln('||--  [OBS]Nesta versão, todos os resultados são aredondados no caso de de	  ||--  números decimais');
 writeln('||--  Contato = kelvindules@hotmail.com');
 writeln('||--  Obrigado!!!');
 writeln('================================================================||');
 writeln('		  \\\ || /// Kelvin Dias Dules \\\ || ///				 ');
 writeln('================================================================||'); //Fim info
 end;
 
 //Produtos Notáveis
 if opcao=5 then
 begin
 writeln('=====   Produtos Notáveis disponíveis   ====='); //Início Menu				 
 writeln('=1= Quadrado da Soma (2 termos)|');
 writeln('=2= Quadrado da Diferença (2 termos)|');
 writeln('=3= Quadrado da Soma (3 termos)|');
 writeln('=4= Cubo da Soma (2 termos)|');
 writeln('=5= Cubo da Diferença (2 termos)|');
 writeln('=6= Produto da Soma pela Diferença|');
 writeln('=== Digite o número correspondente à função para calcular ==='); //Fim Menu
 read(opcao2);
 end;
 //Quadrado da Soma*
 if opcao2=1 then
 begin
 writeln('Informe o primeiro termo:');
 read(termo1);
 writeln('Informe o segundo termo:');
 read(termo2);
 resposta1:=(termo1+termo2);
 resposta2:=(resposta1*resposta1);
 writeln('O resultado final é:',' ',round(resposta2));
 end
 //Quadrado da Diferença
 else if opcao2=2 then
 begin
 writeln('Informe o primeiro termo:');
 read(termo1);
 writeln('Informe o segundo termo:');
 read(termo2);
 resposta1:=(termo1-termo2);
 resposta2:=(resposta1*resposta1);
 writeln('O resultado final é:',' ',round(resposta2));
 end
 //Quadrado da Soma 3t
 else if opcao2=3 then
 begin
 writeln('Informe o primeiro termo:');
 read(termo1);
 writeln('Informe o segundo termo:');
 read(termo2);
 writeln('Informe o terceiro termo:');
 read(termo3);
 resposta1:=(termo1+termo2+termo3);								  
 resposta2:=(resposta1*resposta1);
 writeln('O resultado final é:',' ',round(resposta2));
 end
 
 //Cubo da Soma
 else if opcao2=4 then
 begin
 writeln('Informe o primeiro termo:');
 read(termo1);
 writeln('Informe o segundo termo:');
 read(termo2);
 resposta1:=(termo1+termo2);
 resposta2:=(resposta1*resposta1*resposta1);
 writeln('O resultado final é:',' ',round(resposta2));
 end
 //Cubo da Diferença
 else if opcao2=5 then
 begin
 writeln(' Informe o primeiro termo:');
 read(termo1);																			   
 writeln(' Informe o segundo termo:');
 read(termo2);
 resposta1:=(termo1-termo2);
 resposta2:=(resposta1*resposta1*resposta1);
 writeln('O resultado final é:',' ',round(resposta2));
 end
 //Produto da Soma pela Diferença
 else if opcao2=6 then
 begin
 writeln('Informe o primeiro termo:');
 read(termo1);
 writeln('Informe o segundo termo:');
 read(termo2);
 resposta1:=(termo1*termo1-termo2*termo2);
 writeln('O resultado final é:',' ',round(resposta1));
 end;
 
 writeln('Deseja repetir o programa?'); //Pergunta para repetição do programa
 read(repetir);
 clrscr;
 until(repetir ='não');
 
 
 
  
 End.
 
 //Fim da Versão 0.9 do CalculaK
 //Data: 04/02/2009
 //Autor: Kelvin Dias Dules
 //--------------------------------------||

 

Comentem sobre ele... deem dicas etc.. toda ajuda é bem vinda.

 

 

Obrigado!

 

(PS: Tem 2 dias que eu to estudando pascal.. então pega leve ai uishaiusa)

 

Agradecimentos à EDIT: BeraldO por me responder no outro tópico onde não estava achando o erro xD

 

FLW!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agradecimentos à Beraldi por me responder no outro tópico onde não estava achando o erro xD

Beraldo. :P hehe

 

Poste o código aqui.

Baixar o arquivo é ruim. ALém disso, você postou o executável, não o fonte.

 

Outra coisa: nem todos usam Windows e podem rodar qualquer executável... :rolleyes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui, tive de adicionar um Uses CRT antes de Var, para poder usar clrscr(). Não sei se em Windows é assim.

 

No caso da divisão, verifique se o divisor não é zero, para não gerar erro de divisão por zero.

 

Use indentação e faça modularização, ou seja divida seu programa em subprogramas (funções e procedimentos).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por mais incrivel que pareça... não entendi muito o que você disse..

 

principalmente como eu iria "dividir o programa em partes(sub-programas)"....... :blink:

 

 

Aqui (windows) tá funcionando normalmente..

 

 

 

EDIT: Qual parte do programa você acha que eu deveria organizar? (foi o que entendi por identação).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Indentação é é organizzar o código hierarquicamente:

 

veja a diferença:

if (condicao)
{
acao
switch (acao)
{
case 1:
teste;
break.
}
}
else
{
bla bla bla
}

if (condicao)
{
	acao
	switch (acao)
	{
		case 1:
		teste;
		break.
	}
}
else
{
	bla bla bla
}

Veja como o código com indentação é mais fácil de ser lido.

 

 

Modularizar é criar funções. Estude funções, que entenderá o que eu disse.

 

if (opcao == 5)
	funcao1();
else if (opcao == 6)
	fucao2();

Desculpe-me ppor usar sintaxe de C em ev\z de Pascal. Odeio Pascal e nem sei se lembro como usar a sintaxe dele. :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aproveitando que você falou em C....

 

eu ja baixei algumas apostilas de linguagem C pra começar a estudar... ela vem junto com uns exercicios e exemplos.. varias coisas la..

 

POREM http://forum.imasters.com.br/public/style_emoticons/default/upset.gif não to achando um compilador C que funcione... baixei o Borland mas nao consegui instalar :blink:

Baixei o Dev C++ e já não gostei porque nao tava conseguindo compilar.. dava um erro la num arquivo .win sei la

 

Baixei o VISUAL STUDIO 2008 pelo jeito 2gb desperdiçados ... erro na instalação = 1330 = Diz que um arquivo .cab la ta corrompido mas ja baixei duas vezes por fontes diferentes.. e nada ¬¬

 

 

se puder.. adiciona ai kelvindules@hotmail.com

 

da uma luz sobre um compilador.. qualquer coisa pra usar C

 

 

VLW

 

EDIT: Deixei o pascal porque além de antigo... não ia me ajudar muito em programação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu uso o GCC, que é o padrão do Linux.

Em Windows, geralmente usa-se o Dev C++, que segue o padrão do GCC. Já instalei o DEV uma vez em Windows e não tive problemas. Tente de novo e, se não conseguir, poste no fórum de C.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.