برنامه ضرب اعداد بزرگ به زبان پاسكال

در اين برنامه  اعداد به صورت رشته وارد برنامه مي شوند برنامه اين اعداد را در يك رشته كپي كرده و بعد از آن اعداد متناظر در رشته را با هم جمع مي كند براي عمليات ضرب اين عمل به تعداد مورد نظر (عددي كه رشته اول در آن ضرب مي شود) تكرار مي شود.

براي راهنمايي بيشتر مي توانيد با ما تماس بگيرين

uses
crt;
const
maxofnumber:byte=70; { bozorgtarin meghdar vorodi }

function n2a(n:integer):string; { tabdile adad be carecter ASCII }
var
s:string;
begin
str(n,s); {Converts a numeric value to a string.}
n2a:=s;
end;

function a2n(s:string):byte; { tabdile ASCII be adad }
var
n,m:integer;
begin
val(s,n,m); {Converts a string value to its numeric}
a2n:=n;
end;

function sumnum(s1:string ; s2:string):string;
var
i,n,m:integer;
sum,mul, adade_sariz : integer;
num3,num4 : string; { Khoroji }
begin
num3:=»;
sumnum:=»;
adade_sariz:=0;
{ jam kardane do adad }
for i:=length(s1) downto 1 do
begin
sum:=(a2n(s1[i])+a2n(s2[i]))+adade_sariz;
adade_sariz:=sum div 10;
sum:=sum mod 10;
num3:=n2a(sum)+num3;
end;
sumnum:=num3;
end;

function mult(s1:string ; s2:string):string;

var
j,k,i,n,m:integer;
sum,mul, adade_sariz,dahgan : integer;
num3,num4 : string; { Khoroji }
begin
num3:=»;
mult:=»;
adade_sariz:=0;
num4:=»;
dahgan:=0;

{hazfe 0 az javab va rast chin karane javab }
{while num3[1]=’0′ do
delete(num3,1,1);}
for i:=length(num3) to maxofnumber-1 do
num3:=› ‹+num3;
for i:=length(num4) to maxofnumber-1 do
num4:=› ‹+num4;

for k:=length(s2) downto 1 do
begin
for j:=1 to (a2n(s2[k])) do
begin
num3:=sumnum(s1,num3);
{writeln(num3)}
end;
for i:=1 to maxofnumber do
num3[i]:=num3[i+dahgan];
for i:= maxofnumber downto (maxofnumber-dahgan)+1 do
num3[i]:=’0′;
num4:=sumnum(num4,num3);
{writeln(‹num3 =’,num3);
writeln(‹num4 =’,num4);}
num3:=»;
for i:=length(num3) to maxofnumber-1 do
num3:=› ‹+num3;
dahgan:=dahgan+1;
end;
mult:=num4;
{writeln(num4);}
end;

var
num1, num2 : string; { adade vorodi }
num3,num4 : string; { Khoroji }
sum,mul, adade_sariz,dahgan : integer;
i,j,k: integer;{ skomarande }

begin
clrscr;
writeln(’2 adad ra vared konid (hadeaksar ‹,maxofnumber,› ragham):’);
write(‹Adade aval ra ared konid :’);
Readln(num1);

write(‹Adade dovom ra vared knid :’);
Readln(num2);
num3:=»;
{Rast chin kardane adad vrodi dar araye}
for i:=length(num1) to maxofnumber-1 do
num1:=› ‹+num1;
for i:=length(num2) to maxofnumber-1 do
num2:=› ‹+num2;

writeln;
writeln(‹jame do adad’);
writeln;
writeln(‹ ‹,num1);
writeln(‹+’,num2);

for i:=1 to maxofnumber+1 do
write(‹-’);
writeln;
writeln(sumnum(num1,num2));

writeln;
writeln(‹zarbe do adad’);
writeln;
writeln(‹ ‹,num1);
writeln(‹*’,num2);
for i:=1 to maxofnumber+1 do
write(‹-’);
writeln;
writeln( mult(num1,num2));

readln;

{ namayesh khoroji }

{ khoroj… }
writeln(‹ Ra jahat khoroj feshar dahid …’);
readln;
end.

5 دیدگاه

  1. دانشجو گفت،

    ژوئن 3, 2010 در 10:45 ق.ظ.

    دستتون دردنکنه خیلی خوب بود.

  2. HAMID گفت،

    ژوئیه 9, 2010 در 7:16 ب.ظ.

    لطفا کد C برنامه رو بزارین باتشکر

  3. حسین گفت،

    دسامبر 25, 2010 در 9:16 ب.ظ.

    سلام دوست عزیز چند تا سوال داشتم در مورد این برنامه

    استاد دانشگاه از من خواسته به زبان پاسکال یک ضرب 20 رقمی در 8 رقمی بنویسم
    لطفا این ضرب را نوشته و به ایمیل بفرستید یا در سایت قرار داده تا دیگر دوستان هم استفاده بکنند
    راستی در مورد کد های بالا هم مشکلی بود که برنامه اجرا نمیشد در پاسکال

    لطفا در ضرب راهنمایی کنید

    • serojjamali گفت،

      دسامبر 26, 2010 در 12:45 ب.ظ.

      قسمت
      function mult
      جهت انجامعملیات ضرب نوشته شده
      اگه موقع اجرا برنامه خطا می ده خطاشو بنویسین تا بررسی کنم


پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌واره‌ی وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

دنبال‌کردن

هر نوشته‌ی تازه‌ای را در نامه‌دان خود دریافت نمایید.