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

| § 3.3. برنامه نویسی الگوریتم های خطی

درس 26
§ 3.3. برنامه نویسی الگوریتم های خطی

کلید واژه ها:

نوع داده واقعی
نوع داده عدد صحیح
نوع داده کاراکتر
نوع داده رشته ای
نوع داده بولی

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

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

3.3.1. انواع داده های عددی

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

جدول 3.3

توابع استاندارد پاسکال

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

برنامه را چندین بار برای هر x ∈ اجرا کنید (10.2؛ 10.8؛ -10.2؛ -10.8). در مورد نوع نتیجه هر یک از این توابع چه می توانید بگویید؟

3.3.2. نوع داده عدد صحیح

عملیات زیر بر روی اعداد صحیح در پاسکال انجام می شود: جمع (+)، تفریق (-)، ضرب (*)، بدست آوردن یک ضریب صحیح (div)، گرفتن باقیمانده عدد صحیح از تقسیم (mod) و تقسیم (/). نتایج پنج عملیات اول اعداد صحیح هستند. نتیجه یک عمل تقسیم می تواند یک عدد واقعی باشد.

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

ما از این واقعیت استفاده می کنیم که یک عدد سه رقمی مثبت را می توان به صورت مجموع زیر نشان داد: x - a * 100 + 6 * 10 + c، که در آن a، b، c ارقام عدد هستند.

مجموع ارقام 123 چقدر است؟ و اعداد -123؟ آیا نتایج شما با نتایج برنامه مطابقت دارد؟ چگونه می توان یک باگ در برنامه را توضیح داد و رفع کرد؟

3.3.3. انواع داده های کاراکتر و رشته ای

مقدار یک مقدار کاراکتر (نوع کاراکتر) در پاسکال به هر یک از کاراکترهایی گفته می شود که با فشار دادن یکی از کلیدها یا ترکیبی از کلیدهای صفحه کلید و همچنین برخی از کاراکترهای دیگر از جمله کاراکترهای نامرئی می توان آنها را در صفحه به دست آورد. مجموعه ای از این نمادها از 256 عنصر تشکیل شده است که به هر کدام از آنها، با توجه به جدول کد استفاده شده، یک کد اختصاص داده می شود - عدد 0 تا 255.

کاراکترهای مربوط به 32 کد اول کاراکترهای کنترلی هستند و بقیه کاراکترهای نمایشگر هستند. کاراکترهای نمایش داده شده نیز شامل یک فاصله است که دارای کد 32 است.

علائم نگارشی، علائم عملیات حسابی، اعداد، حروف بزرگ و کوچک لاتین مربوط به کدهای 33 تا 127 است. حروف الفبای ملی مربوط به کدهایی با اعداد 128 و بالاتر است.

در متن برنامه، یک ثابت نوع کاراکتر را می توان با قرار دادن هر کاراکتر نمایش داده شده در آپستروف ها مشخص کرد: "5"، "B"، "*".

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

برای پیدا کردن کد کاراکتر، از تابع ord استفاده کنید، جایی که کاراکتر به عنوان پارامتر داده می شود.

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

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

مثال.بیایید برنامه ای به پاسکال بنویسیم که در آن برای حرفی که از صفحه کلید وارد می شود، کد آن روی صفحه نمایش داده می شود. سپس یک رشته روی صفحه نمایش داده می شود که دنباله ای از سه حرف از جدول کد استفاده شده است: حرف قبل از حرف اصلی. حرف اولیه؛ نامه به دنبال اصل


3.3.4، نوع داده Boolean

همانطور که می دانید، مقادیر بولی تنها دو مقدار را می گیرند. در پاسکال است نادرستو درست است، واقعی. این ثابت ها به گونه ای تعریف شده اند که نادرست هستند< true.

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

مثال. بیایید برنامه ای بنویسیم که صحت عبارت "عدد n زوج است" را برای یک عدد صحیح دلخواه n تعیین کند.

اجازه دهید پاسخیک متغیر بولی و n یک متغیر عدد صحیح است. سپس در نتیجه اجرای عملگر انتساب

ans:=n mod 2 = 0

متغیر پاسخمقدار تخصیص داده خواهد شد درست است، واقعیبرای هر n و نادرستدر غیر این صورت.

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

مثال.بیایید برنامه ای بنویسیم که درستی عبارت "یک مثلث با طول ضلع a، b، c متساوی الساقین است" را برای اعداد صحیح دلخواه a، b، c تعیین کند.


مهم ترین

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

سوالات و وظایف

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

2. برای x معین، y را با استفاده از فرمول y \u003d x 3 + 2.5x 2 - x + 1 محاسبه کنید.

که در آن:

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

سرنخ : عبارت را به شکل زیر تبدیل کنید: y \u003d ((x + 2.5) x - 1) x + 1.

3. با توجه به مختصات داده شده نقاط A و. طول قطعه AB را محاسبه کنید.

سرنخ . فاصله d بین نقاط A (x a, y a) و B (x b, y b) با فرمول بیان می شود.

4. طول اضلاع مثلث a,b,c مشخص است. برنامه ای بنویسید تا مساحت این مثلث را محاسبه کنید.

5. مختصات رئوس A، B، C مثلث معلوم است. برنامه ای بنویسید تا مساحت این مثلث را محاسبه کنید.

6. اگر مبلغ مالیات بر حسب روبل و کوپک محاسبه شود، خدمات مالیاتی آن را به نزدیکترین روبل گرد می کند (تا 50 کوپک - با کسری، بیش از 50 کوپک (از جمله 50) - با مازاد). از رایانه برای وارد کردن مبلغ دقیق مالیات و نمایش میزان پرداخت استفاده کنید.

7. عملکرد تابع تصادفی را با اجرای چندین بار برنامه کاوش کنید:

چگونه می توان یک عدد تصادفی از بازه (0، x) بدست آورد؟

چگونه می توانید یک عدد تصادفی از بازه (0، x] بدست آورید؟

چگونه می توانید یک عدد تصادفی از بازه (n, x + n) بدست آورید؟

8. یک شرکت بلیط قرعه کشی در سه دسته صادر کرد: برای جوانان، بزرگسالان و بازنشستگان. شماره بلیط های هر دسته در موارد زیر است:

برای جوانان - از 1 تا 100؛
برای بزرگسالان - از 101 تا 200؛
برای بازنشستگان - از 201 تا 250.

از رایانه برای انتخاب تصادفی بلیط بخت آزمایی در هر دسته استفاده کنید.

9. برنامه ای به پاسکال بنویسید که برای یک عدد دو رقمی طبیعی دلخواه، تعیین کند:

الف) مجموع و حاصل ضرب ارقام آن؛
ب) عددی که با جابجایی ارقام عدد اصلی ایجاد می شود.

10. برنامه ای را به زبان پاسکال بنویسید که الگوریتم صندوقدار را پیاده سازی کند که در کمترین تعداد ممکن اسکناس های 500 (k500)، 100 (klOO)، 50 (k50) و 10 (klO) روبلی به مشتری تغییر (های) می دهد. .

11. می رود ک-ثانیه روز برنامه ای را توسعه دهید که با توجه به ورودی ک-ثانیه روز تعیین می کند چند ساعت کامل ساعتو دقیقه کامل متراز اول روز گذشت به عنوان مثال، اگر ک= 13 257 = 3 3600 + 40 60 + 57، سپس ساعت= 3 و متر = 40.

نمایش عبارت:

ساعت ... دقیقه است

.

به جای بیضی، برنامه باید مقادیر hum را خروجی دهد و آنها را از کلمات با یک فاصله جدا کند.

12. برنامه ای به پاسکال بنویسید که مجموع کدهای حروف کلمه "BYTE" را محاسبه کند.

13. یک برنامه پاسکال بنویسید که رشته ای از کاراکترها را تولید و نمایش دهد که کدهای آن 66، 69، 71، 73، 78 است.

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

15. با توجه به مقادیر متغیرهای عدد صحیح: a = 10، b = 20. مقدار متغیر منطقی چقدر خواهد بود رزبعد از عملیات واگذاری؟

الف) rez:=(a=10) یا (b>10)
ب) rez: = (a>5) و (b>5) و (a<20) and (b<30)
ج) رز: = (نه (الف<15)) or (b>20)

16. برنامه ای بنویسید که معرفی کند درست است، واقعیاگر گفته درست باشد، و نادرستدر غیر این صورت:
الف) مجموع ارقام یک عدد سه رقمی ایکسیک عدد زوج است؛
ب) مثلث با اضلاع الف، ب، جهمه کاره است

محاسبه

وظیفه 2 (برنامه 1_2)

    این k ثانیه از روز است. تعیین کنید که چند ساعت کامل (h) و دقیقه کامل (m) و ثانیه (s) از این لحظه گذشته است.

    مساحت ذوزنقه را با پایه های a، b، ارتفاع h و حجم مخروط کوتاه شده تعیین کنید، اگر a، b را - مساحت پایه ها در نظر بگیریم.

3. مختصات مرکز ثقل سه نقطه مادی با جرم های m 1, m 2, m 3 و مختصات (x 1, y 1), (x 2, y 2), (x 3, y 3) را تعیین کنید.

4. حجم توپ و مساحت دایره را برای یک شعاع داده شده R محاسبه کنید، نسبت بین آنها را پیدا کنید.

5. میانه های مثلث را در ضلع های داده شده a, b, c محاسبه کنید.

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

7. برای شعاع معین، حجم توپ و مساحت سطح را پیدا کنید.

8. محاسبه کنید چه ثانیه ای از روز در موقعیت عقربه ها در ساعت h، m دقیقه و s ثانیه است و همچنین زاویه (بر حسب درجه) بین موقعیت عقربه ساعت در ابتدای روز و موقعیت آن. در لحظه مشخص شده

9. یک عدد صحیح دو رقمی x وارد کنید<15. Написать программу перевода его в восьмеричную систему счисления.

10. مختصات دو نقطه (x 1، y 1)، (x 2، y 2) را وارد کنید. فاصله بین آنها را پیدا کنید.

آزمایشگاه 2

برنامه نویسی الگوریتم های شاخه ای کنترل بیانیه های انتقال

ساختار دستور انتقال کنترل شرطی:

اگر (<выражение>) <оператор 1> دیگر <оператор 2>;

(اگر) (در غیر این صورت) - کلمات کلیدی،

جایی که<условие>یک عبارت بولی دلخواه است که می تواند دو مقدار داشته باشد: true (TRUE) و false (FALSE).

<оператор>- هر عملگر زبان C با نقطه ویرگول به پایان می رسد.

شکل کوتاه عملگر شرطی:

اگر (<выражение>) <оператор>;

عملگر پرش بدون قید و شرط: قابل اعتماد و متخصص <идентификатор-метка>;

برچسب یک شناسه است. برچسب قبل از عبارت C/C++ که پرش به آن انجام می‌شود قرار می‌گیرد و با یک دو نقطه (:) از هم جدا می‌شود.

مثال 1. برنامه ای برای محاسبه حقوق پایه طبق قانون زیر تهیه کنید: اگر سابقه کار کارمند کمتر از سه سال باشد، حقوق 100 دلار است، با سابقه کار از سه تا 5 سال - 150 دلار، بیش از 5 سال حقوق. هر سال 10 دلار افزایش می یابد و با تجربه بیش از 20 سال، 300 دلار است.

برای برنامه ریزی راه حل این مسئله، فرمول ریاضی مسئله را تعریف می کنیم:

100 اگر ST< 3;

ZP= 150 اگر 3 ≤ST  5;

150+ (ST -5)*10 اگر 5< ST≤ 20;

300 اگر ST > 20;

#عبارتند از

#عبارتند از

void main()

(int ST; //ST- تجربه (بایت (عدد صحیح) نوع بدون علامت)

floatZP; //ZP- حقوق (نوع شناور)

printf("\n ارشد را وارد کنید");

scanf("%d"،&ST);

اگر (ST<3) ZP = 100;

در غیر این صورت اگر (ST<5) ZP = 150;

دیگری اگر (ST>=20) ZP=300;

دیگر ZP=150+(ST-5)*10;

printf ("\n حقوق = %10.2f$\n",ZP);

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

ساختار اپراتور:

تعویض (<выражение>)

مورد<константа 1>: <группа операторов 1>;

مورد<константа 2>: <группа операторов 2>;

مورد<константа N>: <группа операторов N>

پیش فرض: <операторы>;

}

جایی که<выражение>-بیان (متغیر) از هر نوع ترتیبی.

<константа>ثابت از همان نوع است<выражение>;

<оператор>- اپراتور دلخواه C/C++.

مثال 2. نام شکل را بسته به تعداد گوشه ها (مثلث، چهار گوش، پنج ضلعی، شش ضلعی، چند ضلعی) چاپ کنید.

گونه ای از اجرای کار با استفاده از عملگر انتخاب توسط SA (شکل 2b) و برنامه زیر ارائه شده است:

#عبارتند از

#عبارتند از

void main()

{

int T; // T تعداد گوشه هاست

clrscr(); // صفحه نمایش را پاک کنید

printf ("تعداد گوشه ها را وارد کنید");

scanf("%d"،&T);

سوئیچ (T)

مورد 1: مورد 2: printf ("این شکل نیست\n"); زنگ تفريح؛

مورد 3: printf ("با %d گوشه - مثلث\n"، T); زنگ تفريح؛

مورد 4: printf ("با %d گوشه - چهار\n"، T); زنگ تفريح؛

مورد 5: printf ("با %d گوشه - پنج ضلعی\n"، T); زنگ تفريح؛

مورد 6: printf ("با %d گوشه - شش ضلعی\n"، T); زنگ تفريح؛

پیش فرض : printf ("با %d گوشه - چند ضلعی\n"، T);

تمرین 1 (برنامه 2_1)

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

1. قلعه , a t 2 log t در 1
,

که در آن a=-0.5،b=2 z = 1 در t<1,

e a t cos b t در t>2،

2. برای x ,
در x2،

که در آن a=2.3 f=x در 0.3< x  2,

cos(x-a) برای x
,

3. برای x ، (a+b)/(e x + cosx) در 0  x2.3،

که در آن a=-2.7،b=-0.27 z = (a+b)/(x+1) در 2.3 x5،

e x +sinx در 7
,

4. برای i , a i 4 + b i برای i< 10,

که در آن a=2.2،b=0.3. y = tg (i + 0.5) برای i = 10،

e 2i +
برای من > 10،

5. برای x , x 2 - 7/x 2 در x<1.3,

که در آن a = 1.5 y = تبر 3 + 7
در 1.3  x3،

log(x + 7
) برای x
,

6. قلعه [-1.4],
در تی<0.1,

که در آن a=2.1،b=0.37. z = at + b در 0.1 t 2،

در تی
,

7. برای x ، a e sin x +2.5 در x<0.3,

جایی که a=1.5. y = e cos x + a در 0.3 x<4,

(sin x)/ (a + e x) برای x  4،

8. برای x ، y = a/x + b x 2 - c در x
,

که در آن a=1.8،b=-0.5، c=3.5 (a + bx)/
در x> 1.2،

9. برای تی ، تی
برای t>a،

که در آن a=2.5 z = t sin a t در t=a،

e-at cos a t at t

10. برای x ، e - bx گناه b x در x<2.3,

که در آن a=1،b=3. y= cos bx در 2.3
,

e -ax cos b x در x

11. برای تی ، a t 2 – ب
در تی

که در آن a=1.3،b=6.5 z= a - b برای a

a t 2/3 -
برای t>b،

12. برای x , |e -2x sinbx| برای x>1،

که در آن b=-2.9 y = cos bx در x = 1،

e -x cos bx در x< 1,

13. برای x sin (cos a x) برای x>1،

که در آن a=-0.8 z = tg تبر در x = 1،

a 2 x در x< 1,

14. برای x , log bx - 1/(bx+1) برای x< 1.3,

جایی که b=1.3. y = bx + 1 در 1.3  x  1.7،

log bx +1/(bx+1) برای x > 1.7،

15. برای x [-1،1]، تبر 2 +bx 2/3 برای x<0.1,

که در آن a=2.5،b=-0.9. z= a x 2 در x=0.1،

b x 2/3 برای x>0.1.

16. مختصات نقطه (x,y) را وارد کنید. چاپ کنید که این نقطه در کدام ربع یا محور مختصات قرار دارد.

17. شعاع R 1، R 2 و ارتفاع را وارد کنید. حجم مخروط کوتاه شده را محاسبه کنید:
، جایی که S مساحت پایه ها است. اگر R 1 = R 2 - حجم و مساحت سیلندر، اگر R 1 = 0 یا R 2 = 0 - حجم (hπr 2) و مساحت πr(
) سطح مخروط.

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

19. یک عدد وارد کنید. تقسیم مساوی بر دو، سه یا پنج را مشخص کنید.

20. a، b، h را وارد کنید. اگر h=0 مساحت مستطیل را محاسبه کنید. برای a = b، مساحت مربع را پیدا کنید. در غیر این صورت، مساحت ذوزنقه را محاسبه کنید.

وظیفه 2 (برنامه 2_2)

1. باقیمانده تقسیم بر هشت عدد x وارد شده را مشخص کرده و رقم هشتی را در کلمات بنویسید.

2. با توجه به عدد وارد شده از صفحه کلید، نام این شماره را چاپ کنید.

3. از صفحه کلید عدد k (1..30) را وارد کنید. اگر اولین عدد دوشنبه باشد، مشخص کنید که با کدام روز از هفته مطابقت دارد.

4. روز و شماره ماه را وارد کنید. تاریخ را با کلمات چاپ کنید.

5. این k ثانیه از روز است. با هماهنگی با معنی کلمه (ساعت، ساعت، ساعت، دقیقه، دقیقه، دقیقه) چند ساعت و دقیقه کامل از این لحظه گذشته است.

6. بسته به تعداد (N) نوع شکل، ورودی داده های لازم را سازماندهی کنید و با N = 1 - مساحت دایره، N = 2 - حجم توپ (4 / 3πR 3) محاسبه کنید. )، N = 3 - حجم استوانه، N = 4 - سطح کره 4πr 2 است.

7. عدد N (0 ≤ N ≤ 15) را وارد کنید. رقم هگزادسیمال مربوط به آن را تعیین و چاپ کنید.

8. برای یک عدد صحیح K (1 ... 99)، عبارت "I am K years old" را چاپ کنید، برای مقادیر خاص K، کلمه "years" را با کلمه "year" یا "years" جایگزین کنید.

9. بسته به تعداد (N) از نوع شکل، ورودی داده های لازم را سازماندهی کنید و با N = 1 - مساحت مستطیل، با N = 2 - مساحت متوازی الاضلاع، محاسبه کنید. N = 3 - مساحت ذوزنقه 1/2 (a + b) h . در مورد دوم چاپ کنید که ذوزنقه متوازی الاضلاع است یا لوزی.

10. عدد 0 ≤ x ≤ 31 را به سیستم اعداد هگزادسیمال تبدیل کنید.

11. باقیمانده تقسیم هر عدد صحیح بر پنج را با خط شکسته بنویسید.

12. با توجه به عدد وارد شده رنگ مورد نظر را در رنگین کمان چاپ کنید.

13. برنامه ای طراحی کنید که نشان دهد اگر مجموع ارقام یک عدد دو رقمی مضرب سه باشد خود آن عدد بدون باقی مانده بر سه بخش پذیر است.

14. برنامه ای بسازید که ثابت کند مربع یک عدد دو رقمی k5 (آخرین رقم 5 است) برابر است با ک * ( ک + 1) * 100 + 25 (یعنی می توان با ضرب بالاترین رقم به دست آورد ک به ترتیب بعدی و اضافه "25"). به عنوان مثال، 35 * 11 = 3 * 4 * 100 + 25.

برای کار 2، تعداد گزینه با باقیمانده تقسیم گزینه فردی بر عدد 12 تعیین می شود.

آزمایشگاه 3

کلید واژه ها:

  • نوع داده واقعی
  • نوع داده عدد صحیح
  • نوع داده کاراکتر
  • نوع داده رشته ای
  • نوع داده بولی

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

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

4.4.1. انواع داده های عددی

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

جدول 4.2
توابع استاندارد پاسکال


بیایید عملکرد توابع دور، int و frac را با اعمال آنها بر روی x واقعی بررسی کنیم. برنامه مربوطه به شکل زیر خواهد بود:

برنامه را چندین بار برای x=(10.2; 10.8; -10.2; -10.8) اجرا کنید. در مورد نوع نتیجه هر یک از این توابع چه می توانید بگویید؟

4.4.2. نوع داده عدد صحیح

عملیات زیر بر روی اعداد صحیح در پاسکال انجام می شود: جمع (+)، تفریق (-)، ضرب (*)، بدست آوردن یک ضریب صحیح (div)، گرفتن باقیمانده عدد صحیح از تقسیم (mod) و تقسیم (/). نتایج پنج عملیات اول اعداد صحیح هستند. نتیجه یک عمل تقسیم می تواند یک عدد واقعی باشد.

بیایید مثالی از استفاده از عملیات div و mod را در نظر بگیریم، در پاسکال برنامه ای برای یافتن مجموع ارقام یک عدد صحیح سه رقمی وارد شده از صفحه کلید بنویسیم.

ما از این واقعیت استفاده می کنیم که یک عدد سه رقمی را می توان به صورت مجموع زیر نشان داد: x \u003d a 100 + b 10 + c، که در آن a، b، c ارقام عدد هستند.

4.4.3. انواع داده های کاراکتر و رشته ای

مقدار یک مقدار کاراکتر (نوع char) در پاسکال به هر یک از کاراکترهایی گفته می شود که با فشار دادن یکی از کلیدها یا ترکیبی از کلیدها و همچنین برخی کاراکترهای دیگر از جمله کاراکترهای نامرئی روی صفحه نمایش داده می شود. مجموعه ای از این نمادها از 256 عنصر تشکیل شده است که به هر کدام مطابق با جدول کد استفاده شده، یک کد اختصاص داده می شود - عدد 0 تا 255.

کاراکترهای مربوط به 32 کد اول کاراکترهای کنترلی هستند و بقیه کاراکترهای نمایشگر هستند. کاراکترهای نمایش داده شده نیز شامل یک فاصله است که دارای کد 32 است.

علائم نگارشی، علائم عملیات حسابی، اعداد، حروف بزرگ و کوچک لاتین مربوط به کدهای 33 تا 127 است. حروف الفبای ملی مربوط به کدهایی با اعداد 128 و بالاتر است.

در متن برنامه، یک ثابت نوع کاراکتر را می توان با قرار دادن هر کاراکتر نمایش داده شده در آپستروف ها مشخص کرد: "5"، "B"، "*".

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

برای پیدا کردن کد کاراکتر، از تابع ord استفاده کنید، جایی که کاراکتر به عنوان پارامتر داده می شود.

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

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

مثال. بیایید برنامه ای به پاسکال بنویسیم که در آن برای حرفی که از صفحه کلید وارد می شود، کد آن روی صفحه نمایش داده می شود. سپس یک رشته روی صفحه نمایش داده می شود که دنباله ای از سه حرف از جدول کد استفاده شده است: حرف قبل از حرف اصلی. حرف اولیه؛ نامه به دنبال اصل

4.4.4. نوع داده بولی

همانطور که می دانید، مقادیر بولی تنها دو مقدار را می گیرند. در پاسکال نادرست و درست است. این ثابت ها به گونه ای تعریف شده اند که نادرست هستند< true.

مقادیر بولی در نتیجه انجام عملیات مقایسه روی عبارات عددی، کاراکتر، رشته و بولی به دست می آید. بنابراین، در پاسکال، یک متغیر بولی را می توان نتیجه یک عملیات مقایسه نسبت داد.

مثال. بیایید برنامه ای بنویسیم که صحت عبارت "عدد n زوج است" را برای یک عدد صحیح دلخواه n تعیین کند.

فرض کنید ans یک متغیر بولی و n یک متغیر عدد صحیح باشد. سپس در نتیجه اجرای عملگر انتساب

متغیر ans برای هر زوج n درست و در غیر این صورت false تنظیم می شود.


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

مثال. بیایید برنامه ای بنویسیم که درستی عبارت "یک مثلث با طول ضلع a، b، c متساوی الساقین است" را برای اعداد صحیح دلخواه a، b، c تعیین کند.

مهم ترین

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

سوالات و وظایف