PDA

نسخه کامل مشاهده نسخه کامل : سوال در رابطه با فلوچارت



diana_1989
29-03-2009, 00:59
سلام دوستان نیاز به کمک فوریتون دارم
چندتا الگوریتم فلوچارت هست که نمیدونم چه جوری حلشون کنم :
یکیشون اینه :
1) الگوریتمی بنویسید که عدد از مبنای 3 رو به مینای 10 ببرد
2)الگوریتمی بنویسید که دو عدد m و n را دریافت کندو اعداد مضارب 3 بین m و n را تولید و چاپ کند
3) الگوریتمی بنویسید که اعداد 4 رقمی را ذریافت و مشخص کند چند رقم آن زوج؛چند رقم فرد و چند رقم آن صفر است !


ممنون میشم اگه کمکم کنین :41:

M E H D I
29-03-2009, 02:36
سلام دوستان نیاز به کمک فوریتون دارم
چندتا الگوریتم فلوچارت هست که نمیدونم چه جوری حلشون کنم :
یکیشون اینه :
1) الگوریتمی بنویسید که عدد از مبنای 3 رو به مینای 10 ببرد
2)الگوریتمی بنویسید که دو عدد m و n را دریافت کندو اعداد مضارب 3 بین m و n را تولید و چاپ کند
3) الگوریتمی بنویسید که اعداد 4 رقمی را ذریافت و مشخص کند چند رقم آن زوج؛چند رقم فرد و چند رقم آن صفر است !


ممنون میشم اگه کمکم کنین :41:

یه خورده اینجا فلوچارت کشیدن سخت نیست؟ : دی
من تقریبا شبه کد مینویسم. خودتون شکلش رو بکشین.
1.

input num
ans=0
a=1
r=num mod 10 (همون باقیمانده)
num=num/10
ans = ans + r * a
a= a * 3
if num <> 0 then goto 4
end.


2. فرض کردم من که m<n هست.

input m,n
if (m mod 3 = 0) then print m
m=m+1
if n<>m then goto 2
end


3. o برای فرد - e برای زوج و z برای صفرها

input num
o=0 , e = 0 , z = 0
r= num mod 10
num = num / 10
if (r=0) then z=z+1
if (r mod 2 = 0 & r <>0) then e = e+1
if (r mod 2 <>0) then o = o+1
if num<>0 then goto 3
end

diana_1989
29-03-2009, 12:14
ممنون ازلطفتون مهدی خان , یکی دو تا دیگه سوال برام ایجاد شد از همین الگوریتم هایی که زحمت کشیدین برام نوشتین

الگوریتم شماره 1 میشه :

num را دریافت کن
برای b مقدار صفر را در نظر بگیر
برای a مقدار 1 را در نظر بگیر
باقیمانده تقسیم num بر 10 را در r قرار بده
b+r*3 رو در b قرار بده
a*3 را در a قرار بده
خط 8 از الگوریتم 1 رو متوجه نشدم



الگوریتم شماره 2)
در خط 2 میگه اگه m mode 3 برابر 0 بود m را چاپ کن و یکی به m اضافه کن , شرط بعدی که در خط 4 نوشتین به ازای نادرست بودن شرط موجود در خط 2 هست ؟
واین که حلقه رو باید به کجا وصل کنم ؟

M E H D I
29-03-2009, 15:15
ممنون ازلطفتون مهدی خان , یکی دو تا دیگه سوال برام ایجاد شد از همین الگوریتم هایی که زحمت کشیدین برام نوشتین

الگوریتم شماره 1 میشه :

num را دریافت کن
برای b مقدار صفر را در نظر بگیر
برای a مقدار 1 را در نظر بگیر
باقیمانده تقسیم num بر 10 را در r قرار بده
b+r*3 رو در b قرار بده
a*3 را در a قرار بده
خط 8 از الگوریتم 1 رو متوجه نشدم



سلام

برای الگوریتم اول، مرحله 5 رو ننوشتین شما! توی هر مرحله num شما باید تقسیم صحیح بر 10 بشه یعنی رقم آخرش باید حذف بشه. یعنی توی هر مرحله یه رقم از num کم میشه تا وقتی که num صفر میشه. وقتی صفر شد، توی خط 8، دیگه به مرحله 4 برنمی گرده و میرسه به پایان.

در واقع کار خاصی نمی کنه این الگوریتم. ما وقتی میخوایم یه عدد رو به مبنای 10 ببریم، از سمت راست شروع می کنیم و به توانهای مبانای فعلی ضرب می کنیم. مثلا رقم اول عددی که توی مبنای 3 هست مثل 122 رو به 0^3 و رقم دوم رو به 1^3 و ... ضرب میکنیم. این a که توی الگوریتم هست همین کار رو می کنه دقیقا. یعنی توی مرحله اول 0^3 هست یعنی 1. r توی مرحله اول، 2 هست که رقم سمت راست 122 هست. وقتی ضرب میشه، جواب میشه 2 و با b که الان صفر هست جمع میشه. بعد a میشه 1*3 و با چک شدن num که الان شده 12دوباره به مرحله چهار بر میگردیم. همینطوری هی عدد num کوچیکتر میشه تا جایی که صفر بشه و توی مرحله 8 دیگه حاصل شرط true نمیشه و میریم به end
یه بار یه عدد رو، مثلا همین 122 رو توی الگوریتم امتحان کنین کامل می فهمین که چی میشه.




الگوریتم شماره 2)
در خط 2 میگه اگه m mode 3 برابر 0 بود m را چاپ کن و یکی به m اضافه کن , شرط بعدی که در خط 4 نوشتین به ازای نادرست بودن شرط موجود در خط 2 هست ؟
واین که حلقه رو باید به کجا وصل کنم ؟

الگوریتم به این صورت هست اگه فرض کنیم که m کوچیکتر از n باشه ( البته اگه نباشه هم میشه راحت جاهاشون رو عوض کرد ): چک میکنیم که m به 3 بخش پذیر هست یا نه. بعد m رو یکی اضافه می کنیم تا عدد بعدی رو بررسی کنیم. توی مرحله ی 4 بررسی می کنیم که آیا m به n رسیده یا نه. اگه به n رسیده باشه که تموم میشه و اگه نه که میره به مرحله 2. البته الان که من دارم نگاه میکنم این الگوریتمی که من نوشتم هم مشکل داره :31: برای حالت m=n-1 جواب نمیده. باید شرط رو عوض کنیم: if m<=n then goto 2
اینطوری درست میشه. اون دستور 4 همون شرط ادامه حلقه س و باید به مرحله دو وصل بشه ( البته حالت true باید به 2 وصل شه)

Padrino
02-04-2009, 17:11
خط 8 از الگوریتم 1 رو متوجه نشدم
اگر عدد مخالف صفر بود برگرد به مورد(خط) 4 (اینقدر حلقه ادامه پیدا میکنه تا عدد صفر بشه)
در فلوچارت این الگوریتم با یک دستور شرطی حلقه رو به مورد 4 وصل میکنید.

diana_1989
15-04-2009, 11:54
سلام دوستان خوبم میشه تو نوشتن این الگوریتم ها کمک کنین ! راستش راجع به اونایی که مربوط به ارقام اعداد هست خیلی مشکل دارم


1- الگوریتمی بنویسید که عدد طبیعی n را دریافت و مقسوم علیه های مضرب چهار آن را یکی یکی تولید چاپ کند همچنین تعداد و مجموع آنها را ؟

2 – الگوریتمی بنویسید که عددی را بین یک تا 1000 حدس زده و تولید کند ؟

3- الگوریتمی بنویسید که کلیه اعداد سه رقمی که رقم یکان و هزارگان مساوی داشته و دهگان انها زوج باشد

4- الگوریتمی بنویسید که دو عدد صحیح M و N و K را دریافت , و اعداد مضارب K بین M و N را یکی یکی تولید و چاپ کند همچنین مجموع و تعداد آنها را محسابه و چاپ کند ! ( فقط بین اِم و اِن )

5 – الگوریتمی بنویسید که دو عدد صحیح M , N را به عنوان ورودی دریافت و بزرگترین مقسوم علیه مشترک و کوچکترین مضرب مشترک آن دو عدد را با توجه به قضیه اراتستن تولید و چاپ کند ؟

6- الگوریتمی بنویسید که اعداد 3 رقمی راتولید و چاپ کند و در نوشتن انها فقط از ارقام زوج استفاده شود ؟

7-الگورتیمی رسم کنید که مجذور یک عدد طیعی مانند N را با توجه به قضیه زیر محاسبه و چاپ کند ؟
قضیه : مجموع N عدد فرد متوالی برابر ست با مجذور N مانند :
1+3+5+7+9+11+13=7^2=49
در این مثال دقت کنید که هر یک از این اعداد را میتوان به فرم زیر نوشن :
13=2*7-1=13
11=2*7-3=11
9=2*7-5=9
7=2*7-7=7
5=2*7-9=5
3=2*7-11=3
1=2*7-13=1
به طور کلی اگر بخواهیم مجذور N را حساب کنیم باید اعداد فرد 1 تا 2N-1 را با هم جمع کنیم !

roozbahan
17-05-2009, 18:24
با درود
برنامه اي بنويسيد كه 50 اسم را از وردي دريافت كند و تعداد افرادي را كه نامشان علي است نمايش دهد

اينو واسم حل كنيد
با سپاس

gavanche
10-06-2009, 18:45
1- الگوریتمی بنویسید که عدد طبیعی n را دریافت و مقسوم علیه های مضرب چهار آن را یکی یکی تولید چاپ کند همچنین تعداد و مجموع آنها را ؟



Sum = مجموع, num =تعداد

1- Input n

2- sum=0

3- num=0

4- i=0

5- if (n mod i)==0 then num=num+1

6- if (n mod i)==0 then sum=sum+i

7- if (n mod i)==0 then print i

8- i+=4

9- if i<=n goto 5

10- print num

11- print sum

12- end
– الگوریتمی بنویسید که عددی را بین یک تا 1000 حدس زده و تولید کند ؟
راجع به این یکی یه ذره توضیح می دید؟
متوجه نمیشمش

3- الگوریتمی بنویسید که کلیه اعداد سه رقمی که رقم یکان و هزارگان مساوی داشته و دهگان انها زوج باشد
i= رقم یکان و صدگان(نمیتواند 0 باشد.)j=رقم دهگان
1- i=1
2- j=0
3- number=i*100+j*10+i
4- print number
5- j+=2
6- if j>=8 then i+=1
7- if j>=8 then goto 2
8- end



- الگوریتمی بنویسید که دو عدد صحیح M و N و K را دریافت , و اعداد مضارب K بین M و N را یکی یکی تولید و چاپ کند همچنین مجموع و تعداد آنها را محسابه و چاپ کند ! ( فقط بین اِم و اِن )

من فرض می کنم که m>n
1- input m
2- input n
3- input k
4- sum=0
5- num=0
6- if (n mod k)==0 then i=n/k
1- else i= int(n/k)+1
2- if k*i<m then print k*i
3- i+=1
4- if i*k<m goto 8
5- end
– الگوریتمی بنویسید که دو عدد صحیح M , N را به عنوان ورودی دریافت و بزرگترین مقسوم علیه مشترک و کوچکترین مضرب مشترک آن دو عدد را با توجه به قضیه اراتستن تولید و چاپ کند ؟
شرمنده من با قضیه ی اراتسن آشنایی ندارم اگر ممکنه بگید چیه که من کمکتون کنم
- الگوریتمی بنویسید که اعداد 3 رقمی راتولید و چاپ کند و در نوشتن انها فقط از ارقام زوج استفاده شود ؟



1- i=2
2- j=0
3- k=0
4- print i*100+j*10+k
5- k+=2
6- if k<=8 goto 4
7- else j+=2 goto 3
8- if j<=8 goto 4
9- else i+=2 goto 3
10- if i<=8 goto 4
11- else goto1
12- end
من اینو شک دارم بهش!!!


7-الگورتیمی رسم کنید که مجذور یک عدد طیعی مانند N را با توجه به قضیه زیر محاسبه و چاپ کند ؟
قضیه : مجموع N عدد فرد متوالی برابر ست با مجذور N مانند :


1- input n
2- i=1
3- a=0
4- a+=i
5- i+=2
6- if i<=2*n-1 then goto 4
7- end

chelegham
03-04-2010, 18:34
با سلام
لطفاً الگوریتمی بنویسید که دو عدد صحیح و مثبت M , N را به عنوان ورودی دریافت و بزرگترین مقسوم علیه مشترک و کوچکترین مضرب مشترک آن دو عدد را تولید و چاپ کند ؟
با سپاس از سایت عالیتون

gavanche
04-04-2010, 18:55
سلام من از نمیدونستم که شما با چه زبان برنامه نویسی کار می کنید من بازبان C جوابتونو میدم
[[
LEFT]int main(){
int m,n,a=1,b; //tarife moteghayer
cin>>m>>n; //gereftane meghdar ha az karbar
b=m*n;

//if m<n =>swap
if(m<n) {
int t=m;
m=n;
n=t;
}
a=m%n; //baghimande m bar n

while(a!=0)
{

m=n;
n=a;
a=m%n;
}
cout<<"b.m.m is"<<n;
cout<<"k.m.m is"<<b/n;
}

[/INDENT][/INDENT][/INDENT][/INDENT][/INDENT[/LEFT]]

nima_loya
15-05-2010, 18:46
با سلام لطفا راهنمائی کنید
الگوریتمی بنویسید که عددی در مبنای 10 گرفته و به 2 ببرد
الگوریتمی بنویسید که عددی در مبنای 2گرفته و به 10 ببرد

diana_1989
28-05-2010, 20:09
با سلام لطفا راهنمائی کنید
الگوریتمی بنویسید که عددی در مبنای 10 گرفته و به 2 ببرد
الگوریتمی بنویسید که عددی در مبنای 2گرفته و به 10 ببرد

براي اين كه عددي رو از مبناي دو كه فقط شامل 0 و 1 هست به مبناي ده ببري بايد تك تك ارقام اون رو پيدا كني و اونو در توانهاي متوالي دو ضرب كني
الگوريتم :

1 شروع
2 n رو بگير
3 s=0
4 i=1
5 n-10*n/2=r
6 s=s+r*2^i
7 n=n/2
8 اگر n بزرگتر از 0 باشه i++ ميكني و به خط 5 برو
9 در غير اين صورت s رو چاپ كن
پايان

fariba000
27-11-2012, 17:04
سلام
تمام الگوریتمها و فلوچارتهایی که تو نت در مورد مقسوم علیه های یه عدد نوشته شده در واقع خروجی باقیمانده رو به ما میده. وقتی ما میگیم 4 تقسیم بر 2 حالا حاصل تقسیم میشه خارج قسمت، چیزی که 4 بهش تقسیم شده میشه مقسوم علیه. بعد من هر چی الگوریتم فلوچارت دیدم وقتی trace میکنه داری باقیمانده رو نشون میدی!!!
یه دوستی الگوریتمش رو بنویسه و امتحان کنه نتیجه شو به منم بگه اگه اشتباه میکنم.
با تشکر فریبا

Aram190
28-12-2016, 16:37
سلام دوستان لطفا درحل این سوال به من کمک کنید ممنون
برنامه ای بنویسید که کلیه ی اعداد چهاررقمی که رقم یکان وهزارگان مساوی ورقم دهگان زوج دارندرا چاپ نماید.(به زبان متلب)