Что называется алгоритмом в информатике

АЛГОРИТМ — что это. Понятие, свойства, структура и виды

Алгоритм. Практически все в нашем мире подчиняется каким-то законам и правилам. Современная наука не стоит на месте, благодаря чему человечеству известна масса формул и алгоритмов, следуя которым, можно рассчитать и воссоздать множество действий и строений, созданных природой, и воплотить в жизнь идеи, придуманные человеком. В этой статье мы разберем основные понятия алгоритма.

История появления алгоритмов

Алгоритм — понятие, появившиеся в XII веке. Само слово «алгоритм» происходит от латинской интерпретации имени известного математика среднего востока Мухаммеда аль Хорезми, который написал книгу «Об индийском счете». В этой книге описано, как правильно записывать натуральные числа, используя арабские цифры, и приведено описание алгоритма действий столбиком над такими числами.

В XII веке книга «Об индийском счете» была переведена на латинский язык, тогда-то и появилось данное определение.

Взаимодействие алгоритма с человеком и машиной

Создание алгоритма требует творческого подхода, поэтому новый список последовательных действий может создать только живое существо. А вот для исполнения уже существующих инструкций фантазию иметь не обязательно, с этим справится даже бездушная техника.

Отличным примером точного исполнения заданной инструкции является пустая микроволновая печь, которая продолжает работать, несмотря на отсутствие пищи внутри нее.

Субъект или объект, которому не обязательно вникать в суть алгоритма, называется формальным исполнителем. Человек тоже может стать формальным исполнителем, однако в случае нерентабельности того или иного действия мыслящий исполнитель может все сделать по-своему. Поэтому основными исполнителями являются компьютеры, микроволновые печи, телефоны и другая техника. Понятие алгоритма в информатике имеет самое важное значение. Каждый алгоритм составляется с расчетом на конкретного субъекта, с учетом допустимых действий. Те объекты к которым субъект может применить инструкции, составляют среду исполнителя.

Практически все в нашем мире подчиняется каким-то законам и правилам. Современная наука не стоит на месте, благодаря чему человечеству известна масса формул и алгоритмов, следуя которым, можно рассчитать и воссоздать множество действий и творений природы и воплотить в жизнь идеи, придуманные человеком. В этой статье мы разберем основные понятия алгоритма.

Что такое алгоритм?

Большинство действий, которые мы выполняем в течение своей жизни, требуют соблюдений ряда правил. От того, насколько верное представление имеет человек о том что, как и в какой последовательности он должен сделать, зависит качество и результат выполнения поставленных перед ним задач. С детства родители пытаются выработать в своем чаде алгоритм основных действий, например: проснуться, заправить постель, умыться и почистить зубы, сделать зарядку, позавтракать и т. д., список, который человек всю жизнь выполняет с утра тоже можно считать своеобразным алгоритмом.

Алгоритм — это понятие, обозначающее подборку инструкций, которые необходимо выполнять человеку для того, чтобы решить определенную задачу.

Вообще, алгоритм имеет множество определений, несколько ученых характеризуют его по-разному.

Если алгоритм, применяемый человеком ежедневно, у каждого свой, и может изменятся в зависимости от возраста и ситуаций, в которых оказывается исполнитель, то свод действий, которые нужно выполнить для решения математической задачи или для использования техники, един для всех и всегда остается неизменным.

Существует разное понятие алгоритма, виды алгоритмов тоже разнятся — к примеру, для человека, который преследует какую-либо цель, и для техники.

В наш век информационных технологий люди ежедневно выполняют свод инструкций, созданных до них другими людьми, ведь техника требует при использовании точного исполнения ряда действий. Поэтому основная задача преподавателей в школах — научить детей пользоваться алгоритмами, быстро схватывать и изменять уже существующие правила в соответствии со сложившейся ситуацией. Структура алгоритма является одним из тех понятий, которое изучается на уроке математики и информатики в каждой школе.

Основные свойства алгоритма

Часто в школах, чтобы дать детям более понятное описание алгоритмов, учителя приводят в пример приготовление пищи по кулинарной книге, изготовление лекарства по рецепту или процесс мыловарения на основе мастер-класса. Однако, учитывая второе свойство алгоритма, в котором говорится о том, что каждый пункт алгоритма должен быть настолько понятным, чтобы его мог выполнить абсолютно любой человек и даже машина, можно прийти к выводу что любой процесс, требующий проявления хоть какой-то фантазии, алгоритмом назвать нельзя. А готовка и рукоделие требуют определенных навыков и хорошо развитого воображения.

Существуют разные типы алгоритмов, но есть три основных.

Цикличный алгоритм

В таком типе некоторые пункты повторяются по несколько раз. Список действий, которые необходимо повторить для достижения цели, называется телом алгоритма.

Итерация цикла — это выполнение всех пунктов, входящих в тело цикла. Части цикла, которые постоянно выполняются определенное количество раз, называются циклом с фиксированным числом итераций.

Те части цикла, частота повторения которых зависит от ряда условий, называются неопределёнными.

Самый простой вид цикла — это фиксированный.

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

Инструкции таких схем выполняются однократно в той последовательности, в которой они представлены. Например, линейным алгоритмом можно считать процесс заправки постели или чистки зубов. Также к этому типу относятся математические примеры, где присутствуют лишь действия сложения и вычитания.

Разветвляющийся алгоритм

В разветвляющимся типе есть несколько вариантов действий, какое из них будет применено, зависит от условия.

Пример. Вопрос: «Идет дождь?» Варианты ответов: «Да» или «Нет». Если «да» — откройте зонт, если «нет» — положите зонт в сумку.

Вспомогательный алгоритм

Вспомогательный алгоритм можно использовать в других алгоритмах, указав лишь его название.

Термины, встречающиеся в алгоритмах

Условие находится между словами «если» и «тогда».

Например: если вы знаете английский язык, тогда нажмите один. В этом предложении условием будет часть фразы «вы знаете английский язык».

Данные — сведения, которые несут определенную смысловую нагрузку и представлены в таком виде, чтобы их можно было передавать и использовать для данного алгоритма.

Алгоритмический процесс — решение задачи по алгоритму с применением определенных данных.

Структура алгоритма

Алгоритм может иметь различную структуру. Для того чтобы описать алгоритм, понятие которого зависит и от его строения, можно воспользоваться целым рядом различных способов, например: словесный, графический, с помощью специально разработанного алгоритмического языка.

Какой из способов будет использован, зависит от нескольких факторов: от сложности задачи, от того, насколько нужно детализировать процесс решения задачи и т. д.

Графический вариант построения алгоритма

Графический алгоритм — понятие, подразумевающие под собой разложение действий, которые нужно выполнить для решения определенной задачи, по определенным геометрическим фигурам.

Графические схемы изображаются не как попало. Для того чтобы их мог понять любой человек применяются чаще всего блок-схемы и структурограммы Насси-Шнейдермана.

Также блок-схемы изображаются в соответствии с ГОСТ-19701-90 и ГОСТ-19.003-80.

Графические фигуры, применяемые в алгоритме, делятся на:

В графическом алгоритме геометрические фигуры, используемые для обозначения данных, называются блоками.

Все блоки идут в последовательности «сверху вниз» и «слева направо» — это правильное направление потока. При правильной последовательности линии, соединяющие между собой блоки, не показывают направление. В остальных случаях направление линий обозначается с помощью стрелок.

У правильной схемы алгоритма не должно быть больше одного выхода из обрабатывающих блоков и менее двух выходов из блоков, отвечающих за логические операции и проверку выполнения условий.

Как правильно построить алгоритм?

Структура алгоритма, как было сказано выше, должна строиться по ГОСТ, иначе она не будет понятна и доступна окружающим.

Общая методика по записи включает в себя следующие пункты:

При составлении алгоритма следует отметить действия, которые позволят производить нужные для решения задачи действия над выбранными данными. Примерный вид алгоритма:

Правильное построение схемы существенно облегчит вычисление алгоритмов.

Геометрические фигуры, отвечающие за разные действия в алгоритме

Горизонтально расположенный овал — начало и конец (знак завершения).

Горизонтально расположенный прямоугольник — вычисление или другие действия (знак процесса).

Горизонтально расположенный параллелограмм — ввод или вывод (знак данных).

Горизонтально расположенный ромб — проверка условия (знак решения).

Вытянутый, горизонтально расположенный шестиугольник — модификация (знак подготовки).

Модели алгоритмов представлены ниже на рисунке.

Формульно-словестный вариант построения алгоритма.

Что называется алгоритмом в информатике

Формульно-словестные алгоритмы записываются в произвольной форме, на профессиональном языке той области, к которой относится задача. Описание действий таким способом осуществляют с помощью слов и формул.

Понятие алгоритма в информатике

В компьютерной сфере все строится на алгоритмах. Без четких указаний, введенных в виде специального кода, не будет работать ни одна техника или программа. На уроках информатики ученикам стараются дать основные понятия алгоритмов, научить пользоваться ими и самостоятельно их создавать.

Создание и использование алгоритмов в информатике — процесс более творческий, чем, например, выполнение указаний к решению задачи в математике.

Существует также специальная программа «Алгоритм», которая помогает людям, несведущим в области программирования, создавать свои собственные программы. Такой ресурс сможет стать незаменимым помощником для тех, кто делает первые шаги в информатике и хочет создавать свои игры или любые другие программы.

С другой стороны, любая программа — алгоритм. Но если алгоритм несет в себе лишь действия, которые нужно выполнять, вставляя свои данные, то программа уже несет в себе готовые данные. Еще одно отличие — это то, что программа может быть запатентована и являться частной собственностью, а алгоритм нет. Алгоритм — понятие более обширное, нежели программа.

Вывод

В этой статье мы разобрали понятие алгоритма и его виды, узнали, как правильно записывать графические схемы.

Источник

Алгоритм

Для решения большинства задач существует множество готовых программ. Но для того чтобы лучше понимать все происходящее с компьютером и уверенно принимать правильные решения, рядовому пользователю необходимо обладать определенной компьютерной грамотностью.

Следует отметить, что большинство редакторов (например, Microsoft Office Word, Excel) имеют встроенные средства программирования, освоив которые можно значительно расширить свои возможности.

Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад (в 825 году) ученый из города Хорезма Абдулла (или Абу Джафар) Мухаммед бен Муса аль-Хорезми создал книгу по математике, в которой описал способы выполнения арифметических действий над многозначными числами. Само слово алгоритм возникло в Европе после перевода на латынь книги этого математика.

Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.

Вы постоянно сталкиваетесь с этим понятием в различных сферах деятельности человека (кулинарные книги, инструкции по использованию различных приборов, правила решения математических задач. ). Обычно мы выполняем привычные действия не задумываясь, механически. Например, вы хорошо знаете, как открывать ключом дверь. Однако, чтобы научить этому малыша, придется четко разъяснить и сами эти действия и порядок их выполнения:

1. Достать ключ из кармана.

2. Вставить ключ в замочную скважину.

3. Повернуть ключ два раза против часовой стрелки.

Если вы внимательно оглянитесь вокруг, то обнаружите множество алгоритмов которые мы с вами постоянно выполняем. Мир алгоритмов очень разнообразен. Несмотря на это, удается выделить общие свойства, которыми обладает любой алгоритм.

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

1. Дискретность (алгоритм должен состоять из конкретных действий, следующих в определенном порядке);

2. Детерминированность (любое действие должно быть строго и недвусмысленно определено в каждом случае);

3. Конечность (каждое действие и алгоритм в целом должны иметь возможность завершения);

4. Массовость (один и тот же алгоритм можно использовать с разными исходными данными);

5. Результативность (отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значениях).

Виды алгоритмов:

1. Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке);

2. Циклический алгоритм (описание действий, которые должны повторятся указанное число раз или пока не выполнено задание);

3. Разветвляющий алгоритм (алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий)

Источник

Глава 7. Алгоритмы. Алгоритмизация. Алгоритмические языки


7.1. Что такое алгоритм?

Понятие алгоритма такое же основополагающее для информатики, как и понятие информации. Именно поэтому важно в нем разобраться.

Название «алгоритм» произошло от латинской формы имени величайшего среднеазиатского математика Мухаммеда ибн Муса ал-Хорезми (Alhorithmi), жившего в 783—850 гг. В своей книге «Об индийском счете» он изложил правила записи натуральных чисел с помощью арабских цифр и правила действий над ними «столбиком», знакомые теперь каждому школьнику. В XII веке эта книга была переведена на латынь и получила широкое распространение в Европе.

Человек ежедневно встречается с необходимостью следовать тем или иным правилам, выполнять различные инструкции и указания. Например, переходя через дорогу на перекрестке без светофора надо сначала посмотреть направо. Если машин нет, то перейти полдороги, а если машины есть, ждать, пока они пройдут, затем перейти полдороги. После этого посмотреть налево и, если машин нет, то перейти дорогу до конца, а если машины есть, ждать, пока они пройдут, а затем перейти дорогу до конца.

В математике для решения типовых задач мы используем определенные правила, описывающие последовательности действий. Например, правила сложения дробных чисел, решения квадратных уравнений и т. д. Обычно любые инструкции и правила представляют собой последовательность действий, которые необходимо выполнить в определенном порядке. Для решения задачи надо знать, что дано, что следует получить и какие действия и в каком порядке следует для этого выполнить. Предписание, определяющее порядок выполнения действий над данными с целью получения искомых результатов, и есть алгоритм.

Алгоpитм — заранее заданное понятное и точное пpедписание возможному исполнителю совеpшить определенную последовательность действий для получения решения задачи за конечное число шагов.

Это — не определение в математическом смысле слова, а, скорее, описание интуитивного понятия алгоритма, раскрывающее его сущность.

Понятие алгоритма является не только одним из главных понятий математики, но одним из главных понятий современной науки. Более того, с наступлением эры информатики алгоритмы становятся одним из важнейших факторов цивилизации [56].

7.2. Что такое «Исполнитель алгоритма»?

Исполнитель алгоритма — это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом.

Отказы исполнителя возникают, если команда вызывается пpи недопустимом для нее состоянии сpеды.

Обычно исполнитель ничего не знает о цели алгоpитма. Он выполняет все полученные команды, не задавая вопросов «почему» и «зачем».

В информатике универсальным исполнителем алгоритмов является компьютер.

7.3. Какими свойствами обладают алгоpитмы?

Основные свойства алгоритмов следующие:

1. Понятность для исполнителя — исполнитель алгоритма должен понимать, как его выполнять. Иными словами, имея алгоритм и произвольный вариант исходных данных, исполнитель должен знать, как надо действовать для выполнения этого алгоритма.

2. Дискpетность (прерывность, раздельность) — алгоpитм должен пpедставлять пpоцесс pешения задачи как последовательное выполнение пpостых (или pанее опpеделенных) шагов (этапов).

3. Опpеделенность — каждое пpавило алгоpитма должно быть четким, однозначным и не оставлять места для пpоизвола. Благодаpя этому свойству выполнение алгоpитма носит механический хаpактеp и не тpебует никаких дополнительных указаний или сведений о pешаемой задаче.

4. Pезультативность (или конечность) состоит в том, что за конечное число шагов алгоpитм либо должен пpиводить к pешению задачи, либо после конечного числа шагов останавливаться из-за невозможности получить решение с выдачей соответствующего сообщения, либо неограниченно продолжаться в течение времени, отведенного для исполнения алгоритма, с выдачей промежуточных результатов.

5. Массовость означает, что алгоpитм pешения задачи pазpабатывается в общем виде, т.е. он должен быть пpименим для некотоpого класса задач, pазличающихся лишь исходными данными. Пpи этом исходные данные могут выбиpаться из некотоpой области, котоpая называется областью пpименимости алгоpитма.

7.4. В какой форме записываются алгоритмы?


7.5. Что такое словесный способ записи алгоритмов?

Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.

Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Эвклида).

Описанный алгоритм применим к любым натуральным числам и должен приводить к решению поставленной задачи. Убедитесь в этом самостоятельно, определив с помощью этого алгоритма наибольший общий делитель чисел 125 и 75.

7.6. Что такое графический способ записи алгоритмов?

Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным.

При графическом представлении алгоритм изображается в виде последовательности
связанных между собой функциональных блоков, каждый из которых соответствует
выполнению одного или нескольких действий.

Блок «процесс» применяется для обозначения действия или последовательности действий, изменяющих значение, форму представления или размещения данных. Для улучшения наглядности схемы несколько отдельных блоков обработки можно объединять в один блок. Представление отдельных операций достаточно свободно.

Блок «решение» используется для обозначения переходов управления по условию. В каждом блоке «решение» должны быть указаны вопрос, условие или сравнение, которые он определяет.

Блок «модификация» используется для организации циклических конструкций. (Слово модификация означает видоизменение, преобразование). Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и шаг изменения значения параметра для каждого повторения.

Блок «предопределенный процесс» используется для указания обращений к вспомогательным алгоритмам, существующим автономно в виде некоторых самостоятельных модулей, и для обращений к библиотечным подпрограммам.

7.7. Что такое псевдокод?

Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов.

Псевдокод занимает промежуточное место между естественным и формальным языками. С одной стороны, он близок к обычному естественному языку, поэтому алгоритмы могут на нем записываться и читаться как обычный текст. С другой строны, в псевдокоде используются некоторые формальные конструкции и математическая символика, что приближает запись алгоритма к общепринятой математической записи.

Единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором служебных слов и основных (базовых) конструкций.

Примером псевдокода является школьный алгоритмический язык в русской нотации (школьный АЯ), описанный в учебнике А.Г. Кушниренко и др. «Основы информатики и вычислительной техники», 1991. Этот язык в дальнейшем мы будем называть просто «алгоритмический язык».

7.8. Как записываются алгоритмы на школьном алгоритмическом языке?


Основные служебные слова


алг (алгоритм)сим (символьный)данодляда
арг (аргумент)лит (литерный)надоотнет
рез (результат)лог (логический)еслидопри
нач (начало)таб (таблица)тозначвыбор
кон (конец)нц (начало цикла)иначеиввод
цел (целый)кц (конец цикла)всеиливывод
вещ (вещественный)длин (длина)поканеутв

Общий вид алгоритма:

Примеры предложений алг:

алг Объем и площадь цилиндра ( арг вещ R, H, рез вещ V, S )
алг Корни КвУр ( арг вещ а, b, c, рез вещ x1, x2, рез лит t )
алг Исключить элемент ( арг цел N, арг рез вещ таб А[1:N] )
алг Диагональ ( арг цел N, арг цел таб A[1:N, 1:N], рез лит Otvet )

Предложения дано и надо не обязательны. В них рекомендуется записывать утверждения, описывающие состояние среды исполнителя алгоритма, например:

Команды школьного АЯ

Команды если и выбор. Применяют для организации ветвлений.

Команды для и пока. Применяют для организации циклов.

Пример записи алгоритма на школьном АЯ


7.9. Что такое базовые алгоритмические структуры?

Логическая структура любого алгоритма может быть
представлена комбинацией трех базовых структур:
следование, ветвление, цикл.

Характерной особенностью базовых структур является наличие в них одного входа и одного выхода.

7.10. Какие циклы называют итерационными?

На каждом шаге вычислений происходит последовательное приближение к искомому результату и проверка условия достижения последнего.

Пример. Составить алгоритм вычисления бесконечной суммы

с заданной точностью (для данной знакочередующейся бесконечной суммы требуемая точность будет достигнута, когда очередное слагаемое станет по абсолютной величине меньше ).

Вычисление сумм — типичная циклическая задача. Особенностью же нашей конкретной задачи является то, что число слагаемых (а, следовательно, и число повторений тела цикла) заранее неизвестно. Поэтому выполнение цикла должно завершиться в момент достижения требуемой точности.

При составлении алгоритма нужно учесть, что знаки слагаемых чередуются и степень числа х в числителях слагаемых возрастает.

Сравните эти два подхода по числу операций.

Алгоритм на школьном АЯБлок-схема алгоритма

Пример вложенных циклов пока

Вычислить произведение тех элементов заданной матрицы A(10,10), которые расположены на пересечении четных строк и четных столбцов.

7.12. Чем отличается программный способ записи алгоритмов от других?

При записи алгоритма в словесной форме, в виде блок-схемы или на псевдокоде допускается определенный произвол при изображении команд. Вместе с тем такая запись точна настолько, что позволяет человеку понять суть дела и исполнить алгоритм.

Однако на практике в качестве исполнителей алгоритмов используются специальные автоматы — компьютеры. Поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на понятном ему языке. И здесь на первый план выдвигается необходимость точной записи команд, не оставляющей места для произвольного толкования их исполнителем.

Следовательно, язык для записи алгоритмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке — программой для компьютера.

7.13.Что такое уровень языка программирования?

В настоящее время в мире существует несколько сотен реально используемых языков программирования. Для каждого есть своя область применения.

Любой алгоритм, как мы знаем, есть последовательность предписаний, выполнив которые можно за конечное число шагов перейти от исходных данных к результату. В зависимости от степени детализации предписаний обычно определяется уровень языка программирования — чем меньше детализация, тем выше уровень языка.

7.14. Какие у машинных языков достоинства и недостатки?

Каждый компьютер имеет свой машинный язык, то есть свою совокупность машинных команд, которая отличается количеством адресов в команде, назначением информации, задаваемой в адресах, набором операций, которые может выполнить машина и др.

При программировании на машинном языке программист может держать под своим контролем каждую команду и каждую ячейку памяти, использовать все возможности имеющихся машинных операций.

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

7.15. Что такое язык ассемблера?

Язык ассемблера — это машинно-зависимый язык низкого уровня, в котором короткие мнемонические имена соответствуют отдельным машинным командам. Используется для представления в удобочитаемой форме программ, записанных в машинном коде.

Программы, написанные на языке ассемблера, требуют значительно меньшего объема памяти и времени выполнения. Знание программистом языка ассемблера и машинного кода дает ему понимание архитектуры машины. Несмотря на то, что большинство специалистов в области программного обеспечения разрабатывают программы на языках высокого уровня, таких, как Object Pascal или C, наиболее мощное и эффективное программное обеспечение полностью или частично написано на языке ассемблера.

Языки высокого уровня были разработаны для того, чтобы освободить программиста от учета технических особенностей конкретных компьютеров, их архитектуры. В противоположность этому, язык ассемблера разработан с целью учесть конкретную специфику процессора. Сдедовательно, для того, чтобы написать программу на языке ассемблера для конкретного компьютера, важно знать его архитектуру [57].

Перевод программы с языка ассемблера на машинный язык осуществляется специальной программой, которая называется ассемблером и является, по сути, простейшим транслятором.

7.16. В чем преимущества алгоритмических языков перед машинными?


7.17. Какие компоненты образуют алгоритмический язык?

Алгоритмический язык (как и любой другой язык) образуют три его составляющие: алфавит, синтаксис и семантика.

Алфавит — это фиксированный для данного языка набор основных символов, т.е. «букв алфавита», из которых должен состоять любой текст на этом языке — никакие другие символы в тексте не допускаются.

Семантика определяет смысловое значение предложений языка. Являясь системой правил истолкования отдельных языковых конструкций, семантика устанавливает, какие последовательности действий описываются теми или иными фразами языка и, в конечном итоге, какой алгоритм определен данным текстом на алгоритмическом языке.

7.18. Какие понятия используют алгоритмические языки?

Каждое понятие алгоритмического языка подразумевает некоторую синтаксическую единицу (конструкцию) и определяемые ею свойства программных объектов или процесса обработки данных.

Понятие языка определяется во взаимодействии синтаксических и семантических правил. Синтаксические правила показывают, как образуется данное понятие из других понятий и букв алфавита, а семантические правила определяют свойства данного понятия

Основными понятиями в алгоритмических языках обычно являются следующие.

1. Имена (идентификаторы) — употpебляются для обозначения объектов пpогpаммы (пеpеменных, массивов, функций и дp.).

Выражения записываются в виде линейных последовательностей символов (без подстрочных и надстрочных символов, «многоэтажных» дробей и т.д.), что позволяет вводить их в компьютер, последовательно нажимая на соответствующие клавиши клавиатуры.

Операторы подpазделяются на исполняемые и неисполняемые. Неисполняемые опеpатоpы пpедназначены для описания данных и стpуктуpы пpогpаммы, а исполняемые — для выполнения pазличных действий (напpимеp, опеpатоp пpисваивания, опеpатоpы ввода и вывода, условный оператор, операторы цикла, оператор процедуры и дp.).

7.19. Что такое стандартная функция?

При решении различных задач с помощью компьютера бывает необходимо вычислить логарифм или модуль числа, синус угла и т.д.

Таблица стандартных функций школьного алгоритмического языка


Название и математическое обозначение функцииУказатель функции
Абсолютная величина (модуль)| х |abs(x)
Корень квадратныйsqrt(x)
Натуральный логарифмln xln(x)
Десятичный логарифмlg xlg(x)
Экспонента (степень числа е

Каждый язык программирования имеет свой набор стандартных функций.

7.20. Как записываются арифметические выражения?


Примеры записи арифметических выражений

Типичные ошибки в записи выражений:

5x + 1
a + sin x
((a + b)/c**3
Пропущен знак умножения между 5 и х
Аргумент x функции sin x не заключен в скобки
Не хватает закрывающей скобки

7.21. Как записываются логические выражения?

В записи логических выражений помимо арифметических операций сложения, вычитания, умножения, деления и возведения в степень используются операции отношения (больше), >= (больше или равно), = (равно), <> (не равно), а также логические операции и, или, не.

Примеры записи логических выражений, истинных при выполнении указанных условий.


7.22. Упражнения

7.1. Запишите по правилам алгоритмического языка выражения:

a)e)
б)ж)
в)з)
г)и)
д)к)

[ Ответ ]

7.2. Запишите в обычной математической форме арифметические выражения:

а) a / b ** 2;
б) a+b/c+1;
в) 1/a*b/c;
г) a**b**c/2;
д) (a**b)**c/2;
е) a/b/c/d*p*q;
ж) x**y**z/a/b;
з) 4/3*3.14*r**3;
и) b/sqrt(a*a+b);
к) d*c/2/R+a**3;
л) 5*arctg(x)-arctg(y)/4;
м) lg(u*(1/3)+sqrt(v)+z);
н) ln(y*(-sqrt(abs(x))));
о) abs(x**(y/x)-(y/x)**(1/3));
п) sqrt((x1-x2)**2+(y1-y2)**2);
р) exp(abs(x-y))*(tg(z)**2+1)**x;
c) lg(sqrt(exp(x-y))+x**abs(y)+z);
т) sqrt(exp(a*x)*sin(x)**n)/cos(x)**2;
у) sqrt(sin(arctg(u))**2+abs(cos(v)));
ф) abs(cos(x)+cos(y))**(1+sin(y)**2);

[ Ответ ]

7.3. Вычислите значения арифметических выражений при x=1:
а) abs(x-3)/ln(exp(3))*2/lg(10000);
Решение: abs(1-3)=2; ln(exp(3))=3; lg(10000)=4; 2/3*2/4=0.33;

7.4. Запишите арифметические выражения, значениями которых являются:
а) площадь треугольника со сторонами a, b, c (a, b, c>0) и полупериметром p;
Ответ: sqrt(p*(p-a)*(p-b)*(p-c));

б) среднее арифметическое и среднее геометрическое чисел a, b, c, d;
в) расстояние от точки с координатами (x,y) до точки (0,0);
г) синус от x градусов;
д) площадь поверхности куба (длина ребра равна а);
е) радиус описанной сферы куба (длина ребра равна а);
ж) координаты точки пересечения двух прямых, заданных уравнениями
a 1 x+b 1 y+c 1 =0 и a 2 x+b 2 y+c 2 =0 (прямые не параллельны).
[ Ответ ]

7.7. Начертите на плоскости (x,y) область, в которой и только в которой истинно указанное выражение. Границу, не принадлежащую этой области, изобразите пунктиром.

а) (x =0)
Ответ:

е) ((x-2)**2+y*y x/2)
Ответ:

б) (x>=0) или (y =0
г) (x+y>0) и (y =1
ж) (x*x+y*y x*x);
з) (y>=x) и (y+x>=0) и (y 1);

[ Ответ ]

7.8. Запишите логическое выражение, которое принимает значение «истина» тогда и только тогда, когда точка с координатами (x, y) принадлежит заштрихованной области.

[ Ответ ]

в противном случае
[ Ответ ]

7.12. Постройте графики функций y(x), заданных командами если:

Решение

[ Ответ ]

7.13. Определите значение целочисленной переменной S после выполнения операторов:

Решение
iS
128
1128/2=64
264/2=32
332/2=16
416/2=8
Ответ: S=8
Решение
ijS
0
120+1+2=3
33+1+3=7
227+2+2=11
311+2+3=16
Ответ: S=16

[ Ответ ]

7.14. Определите значение переменной S после выполнения операторов:

Решение
Условие iiS
00
010+1 2 =1
121+2 2 =5
235+3 2 =14
3
Ответ: S=14
Решение
Условие N > 0SN
0125
125 > 0? да0+5=512
12 > 0? да5+2=71
1 > 0? да7+1=80
0 > 0? нет (кц)
Ответ: S=8

[ Ответ ]

7.15. Составьте алгоритмы решения задач линейной структуры (условия этих задач заимствованы из учебного пособия В.М. Заварыкина, В.Г. Житомирского и М.П. Лапчика «Основы информатики и вычислительной техники», 1989):

в) в треугольнике известны три стороны a, b и c; найти радиус описанной окружности и угол A (в градусах), используя формулы: где

г) в правильной треугольной пирамиде известны сторона основания a и угол A (в градусах) наклона боковой грани к плоскости основания; найти объем и площадь полной поверхности пирамиды, используя формулы:

V=S ocн · H/2;
где

д) в усеченном конусе известны радиусы оснований R и r и угол A (в радианах) наклона образующей к поверхности большего основания; найти объем и площадь боковой поверхности конуса, используя формулы:

где

7.16. Составьте алгоритм решения задач развлетвляющейся структуры:

а) определить, является ли треугольник с заданными сторонами a, b, c равнобедренным;
Решение:

б) определить количество положительных чисел среди заданных чисел a, b и c;

в) меньшее из двух заданных неравных чисел увеличить вдвое, а большее оставить без изменения;

г) числа a и b — катеты одного прямоугольного треугольника, а c и d — другого; определить, являются ли эти треугольники подобными;

д) даны три точки на плоскости; определить, какая из них ближе к началу координат;

е) определить, принадлежит ли заданная точка (x, y) плоской фигуре, являющейся кольцом с центром в начале координат, с внутренним радиусом r1 и внешним радиусом r2 ;

ж) упорядочить по возрастанию последовательность трех чисел a, b и c.
[ Ответ ]

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *