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

Алгоритмы бывают:

- линейные,

- разветвленные,

- циклические.

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

Разветвленный алгоритм содержит одно или несколько логических условий и имеет несколько ветвей обработки.

Циклический алгоритм содержит один или несколько циклов. Цикл - это многократно повторяемая часть алгоритма. Параметр цикла - переменная, при каждом новом вхождении в цикл, принимающая новое значение.

Алгоритм независимо от его структуры - сложной или простой всегда имеет один "Останов и Начало". Все ветви должны, в конце концов, сойтись и по какой бы ветви не было бы начало движения, оно всегда должно привести к блоку "Останов".

Конструирование алгоритма

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

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

Анализ и проверка правильности алгоритмов могут проводиться путем:

- проверки результатов выполнения на конкретных исходных данных,

- логического анализа конечных результатов относительно постановки задачи.

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

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

Анализ алгоритма включает в себя анализ:

- логической структуры,

- выполнения,

- правильности.

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

Тема 6

6. Программное обеспечение ЭВМ.

Прикладное программное обеспечение

Кроссовое программное обеспечение

Тестовое программное обеспечение

Системное программное обеспечение

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

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

Свойства операционной системы

6.1. Структура программного обеспечения ЭВМ.

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

Программное обеспечение (ПО) - совокупность программ и правил, позволяющая использовать ЭВМ для решения различных задач. Программное обеспечение микро ЭВМ разделяются ПРИКЛАДНОЕ, СИСТЕМНОЕ.

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

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

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

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

- операционную систему

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

Операционная система (ОС) - комплекс программ предназначенный для обеспечения определенного уровня эффективности вычислительной системы за счет автоматизированного управления ее работой и представляемого пользователям услуг. Эту систему можно рассматривать как программное продолжение и расширения аппаратуры микро- ЭВМ.

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

6.2. Свойства операционной системы:

1. НАДЕЖНОСТЬ. Операционная система должна быть надежна, как и аппаратура на которой работает. Она должна быть в состоянии определение и диагностирование ошибок, а также восстановления после большинства характерных ошибок, произошедших по вине пользователя. Она должна защищать пользователя от их же собственных ошибок или по крайней мере минимизировать вред, который они могут оказать на все программное окружение, находящиеся в микроЭВМ.

2. ЗАЩИТА. Операционная система должна защищать выполняемые задачи от взаимного влияния их друг на друга.

3. ПРЕДСКАЗУЕМОСТЬ. Операционная система должна отвечать на запросы пользователя предсказуемым образом. Результат выполнения команд пользователя должны быть одним и темже вне зависимости от последовательности, в которой эти команды посылаются на исполнение (при соблюдении установленных в системе правил).

4. УДОБСТВА. Операционная система предлагается пользователю потому, что она намного облегчает его работу и освобождает его от бремени задач по определению различных ресурсов и задач по управлению этими ресурсами. Система должна быть спроектирована с учетом основных факторов человеческой психологии.

5. ЭФФЕКТИВНОСТЬ. При распределении ресурсов операционная система должна максимально повысить использование системных ресурсов пользователем. Сама система не должна использовать большое количество ресурсов, так как эти ресурсы становятся недостаточными для удовлетворения запросов пользователя.

6. ГИБКОСТЬ. Системные операции могут настраиваться для согласования поведения пользователя. Ресурсы могут быть увеличены (уменьшены) для того, чтобы улучшить эффективность и доступность.

7. РАСШИРЯЕМОСТЬ. В процессе эволюции к операционной системе могут быть добавлены новые программные средства.

8. ЯСНОСТЬ. Пользователь может оставаться в неведении относительно вещей, существующих ниже уровня интерфейсной системы. В тоже время он должен иметь возможность узнать о системе столько, сколько он хочет. В данном случае интерфейсной системой являются правила и функциональные характеристики средств подключения и взаимодействия устройств вычислительной машины.

Ресурсы ЭВМ, находящиеся под управлением операционной системы. Причиной существования операционных систем являются задачи по распределению ресурсов и задач по управлению этими ресурсами.

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

Тема 7

7. Введение в программирование на ЭВМ. Современные языки программирования. Язык BASIC MICROSOFT, основные группы операторов.

Введение в программирование на ЭВМ

Языки высокого уровня

Классификация языков программирования

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

Введение в программирование на ЭВМ.

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

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

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

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

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

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

Первый и самый распространенный по сей день язык высокого уровня – Фортран (сокращение слов “ФОРмульный” “ТРАНслятор”) был создан в 1956 году. Фортран называют “вечным языком” - он обязательно входит во все существующие программные системы и наверняка будет входить в будущем. Он все время совершенствуется: его известные версии Фортран – II, Фортран – IV, Фортран – 77 (версия 1977г.).

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

Наши рекомендации