- •2. Методические указания к выполнению лабораторных работ
- •Лабораторная работа №1 Следование
- •Варианты индивидуальных заданий Выполнить поразрядные логические операции над машинными кодами
- •Пример программы
- •Лабораторная работа №2 Операторы ветвления
- •Варианты индивидуальных заданий
- •Пример разработки математической модели и схемы алгоритма решения задачи для варианта задания вида:
- •Текст программы
- •Лабораторная работа №3 Операторы цикла
- •Варианты индивидуальных заданий
- •Пример программы
- •Лабораторная работа №4 Статические массивы
- •Варианты индивидуальных заданий
- •Пример программы на обработку одномерного массива
- •Пример программы на обработку двумерного массива (матрицы)
- •Лабораторная работа №5 Динамические массивы
- •Варианты индивидуальных заданий
- •Пример программы на обработку одномерного массива
- •Пример программы на обработку двумерного массива (матрицы)
- •Лабораторная работа №6 Методы сортировки
- •Варианты индивидуальных заданий Методы сортировки
- •Области сортировки элементов матриц
- •Примеры программ
- •Лабораторная работа №7 Передача имён функций в качестве параметров
- •Текст программы
- •Лабораторная работа №8 Строки и текстовые файлы
- •Варианты индивидуальных заданий
- •Пример программы
- •Лабораторная работа №9 Структуры и файлы структур
- •Пример программы
- •Лабораторная работа №10 Линейные списки
- •Варианты индивидуальных заданий
- •Пример программы
- •Лабораторная работа №11 Стек, дек, очередь
- •Варианты индивидуальных заданий
- •Пример программы
- •Лабораторная работа №12 Классы
- •Варианты индивидуальных заданий
- •Примеры программ
- •Литература
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение
высшего образования
«Санкт-Петербургский государственный
университет аэрокосмического приборостроения»
__________________________________________________________________
Кафедра Вычислительных систем и сетей (№44)
Основы программирования
Учебное пособие
для студентов очной формы обучения
Санкт-Петербург
2015
Составитель: Л.Н.Бариков
Рецензенты: кафедра Компьютерной математики и программирования института №4 Санкт-Петербургского государственного университета аэрокосмического приборостроения;
канд. техн. наук В.П.Ильин
Содержатся материалы, необходимые для выполнения всех видов работ, предусмотренных учебным планом по дисциплине “Основы программирования”.
Предназначено для студентов, обучающихся по направлению 230100.62 «Информатика и вычислительная техника» (профиль – Вычислительные машины, комплексы, системы и сети) на очной форме обучения.
Подготовлены к публикации кафедрой Вычислительных систем и сетей по рекомендации методической комиссии института Вычислительных систем и программирования Санкт-Петербургского государственного университета аэрокосмического приборостроения.
С Санкт-Петербургский государственный университет
аэрокосмического приборостроения (СПбГУАП). 2015.
Подписано к печати Формат 60х84 1/16
Объем 6,6 п.л. Уч.-изд.л. 6,6 Тираж 150 экз.
Зак. №
Ротапринт ГУАП 190000, Санкт-Петербург, ул. Б.Морская, 67
Содержание
2. Методические указания к выполнению лабораторных работ
Лабораторные занятия проводятся с целью приобретения практических навыков по составлению математических моделей решения задач, алгоритмизации, программирования, тестирования и отладки программ с использованием современных технологий и инструментальных средств.
Перечень лабораторных работ:
Структурное программирование
Линейные программы
- Лабораторная работа №1. Следование.
Разветвляющиеся программы
- Лабораторная работа №2. Операторы ветвления.
Процедурное программирование
Циклы
- Лабораторная работа №3. Циклические операторы.
Массивы и указатели
- Лабораторная работа №4. Статические массивы.
- Лабораторная работа №5. Динамические массивы
- Лабораторная работа №6. Методы сортировки.
Функции
- Лабораторная работа №7. Передача имён функций в качестве параметров.
Работа с файлами
- Лабораторная работа №8. Строки и текстовые файлы.
- Лабораторная работа №9. Структуры и файлы структур.
Модульное программирование. Многофайловые проекты
Динамические структуры данных
- Лабораторная работа №10. Линейные списки.
- Лабораторная работа №11. Стек, дек, очередь.
Объектно-ориентированное программирование
Классы.
- Лабораторная работа №12. Статические и динамические объекты.
- Лабораторная работа №13.
- Лабораторная работа №14.
Выполнение каждой лабораторной работы включает разработку алгоритма, написание программы, тестирование и отладку программы на компьютере в одной из компьютерных лабораторий университета, демонстрацию результатов преподавателю, составление отчета о лабораторной работе. Содержание отчета должно полностью соответствовать заданию на эту лабораторную работу.
Лабораторная работа №1 Следование
Цель лабораторной работы: изучение концепций и освоение технологии структурного программирования, приобретение навыков структурного программирования на языке C/С++ при решении простейших вычислительных задач.
Задание на программирование: используя технологию структурного программирования разработать линейную программу решения индивидуальной вычислительной задачи (выполнение поразрядных логических операций над целыми числами).
Порядок выполнения работы:
1) Получить у преподавателя индивидуальное задание и выполнить постановку задачи: сформулировать условие, определить входные и выходные данные.
2) Разработать математическую модель вычислений.
3) Выполнить все необходимые вычисления вручную и принять полученные результаты в качестве контрольных значений.
4) Построить схему алгоритма решения задачи.
5) Составить программу на языке C/С++.
6) В программе использовать данные типа unsigned char.
7) Выходные данные (сообщения) выводить на экран в развернутой форме.
8) Проверить и продемонстрировать преподавателю работу программы.
9) Оформить отчет о лабораторной работе в составе: постановка задачи, математическая модель, схема алгоритма решения, текст программы, контрольные примеры.
Варианты индивидуальных заданий Выполнить поразрядные логические операции над машинными кодами
1.
117 AND 90
-117 XOR 90
117 → 3
NOT 21 XOR –13 AND (-23 OR NOT 9)
2.
115 AND 106
115 OR -106
115 → 4
NOT 17 OR (NOT 111 XOR –19) AND 91
3.
107 AND 37
107 XOR -37
25 ← 2
-21 AND (NOT 75 OR –20) XOR NOT 59
4.
27 AND 13
-27 OR 13
27 ← 2
NOT 21 XOR –3 AND (NOT 26 OR –13)
5.
-21 OR 43
21 XOR 43
43 ← 1
(NOT 19 OR –6) AND NOT –9 XOR 4
6.
55 AND 15
55 XOR -15
15 ← 3
NOT 7 AND –5 XOR (NOT 127 OR –8)
7.
99 OR -17
99 AND 17
17 ← 2
(18 OR NOT –8) AND NOT –7 XOR 3
8.
29 OR -49
29 XOR 49
49 ← 2
(NOT 8 XOR –6) AND 9 XOR NOT -12
9.
42 AND 17
42 OR -17
42 → 3
NOT 25 XOR –4 AND (NOT 22 OR –10)
10.
36 AND 12
36 XOR 12
36 ← 2
NOT –3 XOR 15 AND (NOT 8 OR –6)
11.
25 AND 18
25 XOR 18
25 ← 2
NOT 23 OR –4 AND (NOT 24 OR –9)
12.
39 AND 14
39 OR -14
39 ← 1
NOT 17 AND –5 OR (25 AND NOT –9)
13.
49 AND 11
49 XOR 11
49 → 2
15 OR NOT –3 AND (14 OR NOT 16)
14.
108 AND 35
108 XOR 35
31 ← 2
NOT –7 OR 8 AND (26 XOR NOT –9)
15.
120 AND 37
120 OR -37
120 → 2
85 OR NOT –9 AND (NOT 46 OR –13)
16.
117 AND 80
117 XOR 80
117 → 3
105 XOR NOT –15 AND (NOT 82 OR –25)
17.
125 AND 14
125 XOR 14
100 → 4
110 OR NOT –25 AND (NOT 46 XOR –11)
18.
119 AND 18
119 OR -18
119 → 3
80 OR NOT –11 AND (NOT 48 XOR –15)
19.
125 AND 20
125 OR -20
50 ← 2
40 OR NOT –19 AND (NOT 50 XOR –7)
20.
94 AND 15
94 XOR 15
94 → 2
86 XOR NOT –17 AND (NOT 40 OR –9)
21.
102 AND 31
102 OR -31
102 → 3
35 XOR NOT –9 AND (NOT 28 OR –17)
22.
90 AND 11
90 OR -11
20 ← 2
17 XOR NOT –11 AND (NOT 30 OR –15)
23.
74 AND 111
74 XOR 111
54 ← 1
28 OR NOT –13 AND (NOT 16 XOR –25)
24.
36 AND 21
36 XOR 21
26 ← 2
14 OR NOT –15 AND (NOT 26 XOR –17)
25.
61 AND 18
61 OR -18
61 ← 1
9 XOR NOT –21 AND (NOT 60 OR –5)
26.
75 AND 26
75 XOR 26
22 ← 2
NOT 80 XOR –31 AND (-16 OR NOT 11)
27.
81 AND 14
81 XOR 14
21 ← 3
70 XOR NOT –11 AND (NOT 36 OR 15)
28.
111 AND 14
111 XOR 14
11 ← 3
15 XOR NOT –9 AND (NOT 26 OR 31)
