آرش ( تحصیلات : لیسانس ، 21 ساله )

سلام یه مسئله برنامه نویسی دارم خواهشا جوابشو بهم بدین خیلی مهمه برا امتحان نیازش دارم جوابو زود نیاز دارم
به زبان سی ++
یه زبان داریم با متغیرهای صحیح a و b با دستورات زیر
a=b
a=a+1
a=a-1
if a=0 then goto L یعنی کنترل به ال برود
if a>0 then goto L
goto L
halt
حالا میخوام برنامه های زیر رو در این زبان بنویسم که اونارو محاسبه کنه

x=a+b
===========
x=a*b
=========
x=a*b و y=c*d


قسمت دوم سوال هم گفته تغییرات کوچکی در این زبان ایجاد کنید تا کاربرد آن ساده شود مفاهیمی مثل زیربرنامه ها دستورات جدید و اعلانها و ... در نظر بگیرید


مشاور (خانم جبل عاملی)

با سلام x=a+b برای هر کدام از چیزهایی که شما نیاز دارید، ما کد مورد نظر را با همین دستورات به صورت تفکیکی می نویسیم: شروع Int x; If (b=0) go to L Else { a= a+1; b=b-1; } L: { X=a; Print X; } =========== x=a*b int x; X=a; b=b-1; if (b=0) go to L else { X=X+a; b=b-1; } L: Print X; ========= x=a*b و y=c*d در این قسمت شما مشخص نکرده اید که متغیر های c و dچه چیزی است؟! در واقع مثل مثال قبلی x=a*b نیز می شود. شما می توانید هر کدام از قسمت های انجام شده را در داخل یک رویه یا زیربرنامه ای تعریف کنید و بعد در برنامه اصلی به آن رویه یا زیر برنامه ارجاع دهید برای یک نمونه از این قسمت ها ما این کار را انجام می دهیم : x=a+b Procedure_Add (int a, int b) { begin Int x; If (b=0) go to L Else } a= a+1; b=b-1; { L: { X=a; Print X; } end } حال در برنامه ی اصلی رویه یا همان زیربرنامه ی Procedure Add را صدا می زنیم. برنامه ی اصلی: Begin Int a= یک عدد Int b= یک عدد Procedure Add(a,b); END همچنین با استفاده از اضافه کردن دستور جدید Whileمی توانید دیگر از دستور پرش به کنترل L نیز استفاده نکنید. برای همین نمونه ی a+b: Int x; While (b0) do { a= a+1; b=b-1; } X=a; Print X; } در این صورت دستور if و دستور پرش نیز حذف می شود.