Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Выполнить поразрадные логические операции над машинными кодами




ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение

Высшего профессионального образования

«Санкт-Петербургский государственный университет

Аэрокосмического приборостроения»

Кафедра Вычислительных систем и сетей (№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; просмотров: 148.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...