PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : برنامه نویسی در پاسکال



آرتیمیس
May 13th, 2010, 12:24
سلام میتونید این سه تا برنامه رو برای من بنویسید (توی پاسکال)
اول اینکه چطور میتونیم یک حلقه while بنویسیم که اعداد صحیح یک تا پنج را به صورت سطری و مربع اونها رو در مقابلشون چاپ کنه
برنامه ای بنویسید که خروجی زیر را تولید کند
:79:
:79::79::79:
:79::79::79::79:
:79::79::79::79::79:

و برنامه ای بنویسید که N را از ورودی دریافت کرده و خروجی زیر را تولید کند


1 2 3 ... N
2 3 4 ... N+1
3 4 5 ... N+2
.
.
.
.
N N+1 N+2 ... N+N

Sajad
May 13th, 2010, 12:39
استارتشو بزن ! خودت بنویس هر جاش مشکل داشتی بپرس.
تقریبا میشه گفت جزء ساده ترین برنامه هاس اینا... پس سعی کن خودت بنویسی.
حتی اگه برا استارتشم مشکل داری بگو چی ازش میدونی دونسته هاتو کامل کنیم که خودت بنویسی

آرتیمیس
May 13th, 2010, 12:55
حلقه While وقتی ازش استفاده میشه که تعداد تکرار ها مشخص نباشه ولی در برنامه اول تعداد تکرار مشخصه 5 بار تکرار میشه پس چطور میشه از این حلقه استفاده کرد؟

Sajad
May 13th, 2010, 13:03
نه ! while برای تکرار نامشخص نیست. while تا زمانی که یه شرطی برقرار باشه اجرا میشه و وقتی برقرار نبود ازش خارج میشه. زمانی نامحدود میشه که یک شرطی بذاری که همیشه برقرار باشه ! مثلا بگی 1=1 . اینجوری تا عمر داره تکرار میشه !
اما اگر مثلا بگی i<5 تا زمانی که i به 5 نرسیده اجرا میشه و وقتی 5 بود اجرا نمیشه. برای این هم میتونی از i=0 شروع کنی و تو هر بار گردش یکی هم به i اضافه کنی...

آرتیمیس
May 13th, 2010, 14:40
درست شد
program p1;
uses crt;
var i,b:integer;
begin
i:=0;
while (i<=5) do
begin
i:=(i+1);
write(i:5);
b:= (i*i);
write (b:5);
end;
readkey;
end.

---------- Post added at 02:30 PM ---------- Previous post was at 01:24 PM ----------

این برنامه ستاره ها رو در دو خط چاپ میکنه ولی در خط دوم بین سه تا ستاره فاصله میذاره من می خوام فقط از سمت چپ صفحه سه تا فاصله باشه و ستاره ها بدون فاصله باشن کدوم قسمت رو باید تصحیح کنم؟:39:

program p1;
uses crt;
var i: integer;
var a: char;
begin
a:= '*';
writeln (a:5);
for i:= 1 to 3 do
begin
write (a:4);
end;
readkey;
end.[COLOR="Silver"]

Sajad
May 13th, 2010, 18:31
اون ستاره ها رو یه روش ساده بخوای که میتونی با 5 تا whiteln حلش کنی :d
اگر با for باید بنویسی هم که الان میگم !
در ضمن لازم نیست متغیر برای * تعریف کنی. بدین صورت میتونی بدون نیاز به چیزی استرینگ رو چاپ کنی: "*" یعنی شما جای اون a که داخل write میذاری بذار "*"
برای برنامه هم دو تا for در نظر بگیر. یکی برای اینکه بعد از چاپ شدن تعداد ستاره های مورد نیاز بفرستد سر خط یکی هم برای اینکه تعیین کنی تو هر خط چند تا ستاره باید چاپ کنی.
گرفتی چی شد؟

آرتیمیس
May 13th, 2010, 18:48
اون ستاره ها رو یه روش ساده بخوای که میتونی با 5 تا whiteln حلش کنی :d
اگر با for باید بنویسی هم که الان میگم !
در ضمن لازم نیست متغیر برای * تعریف کنی. بدین صورت میتونی بدون نیاز به چیزی استرینگ رو چاپ کنی: "*" یعنی شما جای اون a که داخل write میذاری بذار "*"
برای برنامه هم دو تا for در نظر بگیر. یکی برای اینکه بعد از چاپ شدن تعداد ستاره های مورد نیاز بفرستد سر خط یکی هم برای اینکه تعیین کنی تو هر خط چند تا ستاره باید چاپ کنی.
گرفتی چی شد؟

باید به شکل مثلث متساوی الاضلاع باشه نه این شکلی که کشیدم :d

Sajad
May 13th, 2010, 18:52
شما با for میخوای یا با همون writeln هم کارت راه میفته ؟

آرتیمیس
May 13th, 2010, 18:56
با for[COLOR="Silver"]

---------- Post added at 06:56 PM ---------- Previous post was at 06:53 PM ----------

آرتیمیس
May 14th, 2010, 15:42
:(

Sajad
May 15th, 2010, 13:28
writeln (a:5);
for i:= 1 to 3 do
begin
write (a:4);

اینکه معلومه بین هر ستاره 4 تا خونه میندازه. اون سایز a:4 رو بردار و فاصلها رو به یه شکل دیگه بزن...

آرتیمیس
June 5th, 2010, 01:25
سلام کسی نیست به من کمک کنه تا این برنامه ها رو کامل کنم
خواهش ...