Материал: лекции

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Лекция 4. Программное обеспечение.

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

ПО делится на две группы (рисунок 7):

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

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

Рисунок 7 – Типы программного обеспечения

Операционные системы

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

Основные функции ОС:

1. Управление аппаратными и программными ресурсами ЭВМ.

2. Организация интерфейса (взаимодействия) пользователя с ЭВМ.

3. Запуск на выполнение прикладных программ.

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

На практике используются различные ОС: MS DOS, WINDOWS, UNIX, LINUX, OS/2, OS X и т.д. Наиболее распространенной является операционная система фирмы Microsoft – WINDOWS, обладающая интуитивно понятным, дружественным графическим интерфейсом, и позволяющая одновременно работать с несколькими приложениями.

Графический интерфейс основан на системе окон и значков.

Окно WINDOWS – прямоугольная область экрана, внутри которой может выполняться какая-либо программа (окно приложения), могут выводиться сообщения или вводиться данные (окно диалога), могут располагаться какие-либо объекты – файлы, папки, диски и т.д. (групповое окно).

3 состояния окна:

  1. обычное;

  2. развёрнутое (во весь экран);

  3. свёрнутое.

Значок – графическое представление объекта ОС (диска, папки, файла).

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

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

Типы диалога пользователя с компьютером:

  1. меню (пользователь выбирает один вариант действий из нескольких предложенных);

  2. вопросы, требующие ответа типа да/нет (частный случай меню);

  3. шаблоны (ОС воспринимает информацию пользователя в строго определённой заданной форме);

  4. команды.

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

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

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

Решение прикладной задачи на компьютере под управлением ОС можно представить следующим образом (рисунок 8):

Рисунок 8 – Алгоритм решения задачи

Комплекс программ технического обслуживания – пакет сервисных программ для:

  • проверки (определения наличия неисправностей);

  • диагностики (локализации и классификации ошибок);

  • отладки (исправления ошибок).

Эти программы записаны в ПЗУ, могут входить в состав ОС или устанавливаться дополнительно. К ним можно отнести программы для очистки, исправления, дефрагментации дисков, программы-антивирусы и т.п.

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

Системы программирования предназначены для автоматизации процесса написания программ. В их состав входит язык программирования (ЯП), транслятор (Т) и специальные средства редактировании, отладки и компоновки (СРОК).

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

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

  • Машинно-зависимые языки (зависят от типа компьютера):

    • Язык машинных команд (двоичный код).

    • Язык ассемблера (язык символьного кодирования). Ассемблер – специальная программа, которая переводит написанный код в машинные команды.

  • Машинно-независимые языки - языки высокого уровня (Паскаль, Бейсик, С++ и др.).

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

Типы трансляторов:

  • Интерпретатор – программа, которая преобразует каждый оператор программы в машинную команду и сразу передаёт её на выполнение. После выполнения преобразуется следующий оператор и т.д. (Плюс интерпретатора – удобство отладки программы. Минус – эта программа постоянно находится в оперативной памяти).

  • Компилятор – преобразует в машинный код всю программу целиком и только потом отдаёт ее на выполнение (Плюс – не заполняется оперативная память).

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

Лекция 5. Технология разработки программного обеспечения

Жизненный цикл программы состоит из этапа разработки программы и этапа её эксплуатации и сопровождения (контроль работоспособности и при необходимости внесение изменений и дополнений).

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

  1. формулировка задачи на естественном языке и создание математической модели;

  2. разработка нового или выбор существующего метода численного решения математической задачи (алгоритма);

  3. написание программы на языке программирования;

  4. тестирование и отладка программ.

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

На втором этапе при разработке алгоритма необходимо использовать приёмы структурного программирования (см. ниже), позволяющие создавать надёжно работающие программы. Алгоритм принято представлять в виде графической схемы, которая составляется из нескольких геометрических фигур – блоков. Основные блоки схемы алгоритма выглядят следующим образом (рисунок 9):

Рисунок 9 – Основные блоки схемы алгоритма

Н апример, схема алгоритма простейшей программы линейной структуры (ввод, сложение двух чисел А, В и вывод результата С) выглядит следующим образом (рисунок 10):

Рисунок 10 – Схема алгоритма линейной структуры

А схема оператора условной передачи управления (if A then B else C, где А – условие, В – действие, выполняющееся при истинности А, а С – действие, выполняющееся в противном случае) выглядит так (рисунок 11):

Рисунок 11 – Схема условного оператора

Для оператора цикла с известным числом повторений (for I: =N to M do S) схема выглядит следующим образом (рисунок 12):

Рисунок 12 – Схема оператора цикла с известным числом повторений

Для операторов цикла с неизвестным числом повторений с предусловием (while A do S) и постусловием (repeat S until B) схемы выглядит следующим образом (рисунок 13):

Рисунок 13 – Схемы операторов цикла с неизвестным числом повторений

На третьем этапе при выборе языка программирования необходимо учитывать тип решаемой задачи. Например, для вычислительных задач удобнее использовать язык С, Fortran и подобные им. При разработке интернет-приложений – язык Java. Языки Pascal, Basic считаются универсальными и часто используются для обучения программированию.

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

Суть его заключается в следующем:

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

Принципы разбиения на подзадачи-модули:

  • доступность восприятия;

  • незначительный размер (желательно не более 100 строк программы);

  • учет возможностей изменения модуля в дальнейшем;

  • учет наличия уже готовых модулей.

Модульный подход имеет положительные стороны:

  • упрощение создания и дальнейшей модификации программ;

  • создание библиотеки модулей;

  • возможность параллельной работы с несколькими модулями одновременно;

  • уменьшение объема, занимаемой ОП компьютера.

Тестирование и отладка программ

Тестирование и отладка написанной программы являются содержанием четвёртого этапа разработки ПО.

Тестирование – выполнение программы с целью обнаружения наличия ошибок.

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

Отладка – выполнение программы с целью локализации, диагностики и исправления ошибок.

Причины возникновения ошибок:

  • некорректность текста (синтаксические ошибки);

  • некорректность компоновки (ошибки редактирования);

  • некорректность данных (семантические ошибки);

  • некорректность алгоритма (семантические ошибки).

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

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

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

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

Некоторые из этих приёмов:

  1. Слежение:

  • трассировка – построчное выполнение программы (клавиши F7, F8 в Turbo Delphi, Lazarus);

  • математическое слежение – контроль за изменением значений определенных переменных в процессе расчёта (подсказки при наведении курсора на идентификатор при трассировке).

  1. Печать в узлах – вывод значений заданных переменных в узловых точках программы (разветвление или схождение алгоритма, точки входа и выхода из подпрограммы и др.).

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

Лекция 6. Вычислительные комплексы и сети

Обработка информации при помощи ЭВМ развивается по двум направлениям:

  • с использованием вычислительных комплексов;

  • с использованием вычислительных сетей.

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

  • многомашинные комплексы (несколько самостоятельных ЭВМ, в том числе и резервных, объединенных общим управлением);

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

Использование вычислительных комплексов позволяет разделить поставленную задачу на несколько подзадач (если это позволяет сама задача) и решать их параллельно.

Источник: https://studfile.net/preview/16527550/