زنگ.

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

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

مثال ها

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

alg نام الگوریتم (استدلال ها و نتایج) دلان شرایط کاربرد کاربرد الگوریتم نیاز داریم هدف اجرای الگوریتم نوش شرح مقادیر متوسط \u200b\u200b| دنباله ارتباطات (الگوریتم بدن) کن

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

مثال محاسبه مجموع مربعات:

alg مبلغ مربع ( arg خوببرش خوب s) دلان | n\u003e 0 نیاز داریم | s \u003d 1 * 1 + 2 * 2 + 3 * 3 + ... + n * n نوش خوب من | ورودی n؛ S: \u003d 0 | nc برای من از 1 تا n | | S: \u003d S + I * I | kC | خروجی "S \u003d"، S کن

E-Workshop

برای تقویت مطالعات نظری برنامه نویسی با توجه به زبان الگوریتمی، متخصصان دانشگاه ایالتی مسکو در سال 1985 یک ویرایشگر کامپایلر ایجاد شد "E-Workshop" ("E" - به افتخار Yershov)، اجازه می دهد تا شما را وارد، ویرایش و اجرای برنامه ها در زبان الگوریتمی.

در سال 1986، مجموعه ای از دنیای آموزشی (هنرمندان) برای E-Workshop منتشر شد: "ربات"، "Draftsman"، "Twitch"، "Werethe"، که آن را آسان به معرفی مفاهیم الگوریتم آسان است. "E-Workshop" بر روی رایانه ها اجرا شد: Yamaha، Corvette، UKNC و گسترده شده است.

این زبان برنامه نویسی به طور مداوم نهایی شد و شرح نسخه بعدی "E-Workshop" در کتاب درسی سال 1990 ظاهر شد. سیستم برنامه نویسی "Kumir" ("کیت برای آموزش دنیای")، حمایت از این کتاب درسی، در شرکت اطلاعات در سال 1990 منتشر شد. زبان این سیستم نیز "بت" نامیده می شود.

در سال 1995، Kumir توسط وزارت آموزش و پرورش فدراسیون روسیه به عنوان مواد آموزشی اصلی در دوره "اصول اولیه اطلاعات فنی و ماشین آلات کامپیوتری" بر اساس کتاب درسی A. G. Kushnirenko، G.V. Lebedeva و R.a. Svoren توصیه شد. .

انتقاد

با این حال، لازم به ذکر است که زبان الگوریتمی در غیاب قطعات آن را از معماری کامپیوتر به طور مستقیم متصل می کند، با این حال، با اشاره به زبانهای مانند الگوللی، به طور ضمنی به دانش آموزان آموزش می دهد تا به معماری نئومه نومانوفسک تکیه کنند. (معماری Von Neumanan یک پیاده سازی عملی از یک ایده قبلی است که دارای یک ماشین تورینگ است. علاوه بر ایده تورینگ، ایده های دیگر وجود دارد. محبوب ترین آنها دارای نام لامبدا-حسابداری است: Alunzo Chechch بر روی او کار کرد. لیزپ ماشین معماری است که بر اساس لامبدا است.)

پیوندها

  • A. P. ershov. زبان الگوریتمی در دوره مدرسه اصول اولیه تجهیزات اطلاعاتی و محاسبات. 05/05/1985
  • انجمن زبان برنامه نویسی روسیه و توسعه

بنیاد ویکیمدیا. 2010.

سازمان دیده بان "زبان الگوریتمی روسیه" در سایر واژه نامه ها:

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

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

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

    زبان الگوریتمی (همچنین زبان الگوریتمی روسی، بهشت) زبان برنامه نویسی مورد استفاده برای ثبت و مطالعه الگوریتم ها. هنگام مطالعه علوم رایانه در مدارس برای مطالعه پایه های الگوریتم، T. N. الگوریتم مدرسه ... ... ویکی پدیا

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

    مثال بلوک نمودار اژدها اژدها اژدها اژدها طرح اژدها (زبان الگوریتمی دوستانه روسی، که بصری را فراهم می کند) یک زبان الگوریتمی بصری، ایجاد شده در چارچوب برنامه فضای Buran. توسعه این زبان ... ویکی پدیا

بخشی از الگوریتم alg قبل از کلمه نوش عنوان نامیده می شود، و بخش نتیجه گیری بین کلمات نوش و کن - الگوریتم بدن

در یک جمله alg پس از نام الگوریتم در پرانتز، ویژگی ها (arg، cr) و نوع مقادیر (نامشهود، سیم کارت، lite، log) برای تمام متغیرهای ورودی (استدلال) و خروجی (نتایج) نشان داده شده است.

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

نمونه هایی از پیشنهادات alg:

alleg حجم و منطقه سیلندر (Arg Mane R، H، برش V، S)

ریشه های Alg از Quar (Arg Mana A، B، C، برش MEE X1، X2، Res Lite T)

aLG ELEMENT ELEMENT (ARG COMPLECT N، ARG DRES TAB A)

alg Diagonal (Arg Complection N، Arg Communication Tab A، Cra Lit Otvet)

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

جایگزین Alleg (Arg Lit Str1، Str2، Arg Cupping Cupping) Dano | طول str1 و str2 str2 str2 | در همه جا در خط متن Substring Substring جایگزین شده با str2

شماره Alg Maxima (Arg Cover N، Arg Mest Tab A، Resh K) دانا | n\u003e 0anado | k - تعداد حداکثر عناصر در جدول a

مقاومت جلبک (Arg Mane R1، R2، Arg Complection N، Cole R) Dange | n\u003e 5، R1\u003e 0، R2\u003e 0anado | R - طرح مقاومت

اینجا در جملات دلان و نیاز داریم پس از علامت "|" نظرات ثبت شده است نظرات را می توان در انتهای هر ردیف قرار داد. آنها توسط یک مترجم کامپیوتری پردازش نمی شوند، بلکه به طور قابل توجهی درک الگوریتم را تسهیل می کنند.

تیم های مدرسه برنامه نویسی AYA

اپراتور برنامه. برای محاسبه عبارات و اختصاص آنها مقادیر متغیر استفاده می شود. نمای کلی اپراتور: A: \u003d B، جایی که علامت ": \u003d" به معنی عملیات انتساب، I.E. دستور برای جایگزینی مقدار سابق متغیر A، ایستاده در سمت چپ، بر روی مقدار محاسبه شده بیان در سمت راست.


مثلا، a: \u003d (B + C) * SIN (PI / 4)؛

من: \u003d i + 1 .

برای ورودی و خروجی داده های استفاده از داده ها

· ورودی نام متغیرها

· خروجی نام متغیرها، عبارات، متون.

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

برای یک سازمان چرخه - تیم ها برای و تا زماندر زیر شرح داده شده است.

یک نمونه از رکورد الگوریتم در زبان مدرسه.

مربع Sum squares (arg n.، درمان S.) Dano | n\u003e 0anado | s \u003d 1 * 1 + 2 * 2 + 3 * 3 + ... + n * nach من. ورودی n.؛ S. : =0 ncبرای من از 1 تا n s : \u003d S + I * I kC نتیجه گیری "S \u003d"، Skon

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

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

به منظور تخصیص کلمات رسمی در میان کلمات دیگر زبان، آنها را در هنگام نوشتن تأکید می کنند.

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

علامت هدر الگوریتم کلمه کلیدی است alg.

بنابراین، الگوریتم ثبت شده در زبان الگوریتمی آموزشی، فرم زیر را دارد:

alg الگوریتم عنوان

arg فهرست داده های منبع

برش فهرست نتایج

دنباله ای از دستورات الگوریتم

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

این چنین نوشته شده است:

<переменная> := <выражение>

علامت ": \u003d" خواندن "اختصاص".

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

1) ارزش بیان ضبط شده در سمت راست فرمان انتساب با استفاده از مقادیر فعلی تمام مقادیر موجود در این عبارت محاسبه می شود؛

2) یک متغیر یک مقدار جدید محاسبه شده محاسبه شده است. در این مورد، مقدار قبلی متغیر تخریب شده است.

در نتیجه، دستور b: \u003d a + b به این معنی است که مقدار متغیر A و نتیجه حاصل می شود یک مقدار جدید جدید از مقدار B به مقدار فعلی قبلی ارزش B اضافه می شود.

این مثال سه ویژگی تخصیص پایه را نشان می دهد:

1) تا زمانی که متغیر یک مقدار اختصاص داده شود، هنوز تعریف نشده است؛

2) مقدار اختصاص داده شده به متغیر در آن ذخیره می شود تا زمانی که انتصاب بعدی این متغیر اجرا شود؛

3) یک مقدار جدید اختصاص داده شده به متغیر جایگزین ارزش قبلی آن است.

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

اقدام 1

اقدام 2

. . . . . . . . .

اقدام N.

بعد، ساختار اساسی "شاخه" را در نظر بگیرید. این بسته به نتیجه تأیید وضعیت (بله یا نه) انتخاب یکی از مسیرهای جایگزین الگوریتم را فراهم می کند. هر یک از مسیرها منجر به خروج کلی می شود، بنابراین کار الگوریتم صرف نظر از آن مسیر انتخاب خواهد شد. ساختار شاخه در چهار گزینه اصلی وجود دارد:



1. اگر چیزی؛

اگر یک وضعیت

که اقدامات

2. اگر چیزی در غیر این صورت؛

اگر یک وضعیت

که اقدامات 1

در غیر این صورت اقدامات 2

انتخاب

برایشرایط 1: اقدامات 1

برایشرایط 2: اقدامات 2

. . . . . . . . . . . .

برای وضعیت N: اقدامات n

{در غیر این صورتاقدامات N + 1}

و در نهایت، ساختار پایه چرخه با استفاده از زبان الگوریتمی مدرسه به نظر می رسد.

وزارت آموزش و پرورش فدراسیون روسیه دانشگاه فنی دولتی

گروه فناوری اطلاعات و سیستم های خودکار

Vikentheva O. L.

چکیده سخنرانی ها در دوره "زبان الگوریتمی و برنامه نویسی" (مبانی زبان C ++، من ترم)

معرفی

ترم اول، طرح های اساسی زبان C و تکنولوژی برنامه نویسی اساسی را مورد بحث قرار می دهد (برنامه نویسی ساختاری).

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

1.1. الگوریتم و برنامه

الگوریتم یک نظم دقیق است که فرایند محاسباتی را از داده های اولیه متغیر به نتیجه نهایی تعیین می کند، I.E. این دستور العمل برای دستیابی به یک هدف است.

ترکیبی از بودجه و قوانین برای نمایندگی از الگوریتم به شکل یک ماشین محاسباتی، یک زبان برنامه نویسی نامیده می شود، الگوریتم ثبت شده در این زبان برنامه نامیده می شود.

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

1.2 الگوریتم Deferences

1. Massiness: الگوریتم باید به یک کار اعمال شود، و به یک کل کلاس از مشکلات مشابه (الگوریتم برای حل معادله مربع باید یک معادله را حل کند، بلکه تمام معادلات مربع).

2. اثربخشی: الگوریتم باید منجر به نتیجه یک نتیجه برای تعداد خاصی از مراحل (در بخش 1 تا 3، یک بخش دوره ای از 0.33333 (3) به دست آمده، برای رسیدن به نتیجه نهایی، لازم است که دقت را مشخص کنید به دست آوردن این کسری، به عنوان مثال، تا 4 علامت اعشاری).

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

4. بی عیب و نقص - فرآیند باید با استفاده از تقسیم بندی توصیف شود

عملیات انجام شده در هر مرحله (I.E. مراحل را نمی توان به گام های کوچکتر تقسیم کرد).

الگوریتم ها را می توان در فرم های زیر نشان داد:

1) شرح کلامی الگوریتم.

2) توصیف گرافیک الگوریتم.

3) با استفاده از زبان برنامه نویسی الگوریتمی

1.2. کامپایلرها و مترجمان

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

حرکت کار، ترجمه هر اپراتور به زبان ماشین.

1.3 برنامه نویسی

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

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

زبان های سطح بالا عبارتند از:

1. FORTRAN - اولین زبان کامپایل شده ایجاد شده درقرن 50th قرن بیستم این تعدادی از مهمترین مفاهیم برنامه نویسی را اجرا کرد. برای این زبان، تعداد زیادی از کتابخانه ها ایجاد شده است، از مجموعه های آماری و پایان دادن به ماهواره ها، به طوری که در بسیاری از سازمان ها استفاده می شود.

2. COBOL - زبان کامپایل شده برای محاسبات اقتصادی و راه حل های اقتصادیوظایف تجاری در اوایل دهه 60 توسعه یافته است. در کوبول، ابزار بسیار قدرتمند کار با مقادیر زیادی داده های ذخیره شده در رسانه های خارجی اجرا شد.

3. پاسکال - در پایان ایجاد شده است70s توسط ریاضیات سوئیس Niklaus Virut به طور خاص برای برنامه های آموزشی. این اجازه می دهد تا شما را به توسعه تفکر الگوریتمی، ساخت یک برنامه کوتاه، به خوبی قابل خواندن، تکنیک های اصلی الگوریتم را نشان می دهد، همچنین برای اجرای پروژه های بزرگ مناسب است.

4. Baisik - در آن ایجاد شد60s نیز برای یادگیری برنامه نویسی. برای او، کامپایلرها و مترجمان وجود دارد، یکی از محبوب ترین زبان های برنامه نویسی است.

5. SI - در دهه 70 ایجاد شد، در اصل به عنوان یک زبان برنامه نویسی جرم در نظر گرفته نشده بود. برنامه ریزی شده بود که جایگزین اسمبلر شود تا بتواند برنامه های کارآمد و کوتاه را ایجاد کند، اما به یک پردازنده خاص بستگی ندارد. این عمدتا شبیه پاسکال است و فرصت های بیشتری برای کار با حافظه دارد. این برنامه های کاربردی کاربردی و سیستم، و همچنین سیستم عامل یونیکس نوشته شده است.

6. C ++ - گسترش شی گرا از زبان SI ایجاد شده توسط Biarny Sturastrup در سال 1980.

7. جاوا یک زبان است که در ابتدا توسط خورشید ایجاد شده است90s بر اساس C ++. این طراحی شده است تا توسعه برنامه های کاربردی در C ++ را با حذف امکانات پایین سطح آن طراحی کند. ویژگی اصلی زبان این است که آن را در کد ماشین کامپایل شده است، بلکه در یک کد بایت مستقل پلتفرم (هر فرمان یک بایت را اشغال می کند). این کد را می توان با استفاده از یک مترجم - ماشین مجازی جاوا (JVM) انجام داد.

2. ساختار برنامه در C ++

این برنامه در SI دارای ساختار زیر است: دستورالعمل های پیش پردازنده

. . . . . . . . .

# دستورالعمل preprocessor a ()

اپراتورها در ()

اپراتورها

void main () // یک تابع که اجرای برنامه آغاز می شود

شرح

تکالیف

عملکرد اپراتور خالی

کامپوزیت

انتقال

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

1) تغییر پیش پردازنده متن؛

2) تدوین؛

3) طرح بندی (ویرایش اتصالات یا مونتاژ).

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

cessor - تبدیل متن برنامه قبل از آن کامپایل. قوانین پردازش پیش پردازش یک برنامه نویس را با استفاده از دستورالعمل های پیش پردازنده تعریف می کند. دستورالعمل با # شروع می شود مثلا،

1) #define - قوانین جایگزینی در متن را نشان می دهد. #define صفر 0.0.

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

2) #include.< имя заголовочного файла> - در نظر گرفته شده است که در متن برنامه متن از دایرکتوری "Header Files" عرضه شده با کتابخانه های استاندارد گنجانده شود. هر تابع کتابخانه C دارای شرح مربوطه در یکی از فایل های هدر است. لیست فایل های هدر توسط زبان استاندارد تعریف شده است. استفاده از دستورالعمل شامل BIB استاندارد مناسب را متصل نمی کند

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

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

این برنامه مجموعه ای از توصیف ها و تعاریف است و شامل مجموعه ای از توابع است. در میان این توابع همیشه باید یک تابع به نام اصلی باشد. بدون آن، برنامه را نمی توان انجام داد. قبل از نام ویژگی، اطلاعات بر روی نوع مقدار بازگشتی توسط تابع (نوع نتیجه) قرار می گیرد. اگر تابع هیچ چیز را بازمی گرداند، سپس نوع void مشخص شده است: void main (). هر تابع، از جمله اصلی، باید مجموعه ای از پارامترها داشته باشد، می تواند خالی باشد، سپس در براکت ها نشان می دهد (void).

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

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

int y \u003d 10؛ // به نام شناور x ثابت؛ //متغیر

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

اپراتورها - اقدامات برنامه را در هر مرحله از اعدام خود تعریف می کنند

مثال مثال در C:

#عبارتند از. // دستورالعمل preprocessor

سوالات کنترل

1. چه قطعات برنامه C ++ است؟

2. تعریف چگونه از اعلامیه متفاوت است؟

3. مراحل را برای ایجاد یک برنامه اجرایی در C ++ فهرست کنید.

4. پیش پردازنده چیست؟

5. دستورالعمل پیش پردازنده چیست؟ نمونه هایی از دستورالعمل های پیش پردازنده ایجاد کنید.

6. یک برنامه را ایجاد کنید که متن را "اولین برنامه من در C ++" چاپ می کند

2. ابزار اساسی C ++ 2.1. زبان SOST

در متن در هر زبان طبیعی، شما می توانید چهار عنصر اصلی را انتخاب کنید: نمادها، کلمات، عبارات و پیشنهادات. زبان الگوریتمی نیز شامل عناصر است، فقط کلمات به نام Lexemes (ساختارهای ابتدایی)، عبارات - عبارات، پیشنهادات - اپراتورها نامیده می شود. Lexemes از نمادها شکل می گیرد، عبارات از لکیم ها و نمادها، اپراتورها از عبارات و نمادهای لپ تاپ (شکل 1.1)

شکل. 1.1. ترکیب زبان الگوریتمی، به این ترتیب عناصر زبان الگوریتمی عبارتند از:

شناسه ها نام برنامه های C هستند. نامه های لاتین، اعداد و علامت زیر را می توان در شناسه استفاده کرد. به عنوان مثال، PROG1، PROG1 و PROG1 سه شناسه مختلف متفاوت هستند. اولین شخصیت باید نامه یا حروف زیر را داشته باشد (اما نه یک شکل). فضاهای موجود در شناسه ها مجاز نیستند.

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

- علائم عملیات یک یا چند کاراکتر است که عمل را بر روی اپندارها تعیین می کنند. عملیات به یکپارچگی، باینری و ترنار در تعداد اپراتورهای شرکت کننده در این عملیات تقسیم می شود.

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

جداسازی - براکت، نقطه، آیکون فضای کاما.

2.1.1 ثابت در C ++

ثابت یک lexema است که یک تصویر از یک عدد عددی ثابت، رشته یا نمادین ثابت را نشان می دهد.

ثابت ها به 5 گروه تقسیم می شوند:

کل؛

- واقعی (نقطه شناور)؛

ذکر شده؛

نمادین؛

رشته

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

سه گروه به نوع خاصی از فرم ضبط آن در متن برنامه و با ارزش عددی.

ثابت ها می توانند دهدهی، اکتال و هگزادسیمال باشند. ثابت اعشاری به عنوان یک دنباله ای از رقم های دهدهی تعریف شده است، که از 0 شروع نمی شود، اگر این 0 باشد (مثالها: 8، 0، 192345). ثابت اکتال ثابت ثابت است که همیشه با 0 شروع می شود 0. در 0 به دنبال اعداد اکتال (نمونه: 016 - مقدار دهدهی 14، 01). ثابت های HEX یک دنباله ای از اعداد هگزادسیمال است که پیش از کاراکترها 0x یا 0X (مثالها: 0HA، 0x00F) پیش می روند.

که در بسته به مقدار کل کامپایلر ثابتبه طرق مختلف آن را ارائه خواهد کرد

که در حافظه کامپیوتر (به عنوان مثال، کامپایلر به نوع ثابت داده مربوطه کمک خواهد کرد).

ثابت های واقعی دارای فرم دیگری از ارائه داخلی در حافظه کامپیوتر هستند. کامپایلر این ثابت ها را طبق ذهن خود به رسمیت می شناسد. ثابت های واقعی می توانند دو فرم فرم داشته باشند: با نقطه ثابت و نقطه شناور. دیدگاه ثابت ثابت: [ارقام]. [ارقام] (نمونه ها: 5.7، 0001، 41.). مشاهده یک ثابت نقطه شناور: [ارقام] [.] [ارقام] [ارقام] (معتبر: 0.5E5، .11E-5، 5E3). در ضبط ثابت های واقعی، یا بخش کامل یا کسری، یا یک نقطه اعشار، یا نشانه ای از نمایشی هایی با شاخصی از میزان می تواند کاهش یابد.

ثابت های شمارش شده با استفاده از کلمه کلیدی Enum وارد می شوند. این ها کل ثابت های معمول هستند که منحصر به فرد و مناسب برای استفاده از تعیین است. مثالها: Enum (One \u003d 1، دو \u003d 2، سه \u003d 3، چهار \u003d 4)؛

enum (صفر، یک، دو، سه) - اگر در تعریف ثابت های ذکر شده، نشانه ها \u003d و مقادیر عددی را حذف کنید، سپس مقادیر به طور پیش فرض نسبت داده می شود. در این مورد، شناسه بسیار چپ مقدار 0 را دریافت می کند و هر کدام از آنها به 1 افزایش می یابد.

enum (ده \u003d 10، سه \u003d 3، چهار، پنج، شش)؛

enum (یکشنبه، دوشنبه، سه شنبه، چهارشنبه، پنجشنبه، جمعه، satura-

ثابت های نمادین یک یا دو کاراکتر محصور شده در آپوستروف هستند. ثابت های نمادین متشکل از یک نماد دارای یک نوع کاراکتر هستند و یک بایت را در حافظه اشغال می کنند، ثابت های شخصیتی متشکل از دو کاراکتر دارای نوع INT هستند و دو بایت را اشغال می کنند. توالی های شروع با علامت \\ مدیران نامیده می شوند، آنها استفاده می شود:

- برای نشان دادن کاراکترهایی که یک صفحه نمایش گرافیکی ندارند، به عنوان مثال:

\\ a - بوق،

\\ B - بازگشت به یک مرحله، \\ n - ترجمه ردیف،

\\ t - برگه افقی.

- برای ارائه شخصیت ها: \\، '،'،؟ ، "(\\\\، \\ '، \\؟، \\").

- برای ارائه شخصیت ها با کدهای هگزادسیمال یا هشتم (\\ 073، \\ 0xF5).

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

در داخل ردیف ها همچنین می توانید از شخصیت های کنترل استفاده کنید. به عنوان مثال: "\\ string \\ nnoving"،

"\\ n \\" زبان الگوریتمی از برنامه های سطح بالا \\ "".

2.2. انواع داده ها در C ++

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

1) ارائه اطلاعات داخلی در حافظه کامپیوتر؛

2) بسیاری از مقادیر که می توانند مقادیر این نوع را مصرف کنند؛

3) عملیات و توابع که می تواند به داده های این نوع اعمال شود.

که در بسته به الزامات وظیفه، برنامه نویس نوع را برای اشیاء برنامه انتخاب می کند. انواع C ++ را می توان به ساده و کامپوزیت تقسیم کرد. انواع ساده شامل انواع مختلفی هستند که با یک مقدار مشخص می شوند. در C ++، 6 نوع داده ساده تعریف شده اند:

int (کل)

چارچوب (نماد)

wchar_t (نماد پیشرفته) bool (منطقی) شناور (واقعی)

دو برابر (واقعی با دقت دوگانه)

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

کوتاه (کوتاه) طولانی (طولانی) امضا شده (علامت)

unsigned (unsightened)

2.2.1 نوع int را تایپ کنید

مقادیر این نوع عدد صحیح هستند.

اندازه نوع int توسط استاندارد تعیین نمی شود، بلکه بستگی به رایانه و کامپایلر دارد. برای یک پردازنده 16 بیتی، 2 بایت به مدت 32 بیتی - 4 بایت اختصاص داده شده است.

اگر مشخص کننده کوتاه قبل از int ایستاده باشد، سپس 2 بایت به شماره داده می شود و اگر مشخص کننده طولانی، سپس 4 بایت باشد. از تعداد اعطای اختصاص داده شده به شیء حافظه، بسیاری از مقادیر معتبر معتبر که ممکن است یک جسم دریافت کنند بستگی دارد:

بنابراین INT کوتاه - اشغال 2 بایت، بنابراین، دارای محدوده -32768 .. + 32767؛

بنابراین، INT طولانی - رتبه 4 بایت، بنابراین، دارای محدوده -2 147 483 648 .. + 2 147 483 647

نوع int هماهنگ با نوع INT کوتاه در رایانه های 16 بیتی و با TILL INT 32 بیتی است.

اصلاح کننده های امضا شده و بدون علامت نیز بر مجموعه ای از مقادیر مجاز تاثیر می گذارد که هدف می تواند باشد:

بنابراین Unsigned Int - اشغال 2 بایت، بنابراین، دارای محدوده 0 ..65536؛ بنابراین Unsigned Long Int - رتبه 4 بایت، بنابراین، دارای طیف وسیعی از 0 .. + 4 294 967

2.2.2 نوع چارچوب

مقادیر این نوع عناصر مجموعه نهایی مرتب شده از شخصیت ها هستند. هر شخصیت مطابق با شماره کد نماد قرار داده شده است. تحت اندازه نماد نوع 1 بایت داده شده است. نوع Char را می توان با ویژگی های امضا شده و بدون امضا استفاده کرد. در این نوع علامت امضا شده، شما می توانید مقادیر را در محدوده از -128 تا 127 ذخیره کنید. هنگام استفاده از نوع چارچوب بدون علامت، مقادیر می تواند در محدوده 0 تا 255 باشد. کد ASCII برای رمزگذاری استفاده می شود ( کد استاندارد آمریکایی FOE بین المللی تبادل بین المللی). نمادها با کدهای از 0 تا 31 سرویس هستند و تنها مقدار مستقل در بیانیه های I / O دارند.

مقادیر نوع Char نیز برای ذخیره اعداد از محدوده مشخص شده استفاده می شود

2.2.3. نوع wchar_t.

طراحی شده برای کار با مجموعه ای از شخصیت ها برای رمزگذاری که به اندازه کافی توسط 1 بایت، مانند یونیکد کافی نیست. اندازه این نوع، به عنوان یک قاعده، مربوط به نوع کوتاه است. ثابت های رشته این نوع با پیشوند L: L "رشته # 1" ثبت می شوند.

2.2.4 نوع بول

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

2.2.5. انواع نقطه شناور.

نمایندگی داخلی شماره واقعی شامل 2 بخش است: Mantissa و Order. در رایانه سازگار با IBM، اندازه نوع شناور توسط 4 بایت اشغال شده است، که یک تخلیه تحت علامت Mantissa گرفته می شود، 8 تخلیه تحت نظم و 24 - تحت Mantissa.

مقادیر انواع دو بایت 8 بایت، 11 و 52 تخلیه به ترتیب تحت نظم و Mantissa تخلیه می شوند. طول Mantissa دقت تعداد تعداد، و طول محدوده آن را تعیین می کند.

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

2.2.6 نوع خالی

به انواع اصلی همچنین به نوع خالی از بسیاری از مقادیر این نوع اشاره دارد -

2.3. متغیرها

متغیر در C ++ یک منطقه حافظه نامگذاری شده است که در آن داده ها ذخیره می شوند. متغیر دارای یک نام و ارزش است. این نام به منظور اشاره به منطقه حافظه است که در آن مقدار ذخیره می شود. قبل از استفاده، هر متغیر باید شرح داده شود. مثال ها:

نمای کلی توصیف شرح:

[کلاس حافظه] نام نوع [Initializer]؛

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

Const - نشان می دهد که این متغیر را نمی توان تغییر داد (به نام ثابت). هنگامی که شما توصیف می کنید، می توانید یک متغیر مقدار اولیه (مقداردهی اولیه) را اختصاص دهید. کلاس های حافظه:

متغیر محلی اتوماتیک اتوماتیک. مشخصه خودرو تنها می تواند هنگام تعیین اشیاء بلوک، به عنوان مثال، در عملکرد بدن مشخص شود. این حافظه متغیر در ورودی به واحد منتشر می شود و هنگام خروج از آن منتشر می شود. خارج از بلوک، چنین متغیرها وجود ندارد.

extern یک متغیر جهانی است، در مکان دیگری از برنامه (در یک فایل دیگر یا به اشتراک گذاشتن در متن) است. برای ایجاد متغیرهایی که در تمام فایل های برنامه موجود هستند استفاده می شود.

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

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

int a؛ // متغیر جهانی void اصلی () (

int b؛ // متغیر محلی

extern int x؛ // متغیر x در جای دیگر استاتیک int c؛ // متغیر محلی محلی A \u003d 1؛ // اختصاص یک متغیر جهانی

int a؛ // متغیر محلی a

a \u003d 2؛ // اختصاص یک متغیر محلی :: a \u003d 3؛ // اختصاص یک متغیر جهانی

int x \u003d 4؛ // تعریف و ابتدایی x

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

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

نام متغیر باید در زمینه عمل منحصر به فرد باشد.

توصیف متغیر را می توان تکمیل کرد یا به عنوان یک آگهی یا به عنوان تعریف. آگهی حاوی اطلاعات مربوط به کلاس حافظه و نوع متغیر است، تعریف همراه با این اطلاعات نشان می دهد که تخصیص حافظه را نشان می دهد. در مثال int exter x؛ - اعلام، و بقیه - تعاریف.

2.4. عملیات در C ++

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

عملیات یکنواخت

& گرفتن آدرس عملیاتی

* درخواست تجدید نظر به آدرس (محدوده)

- منهای یکنواخت، نشانه ای از عملگر محاسباتی را تغییر می دهد

++ افزایش یک:

عملیات پیشوند - عملیات را به استفاده از آن افزایش می دهد

عملیات postfix پس از استفاده از آن عملیات را افزایش می دهد

int a \u003d (m ++) + n؛ // a \u003d 4، m \u003d 2، n \u003d 2

int b \u003d m + (++ n)؛ // a \u003d 3، m \u003d 1، n \u003d 3

کاهش در هر واحد:

عملیات پیشوند - عملیات را به استفاده از آن کاهش می دهد

عملیات postfix پس از استفاده از آن عملیات را کاهش می دهد

محاسبه اندازه (در بایت) برای هدف از این نوع که

این عملیات دارد

او دارای دو فرم است

اندازه اندازه

sizeof (شناور) // 4

sizeof (1.0) // 8، t ثابت های پیش فرض واقعی

الگوپتیت یک نمونه دقیق و قابل درک از هنرمند است که مطابق با دنباله ای از اقدامات با هدف حل وظیفه است.

نام "الگوریتم" از فرم لاتین نام ریاضیات آسیای مرکزی Al-Khorzmi - الگوریتم رخ داده است. الگوریتم یکی از مفاهیم اساسی اطلاعاتی و ریاضیات است.

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

هنرمند HampAtlepiz:

اقدامات ابتدایی؛

سیستم تیمی؛

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

هر یک از بازی ها می تواند دستورات را فقط از یک لیست مشخص شده تمبر مشخص - سیستم های فرماندهی اجرا کند. برای هر فرمان، شرایط باید مشخص شود (همانطور که حالت های کتابچه راهنمای کاربر می تواند اجرا شود) و نتایج دستور را توصیف می کند. درخواست، فرمان "VVEPS" را می توان انجام داد اگر هیچ دیوار بالا وجود ندارد. نتیجه او یک تغییر در یک سلول در یک سلول است.

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

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

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

در علوم کامپیوتر، سازنده جهانی الگوریتم کامپیوتر است.

خواص اصلی الگوریتم ها به شرح زیر است:

قابل درک برای هنرمند - I.E. سازنده الگوریتم باید بداند چگونه آن را انجام دهد.

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

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

شکل (یا اندام). این ویژگی این است که الگوریتم باید سعی کند این کار را برای تعداد نهایی مراحل امتحان کند.

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

در عمل، فرم های زیر از نمایندگی از الگوریتم ها رایج هستند:

کلامی (نوشتن در زبان طبیعی)؛

گرافیک (تصاویر از نمادهای گرافیک)؛

pseudocodes (توصیف نیمه رسمی الگوریتم ها در یک زبان الگوریتمی مشروط، از جمله هر دو عناصر زبان برنامه نویسی و عبارات یک زبان طبیعی، به طور کلی نماد ریاضی پذیرفته شده، و غیره)؛

نرم افزار (متون در زبان های برنامه نویسی).

یک روش کلامی برای ضبط الگوریتم ها شرح مراحل متوالی پردازش داده ها است. الگوریتم در ارائه خودسرانه در زبان طبیعی تنظیم شده است.

مثلا. الگوریتم را برای پیدا کردن بزرگترین تقسیم عمومی (گره) دو عدد طبیعی ضبط کنید.

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

دو عدد را تنظیم کنید

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

تعداد بیشتری را تعیین کنید

جایگزین بیشتر از میان تفاوت در بیشتر و کوچکتر در میان اعداد؛

الگوریتم را از مرحله 2 تکرار کنید.

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

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

چنین توصیف هایی به شدت رسمی نیستند؛

از تأیید سوابق رنج می برند

ابهام تفسیر مقررات فردی را تنظیم کنید.

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

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

چنین نمایندگی گرافیکی یک طرح از الگوریتم یا نمودار بلوک نامیده می شود.

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

جدول 1 شخصیت های اغلب استفاده شده را نشان می دهد.

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

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

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

بلوک "فرآیند پیش تعریف شده" برای نشان دادن درخواست تجدید نظر به الگوریتم های کمکی، به صورت مستقل در قالب برخی از ماژول های مستقل، و برای تجدید نظر به زیرمجموعه های کتابخانه استفاده می شود.

Pseudocode یک سیستم از نمادها و قوانین مورد نظر برای رکورد یکنواخت الگوریتم ها است.

این محل میانجی بین زبان های طبیعی و رسمی را اشغال می کند.

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

Pseudocode قوانین نحوی دقیق را برای ضبط دستورات ذاتی ذاتی در زبان های رسمی انجام نداده است، که ضبط الگوریتم را در مرحله طراحی آن تسهیل می کند و امکان استفاده از مجموعه گسترده ای از دستورات طراحی شده برای یک هنرمند انتزاعی را فراهم نمی کند. با این حال، Pseudocode معمولا دارای برخی از طرح های ذاتی زبان های رسمی است، که انتقال را از نوشتن به یک pseudocode برای ضبط الگوریتم در زبان رسمی تسهیل می کند. به طور خاص، در pseudocode، و همچنین در زبان های رسمی، کلمات رسمی وجود دارد، معنای آن یک بار و برای همه تعیین می شود. آنها در متن چاپ شده با فونت جسورانه ایستاده اند و در متن دست نوشته تحت تأکید قرار دارند. هیچ تعریف تک یا رسمی از شبه شکل گیری وجود ندارد، بنابراین Pseudocodes های مختلف ممکن است، با مجموعه ای از کلمات خدمات و ساختارهای اساسی (اساسی) مشخص می شود.

یک نمونه از pseudocode یک زبان الگوریتمی مدرسه در نماد روسیه (مدرسه (مدرسه) است که در آموزش A.G توضیح داده شده است. Kushnirenko et al. "مبانی علوم کامپیوتر و محاسبات"، 1991. این زبان به سادگی "زبان الگوریتمی" در آینده نامیده می شود.

کلمات اصلی خدمات

نمای کلی از الگوریتم:

الگوریتم ALG نام (استدلال و نتایج)

شرایط کاربرد کاربرد الگوریتم

لازم است یک الگوریتم انجام شود

توصیف NCH از مقادیر متوسط

| دنباله ارتباطات (الگوریتم بدن)

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

در جمله ALG پس از نام الگوریتم در پرانتز، ویژگی ها (ARG، CR) و نوع ارزش (نامشهود، سیم کارت، Lite یا Log) نشان داده شده است (برای استدلال) و متغیرهای خروجی (نتایج) . هنگام توصیف آرایه ها (جداول)، کلمه سرویس استفاده می شود، توسط جفت های مرزی برای هر شاخص از عناصر آرایه تکمیل می شود.

نمونه هایی از پیشنهادات ALG:

alleg حجم و منطقه سیلندر (Arg Mane R، H، برش V، S)

ریشه های Alg از Quar (Arg Mana A، B، C، برش MEE X1، X2، Res Lite T)

aLG ELEMENT ELEMENT (ARG COMPLECT N، ARG DRES TAB A)

alg Diagonal (Arg Complection N، Arg Communication Tab A، Cra Lit Otvet)

پیشنهادات داده شده و نه لزوما. آنها توصیه می شود که بیانیه هایی را که وضعیت الگوریتم اجرایی را توصیف می کنند، به عنوان مثال:

جایگزین Alleg (Arg Lit Str1، Str2، Arg Crop Crasus Text)

dano | طول جایگزینی STR1 و STR2 همزمان است

لازم است در همه جا در خط متن Substring Substring جایگزین شده با str2

شماره Alg Maxima (Arg Cover N، Arg Tab A، Resh K)

dano | n\u003e 0

لازم است k - تعداد حداکثر عناصر در جدول a

مقاومت Alg (Arg Mane R1، R2، Arg Complection N، COM R)

dano | n\u003e 5، R1\u003e 0، R2\u003e 0

لازم است R - طرح مقاومت

در اینجا در جملات پس از علامت "|" لازم است نظرات ثبت شده است نظرات را می توان در انتهای هر ردیف قرار داد. آنها توسط مترجم پردازش نمی شوند، بلکه به طور قابل توجهی درک از الگوریتم را تسهیل می کنند.

الگوریتم ها را می توان به عنوان برخی از ساختارهای متشکل از عناصر پایه جداگانه (I.E. پایه) نشان داد.

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

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

ساختار منطقی هر الگوریتم را می توان با ترکیبی از سه ساختار اساسی ارائه داد:

دنبال کردن

شاخه

ویژگی مشخصی از ساختارهای اساسی، حضور یک ورودی و یک خروجی است.

زنگ.

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