Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Выполнить поразрадные логические операции над машинными кодами
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение Высшего профессионального образования «Санкт-Петербургский государственный университет Аэрокосмического приборостроения» Кафедра Вычислительных систем и сетей (№44)
Лабораторный практикум По программированию на языках высокого уровня
Для студентов вечерней формы обучения
Санкт-Петербург 2009 г.
Составители: Л.Н.Бариков, Н.Н.Бровин, Л.В.Плющева Рецензенты: кафедра Открытых информационных технологий и информатики Санкт-Петербургского государственного университета аэрокосмического приборостроения; канд. техн. наук В.А.Галанина.
Содержатся необходимые материалы к выполнению лабораторных работ, предусмотренных учебным планом по дисциплине Программирование на языках высокого уровня. Предназначены для студентов, обучающихся по специальностям "Вычислительные машины, комплексы, системы и сети" и "Программное обеспечение вычислительной техники и автоматизированных систем" на вечерней форме обучения. Подготовлены к публикации кафедрой Вычислительных систем и сетей по рекомендации методической комиссии факультета Вычислительных систем и программирования Санкт-Петербургского государственного университета аэрокосмического приборостроения.
С Санкт-Петербургский государственный университет аэрокосмического приборостроения (СПбГУАП). 2009. Подписано к печати Формат 60х84 1/16 Объем 2,0 п.л. Уч.-изд.л. 2,0 Тираж 150 экз. Зак. № Ротапринт ЛИАП 190000, Санкт-Петербург, ул.Б.Морская, 67
Содержание
Введение. 4 Лабораторная работа №1 Управляющая структура “Следование”. 5 Лабораторная работа №2 Управляющая структура “Развилка”. 11 Лабораторная работа №3 Управляющая структура “Выбор”. 21 Лабораторная работа №4 Управляющие структуры “Циклы”. 25 Лабораторная работа №5 Суммирование рядов. 38 Лабораторная работа №6 Обработка массивов. 44 Лабораторная работа №7 Методы сортировки. 53 Лабораторная работа №8 Обработка строк. 59 Лабораторная работа №9 Текстовые файлы.. 68 Лабораторная работа №10 Базы данных. 72 Лабораторная работа №11 Линейные списки. 80 Лабораторная работа №12 Динамические структуры данных. 87 Лабораторная работа №13 Классы. Объекты.. 91 Литература. 100
Введение
Лабораторный практикум содержит информационный материал, необходимый студентам вечерней формы обучения специальностей 230101 “Вычислительные машины, комплексы, системы и сети” и 230104 “Программное обеспечение вычислительной техники и автоматизированных систем” для выполнения лабораторных работ по дисциплине “Программирование на языках высокого уровня”. Приводятся варианты индивидуальных заданий, требования к содержанию и оформлению отчетов о лабораторных работах и примеры реализации программ. Кроме того, лабораторный практикум содержит перечень основной и дополнительной литературы по этой дисциплине, а также перечень действующих Государственных стандартов, которые требуется соблюдать при выполнении лабораторных работ. Лабораторные занятия проводятся с целью приобретения практических навыков алгоритмизации, программирования, тестирования и отладки программ на компьютере с использованием современных технологий и инструментальных средств.
Перечень лабораторных работ: - Лабораторная работа №1. Управляющая структура «Следование». - Лабораторная работа №2. Управляющая структура «Развилка». - Лабораторная работа №3. Управляющая структура «Выбор». - Лабораторная работа №4. Управляющие структуры «Циклы». - Лабораторная работа №5. Суммирование рядов. - Лабораторная работа №6. Обработка массивов. - Лабораторная работа №7. Методы сортировки. - Лабораторная работа №8. Обработка строк. - Лабораторная работа №9. Текстовые файлы. - Лабораторная работа №10. Базы данных. - Лабораторная работа №11. Линейные списки. - Лабораторная работа №12. Динамические структуры данных. - Лабораторная работа №13. Классы. Объекты.
Лабораторная работа №1 Управляющая структура “Следование”
Цель лабораторной работы: изучение концепций и освоение технологии структурного программирования, приобретение навыков структурного программирования на языке C/С++ при решении простейших вычислительных задач. Задание на программирование: используя технологию структурного программирования, разработать линейную программу решения индивидуальной вычислительной задачи.
Порядок выполнения работы:
1) Получить у преподавателя индивидуальное задание и выполнить постановку задачи: сформулировать условие, определить входные и выходные данные. 2) Разработать математическую модель вычислений. 3) Построить схему алгоритма решения задачи. 4) Составить программу на языке C/С++. 5) В программе использовать данные типа unsigned char. 5) Выходные данные (сообщения)выводить на экран в развернутой форме. 6) Проверить и продемонстрировать преподавателю работу программы. 7) Оформить отчет о лабораторной работе в составе: постановка задачи, математическая модель, схема алгоритма решения, текст программы, контрольные примеры.
Варианты индивидуальных заданий
Выполнить поразрадные логические операции над машинными кодами
1 117 AND 90 -117 XOR 90 117 → 3 NOT 21 XOR –13 AND (-23 OR NOT 9)
2 135 AND 106 135 OR -106 135 → 4 NOT 17 OR (NOT 111 XOR –19) AND 91
3 207 AND 37 207 XOR -37 37 ← 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 ← 2 (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 ←4 (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 ←3 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 ← 3 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 180 AND 35 180 XOR 35 35 ← 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 137 AND 80 137 XOR 80 137 → 3 105 XOR NOT –15 AND (NOT 82 OR –25)
17 157 AND 14 157 XOR 14 157 →4 110 OR NOT –25 AND (NOT 46 XOR –11)
18 139 AND 18 139 OR -18 139 → 3 80 OR NOT –11 AND (NOT 48 XOR –15)
19 125 AND 20 125 OR -20 125 ← 1 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 90 ← 2 17 XOR NOT –11 AND (NOT 30 OR –15)
23 74 AND 111 74 XOR 111 74 ← 3 28 OR NOT –13 AND (NOT 16 XOR –25)
24 36 AND 21 36 XOR 21 36 ← 4 14 OR NOT –15 AND (NOT 26 XOR –17)
25 61 AND 18 61 OR -18 61 ← 4 9 XOR NOT –21 AND (NOT 60 OR –5)
26 75 AND 26 75 XOR 26 72 ← 4 NOT 80 XOR –31 AND (-16 OR NOT 11)
27 81 AND 14 81 XOR 14 81 ← 3 70 XOR NOT –11 AND (NOT 36 OR 15)
28 111 AND 14 111 XOR 14 111 ← 3 15 XOR NOT –9 AND (NOT 26 OR 31)
Пример программы
#include<stdio.h> #include<conio.h> void main() {unsigned char a, b, c; clrscr(); a = 41 & -21; printf("41 AND -21 = (41) = %i\n", a); a = -41 & -21; printf("-41 AND -21 = (195) = %i\n", a); b = 41 | 21; printf("41 OR 21 = (61) = %i\n", b); b = 41 ^ 21; printf("41 XOR 21 = (60) = %i\n", b); b = 41 << 2; printf("41 << 2 = (164) = %i\n", b); c = ~43 | -9 & (~-7 ^ 4); printf("NOT 43 OR -9 AND (NOT-7 XOR 4) = (214) = %i\n", c); getchar();
a = 141 & -121; printf("141 AND -121 = (133) = %i\n", a); a = -141 & -121; printf("-141 AND -121 = (3) = %i\n", a); b = 141 | 121; printf("141 OR 121 = (253) = %i\n", b); b = 141 ^ 121; printf("141 XOR 121 = (244) = %i\n", b); b = -1 >> 2; printf("-1 >> 2 = (255) = %i\n", b); getchar();
a = 111 & -12; printf("111 AND -12 = (100) = %i\n", a); a = -111 & -12; printf("-111 AND -12 = (144) = %i\n", a); b = 111 | 12; printf("111 OR 12 = (111) = %i\n", b); b = 111 ^ 12; printf("111 XOR 12 = (99) = %i\n", b); b = 111 >> 2; printf("111 >> 2 = (27) = %i\n", b); getchar(); }
Лабораторная работа №2 Управляющая структура “Развилка”
Цель лабораторной работы: изучение концепций и освоение технологии структурного программирования, приобретение навыков структурного программирования на языке C/С++ при решении логических задач. Задание на программирование: используя технологию структурного программирования, разработать разветвляющуюся программу для решения индивидуальной задачи определения места нахождения на плоскости точки с произвольно заданными координатами.
Порядок выполнения работы:
1) Получить у преподавателя индивидуальное задание и выполнить постановку задачи: сформулировать условие, определить входные и выходные данные. 2) Разработать математическую модель: привести уравнения линий, ограничивающих выделенные штриховкой области, описать условия попадания точки в каждую область (количество областей должно быть от 3 до 6). 3) Построить схему алгоритма решения задачи. 4) Составить программу на языке C/С++. 5) Входные данныевещественного типа floatвводить с клавиатуры по запросу. Выходные данные (сообщения)выводить на экран в развернутой форме. 6) Проверить и продемонстрировать преподавателю работу программы на полном наборе тестов. 7) Оформить отчет о лабораторной работе в составе: постановка задачи, математическая модель, схема алгоритма решения, текст программы, контрольные примеры.
Варианты индивидуальных заданий
|
||||||||||||
Последнее изменение этой страницы: 2018-05-10; просмотров: 166. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |