loading...
وبلاگ دانشجویی مهدی فتحی
مهدی فتحی بازدید : 3127 سه شنبه 20 آبان 1393 نظرات (0)

انواع زبان برنامه نویسی:

1) تحت ویندوز          2) تحت شبکه          3) تحت وب

 

انواع زبان برنامه نویسی تحت ویندوز:   pascal  ,  C  , C++  ,  C#  ,  Delphi  ,  V.C#  ,  V.Basic

توجه: ویندوز 98 با حدود 29 میلیون خط دستور با زبان C نوشته شده است.

 

تعدادی از زبان های منسوخ شده:   Cobol  ,  Fortran  ,  PL1  ,  Basic


پایگاه داده قابل استفاده در برنامه نویسی تحت ویندوز:   Access  ,  SQL Server


Sintax چیست؟ قانون و ساختار مصوب در نحوه نگارش با هر زبان برنامه نویسی را گویند.

 

تفاوت شکلی یک دستور در چندین زبان برنامه نویسی تحت ویندوز:

 

تحقیق1: انواع زبان های برنامه نویسی تحت ویندوز را به همراه یک توضیح مختصر نام ببرید: (حداقل 5 زبان)

 

برنامه کامپیوتری چیست؟

یک برنامه کامپیوتری برنامه ای است که اطلاعات ورودی را دریافت و بر روی آن پردازش کرده و نتیجه را بر روی خروجی نمایش می دهد.

input  ------------> processor ------------> output
(information)                                                                                      (data)

انواع زبان برنامه نویسی تحت وب:

این نوع برنامه نویسی از سال 1990 با استفاده از زبان HTML پا به عرصه زبان های برنامه نویسی گذاشت. لازم به ذکر است که این زبان پایه تمامی وب سایت های دنیا است.

 

 طراحی صفحات وب                   زبان برنامه نویسی تحت وب                  پایگاه داده/بانک اطلاعاتی


Access                                            ASP                                                      HTML

SQL Server                                     JSP                                                       Photoshop

My SQL                                           PHP                                                      Flash

Oracel                                                                                                             Java Script


تحقیق2: تفاوت java با JSP در چیست؟

تحقیق3: بانک اطلاعاتی چیست؟ چند مورد را نام ببرید.

 

الگوریتم (Algoritm) یا خوارزمی مجموعه ای متناهی از دستورالعمل ها است، که به ترتیب خاصی اجرا می شوند و مسئله ای را حل می کنند. به عبارت دیگر یک الگوریتم، روشی گام به گام برای حل مسئله است. شیوه محاسبه معدل در مدرسه، یکی از نمونه های الگوریتم است.

به عبارتی هر دستورالعملی که مراحل انجام کاری را با زبانی دقیق و با جزئیات کافی بیان نماید بطوریکه ترتیب مراحل و شرط خاتمه عملیات در آن کاملاً مشخص شده باشد را الگوریتم گویند.

در این تعریف منظور از...

زبان دقیق: آن است کع الگوریتم دقیقاً به همان صورتیکه مورد نظر نویسنده است اجرا گردد.

جزئیات کافی: آن است که در طول اجرای الگوریتم عملیات ناشناخته پیش نیامده و باعث انحراف از مسیر و هدف اصلی نگردد.

ترتیب مراحل: آن است که مراحل اجرای الگوریتم قدم به قدم و با رعایت تقدم و تأخر مشخص شده باشد.

شرط خاتمه: پایان پذیر بودن الگوریتم می باشد. یعنی بهر حال الگوریتم باید در زمانی دلخواه و تحت شرایط یا شرط داده شده خاتمه پذیرد.

 

 

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

واژه الگوریتم از نام ریاضی دان و ستاره شناس و جغرافی دان نام ایرانی، ابوجعفرمحمدبن موسی خوارزمی(الخوارزمی)، گرفته شده است، که در خوارزم زاده شده و در دانشگاه «بیت الحکمه» بغداد به اوج شهرت رسید. خوارزم یکی از شهرهای «ایران بزرگ» بود، که امروزه در ازبکستان واقع شده است و اکنون خیوه نام دارد.

رساله ای که خوارزمی در قرن نهم میلادی به زبان عربی نگاشته بود، در قرن دوازدهم به زبان لاتین با نام "Algoriitmi de numero indorum " ترجمه شد؛ یعنی " «الگوریتمی» در مورد اعداد هندی "، که در این واژه«الگوریتمی» نام الخوارزمی بده که مترجم آن را در تبدیل به زبان لاتین چنین آورده بود.

در قرن 13 میلادی واژه الگوریسموس (Algorismus) به معنای «سیستم شمارش عربی (ده دهی)» (یعنی اعداد 1 تا 9 به علاوه صفر، و نیز مفهوم اعشار) بود؛ که هنوز هم یکی از معانی واژه الگوریسم (Algorism) است. معنای دیگر الگوریسم «حساب کردن با کمک اعداد عربی» است؛ یعنی فن اعمال حسابی پایه، مانند جمع و ضرب، با قرار دادن اعداد در زیر هم و اِعمال قواعدی خاص، که جایگزین بکارگیری اعداد رومی و استفاده از چرتکه شد. به عبارتی حتی روش انجام دستی تقسیم و جذر گرفتن (رادیکال) هم الگوریسم نامیده می شود.

در قرن نوزدهم میلادی این کلمه در فرانسوی به (Algorithme) تغییر شکل پیدا کرد، البته معنایش ثابت ماند. طولی نکشید که این کلمه به شکل (Algorithm) وارد زبان انگلیسی شد؛ ولی فقط در اواخر قرن نوزدهم بود که معنای عام تر امروزی اش را یافت، و به «هر مجموعه قواعدی برای انجام یک رویه محاسباتی یا روال رایانه ای بکار رود» الگوریتم گفته شد. تبدیل نام الخوارزمی به الگوریسم و سپس الگوریتم احتمالاً تحت تأثیر واژه یونانی Arithmos (به معنای عدد) و Arithmetic ( به معنای محاسباتی) بوده است. برخی منابع هم کلمه لگاریتم را هم در تبدیل الگوریسم و الگوریتم بی تأثیر ندانسته اند.

مفهوم الگوریتم را معمولاً با تشبیه به دستور آشپزی توضیح می دهند. مثلاً اگر بخواهیم آبگوشت درست کنیم (عمل مورد نظر) با فرض اینکه مواد خام را داریم (حالت اولیه) مراحل مشخصی را باید طبق دستور آشپزی طی کنیم (دستورالعمل ها) تا به آبگوشت آماده (حالت پایانی) برسیم. البته الگوریتم ها معمولاً پیچیده تر از این هستند. الگوریتم گاه دارای مراحلی است که تکرار می شود (در مثال آبگوشت مثلاً چند بار باید نمک زد یا آب اضافه کرد) و یا در مرحله ای نیازمند تصمیم گیری است (اگر نمک کافی است دیگر نمک نمی زنیم، اگر کافی نیست نمک می زنیم). اگر الگوریتم برای عما مورد نظر مناسب نباشد و یا غلط باشد به نتیجه مورد نظر نمی رسیم. مثلاً اگر الگوریتم آبگوشت را با مواد اولیه کباب انجام دهیم واضع است که به آبگوشت نمی رسیم. باید بدانیم که هر الگوریتمی تعریف متغیرها و طراحی مرحله به مرحله بسیار مهم است. زیرا الگوریتم باید بداند بر روی چه متغیرهایی، چه اعمالی را انجام دهد و نتیجه را در غالب چه متغیرها یا پارامترهایی نشان دهد.

 

تمام الگوریتم ها باید شرایط و معیارهای زیر را دارا باشند.

ورودی: یک الگوریتم باید هیچ یا چندین پارامتر را به عناون ورودی بپذیرد.

خروجی: الگوریتم باید حداقل یک کمیت به عنوان خروجی (نتیجه عملیات) تولید کند.

قطعیت: دستورات الگوریتم باید با زبانی دقیق و بی ابهام بیان شوند. هر دستورالعمل نیز باید انجام پذیر باشد. دستورهایی نظیر «مقدار 6 یا 7 را به x اضافه کنید» یا «حاصل تقسیم پنج بر صفر را محاسبه کنید» مجاز نیستند؛ چرا که در مورد مثال اول، معلوم نیست که بالاخره چه عددی باید انتخاب شود و درخصوص مثال دوم هم تقسیم بر صفر در ریاضیات تعریف نشده است.

محدودیت: الگوریتم باید دارای شروع و پایان مشخصی باشد، به نحوی که اگر دستورات آن را دنبال کنیم، برای تمامی حالات، الگوریتم پس از طی مراحل شمارا و متناهی خاتمه یابد. به علاوه، زمان لازم برای خاتمه الگوریتم هم باید به گونه ای معقول، کوتاه باشد.

 الگوریتم مجموعه ای از دستورالعمل ها، برای حل مسئله می باشد که شرایط زیر را باید دارا باشد:

1- دقیق باشد.

2- جزئیات کامل حل مسئله را داشته باشد.

3- پایان پذیر باشد.


برای تهیه یگ الگوریتم خوب و کارآمد باید مراحل خاصل اجرا شوند:

- تعریف دقیق مسئله: باید مسئله را تجزیه و تحلیل کرده تا کوچکترین ابهامی در فهم آن وجود نداشته باشد.

- تعیین عوامل اصلی (متغیرهای) مورد نیاز

- تعیین ورودی و خروجی مسئله (داده ها و اطلاعات)

- بررسی راه حل های مختلف مسئله

- انتخاب یک راه حل مناسب

- اشکال زدایی

 

الگوریتم در علوم رایانه:

در علوم رایانه، یک الگوریتم را یک روال محاسباتی خوش تعریف می دانند، که مقدار یا مجموعه ای از مقادییر را به عنوان ورودی (input) دریافت کرده و پس از طی چند گام محاسباتی، ورودی را به خروجی (output) تبدیل می کند. بجز این، الگوریتم را ابزاری برای حل مسائل محاسباتی نیز تعریف کرده اند. ساخت و طراحی الگوریتم مناسب در مرکز فعالیت های برنامه سازی رایانه قرار دارد. یک برنامه رایانه ای، بیان یک یا چند الگوریتم با یک زبان برنامه نویسی است.

 

تحلیل یک الگوریتم:

معمولاً برای حل یک مسئله، روش ها و الگوریتم های گوناگونی وجود دارد؛ یک الگوریتم ممکن است عمل مورد نظر را با دستورات مختلف در مدت زمان و یا کار کمتر یا بیشتری نسبت به الگوریتم دیگر انجام دهد. به همین دلیل، انتخاب الگوریتم مناسب و کارا اهمیت زیادی در موفق بودن و کارایی برنامه رایانه ای دارد. الگوریتم ها بعنوان یک فناوری مطرح هستند و دانشمندان آنها را طراحی، تحلیل و مطالعه می کنند. تحلیل الگوریتم ها رشته ای است که به بررسی کارایی الگوریتم ها می پردازد. تحلیل الگوریتم ها یعنی پیش بینی منابع مورد نیاز برای اجرای یک الگوریتم، همچون: حافظه، پهنای باند ارتباطی، سخت افزار و از همه مهمتر، زمان.

کارایی یا پیچیدگی هر الگوریتم را با تابعی نشان می دهند که تعداد مراحل لازم برای اجرای الگوریتم را برحسب طول داده ورودی، یا میزان محل های لازم حافظه را بر حسب طول داده ورودی نشان می دهد.

 

فلوچارت (Flowchart) نموداری است برای نمایش داده ها، اطلاعات و روند کار یک الگوریتم بر روی آنها، به وسیله نمادهای خاص و خطوط جهت دار بین آنها. معمولاً درک یک الگوریتم با شکل، راحت تر از نوشتن آن بصورت متن می باشد. لذا الگوریتم را با فلوچارت نمایش می دهند.

 

در یک فلوچارت:

- مراحل انجام کار با اشکال هندسی نشان داده می شوند.

- مراحل انجام کار توسط خطوط به هم وصل می گردند.

 

فلوچارت به چه کاری می آید؟

فلوچارت در واقع نقشه ای است که برنامه نویسان رایانه قبل از نوشتن برنامه به زبان برنامه نویسی اصلی آن را ترسیم می کنند. با مروری بر فلوچارت روند اجرای عملیات، مراحل و جزئیات برنامه و ورودی و خروجی هر مرحله از برنامه مشخص می شود. استفاده از فلوچارت جهت حل هر مسئله مفید است و بدون در نظر گرفتن زبان برنامه نویسی، نوشتن برنامه را سهولت می بخشد. علاوه بر این فلوچارت جزئی با ارزش از مستندات هر برنامه می باشد که با کمک آن تفسیر برنامه، عیب یابی و استفاده توسط شخصی به جز برنامه نویس را آسان می کند. برای رسم فلوچارت آگاهی و تسلط بر مراحل مورد نیاز و ترتیب آنها جهت به دست آوردن نتیجه مورد نظر با استفاده از داده های ورودی به الگوریتمی که فلوچارت برای آن کشیده می شود، لازم است.


نمادهای مورد استفاده:

برای رسم فلوچارت از اشکال و نمادهای مشخصی استفاده می شود. هر مرحله از الگوریتم با یک نماد، و پیکان ها منطق و روند الگوریتم را نشان می دهند. مراحل الگوریتم را به دسنه های زیر تقسیم می کنیم.

علامت های شروع و پایان: که معمولاً از یک بیضی استفاده می کنند.

end

علامت های ورودی و خروجی: که معمولاً از متوازی الاضلاع استفاده می شود.

read

پردازش، علامت های محاسباتی و جایگزینی: برای نمایش هر گونه پردازش مثل دستورات جایگزینی و محاسباتی از مستطیل استفاده می کنند.

cpu

تصمیم گیری (شرطی): برای نمایش شرط از لوزی استفاده می شود.

if

چاپ بر روی کاغذ: برای نمایش خروجی بر روی کاغذ از شکل زیر استفاده می شود.

print

گره اتصال: از گره های اتصال برای اتصال چند جریان یا خط سیر استفاده می شود و نماد آن دایره می باشد.

link

 

شروط در روش های حل مسئله:

در حل بسیاری از مسائل یا تقریباً تمام مسائل نیاز به استفاده از شروط جزء، نیازهای اساسی محسوب می شود. همانطور که ما خودمان در زندگی روزمره با این شرطها سروکار داریم. بطور مثال اگر هوا ابری باشد ممکن است چنین سخن بگوئیم: اپر هوا بارانی باشد سپس چتری برمی دارم. در غیر اینصورت چتر را برنمی دارم. در حالت کلی شرط را بصورت زیر نمایش می دهند:

if2

 

حلقه های تکرار در روش حل مسئله:

در حل بسیاری از مسائل با عملیاتی روبرو می شویم، که نیاز به تکرار دارند و عمل تکرار آنها به تعداد مشخصی انجام می گیرد. فرض کنید، بخواهیم میانگین 100 عدد را محاسبه کنیم، در اینصورت منطقی بنظر نمی رسد که 100 متغیر مختلف را از ورودی دریافت کنیم، سپس آنها را جمع کنیم.

 

انواع حلقه های تکرار:

الف) حلقه های با تعداد تکرار مشخص (حلقه های تکرار معین)

در این نوع حلقه ها تعداد تکرار مشخص می باشد. این حلقه از اجزاء زیر تشکیل می شود:

1- اندیس حلقه

2- مقدار اولیه برای اندیس حلقه

3- گام حرکت یا همان مقدار افزاینده برای اندیس حلقه (معمولاً یک واحد در هر مرحله)

4- مقدار نهایی (تعداد تکرار حلقه)

5- شرطی برای کنترل تعداد تکرار حلقه

 

ب) حلقه های با تعداد تکرار نامشخص (حلقه های تکرار نامعین)

در این حلقه ها با توجه به ورودی، تعداد تکرار مشخص می شود و دقیقاً نمی توان تعداد تکرار حلقه را بدون ورودی معین کرد.

این حلقه ها فقط شامل شرطی هستند که تا زمانیکه برقرار باشد حلقه اجرا می شود.

حلقه ها را غالباً با فلوچارت بصورت زیر نمایش می دهند.

حلقه تکرار 

 

 مثال 1) الگوریتم و فلوچارت برنامه ای را بنویسید که دو عدد را خوانده و حاصلضرب آنها را در خروجی نمایش دهد.

1- شروعمثال1

2- عدد اول و دوم را بگیر.

3- دو عدد را با هم ضرب کن.

4- جواب را نمایش بده.

5- پایان.

 

 

 

 

 

 

 

مثال2) الگوریتم برنامه ای را بنویسید که دو عدد را بگیرد و چهار عمل اصلی را بر روی آنها انجام دهد و نتیجه را چاپ کند. با فرض اینکه عدد دوم مساوی صفر نخواهد بود.

1- شروعمثال2

2- دو عدد بخوان و در a و b قرار بده.

3- حاصل جمع دو عدد را در c قرار بده.

4- حاصل تفریق دو عدد را در d قرار بده.

5- حاصل ضرب دو عدد را در e قرار بده.

6- حاصل تقسیم دو عدد را در f قرار بده.

7- پایان.

 

 

 

 

 

 

 

 مثال3) الگوریتم برنامه ای را بنویسید که طول و عرض یک مستطیل را گرفته و مساحت و محیط آن را محاسبه کند.

1- شروعمثال3

2- طول و عرض مستطیل را بخوان و در a و b قرار بده.

3- حاصل عبارت a*b را در area قرار بده.

4- حاصل عبارت 2*a+b را در prime قرار بده.

5- مقادیر area و prime را چاپ کن.

6- پایان.

 

 

 

 

 

 

مثال4) الگوریتم برنامه ای را بنویسید که عددی را دریافت و تشخیص دهد که آیا زوج است یا فرد؟

نکته1: عملگر % دو عدد را بر هم تقسیم می کند و بجای اینکه حاصل تقسیم را برگرداند باقی مانده آن را برمیگرداند.

نکته2: از علامت دایره برای اتصال چند خط سیر به هم استفاده می شود.

 

1- شروعمثال4

2- عددی را دریافت و در a قرار بده.

3- حاصل عبارت 2%a را در b قرار بده.

4- اگر b=0 بود آنگاه کلمه yes را چاپ کن اگر نه کلمه no را چاپ کن.

5- پایان.

 

 

 

 

 

مثال5) الگوریتم برنامه ای را بنویسید که دو عدد را دریافت کرده و عدد بزرگتر را چاپ کند.

1- شروعمثال5

2- عددی را دریافت و در a قرار بده.

3- عددی را دریافت و در b قرار بده.

4- max را با a برابر کن. (فرض اینکه a عدد بزرگتر است)

5- اگر b>max بود آنگاه max=b

6- max را چاپ کن.

7- پایان.

 

 

 

 

 مثال6) برنامه ای بنویسید که عدد n را از ورودی دریافت کرده، مجموع اعداد از یک تا n را محاسبه کند.

نکته: این برنامه دارای یک حلقه تکرار خواهد بود که دارای مقدار نهایی n می باشد. ما از اندیس i برای این حلقه استفاده می کنیم.

1- شروعمثال6

2- عددی را از ورودی بخوان و در n قرار بده.

3- i = 0  ,  sum = 0

4- اگر i  <= n

     A. آنگاه sum = sum + 1   ,   i = i + 1 و برو به مرحله 4

     B. در غیر اینصورت sum را در خروجی چاپ کن.

5- پایان.

 

 

 

 

الگوریتمی بنویسید که یک عدد را از ورودی به عنوان شعاع دایره دریافت، مساحت و محیط دایره را محاسبه و در خروجی بطور جداگانه نمایش دهد.

(در این مثال شعاع را برابر r - مساحت را برابر S و محیط را برابر با P میگیریم و ضمن رعایت مسئله ریاضی حل مسئله بشرح ذیل می نویسیم)

S = 3.14 * r * r

P = 3.14 * r * 2

0) شروع

1) r را از ورودی بخواندایره

2) Pi = 3.14

3) S = Pi * r * r

4) P = 2 * Pi * r

5) P و S را در خروجی نمایش بده

6) پایان


الگوریتمی بنویسید که یک عدد را بعنوان ضلع مربع از ورودی دریافت، محیط و مساحت آنرا محاسبه کرده و در خروجی نمایش دهد.

(در این مثال مساحت را برابر S و محیط را برابر با P میگیریم و ضمن رعایت مسئله ریاضی حل مسئله بشرح ذیل می نویسیم)

S = a * a

P = a * 4

0) شروعمربع

1) a را از ورودی بخوان

2) S = a * a

3)  P = a * 4

4) P و S را در خروجی نمایش بده

5) پایان


 الگوریتمی بنویسید که 2 عدد را از ورودی دریافت کرده، محیط و مساحت آنرا محاسبه و در خروجی نمایش دهد. (بهمراه رسم فلوچارت)

(در این مثال مساحت را برابر S و محیط را برابر با P میگیریم و ضمن رعایت مسئله ریاضی حل مسئله بشرح ذیل می نویسیم)

S = a * b

P = 2 * (a + B)

0) شروعمستطیل

1) a و b را از ورودی بخوان

2) S = a * b

3) C = a + b

4) P = 2 * C

5) P و S را در خروجی نمایش بدهمستطیل

6) پایان

 

 

 

 

 

 

 

 

 

 

 

 


 الگوریتمی بنویسید که یک عدد را از ورودی دریافت کرده و تشخیص دهد آن عدد زوج است یا نه؟

(برای حل این مسئله از قابلیت mod یا مانده استفاده می کنیم)

 0) شروع

1) a را از ورودی بخوان

2) B =  a  mod  2

3) اگر B = 0 آنگاه برو به مرحله 5

4) نمایش بده a عددی فرد است آنگاه برو به مرحله 6

5) نمایش بده a عددی زوج است

6) پایان


الگوریتمی بنویسید که 3 عدد را از ورودی دریافت کرده و ماکسیمم آنرا در خروجی چاپ کند.

(برای حل این مسئله چون نمی دانیم کدام عدد بزرگتر است یک را بصورت فرصی عدد بزرگتر در نظر گرفته و مابقی را با آن مقایسه می کنیم)

0) شروعmax

1) a , b , c را از ورودی بخوان

2) max = a

3) اگر max = b ----> b > max

4) اگر max = c ----> c > max

5) max را در خروجی چاپ کن

6) پایان

 

 

 

 

 

 

 

 

 

 

 


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

 0) شروعمثبت و منفی

1) a را بخوان

2) اگر a < 0 برو به مرحله 4

3) چاپ کن a مثبت است بعد برو به مرحله 5

4) چاپ کن a منفی است

5) پایان

 

 

 


 الگوریتمی بنویسید که یک عدد را از ورودی دریافت کرده و تشخیص دهد که بر 7 بخش بذیر است یا نه؟

 0) شروعبخش پذیر

1) a را از ورودی بخوان

2) R = a  mod  7

3) اگر R = 0  آنگاه برو به مرحله 5

4) نمایش بده a بر 7 بخش پذیر نیست آنگاه برو به 6

5) نمایش بده a بر 7 بخش پذیر است

6) پایان

 

 

 

 

 

 


 الگوریتمی را بنویسید که یک عدد 2 رقمی را از ورودی دریافت و مجموع ارقام آن عدد را محاسبه کرده در خروجی نمایش دهد.

0) شروع

1) a را از ورودی بخوان

2) B  = a / 10

3) R  = a  mod  10

4) C  =  b  +  R

5) C را در خروجی نمایش بده

6) پایان


الگوریتمی را بنویسید که یک عدد 3 رقمی را از ورودی دریافت و مجموع ارقام آن را محاسبه کرده در خروجی نمایش دهد.

0) شروع

1) a را از ورودی بخوان

2) B  =  a  / 100

3) C  =  a  mod  100

4)  D  =  C  /  10

5) E  =  C  mod  10

6) F  =  E  +  D  +  B

7) F را در خروجی نمایش بده

8) پایان


الگوریتمی بنویسید که کلمه خوش آمدید را 100 بار در خروجی تکرار کند.

 تذکر: در برنامه نویسی بصورت قراردادی شماره ها را با نمادهایی مثل i , j , z  نشان می دهند.

(در این مثال بایستی اول عددی را برای i (بعنوان شمارنده) تعریف کنیم. یعنی مشخص کنیم کخ شمارنده از چه عدد باید شروع به شمارش کند)

0) شروعحلقه

1) i  =  1

2) در خروجی چاپ کن wellcome

3) i  =  i  +  1

4) اگر i < 101  آنگاه برو به مرحله 2

5) پایان

در این مسئله همانگونه که مشاهده می کنید

1) اندیس حلقه ---------->  i

2) مقدار اولیه ------------>  i = 1

3) افزاینده یا شمارنده --->  i  =  i  +  1

4) نهایی ---------------->  100

5) شرط کنترل ---------->  i  <  101

 

 

 

 

 

 

 


الگوریتمی بنویسید که یک عدد را از ورودی دریافت کرده و تشخیص دهد آن عدد چند رقمی است.

برای اینکار بایستی اول به دستگاه بفهمانیم که آن را بشمارد. پس چون نمی دانیم عدد ورودی چند رقمی است لذا مبنای عددی را بر 10 گذاشته و آن را بر 10 تقسیم می کنیم. تا زمانیکه مقسوم علیه به صفر برسد.

برای شروع کار بایستی شرط شمارنده را اول الگوریتم و خارج از حلقه بنویسیم بعد مقدار ورودی را داده سپس افزاینده را تعریف کنیم. به این روش حلقه یا بازگشتی (تکرار) هم گفته می شود.

0) شروع

1) i = 0

2) N را از ورودی بخوان

3) N  = N /10

4) i  =  i + 1

5) اگر N > 0  آنگاه برو به مرحله 2

6) i را چاپ کن

7) پایان 

 

1) چون ++C به کوچک و بزرگ بودن حروف حساس است و احتمال اشتباه وجود دارد لذا بصورت قراردادی تمام دستورات با حروف کوچک نوشته شود مگر در مواقع لزوم.

2) قبل از شروع برنامه نویسی بایستی نوع داده ورودی را به برنامه اعلام (معرفی) کنید.

     اعداد صحیح = int

     اعداد اعشاری = float

     حروف = char

     رشته =string

     مولفه های ثابت = const

 

 

برنامه ای بنویسید که 2 عدد را از ورودی دریافت، در هم ضرب و در خروجی نشان دهد.

111

 

 برنامه ای بنویسید که یک عدد را به عنوان شعاع دایره از ورودی دریافت، مساحت و محیط آن را محاسبه و در خروجی نشان دهد.

112

 

برنامه ای بنویسید که یک عدد را از ورودی دریافت کند و فاکتوریل آن را در خروجی نمایش دهد.


برای این کار تنها کافیست که اعداد کوچکتر از ورودی را در یکدیگر ضرب کنیم و این کار تنها با ایجاد یک حلقه for امکان پذیر است.

 113

 

برنامه ای بنویسید که یک عدد را از ورودی دریافت و ارقام آن را به صورت معکوس در خروجی نمایش دهد.114

 

برنامه ای بنویسید که یک عدد را از ورودی دریافت و مجموع ارقام آن را محاسبه در خروجی نمایش دهد.

 

 

115

 

برنامه ای بنویسید که یک عدد را از ورودی دریافت کرده و تشخیص دهد که آیا N عددی اول است یا خیر؟

116
 
برنامه ای بنویسید که 3 عدد صحیح را گرفته و میانگین اعشاری آنها را در خروجی نمایش دهد.
 
 117

 

برنامه ای بنویسید که یک جدول ضرب 10x10 را طراحی و در خروجی چاپ کند.

118

 

برنامه ای بنویسید که شکل زیر را در خروجی نمایش دهد.

*********
 *******
   *****
    ***
      *
 برای تحلیل این سوال باید توجه کنیم که 5 خط داریم و در خط صفرم، صفر فاصله و 9 ستاره، در خط یکم، یک فاصله و 7 ستاره، در خط دوم، دو فاصله و 5 ستاره، در خط سوم، سه فاصله و 3 ستاره و در خط چهارم ، چهار فاصله و یک ستاره داریم. 
پس واضح است که حلقه ی بیرونی که تعداد خطوط را نشان میدهد 5 بار تکرار میشود. اما حلقه های درونی( برای فاصله ها و ستاره ها) را چطور تفسیر کنیم؟
حلقه ی درونی اول که برای رسم فاصله هاست، به تعداد i بار تکرار خواهد شد. (کافی است به توضیحات بالا کمی توجه کنیم) 
حلقه ی درونی دوم که برای رسم ستاره هاست را می توان به صورت رو به رو با استفاده از یک متغیر کمکی نوشت. به این صورت که متغیر a اول 9 باشد و هر بار 2 تا از آن کم شده و در حلقه ی درونی دوم هر بار a تا ستاره رسم بشود. 
در نتیجه برنامه به صورت زیر خواهد بود.
 
119

برنامه ای بنویسید که شکل زیر را در خروجی نمایش دهد. (وارونه شکل بالا)

      *
    ***
   *****
 *******
*********

 با توجه به شکل بالا می توانیم بفهمیم که کلا 5 خط داریم که در خط صفرم چهار فاصله و یک ستاره داریم. درخط یکم سه فاصله و سه ستاره داریم. در خط دوم دو فاصله و 5 ستاره داریم. در خط سوم یک فاصله و 7 ستاره داریم. در خط چهارم صفر فاصله و 9 ستاره داریم. 

پس حلقه ی بیرونی 5 بار تکرار می شود.
حلقه ی درونی اول برای فاصله ها برای خط i ام 4 منهای i تا فاصله رسم می کند. 
حلقه ی درونی دوم برای رسم ستاره ها برای خط i ام باز هم باید از متغیر کمکی استفاده کنیم که از اول a=1 باشد و هر بار 2 تا به a اضافه شود.

120

 

ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • پیوندهای روزانه
    آمار سایت
  • کل مطالب : 40
  • کل نظرات : 0
  • افراد آنلاین : 8
  • تعداد اعضا : 7
  • آی پی امروز : 51
  • آی پی دیروز : 10
  • بازدید امروز : 58
  • باردید دیروز : 11
  • گوگل امروز : 1
  • گوگل دیروز : 0
  • بازدید هفته : 58
  • بازدید ماه : 227
  • بازدید سال : 5,527
  • بازدید کلی : 63,934