Invest-currency.ru

Как обезопасить себя в кризис?
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Алгоритмический язык программирования

Алгоритмический язык программирования

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

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

Алголо-подобный алгоритмический язык с русским синтаксисом был введён в употребление академиком А. П. Ершовым в середине 1980-х годов, в качестве основы для «безмашинного» курса информатики.

Основные служебные слова алгоритмического языка

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

Логические функции и значения для составления выражений

  • и
  • или
  • не
  • да
  • нет
  • ввод
  • вывод

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

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

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

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

Основные алгоритмические структуры

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

Русский алгоритмический язык

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

Алголо-подобный алгоритмический язык с русским синтаксисом был введён в употребление академиком А. П. Ершовым в середине 1980-х годов, в качестве основы для «безмашинного» курса информатики. Впервые был опубликован в учебнике «Информатика-9» в 1985 г. Язык также использовался для записи алгоритмов в учебнике А. Г. Кушниренко «Основы информатики и вычислительной техники» для 9-10 классов (издание 1990 года было выпущено тиражом в 7 млн экземпляров).

Содержание

Примеры

Алгоритм на алгоритмическом языке в общем виде записывается в форме:

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

Пример вычисления суммы квадратов:

Е-практикум

Для подкрепления теоретического изучения программирования по алгоритмическому языку, специалистами мехмата МГУ в 1985 г. был создан редактор-компилятор «Е-практикум» («Е» — в честь Ершова), позволяющий вводить, редактировать и исполнять программы на алгоритмическом языке.

В 1986 г. для «Е-практикума» был выпущен комплект учебных миров (исполнителей): «Робот», «Чертежник»», «Двуног», «Вездеход», которые позволяют просто вводить понятия алгоритма. «Е-практикум» был реализован на компьютерах: Ямаха, Корвет, УКНЦ и получил широкое распространение.

Данный язык программирования постоянно дорабатывался и описание более позднего варианта «Е-практикума» появилось в учебнике 1990 года. Система программирования «КуМир» («Комплект Учебных Миров»), поддерживающая этот учебник, была выпущена в свет предприятием «ИнфоМир» в 1990 году. Язык этой системы также называется «КуМир».

В 1995 году «КуМир» был рекомендован Министерством образования РФ в качестве основного учебного материала по курсу «Основы информатики и вычислительной техники» на основе учебника А. Г. Кушниренко, Г.В.Лебедева и Р.А.Свореня. [1].

Критика

Однако, следует заметить, что алгоритмический язык при отсутствии деталей, связывающих его с архитектурой компьютера напрямую, тем не менее, относясь к Алголо-подобным языкам, неявно обучает школьников опираться на фон-неймановскую архитектуру машин. (Архитектура фон Неймана является практической реализацией более ранней идеи, имеющей название Машина Тьюринга. Кроме идеи Тьюринга существуют и другие идеи. Популярнейшая из них имеет название Лямбда-исчисление: над ней работал Алонзо Чёрч. Лисп-машина — это архитектура, которая основывается на Лямбда-исчислении.)

Ссылки

Wikimedia Foundation . 2010 .

Смотреть что такое «Русский алгоритмический язык» в других словарях:

Алгоритмический язык — Алгоритмический язык формальный язык, используемый для записи, реализации или изучения алгоритмов. Всякий язык программирования является алгоритмическим языком, но не всякий алгоритмический язык пригоден для использования в качестве языка… … Википедия

ДРАКОН (алгоритмический язык) — У этого термина существуют и другие значения, см. Дракон (значения). Пример блок схемы алгоритма на языке ДРАКОН дракон схемы ДРАКОН (Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность) визуальный… … Википедия

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

Школьный алгоритмический язык — Алгоритмический язык (также русский алгоритмический язык, РАЯ) язык программирования, используемый для записи и изучения алгоритмов. При изучении информатики в школах для изучения основ алгоритмизации применяется т. н. школьный алгоритмический… … Википедия

Читать еще:  Код ошибки 1603

Язык учебного программирования — Учебный язык программирования язык программирования, предназначенный для обучения специалистов программированию. Такой язык должен отвечать главному требованию: простота. Чем проще он будет, тем быстрее его освоит новичок. Возможности таких… … Википедия

ДРАКОН (язык программирования) — Пример блок схемы алгоритма на языке ДРАКОН дракон схемы ДРАКОН (Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность) визуальный алгоритмический язык, созданный в рамках космической программы Буран. Разработка данного языка … Википедия

Дракон (язык) — Пример блок схемы алгоритма на языке ДРАКОН дракон схемы ДРАКОН (Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность) визуальный алгоритмический язык, созданный в рамках космической программы Буран. Разработка данного языка … Википедия

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

ДРАКОН — Эта статья предлагается к удалению. Пояснение причин и соответствующее обсуждение вы можете найти на странице Википедия:К удалению/28 сентября 2012. Пока процесс обсуждения не завершён, статью мож … Википедия

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

Алгоритмические языки программирования.

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

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

Первым алгоритмическим языком стал Fortran, созданный в 1957г. специалистами фирмы IBM под руководством Джона Бекуса. Сейчас существует большое множество алгоритмических языков: Pascal, C, Algol, PL1, Basic, Lisp, Prolog и многие другие.

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

21) Структура программы на языке С/C++.

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

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

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

Пример структуры программы, содержащей функции main, fl и f2:

Программа может состоять из нескольких модулей (исходных файлов).

Несколько замечаний о вводе/выводе в C++

В языке С++ нет встроенных средств ввода/вывода — он осуществляется с помощью функций, типов и объектов, содержащихся в стандартных библиотеках. Используется два способа: функции, унаследованные из языка С, и объекты С++.

Основные функции ввода/вывода в стиле С:

int scanf (const char* format, . ) // ввод
int printf(const char* format, . ) // вывод

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

Пример программы, использующей функции ввода/вывода в стиле С:

#include
int main() <
int i;
printf(«Введите целое числоп»);
scanf(«%d», &i);
printf(«Вы ввели число %d, спасибо!», i);
return 0;
>

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

Третья строка — описание переменной целого типа с именем i.

Функция printf в четвертой строке выводит приглашение «Введите целое число» и переходит на новую строку в соответствии с управляющей последовательностью n. Функция scanf заносит введенное с клавиатуры целое число в переменную i (знак & означает операцию получения адреса), а следующий оператор выводит на экран указанную в нем строку, заменив спецификацию преобразова-
ния на значение этого числа.

Читать еще:  Что за ошибка 491

А вот как выглядит та же программа с использованием библиотеки классов С++:

#include
int main() <
int i;
cout > i;
cout >.

22) Алфавит и идентификаторы в языке С/C++.

АЛФАВИТ
• прописные и строчные латинские буквы и знак подчеркивания;
• арабские цифры от 0 до 9;
• пробельные символы: пробел, символы табуляции, символы перехода на но­ вую строку.
• специальные знаки:

Из символов алфавита формируются лексемы языка:
• идентификаторы;
• ключевые (зарезервированные) слова;
• знаки операций;
• константы;
• разделители (скобки, точка, запятая, пробельные символы).

ИДЕНТИФИКАТОРЫ
• В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания;
• Прописные и строчные буквы различаются;
• Первым символом идентификатора может быть буква или знак подчеркивания, но не цифра;
• Пробелы внутри имен не допускаются;
• Длина идентификатора по стандарту не ограничена, но некоторые компиляторы и компоновщики налагают на нее ограничения;
• Идентификатор не должен совпадать с ключевыми словами;
• Не рекомендуется начинать идентификаторы с символа подчеркивания (могут совпасть с именами системных функций или переменных);
• На идентификаторы, используемые для определения внешних переменных;
• Есть ограничения компоновщика (использование различных компоновщиков или версий компоновщика накладывает разные требования на имена внешних переменных).

Ключевые слова С++

23) Целые типы данных в языке С/C++.

Целый тип данных предназначен для представления в памяти компьютера обычных целых чисел. Основным и наиболее употребительным целым типом является тип int. Гораздо реже используют его разновидности: short (короткое целое) и long (длинное целое). Также к целым типам относится тип char (символьный). Кроме того, при необходимости можно использовать и тип long long (длинное-предлинное!), который хотя и не определён стандартом, но поддерживается многими компиляторами C++. По-умолчанию все целые типы являются знаковыми, т.е. старший бит в таких числах определяет знак числа: 0 — число положительное, 1 — число отрицательное. Кроме знаковых чисел на C++ можно использовать беззнаковые. В этом случае все разряды участвуют в формировании целого числа. При описании беззнаковыхцелыхпеременных добавляется слово unsigned (без знака).

Сводная таблица знаковых целых типов данных:

Алгоритмический язык программирования

Алгоритмические языки и программирование

кафедра теоретической механики и сопротивления материалов (СМиТМ);

лекции, семинары, лабораторные работы: к.т.н., доцент Чеканин Владислав Александрович.

О дисциплине

Дисциплина «Алгоритмические языки и программирование» реализуется в 3-4 семестрах кафедрой теоретической механики и сопротивления материалов (450Б).

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

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

Промежуточная аттестация осуществляется в форме зачёта в 3-м семестре и экзамена в 4-м семестре.

Зачёт

  • Необходимо приходить строго в указанное время .
  • При себе нужно иметь зачётную книжку.

Лабораторные работы

  • Шаблон отчёта по лабораторной работе (DOC)

Материалы лекций

  • Программа на языке Prolog (файл .PRO)

Список рекомендуемой литературы

  1. Чеканин В.А., Чеканин А.В. Основы алгоритмизации и программирования на языках C и C++: учеб. пособие. – М.: ФГБОУ ВО «МГТУ «СТАНКИН», 2016. – 303 с.
    (в библиотеке код 681.306 Ч-37).
  2. Чеканин В.А., Чеканин А.В., Волков А.Э. Основы программирования на алгоритмическом языке высокого уровня: учебное пособие. – М.: МГТУ «СТАНКИН», 2011. – 136 с. (методичка в библиотеке № 651).
  3. Алиев Р.С. Процедурное программирование на языке С++: Конспект лекций. – М.: МГТУ «Станкин», 2007. – 113 с.
  4. Подбельский В.В., Фомин С.С. Программирование на языке Си. – М.: Финансы и статистика, издания 2003-2007 (издания аналогичны). – 600 с.

Особенности работы в среде Microsoft Visual Studio

(при установке необходимо выбрать опцию «Разработка классических приложений на С++»)

Примечание. Для корректного отображения текста на русском языке в среде Microsoft Visual Studio Community 2017 необходимо сохранить файл главного модуля программы (файла с расширением .cpp, содержащего функцию main) в кодировке Windows-1251. Для этого в главном меню выбрать «Файл->Сохранить *.cpp как. » (здесь символом «*» обозначено имя файла). После чего в появившимся окне справа от «Сохранить» нажать на стрелку и выбрать «Сохранить с кодировкой» и подтвердить замену файла. В окне «Дополнительные параметры сохранения» выбрать кодировку «Кириллица (Windows) — кодовая страница 1251» и нажать кнопку «OK». После чего скомпилированная программа будет корректно отображать текст на русском языке в консольном окне.

#include
#include
#include

int main(void)
<
setlocale(LC_ALL, «RUS»);

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

Алгоритмические языки

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

Почти сразу с возникновением компьютеров были разработаны языки высокого уровня, т.е. языки, не зависящие от конкретной архитектуры. Для выполнения программы на языке высокого уровня ее нужно сначала перевести на язык машинных команд. Специальная программа , выполняющая такой перевод, называется транслятором или компилятором. Оттранслированная программа затем выполняется непосредственно компьютером. Существует также возможность перевода программы на промежуточный язык , не зависящий от архитектуры конкретного компьютера, но тем не менее максимально приближенный к языку машинных команд. Затем программа на промежуточном языке выполняется специальной программой, которая называется интерпретатором. Возможен также вариант компиляции «на лету» (Just In Time Compilation ), когда выполняемый фрагмент программы переводится с промежуточного языка на язык машинных команд непосредственно перед выполнением.

Читать еще:  Ошибка 0x80070570 на флешке как исправить

Наиболее распространенные компилируемые языки — это Си , C++, Фортран, Паскаль . Интерпретируемые и компилируемые на лету языки — это в основном объектно-ориентированные языки, такие как Java , Visual Basic и C#. Все они вначале переводятся на промежуточный язык : для Java это так называемый байткод языка Java , для Visual Basic и C# — так называемый промежуточный язык ( Intermediate Language или просто IL), являющийся одним из основных компонентов платформы «. Net » фирмы Microsoft. Промежуточный язык может интерпретироваться специальным исполнителем (например, виртуальной Java -машиной), но, как правило, в современных системах применяется компиляция на лету, что позволяет достичь большего быстродействия.

Исторически одним из первых языков высокого уровня был Фортран. Он оказался исключительно удачным — простым и в то же время очень эффективным. До сих пор большая часть научных и инженерных программ написана на Фортране. Тем не менее, в последние 20 лет программисты отдают предпочтение языку Си и связанной с ним линии объектно-ориентированных языков — C++, Java и C#.

Другой значительной вехой в истории алгоритмических языков является разработка языка Алгол -60 (расшифровывается как aлгоритмический язык — ALGOrithmic Language ). Возникновение языка Алгол -60 связано с развитием структурного подхода к программированию, в котором используется вложение конструкций языка друг в друга. Так, основная единица языка — оператор — может быть простым или составным, т.е. состоящим в свою очередь из нескольких операторов, заключенных в блок с помощью ключевых слов begin и end . Внутри блока можно описывать локальные переменные, недоступные извне блока, и даже подпрограммы или функции.

Язык Алгол -60 способствовал развитию алгоритмических языков, его наследником является, например, Паскаль и вся линия связанных с ним языков: Modula-2, Oberon и Delphi. Тем не менее, Алгол -60 оказался далеко не таким удачным, как Фортран. В нем присутствовали непродуманные решения, в частности, возможность вложения подпрограмм внутрь других подпрограмм, а также неудачный механизм передачи параметров подпрограмм. Из-за этого Алгол -60 не был реализован на практике в полном соответствии со стандартом (в отличие от языков типа Алгамс, отступавших от стандарта в сторону простоты и удобства использования). Язык Паскаль появился тоже как коррекция Алгола-60, но, к сожалению, унаследовал его главное неудачное решение — вложенность подпрограмм друг в друга. Также в первоначальном варианте языка Паскаль отсутствовала возможность разбиения программы на файлы. Эти недостатки были затем исправлены автором Паскаля, замечательным швейцарским ученым и педагогом Никлаусом Виртом, в языках Modula-2 и Oberon . Но, к сожалению, программистское сообщество проигнорировало язык Oberon , остановившись на немного улучшенном варианте языка Паскаль . В настоящее время Паскаль , как правило, используется для обучения программированию, но не в практической работе.

Наконец, самый успешный язык программирования — язык Си и связанная с ним линия объектно-ориентированных языков: C++, Java , C#. В отличие от Алгола-60, язык Си был создан не теоретиками, а практическими программистами, обладающими при этом высокой математической культурой. Язык был разработан в конце 60-х годов XX века. Он впервые позволил реально избавиться от Ассемблера при создании операционных систем. Например, практически весь текст операционной системы Unix написан на языке Си и, таким образом, не зависит от конкретного компьютера. Главным достоинством Си является его простота и отсутствие псевдонаучных решений (таких, как вложенность блоков программ друг в друга: в Си функция не может содержать внутри себя другую функцию, а переменные четко разделяются на глобальные и локальные — не так, как в Алголе, где локальные переменные подпрограммы являются глобальными для всех вложенных в нее подпрограмм). Просто и ясно описан механизм передачи параметров в функцию (только по значению). Программист, создающий программу на Си , всегда четко понимает, как эта программа будет выполняться. Понятие указателя, статические и автоматические (стековые) переменные языка Си максимально близко отражают устройство любого современного компьютера, поэтому программы на Си эффективны и удобны для отладки.

В настоящее время подавляющая часть программ пишется на языках Си и C++. Интерфейс любой операционной системы (так называемый API — Application Programming Interface ), т.е. набор системных вызовов, предназначенных для разработчиков прикладных программ, как правило, представляет собой набор функций на языке Си . Наконец, современные объектно-ориентированные языки также основаны на языке Си . Это язык C++, занимающий промежуточное положение между традиционными и объектно-ориентированными языками, а также объектно-ориентированные языки Java и C#.

В курсе будем использовать псевдокод для неформальной записи алгоритмов, а также языки Си , C++ и C# для практического программирования. Применение объектно-ориентированных языков C++ и C# значительно облегчает программирование оконных приложений в системах типа Windows , тогда как при разработке программ, не связанных с графическим интерфейсом (например, математических расчетов), можно обойтись и более простым языком Си .

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector