МИНИСТЕРСТВО
ОБРАЗОВАНИЯ И НАУКИ МУРМАНСКОЙ ОБЛАСТИ
ГОСУДАРСТВЕННОЕ
АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ МУРМАНСКОЙ ОБЛАСТИ СРЕДНЕГО
ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «КАНДАЛАКШСКИЙ
ИНДУСТРИАЛЬНЫЙ КОЛЛЕДЖ»
(ГАОУ
МО СПО «КИК»)
Методические указания
по выполнению лабораторных работ по
информатике и ИКТ
по теме «Программное управление компьютером»
составитель: Харченко Я.С.
2014 г.
Содержание
Введение………………………………………………………………………………………...2
Теоретическая
часть……………………………………………………………………………3
1.
Понятие алгоритмы…………….……………………….…………………………………...3
2.
Свойства алгоритмов…..…………………………….……………………………………....5
3.
Алгоритмические структуры…….…………………………………………………………..5
Практическая
часть……………………………………………………………………………..10
Список
литературы…………………………………………………………………………......11
ВВЕДЕНИЕ
Лабораторный практикум предназначен для изучения студентами
различных специальностей темы «Программное управление компьютером»
Изложенный материал не претендует на полноту охвата всех
сторон проблемы алгоритмизации при решении задач, возникающих на практике.
Однако его вполне достаточно для того, чтобы разобраться и выполнить ту часть
названных работ, которая необходима для составления алгоритмов и их описания.
Методические рекомендации к выполнению
практических работ содержат:
·
Пояснения;
·
Порядок выполнения занятия;
Критерии оценки практических заданий.
Отметка «5» ставится, если:
·
работа выполнена полностью;
·
в логических рассуждениях и обосновании
решения нет пробелов и ошибок;
·
в решении нет математических ошибок (возможна одна
неточность, описка, не являющаяся следствием незнания или непонимания
учебного материала).
Отметка «4» ставится,
если:
·
работа выполнена полностью, но обоснования шагов
решения недостаточны (если умение обосновывать рассуждения не являлось
специальным объектом проверки);
·
допущена одна существенная ошибка или два-три
несущественных ошибки.
Отметка «3» ставится, если:
·
допущены более одной существенной ошибки или более
двух-трех несущественных ошибок, но учащийся владеет обязательными
умениями по проверяемой теме; при этом правильно выполнено не менее
половины работы.
Отметка «2» ставится, если:
·
допущены существенные ошибки, показавшие, что
учащийся не владеет обязательными умениями по данной теме в полной мере.
Отметка «1» ставится, если:
·
работа показала полное отсутствие у учащегося
обязательных знаний и умений по проверяемой теме или значительная часть
работы выполнена не самостоятельно.
Теоретическая
часть:
I.Алгоритмы.
Алгоритм
– понятное и точное предписание исполнителю (человеку
или автомату) совершить последовательность действий, направленных на решение
поставленной задачи.
Предписание
о выполнении отдельного законченного действия исполнителя называется командой
алгоритма.
Совокупность
всех команд, которые могут быть выполнены некоторым исполнителем, образуют СКИ
– систему команд данного исполнителя.
В общем
виде схему работы алгоритма можно представить следующим образом:
На практике наиболее распространены следующие формы
представления алгоритмов:
1.Словесная (запись на естественном языке).
Записи алгоритмов представляет собой описание последовательных этапов обработки
данных. Алгоритм задается в произвольном изложении на естественном языке.
Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух
натуральных чисел (алгоритм Эвклида).
Алгоритм может быть следующим:
-задать два числа;
-если числа равны, то взять любое из них в качестве ответа
и остановиться, в противном случае продолжить выполнение алгоритма;
-определить большее из чисел;
-заменить большее из чисел разностью большего и меньшего
из чисел;
-повторить алгоритм с шага 2.
Описанный алгоритм применим к любым
натуральным числам и должен приводить к решению поставленной задачи. Убедитесь
в этом самостоятельно, определив с помощью этого алгоритма наибольший общий
делитель чисел 125 и 75.
Словесный способ не имеет широкого
распространения, так как такие описания:
- строго не формализуемы;
-страдают многословностью записей;
-допускают неоднозначность толкования отдельных
предписаний.
Пример
1: Составить
словесный алгоритм кипячения чайника (на газовой плите)
Налить
в чайник воду.
Зажечь
спичку.
Открыть
кран газовой горелки.
Поднести
спичку к горелке.
Поставить
чайник на плиту.
Ждать,
пока вода закипит.
Выключить
газ.
2.Псевдокоды
(полуформализованные описания алгоритмов на условном алгоритмическом языке,
включающие в себя как элементы языка программирования, так и фразы
естественного языка, общепринятые математические обозначения и др.);
Псевдокод занимает промежуточное место между естественным
и формальным языками. С одной стороны, он близок к обычному естественному
языку, поэтому алгоритмы могут на нем записываться и читаться как обычный
текст. С другой строны, в псевдокоде используются некоторые формальные
конструкции и математическая символика, что приближает запись алгоритма к
общепринятой математической записи.
В псевдокоде не приняты строгие синтаксические правила для
записи команд, присущие формальным языкам, что облегчает запись алгоритма на
стадии его проектирования и дает возможность использовать более широкий набор
команд, рассчитанный на абстрактного исполнителя.
Однако в псевдокоде обычно имеются некоторые конструкции,
присущие формальным языкам, что облегчает переход от записи на псевдокоде к
записи алгоритма на формальном языке. В частности, в псевдокоде, так же, как и
в формальных языках, есть служебные слова, смысл которых определен раз и
навсегда. Они выделяются в печатном тексте жирным шрифтом, а в рукописном
тексте подчеркиваются.
Единого или формального определения псевдокода не
существует, поэтому возможны различные псевдокоды, отличающиеся набором
служебных слов и основных (базовых) конструкций.
3.Программная. Тексты на языках
программирования.
Для
составления алгоритмов используются основные служебные слова:
алг
(алгоритм) сим (символьный) дано для да
арг
(аргумент) лит (литерный) надо от нет
рез
(результат) лог (логический) если до при
нач
(начало) таб(таблица) то знач
выбор
кон
(конец) нц (начало цикла) иначе и ввод
цел
(целый) кц (конец цикла) все или вывод
вещ
(вещественный) длин (длина) пока не утв
Пример
2:
алг
название алгоритма (аргументы и результаты)
дано условия применимости алгоритма
надо цель выполнения алгоритма
нач
описание промежуточных величин
|
последовательность команд (тело алгоритма)
Кон
4.Графическая (изображения из графических
символов).
Графическое
представление называется схемой алгоритма или блок-схемой. В блок-схеме каждому
типу действий (вводу исходных данных, вычислению значений выражений, проверке
условий, управлению повторением действий, окончанию обработки и т.п.)
соответствует геометрическая фигура, представленная в виде блочного символа.
Блочные символы соединяются линиями переходов, определяющими очередность
выполнения действий. В таблице приведены наиболее часто употребляемые символы.
Блок
"процесс" применяется для обозначения действия или последовательности
действий, изменяющих значение, форму представления или размещения данных. Для
улучшения наглядности схемы несколько отдельных блоков обработки можно
объединять в один блок. Представление отдельных операций достаточно свободно.
Блок
"решение" используется для обозначения переходов управления по
условию. В каждом блоке "решение" должны быть указаны вопрос, условие
или сравнение, которые он определяет.
Блок
"модификация" используется для организации циклических конструкций.
(Слово модификация означает видоизменение, преобразование). Внутри блока
записывается параметр цикла, для которого указываются его начальное значение,
граничное условие и шаг изменения значения параметра для каждого повторения.
Блок
"предопределенный процесс" используется для указания обращений к
вспомогательным алгоритмам, существующим автономно в виде некоторых
самостоятельных модулей, и для обращений к библиотечным подпрограммам.
II.Свойства
алгоритмов.
В
отличие от всевозможных предписаний алгоритм обладает рядом свойств,
обеспечивающих его выполнение:
1.свойство
дискретности означает, что путь решения задачи разделен на отдельные шаги
(действия). Каждому действию соответствует предписание (команда). Только
выполнив одну команду, исполнитель может приступить к выполнению следующей.
2. свойство
понятности означает, что алгоритм состоит только из предписаний, которые
входящих в СКИ исполнителя, т.е. таких предписаний, которые исполнитель может
воспринять и выполнить по ним требуемые действия.
3.Свойство
определенности означает,
что в алгоритме нет команд, смысл
которых может быть истолкован неоднозначно; недопустимы ситуации, когда после
выполнения очередной команды исполнителю не
ясно, какую команду выполнять на следующем шаге.
4.Свойство результативности означает, что алгоритм должен
обеспечивать возможность получения результата после конечного, возможно даже
очень большого, числа шагов. При этом результатом считается не только обусловленный
постановкой задачи ответ, но и вывод о невозможности продолжения по какой-либо
причине решения данной задачи.
5.Свойство
массовости означает,
что алгоритм должен обеспечивать возможность его применения для решения класса
однотипных задач.
Разработка алгоритма — трудоемкая задача, требующая от
человека глубоких знаний и больших временных затрат. Решение задачи по готовому
алгоритму требует от исполнителя только строгого следования заданным
предписаниям. Исполнитель не обязан вникать в смысл того, что он делает, и
рассуждать, почему он поступает так, а не иначе, т.е. он действует формально —
по командам.
С использованием алгоритмов и их исполнителей появилась
возможность автоматизации деятельности человека:
• процесс решения задачи
представляется в виде последовательности простейших операций;
• создается машина (автоматическое
устройство), способная выполнять эти операции в последовательности, заданной в
алгоритме;
III.Алгоритмические структуры.
Алгоритмы
можно представлять как некоторые структуры, состоящие из отдельных базовых
(т.е. основных) элементов. Естественно, что при таком подходе к алгоритмам
изучение основных принципов их конструирования должно начинаться с изучения
этих базовых элементов. Для их описания будем использовать язык схем алгоритмов
и школьный алгоритмический язык.
Логическая структура любого алгоритма может быть представлена
комбинацией трех базовых структур: следование, ветвление, цикл.
1.Структура "следование". Образуется
последовательностью действий, следующих одно за другим:
2.
Структура "ветвление". Обеспечивает в зависимости от
результата проверки условия (да или нет) выбор одного из альтернативных путей
работы алгоритма. Каждый из путей ведет к общему выходу, так что работа
алгоритма будет продолжаться независимо от того, какой путь будет выбран.
Структура ветвление существует в четырех основных вариантах:
если—то;
если—то—иначе;
выбор;
выбор—иначе.
3. Структура "цикл".
Обеспечивает многократное выполнение некоторой совокупности действий, которая
называется телом цикла. Основные разновидности циклов представлены в таблице:
Пример3. Рассмотрим алгоритм нахождения суммы первых натуральных нечетных чисел
до n.
Решение:
Блок-схема
состоит из следующих базовых структур: две составные команды (команда
следования и команда повторения с предусловием), далее простая команда. Все
команды соединены последовательно.
Запишем
алгоритм вычисления суммы первых n натуральных чисел. Для этого воспользуемся
циклом с параметром, поскольку заранее известно сколько раз будет выполняться
команда нахождения суммы.
Пример 4. Составить алгоритм вычисления периметра Р и площади S квадрата со
стороной длины A.
Решение:
Блок-схема
алгоритма состоит из шести блоков. Выполнение алгоритма начинается с блока 1
"Начало". Этот блок символизирует включение автомата, настройку его
на выполнение алгоритма и выделение памяти под все переменные, которые
задействованы в алгоритме. В алгоритме таких переменных три: A, Р, S.
Следовательно, под каждую из них алгоритмом будет выделено по одной ячейке
памяти. На этом блок 1 будет отработан.
Как
видно из решения, блок 1 связан вертикальной линией потока с блоком 2. Эта
линия не имеет стрелки, указывавшей направление потока. Следовательно, этот
поток направлен вниз. Таким образом, после выполнения блока 1 управление будет
передано на блок 2. Блок 2 показывает, что переменной A следует присвоить
значение. Это означает, что в ячейку, отведенную автоматом под эту переменную,
нужно поместить константу. На реальной компьютере эта константа может быть
введена самыми разными способами. Способ зависит от того, как запрограммирован
данный фрагмент. Можно, например, потребовать ввод константы с клавиатура или
получить его из заранее подготовленного файла. Возможно эта константа будет
получена через внешние источники данных, например, от физической установки,
подключенной к компьютеру.
Для
данного примера способ передачи константы не имеет значения, важно лишь то, что
при выполнении блока 2 в ячейку с адресом А будет занесена конкретная
константа. Пусть такой константой является число 5.
Далее
управление по линии потока передается к блоку 3. В этом блоке при выполнении
размещенной в ней команды число 4 умножается на константу, помещенную в ячейку
А (т. е. 5), и результат (т. е. 20) присваивается переменной Р (т. е. константа
20 записывается в ячейку по адресу Р). После выполнения этих операций
управление передается к блоку 4.
В
блоке 4 аналогичным образом производится умножение значений переменной А и
результат (константа 25) присваивается переменной S (в ячейку по адресу S будет
занесена константа 25). После этого выполняется переход к блоку 5.
При
выполнении команд блока 5 выводятся (например, на экран, бумагу, во внешний
файл и т. д.) значения переменных А, Р, S, которые сохранились в
соответствующих ячейках к этому моменту. Понятно, что для конкретного примера А
= 5 будут выведена константы 5, 20, 25, т. е. длина сторона квадрата, его
периметр и площадь. Далее управление передается последнему блоку 6.
В
блоке 6 “Конец” производится освобождение ячеек памяти, которые были
зарезервированы под переменные А, P, S, и алгоритм заканчивает работу.
Пример5. Рассчитать площадь и периметр прямоугольника
по двум известным сторонам.
Решение: Запишем условие в более кратком виде.
Дано: a,b
Найти: S,P
IV.практическая часть:
Задания для самостоятельной работы:
1.Скорость первого автомобиля — V1 км/ч,
второго – V2 км/ч, расстояние между ними S км. Какое расстояние будет между
ними через T часов, если автомобили движутся в разные стороны? Значения V1, V2,
T и S задаются с клавиатуры.
2. Найти значения функции z = y/x.
3.Составить алгоритм
с циклом, имеющим наперед неизвестное количество проходов
4. Составить
алгоритм, содержащий цикл с наперед известным количеством проходов
(повторений). (Алгоритм решает задачу накопления суммы положительных
элементов одномерного массива Z длины N (под длиной массива понимается
количество его элементов )).
5. Составить
алгоритм сортировки одномерного массива Z длины N.(Отсортировать массив –
значит расположить его элементы в порядке роста или убывания).
6. Дан двумерный
квадратный массив Z, состоящий из N строк и N столбцов. Необходимо найти
среднее арифметическое S его отрицательных элементов и заменить положительные
элементы побочной диагонали массива средним арифметическим S.
V.Список
литературы:
1.Колмыкова Е.А. Информатика. Учебное пособие для студентов учреждений
среднего профессионального образования. - М.: Издательский центр «Академия»,
2012.
2.Андреева Е.В. и др. Математические основы информатики,
Элективный курс. – М.:
БИНОМ. Лаборатория знаний, 2005.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.