Алгоритм адресован конкретному исполнителю. По отношению к нему алгоритм должен обладать двумя основными свойствами: все команды алгоритма должны быть понятны исполнителем (свойство понятности); исполнитель должен быть в состоянии выполнить все команды алгоритма (свойство точности).
Можно сделать так. Для каждого исполнителя надо фиксировать систему его команд, т. е. те команды, которые он понимает и в состоянии выполнить и далее строить алгоритм, используя только эти команды.
Для того чтобы компьютер понимал алгоритм, его необходимо записать на некотором языке, который называется языком программирования. Известны языки программирования: Бейсик, Фортран, Паскаль и др.
Если результат работы алгоритма по тем или иным причинам неудовлетворителен, то уточняется модель и решение задачи повторяется по той же самой технологической цепочке.
В последние годы для решения многих задач уже не нужно строить специальный алгоритм, а можно использовать готовое программное обеспечение с широкой областью применения. К такому обеспечению относятся: графические и текстовые редакторы, базы данных и пр.
Билет №15
Циклические алгоритмы. Команда повторения.
В отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в циклические алгоритмы входит последовательность команд, выполняемая многократно. Такая последовательность команд называется телом цикла.
В циклах типа пока тело цикла выполняется до тех пор, пока выполняется условие. Выполнение таких циклов происходит следующим образом: пока условие справедливо (истинно), выполняется тело цикла, когда условие становится несправедливым, выполнение цикла прекращается.
Цикл, как и любая другая алгоритмическая структура, может быть:
• записан на естественном языке;
• изображен в виде блок-схемы;
• записан на алгоритмическом языке;
• закодирован на языке программирования.
Блок-схема | Алгоритмический язык | Бейсик |
Рассмотрим циклический алгоритм типа пока на примере алгоритма вычисления факториала, изображенного на блок-схеме. Переменная N получает значение числа, факториал которого вычисляется. Переменной N!, которая в результате выполнения алгоритма должна получить значение факториала, присваивается первоначальное значение 1. Переменной К также присваивается значение 1. Цикл будет выполняться, пока справедливо условие К <== N. Тело цикла состоит из двух операций N! : = N!*K и К:=К+1.
Циклические алгоритмы, в которых тело цикла выполняется заданное число раз, реализуются с помощью цикла со счетчиком. Цикл со счетчиком реализуется с помощью команды повторения.
Рассмотрим в качестве примера алгоритм вычисления суммы квадратов целых чисел от 1 до 3. Запишем его на алгоритмическом языке. Телом цикла в данном случае является команда S :=S+ п*п. Количество повторений тела цикла зафиксировано в строке, определяющей изменение значений счетчика цикла (для пот 1 до 3), т.е. тело цикла будет выполнено три раза. алг сумма квадратов (цел S)
рез S нач нат п S:=0 для п от 1 до 3
на
I S:=S+n*n кц
Аппаратные компоненты и программные средства компьютера.
В процессе ответа целесообразно изложить общее представление о компьютере, последовательно раскрывая функциональное назначение тех или иных его аппаратных компонентов и программных средств. Параллельно объяснению полезно рисовать простейшую схему компьютера, обращая особое внимание на информационное взаимодействие компонентов компьютера, а также на их техническую реализацию.
Компьютер предназначен для обработки информации, следовательно, должно существовать центральное устройство, которое эту функцию выполняет. Такое устройство называется процессор и в настоящее время аппаратно реализуется в виде большой интегральной схемы (БИС). Современные процессоры типа Pentium II содержат в себе миллионы функциональных элементов (типа диод или транзистор).
Процессор может обрабатывать числовую, текстовую, графическую, видео- и звуковую информацию. Все эти виды информации кодируются в последовательности электрических импульсов: есть импульс (1), нет импульса (0), т. е. в последовательности нулей и единиц. Такое кодирование информации в компьютере называется двоичным кодированием.
Однако пользователь (человек) очень плохо понимает информацию, представленную в виде последовательностей нулей и единиц (машинный язык), и тем более не воспринимает ее в виде последовательностей электрических импульсов. Следовательно, в компьютере необходимы специальные устройства ввода/вывода информации, которые «переводят» информацию с языка человека на язык компьютера и обратно.
Рассмотрим сначала устройства ввода информации, т. е. устройства, которые «переводят» информацию с языка пользователя на язык компьютера. Для ввода числовой и текстовой информации используется клавиатура.
Для ввода графической информации чаще всего используется манипулятор типа мышь. Если мы хотим ввести в компьютер фотографию или рисунок, то используется специальное устройство — сканер.
Для ввода звуковой информации используется микрофон, подключенный ко входу звуковой платы.
Устройства вывода информации переводят ее с машинного языка на язык человека. Наиболее универсальным устройством вывода является дисплей, на экране которого высвечивается числовая, текстовая, графическая и видеоинформация.
Для сохранения числовой, текстовой и графической информации в виде « твердой копии » на бумаге используется принтер. Принтеры бывают матричные, струйные и лазерные.
Для вывода на бумагу сложных чертежей, рисунков и схем большого формата используется плоттер (графопостроитель).
Вывод звуковой информации осуществляется с помощью акустических колонок или наушников, подключенных к выходу звуковой платы.
В общих чертах мы рассмотрели, как происходит диалог пользователь — компьютер. Следующий вопрос: «Кто и как управляет работой процессора и тем самым определяет содержание процесса обработки информации?»
В основе процесса обработки информации лежит программный принцип работы компьютера, т. е. существует инструкция для процессора (программа), которая определяет, какие данные, как и в какой последовательности обрабатывать.
В процессе работы программы и данные загружаются в специальное устройство — оперативную память. Объем оперативной памяти на современных компьютерах составляет от 8 до 32 Мб, а аппаратно оперативная память реализуется на БИС различных типов (SIMM, DIMM и т. д.).
Однако при выключении компьютера вся информация из оперативной памяти стирается. Как повторно загрузить программу или оперативно загружать различные программы? Для пользователя необходимо иметь возможность долговременного хранения большого количества различных программ и данных. Предназначенные для этого устройства называются устройствами внешней памяти.
Аппаратно внешняя память реализуется на накопителях на гибких магнитных дисках (НГМД) емкостью 1,2 Мб или 1,44 Мб, жестких дисках (НЖМД) емкостью от 1 до 6 Гб и CD-ROM-дисководах емкостью 640 Мб. Дисководы для гибких дисков и жесткие диски используют магнитный принцип записи, когда информация записывается путем намагничивания отдельных небольших участков (нет намагниченности — 0, есть намагниченность — 1). CD-ROM-дисководы используют лазер для считывания информации с CD-ROM-диска, на котором чередуются участки с различной отражающей способностью.
Пользователи для работы на компьютере используют программы-приложения. С помощью этих программ они могут создавать различные файлы-документы (текстовые, графические, звуковые и др.). Программы-приложения имеют объем в десятки и сотни мегабайт, хранятся во внешней памяти и по мере необходимости загружаются в оперативную память. Это могут офисные приложения (Word, Excel и т. д.), сетевые приложения (браузе-ры, почтовые программы и т. д.), программы обработки графики (CorelDraw) и другие.
Программисты для работы используют трансляторы языков (Turbo Pascal, С) и современные системы программирования с графическим интерфейсом (VisualBasic, Delphi). С помощью этих программ создаются исполняемые программы. Системы программирования имеют объем в десятки мегабайт, хранятся во внешней памяти и при необходимости загружаются в оперативную память.
Для того чтобы все устройства компьютера работали согласованно и пользователю были доступны аппаратные ресурсы, необходима операционная система. Операционная система хранится во внешней памяти и при включении компьютера загружается в оперативную память. На IBM-совместимых компьютерах долгое время использовалась операционная система MS-DOS, в настоящее время используется операционная система с графическим интерфейсом Windows.
Билет №16
Разработка алгоритмов методом последовательной детализации. Вспомогательные алгоритмы.
Процесс решения сложной задачи довольно часто сводится к решению нескольких более простых подзадач. Соответственно при разработке сложного алгоритма он может разбиваться на отдельные алгоритмы, которые называются вспомогательными. Каждый такой вспомогательный алгоритм описывает решение какой-либо подзадачи.
Процесс построения алгоритма методом последовательной детализации состоит в следующем. Сначала алгоритм формулируется в «крупных» блоках (командах), которые могут быть непонятны исполнителю (не входят в его систему команд) и записываются как вызовы вспомогательных алгоритмов. Затем происходит детализация, и все вспомогательные алгоритмы подробно расписываются с использованием команд, понятных исполнителю.