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

Содержание

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

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

Как бы я изучал АЛГОТРЕЙДИНГ, если бы мог начать все с начала

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

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

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

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

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

алг название алгоритма (аргументы и результаты)

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

надо цель выполнения алгоритма

нач описание промежуточных величин

последовательность команд (тело алгоритма)

Кон

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

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

Читайте также:
Какие программы использует мармок для превью

Как писать программы для ЕГЭ по информатике — алгоритм для любого задания l Коля Касперский

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

алг Объем и площадь цилиндра ( арг вещ R, H, рез вещ V, S )

алг Корни КвУр ( арг вещ а, b, c, рез вещ x1, x2, рез лит t )

алг Исключить элемент ( арг цел N, арг рез вещ таб А[1: N] )

алг Диагональ ( арг цел N, арг цел таб A[1: N, 1: N], рез лит Otvet )

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

алг Замена (арг лит Str1, Str2, арг рез лит Text)

дано | длины подстрок Str1 и Str2 совпадают

надо | всюду в строке Text подстрока Str1 заменена на Str2

алг Число максимумов (арг цел N, арг вещ таб A[1: N], рез цел K)

надо | К — число максимальных элементов в таблице А

алг Сопротивление (арг вещ R1, R2, арг цел N, рез вещ R)

дано | N> 5, R1> 0, R2> 0

надо | R — сопротивление схемы

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

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

алг (алгоритм) сим (символьный) дано для да

арг (аргумент) лит (литерный) надо от нет

рез (результат) лог (логический) если до при

нач (начало) таб(таблица) то знач выбор

кон (конец) нц (начало цикла) иначе и ввод

цел (целый) кц (конец цикла) все или вывод

вещ (вещественный) длин (длина) пока не утв

Основные команды:

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

Например: a: = (b+c) * sin(Pi/4); i: = i+1.

Команды ввода и вывода.

ввод имена переменных (ввод данных с клавиатуры)

вывод имена переменных, выражения, тексты. (вывод данных на экран)

Команды ветвления.

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

Структура ветвление существует в четырех основных вариантах:

1. Команда если — то;

если условие

то действия

Все

2. Команда если — то — иначе;

если условие

то действия 1

иначе действия 2

Все

3. Команда выбор;

Выбор

при условие 1: действия 1

при условие 2: действия 2

при условие N: действия N

Все

4. Команда выбор — иначе.

Выбор

при условие 1: действия 1

при условие 2: действия 2

при условие N: действия N

иначе действия N+1

Все

Команды цикла.

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

Для организации циклов существуют две команды:

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

нц пока условие

кц

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

нц для i от i1 до i2

кц

ЯЗЫКИ ПРОГРАММИРОВАНИЯ

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

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

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

Языки программированияимеют следующие характеристики:

  • Уровень языка — характеризуется сложностью задач, решаемых с помощью этого языка.
  • Мощность языка — характеризуется количеством и многообразием задач, алгоритмы решения которых можно записать, используя этот язык.
  • Надежность— язык должен обеспечивать минимум ошибок при написа­нии программ. Более того, язык должен быть таким, чтобы неправильные программы было трудно писать.
  • Удобочитаемость — легкость восприятия программ человеком. Это харак­теристика важна при коллективной работе, когда несколько человек работают с одними и теми же текстами программ.
  • Полнота— характеризует способность описать класс задач в некоторой предметной области.
  • Гибкость— характеризует легкость выражения необходимых действий.
Читайте также:
Программа для удаления файлов с флешки которые не удаляются

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

  • машинные;
  • машинно-оpиентиpованные (ассемблеpы);
  • машинно-независимые (языки высокого уровня).

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

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

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

Создание программы для ЭВМ включает следующие стадии:

§ тестирование и отладка;

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

  • Первое поколение: Машинные языки. Появились в середине 40-х годов XX века.
  • Второе поколение: Ассемблеры. Фактически это те же машинные языки, но более красиво » обернутые». Появились в конце 50-х годов XX века
  • Третье поколение: Процедурные языки. Появились в начале 60-х годов XX века. К этому поколению относят универсальные языки высокого уровня, с помощью которых можно решать задачи из любых областей (например, Algol-60).
  • Четвертое поколение: Языки поддержки сложных структур данных (напри­мер, SQL). Появились в конце 60-х годов XX века.
  • Пятое поколение: Языки искусственного интеллекта (например, Prolog). Появились в начале 70-х годов XX века.
  • Шестое поколение: Языки нейронных сетей (самообучающиеся языки). Исследовательские работы в этой области начались в середине 80-х годов XX века.

ЗАКЛЮЧЕНИЕ

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

Источник: lektsia.com

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

— запись текстов программ на алгоритмическом языке высокого уров­ня, используя правила стиля программирования.

Порядок выполнения работы и отчетность

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

В отчете должны быть представлены листинги текстов программ.

Теоретические сведения.

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

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

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

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

Читайте также:
Оценка эффективности программы использование и охрана земель

Общая организация программы и ее запись

Также как разделение большого произведения на главы и параг­рафы облегчает чтение, так и разбиение большой программы на па­раграфы, разделы (подпрограммы и модули), путем выделения логи­ческих единиц улучшает восприятие программы; помогает избежать однообразия и хорошо организовать материал. Название раздела от­ражает его цель.

Структура программы хорошо реализуется с некоторым смещением. Для ЭВМ форма записи программы безразлична: смещение строк пред­назначено для удобства чтения программы человеком. Смещение строк не должно быть большим: двух-трех позиций вполне достаточно, что­бы выделить структуру программы.

Основные правила записи различных структурных конструкций

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

1. Короткий составной оператор:

BEGIN A1; A2; . ; An END;

2. Длинный составной оператор:

Источник: studfile.net

Презентация на тему Программа. Программирование на алгоритмическом языке

Программа – это алгоритм, записанный на каком-либо языке программирования набор команд

присваивания – это команда для записи нового значения в переменную.

Как записать значение в переменную? a := 5 Оператор присваивания 5

Слайд 9Блок-схема линейного алгоритма
начало
конец
c := a + b
ввод

a, b
блок «начало»
блок «ввод»
блок «процесс»
блок «вывод»
блок «конец»
вывод

Блок-схема линейного алгоритма начало конец c := a + b ввод a,

Слайд 10Как ввести значение с клавиатуры?
ввод a

Как ввести значение с клавиатуры? ввод a Оператор ввода 5 a

Слайд 11Ввод значений двух переменных
через пробел:
25 30

через запятую:
25,30
ввод

a, b
Ввод значений двух переменных.

Ввод значений двух переменных через пробел: 25 30 через запятую: 25,30

Слайд 12Изменение значения переменной
алг Тест
нач
цел a, b

a := 5
b := a +

2
a := (a + 2)*(b – 3)
b := b + 1
кон

Изменение значения переменной алг Тест нач цел a, b a

Слайд 13Арифметические операции
+ сложение – вычитание
* умножение / деление

div деление нацело (остаток отбрасывается)
mod остаток от

цел a, b
a := 7*3 — 4 | 17
a := a * 5 | 85
b := div(a,10) | 8
a := mod(a,10) | 5

Арифметические операции + сложение – вычитание * умножение / деление div деление

Слайд 14Вывод данных
|вывод значения |переменной a
|вывод значения |переменной

a и переход |на новую строчку
|вывод текста
|вывод

текста и значения переменной c

Вывод данных |вывод значения |переменной a |вывод значения |переменной a и переход

вывод a, «+», b, » image»>

Слайд 15Задача: сложение чисел
Задача. Ввести два целых числа

и вывести на экран их сумму.
Простое решение:
алг

Сумма
нач
цел a, b, c
ввод a, b
c := a + b
вывод c
кон

Задача: сложение чисел Задача. Ввести два целых числа и вывести на экран

Слайд 16Полное решение
алг Сумма
нач
цел a, b,

c
вывод «Введите два целых числа»
ввод

Полное решение алг Сумма нач цел a, b, c

a, b
c := a + b
вывод a, «+», b, » image»>

Слайд 17Порядок выполнения операций
вычисление выражений в скобках
умножение, деление,

div, mod слева направо
сложение и вычитание слева

2 3 5 4 1 10 6 9 8 7

Порядок выполнения операций вычисление выражений в скобках умножение, деление, div, mod слева

Слайд 18Команда «вывод»
цел a = 1, b =

3
вывод a, «+», b, » image»> Команда «вывод» цел a = 1, b = 3 вывод a,

Слайд 19Что будет выведено?
цел a = 1, b

= 3
вывод «a+», b, «=a+b»
a+3=a+b
цел a =

1, b = 3
вывод a, «=F(«, b, «)»

цел a = 1, b = 3
вывод «a=F(«, b, «);»

цел a = 1, b = 3
вывод a+b, «>», b, «!»

цел a = 1, b = 3
вывод «F(«, b, «)=X(«, a, «)»

Слайд 20Разветвляющиеся алгоритмы
Задача. Ввести два целых числа и

вывести на экран наибольшее из них.
Идея решения:

надо вывести на экран первое число, если оно больше второго, или второе, если оно больше первого.
Особенность: действия исполнителя зависят от некоторых условий (если … иначе …).

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

Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на экран наибольшее

Слайд 21Вариант 1. Программа

алг Максимум нач цел a,

b, M вывод «Введите два целых числа»,

нс ввод a, b если a > b то иначе все вывод «Наибольшее число «, M кон

полная форма условного оператора

Слайд 22Условный оператор
если условие то
| что

делать, если условие верно
иначе
|

что делать, если условие неверно
все

Условный оператор если условие то | что делать, если условие

Слайд 23Вариант 2. Блок-схема

неполная форма ветвления

Вариант 2. Блок-схема неполная форма ветвления

Слайд 24Вариант 2. Программа

алг Максимум 2 нач цел

a, b, M вывод «Введите два целых

числа», нс ввод a, b
M:= a если b > a то M:= b все вывод «Наибольшее число «, M кон

неполная форма условного оператора

Слайд 25Вариант 2б. Программа

алг Максимум 2б нач цел

a, b, M вывод «Введите два целых

числа», нс ввод a, b
M:= b если . то . все вывод «Наибольшее число «, M кон

Слайд 26Сложные условия
Задача. Фирма набирает сотрудников от 25

до 40 лет включительно. Ввести возраст человека

и определить, подходит ли он фирме (вывести ответ «подходит» или «не подходит»).
Особенность: надо проверить, выполняются ли два условия одновременно.

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

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