لذت برنامه نویسی!

!The Joy of Programming
by Babak Mahmoudabadi

نویسندگان

۴ مطلب با کلمه‌ی کلیدی «پرسش-تحقیق-تمرین-بیسیک» ثبت شده است

  • ۰
  • ۰

1-برنامه ای بنویسید که اعداد 1 تا 100 را چاپ کند.

2-برنامه ای بنویسید که اعداد 100 تا 1 را چاپ کند.

3-برنامه ای بنویسید که اعداد زوج بین 1 تا 100 را چاپ کند.

4-برنامه ای بنویسید که مجموع اعداد 1 تا 100 را محاسبه کرده و نمایش دهد.

5-برنامه ای بنویسید که مجموع اعداد زوج 1 تا 100 را محاسبه کرده، نمایش دهد.

6-برنامه ای بنویسید که 10 عدد را از ورودی دریافت کرده مجموع آنها را چاپ کند.

7-برنامه ای بنویسید که 10 عدد را از وروذی دریافت کرده میانگین آنها را چاپ کند.

8-برنامه ای بنویسید که 10 عدد را از وروذی دریافت کرده بزرگترین آنها را چاپ کند.

9-برنامه ای بنویسید که 10 عدد را از وروذی دریافت کرده کوچکترین آنها را چاپ کند.

10-برنامه ای بنویسید که 10 عدد را از ورودی دریافت کرده تعداد اعداد زوج دریافت شده را نمایش دهد.




  • ۰
  • ۰

بعضی اوقات نیاز داریم اجرای یک یا چند دستور را منوط به برقراری شرط مشخصی نماییم در این مواقع حکم IF-THEN مورد استفاده قرارمی گیرد. 

در اینجا قصد داریم برنامه ای برای محاسبه حقوق بنوسیم. برنامه مبلغ دستمزد روزانه ، تعداد روز کارکرد و سقف معافیت مالیات را از کاربر دریافت می کند سپس حقوق ناخالص، کسورات بیمه و مالیات و نهایتا حقوق خالص را محاسبه کرده ، نمایش می دهد.

10 INPUT "ENTER DAILY WAGE"; WAGE

20 INPUT "ENTER TOTAL DAYS" ; DAYS

30 INPUT "ENTER TAX EXEMPTION"; EXEMPT

40 IMPURE = WAGE * DAYS

50 INSURANCE = IMPURE * 0.07

60 TAX = 0

70 IF IMPURE  > EXEMPT THEN TAX = (IMPURE - EXEMPT) * 0.1

80 SALARY = IMPURE - INSURANCE - TAX 

90 PRINT

100 PRINT "IMPURE  SALARY ="; IMPURE 

110 PRINT "INSURANCE  ="; INSURANCE 

120 PRINT "TAX ="; TAX 

130 PRINT "SALARY ="; SALARY 




همانطور که می دانید حقوق تا سقف مشخصی از مالیات معاف می باشد. به عنوان مثال در سال 94 حقوق کمتر از مبلغ 1150000 تومان معاف از مالیات می باشد و به مابقی آن 10 در صد مالیات تعلق میگرد.

در خط 70 به کامپیوتر می گویم که اگر مبلغ حقوق ناخالص از سقف معافیت بزرگتر بود ده درصد مبلغ اختلاف حقوق و سقف معافیت را در متغییر TAX ذخیره کند. در غیر اینصورت مقدار TAX محاسبه نشده و صفر باقی می ماند.

به عبارت دیگر TAX تنها زمانی محاسبه می شود که مقدار متغییر IMPURE از مقدار متغییر EXEMPT بزرگتر باشد.

60 TAX = 0

70 IF IMPURE  > EXEMPT THEN TAX = (IMPURE - EXEMPT) * 0.1


پرسش: در خط 70 دلیل استفاده از پرانتز در عبارت محاسباتی را توضیح دهید.

  • ۰
  • ۰

چند تمرین ساده

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

10 INPUT "ENTER FIRST NUMBER"; N1

20 INPUT "ENTER SECOND NUMBER"; N2

30 SUM = N1 + N2

40 AVG = SUM / 2

50 PRINT "SUM ="; SUM

60 PRINT "AVERAGE = "; AVG

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

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

  • ۰
  • ۰

متغییر چیست؟

متغییر قسمتی از حافظه اصلی کامپیوتر است که موقتا برای ذخیره یک مقدار مورد استفاده می گیرد. متغییر ها را می توان در عبارت محاسباتی بکار برد و دریافت و چاپ کرد.

هر متغییر داری سه مشخصه اصلی است:

1- نام: به عنوان شناسه ای منحصر به فرد برای دسترسی به محتوای متغییر بکار می رود.

2- نوع داده: مشخص کننده نوع مقدار ذخیره شده در متغییر می باشد.

در زبان بیسیک سه نوع داده وجود دارد:

  • حرفی یا رشته ای (Text String) مثل: "HELLO"
  • عدد صحیح (Integer) مثل: 255
  • عدد اعشاری (Floating Point) مثل: 3.141592

در زبان بیسیک از علامت $ و % به ترتیب برای تعیین نوع داده حرفی و عدد صحیح استفاده می شود و اعداد اعشاری فاقد علامت می باشند.

3- گنجایش: در مورد اعداد حداقل و حداکثر مقدار و در مورد حروف طول کلمه ای است که می توان درون متغییر ذخیره کرد. 

تحقیق: در مورد گنجایش انواع متغییر ها در بیسیک جستجو کنید.

به مثال زیر توجه کنید:

10 NAME$="HELLO"

20 A%=255

30 PI=3.141592

40 PRINT NAME$, A%, PI

در خط 10 کلمه HELLO درون متغییری با نام NAME و از نوع حرفی ذخیره می شود.

در خط 20 مقدار 255 درون متغییری با نام A و از نوع عدد صحیح ذخیره می شود.

در خط 30 مقدار 3.141592 درون متغییری با نام PI و از نوع عدد اعشاری ذخیره می شود.

در خط آخر مقادیر هر سه متغییر چاپ می شود.


توجه کنید که علامت = به معنای ذخیره کردن و جایگزینی می باشد و معنای تساوی ندارد. به مثال زیر توجه کنید:

10 A=100

20 A=A+500

30 PRINT A

RUN

600

در خط 20 مقدار فعلی متغییر A که 100 می باشد با مقدار 500 جمع شده و حاصل یعنی 600 در خود متغییر A ذخیره می شود. 

پرسش: در مثال بالا اعداد 100 و 500 و 600 صحیح می باشند اما نوع متغییر A اعشاری است به عبارت دیگر امکان ذخیره اعداد صحیح در متغییری از نوع اعشاری وجود دارد زیرا اعداد صحیح زیر مجموعه اعداد اعشاری هستند.

با این توصیف چرا نوع داده مستقلی برای اعداد صحیح در زبان بیسیک وجود دارد و استفاده از آن چه مزیتی دارد؟