Линейни алгоритми - схема, структура и изчисление

Съдържание:

Линейни алгоритми - схема, структура и изчисление
Линейни алгоритми - схема, структура и изчисление
Anonim

Ежедневието на всеки човек е да решава огромен брой задачи с различна сложност по време на работа или по време на обучение. Някои задачи са толкова прости, че когато ги изпълняваме, извършваме определени действия автоматично, без дори да се замисляме. Решаването на всеки проблем, дори най-простият, като правило, се извършва последователно на няколко стъпки. Този вид последователност при решаване на проблеми се нарича алгоритъм. Днес ще разгледаме какво представляват линейните алгоритми, как е изобразена тяхната структура, как се решават и програмират.

Алгоритмичен език

Тази концепция е точно предписание за изпълнителя да извърши определена последователност от действия, която е насочена към решаване на задачата.

линейни алгоритми
линейни алгоритми

Този език е средство за описание на алгоритми, коитообикновено се фокусира върху потребителя.

На компютърен език това е точното предписание, което дефинира изчислителния процес. То от своя страна води от първоначалните данни, които варират, до първоначалния резултат.

Разработването на алгоритъм е доста сложен и отнемащ време процес. Това е техника за съставяне (разработване) на последователност от действия, предназначени за решаване на проблеми с помощта на компютър.

Свойства на алгоритъма

Сред свойствата се отличават:

  • крайност - състои се в завършване на целия алгоритъм в определен краен брой етапи (стъпки);
  • определеност (уникалност) - представлява уникалността на тълкуването на правилата за извършване на действия, както и реда, в който те се извършват;
  • изпълнение - получаване на желания резултат в произволен краен брой стъпки;
  • разбираемост - инструкциите трябва да са ясни за изпълнителя;
  • масов характер - алгоритмите трябва да могат да решават цял клас специфични проблеми с обща формулировка на проблема.

Линейни алгоритми. Компютърни науки 9 клас

Вече разгледахме дефинициите и свойствата на това понятие. Сега нека поговорим за неговите типове:

решаване на линейни алгоритми
решаване на линейни алгоритми
  • линейно;
  • разклоняване;
  • с цикъл.

Ние се интересуваме от линейни алгоритми. Какво са те? Те съдържат команди, които трябва да се изпълняват една след друга в ясна последователност.

Линейната структура на алгоритъма може да бъде написана устнои графична форма.

Нека дадем пример, написан в устна форма. И така, задачата: пригответе се за училище. Решение:

  • Старт.
  • Ставай.
  • Упражнение.
  • Измийте.
  • Облечи се.
  • Закусвайте.
  • Вземете куфарче.
  • Край.

Графичната форма на горния процес ще бъде както следва:

линейни алгоритми информатика
линейни алгоритми информатика

Линеен алгоритъм във формата на блокова диаграма

Блок-схемата е илюстративно представяне на алгоритъма, в който всеки отделен етап е изобразен с помощта на блокове, представени под формата на различни геометрични фигури. Освен това връзката между стъпките (с други думи, последователността на изпълнение стъпка по стъпка) е обозначена със стрелки, които свързват фигурите (блоковете). Всеки блок е придружен от надпис. За типични действия в линейния алгоритъм се използват следните геометрични фигури:

  • Блокът от началото-края на алгоритъма. На блока има надпис "начало" или "край".
  • Блокиране на "вход-изход на данни". Този блок е показан като паралелограм. Върху него са поставени следните надписи: "вход", "изход", "печат". Те също са придружени от списък с входни или изходни променливи, съответно.
  • Аритметичен блок или блок за решение. Съответства на правоъгълник. Блокът трябва да има надпис: "операция", "група операции".

Решението на линейните алгоритми е изобразено с помощта на такива блок-схеми. След това нека поговорим за характеристикитеприсвояване на стойности.

Линейни изчислителни алгоритми

Основното елементарно действие в изчислителния алгоритъм е присвояването на определена стойност на променлива. В случай, че стойността на константа се определя от типа на нейната нотация, стойността на променливата ще получи конкретна стойност изключително в резултат на присвояването. Това може да стане по два начина: с помощта на командата за присвояване; използвайки командата за въвеждане.

Пример за решение на линеен алгоритъм

Нека дадем пример за описанието на правилата за разделяне на обикновени дроби с помощта на линеен алгоритъм, който в училищните учебници има следното съдържание:

  • числителят на дроб 1 трябва да се умножи по знаменател на дроб 2;
  • знаменателят на дроб 1 трябва да се умножи по числителя на дроб 2;
  • се изисква да се запише дроб, в който числителят е резултат от 1 точка, а знаменателят е резултат от 2 точки. Алгебричната форма на това правило е както следва:

a/b: c/d=(ad)/(bd)=m/n.

линейна структура на алгоритъма
линейна структура на алгоритъма

И така, нека изградим алгоритъм за разделяне на дроби за компютър. За да не се объркаме, ще използваме същите обозначения за променливи, както във формулата, която беше посочена по-горе. a, b, c, d – изходни данни под формата на целочислени променливи. Резултатът също ще бъде цели числа. Решението на алгоритмичен език би било:

alg Деление на дроби

старт

target a, b, c, d, m, n

въведете a, b, c, d

m:=ad

n:=b c

изход m, n

con

Графична форма на решение

Описаната по-горе схема на линейния алгоритъм изглежда така:

схема на линеен алгоритъм
схема на линеен алгоритъм

Командата за присвояване на стойност има следния формат:

Променлива:=израз.

Знакът ":=" се чете като присвояване.

Присвояването е команда, която е необходима на компютъра да направи следното:

  • оценка на израза;
  • присвояване на получената стойност на променлива.

Горният алгоритъм съдържа две команди като присвояване. В блок-схема инструкцията за присвояване трябва да бъде написана в правоъгълник, наречен изчислителен блок.

Когато се описват линейни алгоритми, няма специална нужда от задължително спазване на строги правила при писане на изрази. Можете да ги напишете с помощта на обичайната математическа форма. В крайна сметка това не е строг синтаксис на езика за програмиране.

В дадения пример на алгоритъма има и команда за въвеждане:

Въведете a, b, c, d.

Входната команда в блоковата диаграма е записана в паралелограм, тоест в I/O блок. Изпълнявайки тази команда, процесорът прекъсва работата, докато потребителят не извърши определени действия. А именно: потребителят трябва да напише входни променливи (техните стойности) на входното устройство (клавиатурата) и да натиснете Enter, който действа като клавиш за въвеждане. Важно е стойностите да се въвеждат в същия ред като съответните променливи във входния списък.

Линеен алгоритъм. Неговитепрограмиране

Както е споменато в началото на статията, линейните програми могат да включват следните оператори:

  • задание;
  • вход;
  • изход.

Тоест с помощта на изброените оператори се извършва програмиране на линейни алгоритми.

И така, операторът за присвояване на езика за програмиране се пише така:

НЕКА A=B, където A е променлива, B е израз. Например, A=Y + 20.

Изявлението за въвеждане изглежда така:

INPUT, например: INPUT С

Операторът за извеждане на данни, стойности, се записва както следва:

ПЕЧАТ. Например ПЕЧАТ С.

Нека вземем прост пример. Трябва да напишем програма, която ще намери сбора от числата A и B, въведени от клавиатурата.

линейни изчислителни алгоритми
линейни изчислителни алгоритми

В езика за програмиране ще получим програмата, чийто текст е показан по-долу.

програмиране на линейни алгоритми
програмиране на линейни алгоритми

Входни и изходни оператори в езика за програмиране Pascal

Pascal не предоставя специални оператори за входни или изходни операции, които използват линейни алгоритми. В програмите обменът на информация се извършва с помощта на вградени процедури. Тъй като няма нужда от предварително описание на стандартната процедура, тя е достъпна за всяка програма, която съдържа извикване към нея. Също така името на споменатата процедура не е никаква запазена дума.

Когато въвеждате данни, използвайте такива изявления, за да се позовавате на стандартната процедура за въвеждане на данни, която вече е вградена впрограма.

Read (A, B, C), където A, B, C са променливи, които трябва да бъдат въведени в RAM за запаметяване.

Readlnn (x1, y, x2) – след приключване на въвеждането курсорът се премества в началото на нов ред.

Readlnn; - показва очакването на натискане на "Enter". Обикновено това изявление се вмъква в текста преди последното "Край", за да запази резултатите от програмата на екрана със съдържание.

Показването на монитора за данни се извършва с помощта на следните оператори:

Write (А, В, С) – задавайки стойностите А, В, С в един ред, курсорът не напуска текущия ред.

Writeln (z, y, z2) – след приключване на извеждането на стойности, курсорът на тази позиция ще се премести на нов ред.

Writeln; - показва пропускането на един ред и прехода към началото на нов.

Именно с помощта на такива прости оператори се извършва въвеждането и извеждането на данни на езика Pascal.

Препоръчано: