Программное обеспечение ЭВМ. Система программирования: основные функции и компоненты. Структура и синтаксис программы, арифметические операции и математические функции языка Паскаль.

 

 

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

 

Прикладное ПО – это программы, которые позволяют решать задачи пользователя. К прикладному ПО относят инструментальные программные средства общего назначения (текстовые редакторы, графические редакторы, СУБД, табличные процессоры и др.),  инструментальные программные средства специального назначения (экспертные системы, системы мультимедиа, гипертекстовые системы и др.) и  программные средства профессионального уровня, ориентированные на достаточно узкую предметную область (АСНИ – автоматизированные системы научных исследований, САПР – системы автоматизированного проектирования, АСУ – автоматизированные системы управления и др.).

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

Системы программирования – это комплекс инструментальных программных средств, предназначенный для работы с программами на одном из языков программирования. Системы программирования предоставляют сервисные возможности программистам для разработки их собственных компьютерных программ. Разработку средств системного ПО и систем программирования принято называть системным программированием;  разработку прикладных программ называют прикладным программированием.

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

§         трансляторы с языков высокого уровня;

§         средства редактирования, компоновки и загрузки программ;

§         макроассемблеры (машинно-ориентированные языки);

§         отладчики машинных программ.

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

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

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

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

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

§         текстовый редактор (Edit), осуществляющий функции записи и редактирования исходного текста программы;

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

§         запускатель программ (Run), осуществляющий процесс выполнения программы;

§         компилятор (Compile);

§         отладчик (Debug);

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

Ядро системы программирования составляет язык. Язык программирования – формализованный язык для описания алгоритма решения задачи на компьютере.

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

1) процедурные: - низкого уровня,

                             - высокого уровня,

2) непроцедурные: - объектно-ориентированные,

                                 - декларативные.

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

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

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

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

- алфавит языка значительно шире машинного, это делает его гораздо более выразительным;

- конструкции команд отражают  содержательные виды обработки данных и задаются в удобном для человека виде;

- используется аппарат переменных и действия с ними;

- поддерживается широкий набор типов данных.

К процедурным языкам относятся такие языки программирования, как  Algol, Fortran, Basic, Pascal, C.

Примером языков ООП являются C++, Java.

Классами декларативных языков являются функциональные языки (н-р, Lisp)  и логические языки (н-р, Prolog). 

 

 

Структура и синтаксис программы, арифметические операции и математические функции языка Паскаль

 

Каждый ЯП имеет алфавит, словарный запас, грамматику, синтаксис.

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

Синтаксис – система правил, определяющих допустимые конструкции ЯП из букв алфавита.

 

 

В языке Паскаль все компоненты формируются из множества символов кода ASCII. Элементы алфавита можно условно разделить на 4 группы:

1. Символы, используемые в идентификаторах.

2. Разделители.

3. Специальные символы.

4. Неиспользуемые символы.

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

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

Специальные символы: знаки пунктуаций, знаки операций, зарезервированные слова.

Знаки пунктуаций:

{} – комментарий,

[] – выделение индексов массивов, элементов множеств, размеров строки,

() – выделение выражений, списков параметров,

' («апостроф») – для выделения символа или строковой константы,

:=    - присваивание значения переменной, типизированной константы или функции,

;      - разделение предложений программы,

:      - отделение переменной от типа,

,      - разделение элементов списка,

..   – разделение границ диапазона,

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

Знаки операций: состоят из небуквенных символов (+, – , *, / ), состоят из буквенных символов (div, mod  и др.)

Зарезервированные слова – это служебные слова, которые используются только по своему прямому назначению и их переопределять нельзя (begin, procedure, function и др.).

Неиспользуемые символы: некоторые символы кодировки ASCII, например, %, , включая буквы русского алфавита не используются в языке Паскаль.

Любая программа на языке Паскаль является текстовым файлом с собственным именем и расширением .pas.

Составные части программы:

1. Заголовок:   PROGRAM <имя>

2. Раздел описаний

3. begin

4. Раздел операторов

5. end.

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

                                       Метки объявляются       label,

                                       Константы                      const,

                                       Типы                                type,

                                       Переменные                    var,

                                       Процедуры                      procedure,

                                       Функции                          function.

Постоянные величины (константы) чаще всего бываю числовыми или символьными. Значения символьных констант заключаются в апострофы. Постоянные величины описываются в разделе констант по схеме:

                                             Const <имя> = <константа>

Например, const

                           pi = 3.14159; k = -15; s = ' площадь ';

Переменные описываются в разделе описания переменных по схеме:

                                Var <список имен переменных>: <тип>

Например, var a, b, c: real;

                              k, l: integer;

                                  p: boolean;

Описание перечисляемого типа  выполняется в разделе типов по схеме:

                                   Type <имя типа> = <список имен>

Например, type days = (mon, tue, wed, thu, fri, sat, san);

                            var d: days;

 

В разделе операторов записывается последовательность действий, исполняемых оператором. Они разделяются между собой «;».

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

                                           read (<список переменных>)   или

                                           readln (<список переменных>).

Вывод результатов производится по оператору

                                           write (<список вывода>) или   

                                           writeln (<список вывода>).

 

 Математические функции: sqr(x), sqrt(x), abs(x), sin(x), cos(x), tan(x), ln(x), int(x) – целая часть от x, random(x) – случайное число в диапазоне от 0 до x, round(x) – целое число, полученное из вещественного по правилу округления и др. 

Hosted by uCoz