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

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

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

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

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

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

Формы записи алгоритмов. Исполнители. Видеоурок по информатике 6 класс

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

— машинно-независимые (языки высокого уровня).

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

Языки высокого уровня делятся на:

— Процедурные (алгоритмические) (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов; для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения.

— Логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания.

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

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

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

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

Формы записи алгоритмов | Информатика 6 класс #20 | Инфоурок

9.4.2. Процедурно-ориентированное программирование [12]

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

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

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

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

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

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

Читайте также:
Программа объявлений о продаже авто

Дальнейшее увеличение программных систем способствовало формированию новой точки зрения на процесс разработки программ и написания программных кодов, которая получила название методологии структурного программирования. Ее основой является процедурная декомпозиция предметной области решаемой задачи и организация отдельных модулей в виде совокупности процедур. В рамках этой методологии получило развитие нисходящее проектирование программ, или проектирование » сверху вниз «. Пик популярности идей структурного программирования приходится на конец 70-х — начало 80-х годов.

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

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:

Источник: studopedia.ru

Свойства и способы записи алгоритмов

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

способы записи алгоритмов

Общие сведения

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

Само слово «алгоритм» происходит от латинской формы имени математика IX века аль-Хорезми. Он стал первым, кто смог составить особенности работы с арифметическими действиями. Изначально инструкциями считались обычные правила выполнения сложения, вычитания, умножения, деления. Сейчас же алгоритм – это определенный способ действия, который при помощи установленного количества шагов приводит к полному решению поставленной задачи.

формы записи алгоритмов

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

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

Свойство № 1

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

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

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

Свойство № 2

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

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

Свойство № 3

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

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

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

Виды алгоритмов по способу записи

Как можно записывать алгоритмы? Есть наиболее популярные способы. Речь идет о словесном, формально-словесном, блок-схемном, диаграммном методах. А также о псевдокоде и языках программирования. Рассмотрим некоторые из видов записи алгоритмов.

Словесный способ

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

Читайте также:
Как вставить видео в видео на Андроид программа

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

Формально-словесный способ

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

Блок-схемы

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

виды записи алгоритмов

Языки программирования

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

Псевдокод

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

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

Источник: fb.ru

Формы записи алгоритмов

На практике наиболее распространены следующие формы представления алгоритмов:

· словесная (запись на естественном языке);

· графическая (изображения из графических символов);

· псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);

· программная (тексты на языках программирования).

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

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

Алгоритм может быть следующим:

1. задать два числа;

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

3. определить большее из чисел;

4. заменить большее из чисел разностью большего и меньшего из чисел;

5. повторить алгоритм с шага 2.

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

Словесный способ не имеет широкого распространения, так как такие описания:

· строго не формализуемы;

· страдают многословностью записей;

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

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

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

Название символа Обозначение и пример заполнения Пояснение
Процесс Вычислительное действие или последовательность действий
Решение Проверка условий
Модификация Начало цикла
Предопределенный процесс Вычисления по подпрограмме, стандартной подпрограмме
Ввод-вывод Ввод-вывод в общем виде
Пуск-останов Начало, конец алгоритма, вход и выход в подпрограмму

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

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

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

Читайте также:
Программа обс системные требования

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

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

2. Базовая структура «ветвление». Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах:

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

Цикл типа пока. Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока.

Цикл типа для. Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне.

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

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

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

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

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

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

· машинно-независимые (языки высокого уровня).

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

Языки высокого уровня делятся на:

· процедурные (алгоритмические) (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов; для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения;

· логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;

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

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

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

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

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

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

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

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:

Источник: studopedia.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru