
- •Министерство образования и науки Российской Федерации
- •Инструкция по мерам безопасности и правилам поведения в компьютерном классе Общее положения:
- •Методические указания по выполнению лабораторных работ
- •Лабораторная работа № 1 Основы работы с персональным компьютером Цель
- •Задание для самостоятельной подготовки
- •Основы теории
- •Задание
- •Порядок выполнения работы
- •Требования к отчету
- •Задание к работе
- •Порядок выполнения работы
- •Требования к отчету
- •Задание к работе
- •Порядок выполнения работы
- •Требования к отчету
- •100.101
- •111.000
- •Задание
- •Порядок выполнения работы
- •Контрольные вопросы
- •Задание
- •Порядок выполнения работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 6.
- •Задание
- •Порядок выполнения работы
- •Задание
- •Порядок выполнения работы
- •Требования к отчету
- •Задания
- •Порядок выполнения работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 9.
- •Задание
- •Задание
- •Порядоквыполненияработы
- •Требования к отчету
- •Задание
- •Порядок выполнения работы
- •Отчет о работе
- •Задание
- •Задание
- •Порядок выполнения работы (на примере)
- •Требования к отчету
- •Задание к работе
- •Порядок выполнения работы
- •Отчет о работе
- •Задание
- •Примеры выполнения работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 15
- •Задание
- •Порядок выполнения работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 16
- •Задание
- •Порядок выполнения работы
- •Задания
- •Требования к отчету
- •Задание
- •Порядок выполнения работы
- •Отчет о работе
- •Задание
- •Порядок выполнения работы
- •Отчет о работе
- •Задание
- •Порядок выполнения работы
- •Отчет о работе
- •Реализация последовательных списков с использованием массивов
- •Задания
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 22.
- •Задание
- •Порядок выполнения работы
- •Контрольные вопросы
- •Задание
- •Порядок выполнения работы
- •Контрольные вопросы
- •Требования к отчету
- •1.5 Алгоритм добавления звена к очереди.
- •Задание
- •Порядок выполнения работы
- •Контрольные вопросы
- •Требования к отчету
- •Задание
- •Порядок выполнения работы
- •Контрольные вопросы
- •Требования к отчету
- •Использование fread() и fwrite()
- •Задание
- •Порядок выполнения работы
- •Контрольные вопросы
- •Задание
- •Порядок выполнения работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа № 28.
- •Задание
- •Требования к отчету
- •Порядок выполнения работы
- •Контрольные вопросы
- •Задание
- •Порядок выполнения работы
- •Требования к отчету
- •Задания к работе
- •Порядок выполнения работы
- •Задание
- •Пример выполнения задания
- •Контрольные вопросы
- •Требования к отчету
- •Задание
- •Порядок выполнения работы
- •Требования к отчету
- •Контрольные вопросы
- •Лабораторная работа №33.
- •Задание
- •Порядок выполнения работы
- •Контрольные вопросы
- •Шифрование при помощи задачи о ранце
- •Популярные системы шифрования
- •Задание
- •Порядок выполнения работы
- •Контрольные вопросы
- •Требования к отчету
- •Литература
- •Internet-ресурсы
Требования к отчету
Отчет должен содержать:
Тему и цель работы.
Исходные задания варианта.
Описание алгоритмов.
Листинг программы.
Скриншоты результатов работы программы.
Ответы на контрольные вопросы.
Выводы о проделанной работе.
Контрольные вопросы
Какую функцию мы называем рекурсивной?
Что такое условие остановки и является ли оно необходимой составляющей рекурсивной функции?
Что произойдет, если рекурсивный вызов будет предшествовать условию остановки?
Перечислите преимущества и недостатки рекурсивных структур.
Приведите примеры рекурсии в жизни.
Лабораторная работа № 18
«Структурное программирование»
Цель
Формирование навыков составления программ с использованием методики структурного программирования.
Задание на самостоятельную работу
Изучить основные понятия структурного программирования [7], стр. 38-51, [8], стр. 13-44.
Изучить содержание и порядок выполнения лабораторной работы.
Основы теории
В линейной программе все операторы выполняются последовательно, один за другим. Для того чтобы в зависимости от исходных данных обеспечить выполнение разных последовательностей операторов, применяются операторы ветвления if и switch. Оператор if обеспечивает передачу управления на одну из двух ветвей вычислений, а оператор switch — на одну из произвольного числа ветвей.
В программировании вообще, и в структурном в частности, широко используются циклы.Цикл — участок программы, повторяемый многократно. В C++ три взаимозаменяемых оператора цикла — whilе, dowhilе и for. При написании любого цикла надоиметь в виду, что в нем всегда явно или неявно присутствуют четыре элемента: начальные установки, тело цикла, модификация параметра цикла и проверка условия продолжения цикла (рис. 1). Начинающие чаще всего забывают про первое и/или третье.
Рисунок 1 - Блок – схема цикла
Циклы встречаются в программах повсеместно, и строятся они по одним и тем же принципам. Чтобы избежать ошибок при программированиицикла, рекомендуется:
проверить, всем ли переменным, встречающимся в правой части операторов присваивания в теле цикла, присвоены до этого начальные значения, а также возможно ли выполнение других операторов;
проверить, изменяется ли в цикле хотя бы одна переменная, входящая в условие выхода из цикла;
предусмотреть аварийный выход из цикла по достижении некоторого количества итераций;
не забывать заключать в фигурные скобки тело цикла, если в нем требуется выполнить более одного оператора.
Операторы цикла в языке C++ взаимозаменяемы, но можно привести некоторые рекомендации по выбору наилучшего в каждом конкретном случае.
Оператор dowhile обычно используют, когда цикл требуется обязательно выполнить хотя бы один раз, — например, если в цикле производится ввод данных.
Оператором while удобнее пользоваться в тех случаях, когда либо число итераций заранее неизвестно, либо очевидных параметров цикла нет, либо модификацию параметров удобнее записывать не в конце тела цикла.
Оператор for предпочтительнее в большинстве остальных случаев. Однозначно — для организации циклов со счетчиками, то есть с целочисленными переменными, которые изменяют свое значение при каждом проходе цикла регулярным образом - (например, увеличиваются на 1).
Наиболее важные моменты этого лабораторного занятия
1. Выражение, стоящее в круглых скобках операторов if, while и dowhilе, вычисляется в соответствии с приоритетами операций и преобразуется к типу bool.
2. Если в какой-либо ветви вычислений условного оператора или в цикле тре-буется выполнить более одного оператора, то они объединяются в блок.
3. Проверка вещественных величин на равенство опасна.
4. Чтобы получить максимальную читаемость и простоту структуры программы, надо правильно выбирать способ реализации ветвлений (с помощью if, switch или условной операции), а также наиболее подходящий оператор цикла.
5. Выражение, стоящее в скобках после ключевого слова switch, и константные выражения в case должны быть целочисленного типа.
6. Рекомендуется всегда описывать в операторе switch ветвь default.
7. После каждой ветви для передачи управления на конец оператора switch используется оператор break.
8. При написании любого цикла надо иметь в виду, что в нем всегда явно или неявно присутствуют четыре элемента: начальные установки, тело цикла, мо-дификация параметра цикла и проверка условия продолжения цикла.
9. Если количество повторений цикла заранее не известно, необходимо предусматривать аварийный выход из цикла по достижении некоторого достаточно большого количества итераций.
Теорема Бёма — Якопини — положение структурного программирования, согласно которому любой исполняемый алгоритм может быть преобразован к структурированному виду, то есть такому виду, когда ход его выполнения определяется только при помощи трёх структур управления: последовательной (англ. sequence), ветвлений (англ. selection) и повторов или циклов.