Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Структуры данных Лекция 1.doc
Скачиваний:
17
Добавлен:
03.11.2018
Размер:
143.87 Кб
Скачать

Тема 1. Алгоритм, псевдокод и блок-схема Автоматизация

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

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

  • принимал деньги;

  • заносил их в базу;

  • выдавал чек;

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

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

Пример 3. Хранение информации на электронных носителях. В настоящее время информация, например, в банках, хранится не в картотеках, а в базах данных, расположенных на электронных носителях. В данном случае оператор освобождается от прочесывания картотеки вручную: ему достаточно ввести параметры поиска в указанные поля, а всю черновую работу выполнит компьютер.

Вот еще несколько примеров:

  • электронные учебники, заменяющие учителя;

  • тренажеры для обучения езде на автомобиле;

  • покупка товаров через интернет;

  • электронные каталоги в библиотеках;

  • автоматизация сложных вычислений;

  • автоматическая подводка часов в Windows;

  • автоматические конвейеры на производстве.

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

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

Алгоритм

Несмотря на свою относительную надежность и высокую скорость вычислений, компьютер хуже человека, по крайней мере, в одном – он неспособен самостоятельно решить какую-либо проблему. Человек, сталкиваясь с проблемой, может придумать, как ее решить, но компьютер «думать» не может. Более того, он способен выполнять только команды, расписанные достаточно подробно: ему нужно все разжевывать и четко указывать шаги, необходимые для решения задачи.

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

  1. Вскипятить воду.

  2. Заварить чай.

  3. Налить чай в чашку.

Алгоритмы могут различаться по степени подробности. В частности, шаг 1 «Вскипятить воду» можно рассмотреть как отдельную задачу и составить алгоритм ее решения:

  1. Налить воду в чайник.

  2. Включить чайник.

  3. Дождаться, пока чайник закипит.

Детализацию можно продолжить, например, развернув шаг «Налить воду в чайник»:

  1. Взять сосуд, на котором написано «Braun».

  2. Поднести сосуд к раковине.

  3. Повернуть ручку с синим кружочком.

  4. Поднести сосуд к струе воды.

  5. Дождаться, пока шарик поднимется до уровня «MAX».

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