Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры к госам Комплексные АБИС.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2.25 Mб
Скачать

5. Алгоритмическая обработка информации на эвм

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

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

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

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

Машинно-ориентированные языки связаны с определенной машиной или семейством машин и не могут быть приспособлены к другому виду ЭВМ. Наиболее типичным представителем языков этого класса являются языки символического кодирования. Их называют также языками низкого уров­ня "один к одному". Сюда относятся языки ассемблера. Как правило, одной символической инструкции этого языка соответствует одна машинная ко­манда.

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

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

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

В зависимости от целевого назначения машинно-независимые языки мо­гут быть ориентированы на решение задач информационных и инженерных (ФОРТРАН, АГОЛ-60), экономических (КОБОЛ, АЛГЭК), моделирования (СИМУЛА), обработки символьных данных (ЛИСП) и др. Создаются универсальные языки программирования - ПЛ/1,АЛГОЛ-68,ПАСКАЛЬ,АДА,которые можно использовать для алгоритмизации задач нескольких классов. Ши­рокое распространение в последнее время получил универсальный алгоритми­ческий язык БЕЙСИК, обладающий разнообразным набором средств для ре­шения инженерных и информационных задач, К достоинствам этого языка следует отнести возможность программирования и решения задач в диалого­вом режиме. В этом режиме пользователь работает непосредственно за пуль­том терминала, оперативно внося с помощью алфавитно-цифровой клавиату­ры необходимые изменения в программу и получая результат решения задачи либо на экране терминала, либо в виде печатного документа. Рассмотрим ос­новные составляющие языка программирования БЕЙСИК.

Алфавит языка представляет собой набор символов, используемых при написании программ. В языке БЕЙСИК используются следующие основные символы:

  1. 26 прописных букв латинского алфавита (от А до Z);

  2. прописные буквы русского алфавита (от А до Я);

  3. 10 десятичных цифр (от 0 до 9);

  4. 5 знаков препинания : точка (.), запятая (,), точка с запятой (;),апостроф ('), кавычки ( " ");

  5. знаки арифметических операций : плюс (+), минус (--), умножение (* ) .деление (/ ), возведение в степень (^);

  6. знаки операции отношения: равно ( ==) , больше ( > ), меньше ( < );

  7. специальные символы: круглые скобки ( ), знак пробела ( -- ), знак процента ( % ), знак денежной единицы ( $ ), знак номера ( # ), знак конъюнкции (&); вопросительный знак (?), косая черта слева направо (\).

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

Вещественная константа - это набор из одной или нескольких десятичных цифр и десятичной точки. Константы могут принимать как положительные, так и отрицательные значения. Например, математическая запись: 16,15; -5,13; 0,215; запись на БЕЙСИКе: 16,15; -5.13; .215,

Целая константа представляет собой набор десятичных цифр, оканчиваю­щихся знаком процента. Например, математическая запись: 125; —23,5; за­пись на БЕЙСИКе: 125 %; -23 %; 5 %.

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

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

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

Основной конструкцией языка БЕЙСИК является оператор. Он предназ­начен для описания действий, которые необходимо выполнить, а также для описания свойств данных и программ. Различают операторы: выполняемые, определяющие, какие действия необходимо выполнить в процессе работы программы (например, READ, PRINT, GOTO) , и невыполняемые, описываю­щие характер и упорядочение данных и вводящие в программу комментарии (например, DATA, REM, DIM).

В зависимости от выполняемых функций операторы БЕЙСИКа можно раз­делить на следующие группы:

1) оператор присваивания: LET (пусть);

2) операторы задания начальных значений и ввода данных: DATA (дан­ные) ; RESTORE (восстановить); READ читать) , RESET (вновь установить), INPUT (ввести);

3)операторы вывода результатов решения (печати) PRINT (печатать), I'RINT USING (печатать, используя);

4) операторы управления: GOTO (перейти к), NEXT (следующий), IF (если), END (конец), FOR (для) , STOP (остановить), ON (на);

5) операторы работы с файлами данных: OPEN (открыть), IF END (если конец), CLOSE (закрыть), INPUT (ввести), RESTORE (восстановить), LIN- I'UT (от ITERAL INPUT -буквенный ввод), DIM (от DIMENSION - размер- ность), NAME ТО (назначить имя) , PRINT (печатать), KILL (уничтожить);

6) операторы организации функций пользователя и подпрограммы: (GOSUB (перейти к подпрограмме), DEF (от DEFINITION -определение), RETURN (возвратить); операторы работы с файлами программ: CHAIN (сцепить), OVERLAY (покрыть) , COMMON (общий) ), CALL (вызвать); прочие операторы: REM (от REMARK - замечание), RANDOMIZE (случайный).

Программа на языке БЕЙСИК состоит из пронумерованных строк и имеет следующий вид: номер строки, оператор, содержание.

Номер строки представляет собой целое число и может содержать от 1 до5 цифр. Номера строк определяют порядок расположения строк в программе, а также используются для идентификации строк при передачах управления и редактирования. Номера строк могут принимать значения от 0 до 65 529.

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

Операторы БЕЙСИКа могут выполняться в двух режимах: программном, когда каждая строка программы начинается ее номером, и непосредственном, когда номер строки отсутствует.

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

В непосредственном режиме оператор выполняется сразу же после нажа­тия клавиш ВК. Разрешается запись нескольких операторов, выполняемых л непосредственном режиме, в -одной строке; в этом случае они разделяются знаком \. В непосредственном режиме могут применяться операторы READ, PRINT, RESTORE, GOTO, GOSUB, RETURN. Операторы LET и PRINT могут использоваться непосредственно для вычислений. Сообщение интерпретатора на дисплее READY (готов) указывает на готовность принять информацию для выполнения в непосредственном режиме.

Пусть, например, требуется составить 31. Исходные программы автоматически с помощью трансляторов преобра­зуются в ЭВМ в рабочие программы, которые записываются в памяти машины на машинном языке и по команде могут выдаваться оператору.