Главная      Учебники - Разные     Лекции (разные) - часть 15

 

Поиск            

 

Указания методические к выполнению

 

             

Указания методические к выполнению

Федеральное агентство по образованию Российской Федерации

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

В.Н. Кирнос

КУРСОВЫЕ РАБОТЫ

ПО ИНФОРМАТИКЕ

Для студентов специальностей

· 090105 «Комплексное обеспечение информационной безопасности автоматизированных систем»

· 210202 «Проектирование и технология электронно-вычис­лительных систем», обучающихся по очной форме.

Методические указания к выполнению

Пособие в электронном виде выложено в сети кафедры КИБЭВС на диске AOS (O: ) в папке KURSPROJ под именем MET_KURS.doc

Томск – 2006


В.Н. Кирнос

КУРСОВЫЕ РАБОТЫ ПО ИНФОРМАТИКЕ – Томск: ТУСУР, 2006, – 18 с.

Методические указания рассчитаны на студентов специальности 090105, 210202 дневной формы обучения. Так же могут быть полезны для студентов дистанционной и заочной форм обучения.

© Кафедра комплексной информационной безопасности ТУСУР, 2006

© Кирнос В.Н., 2006

СОДЕРЖАНИЕ

ЭТАПЫ ВЫПОЛНЕНИЯ КУРСОВОЙ РАБОТЫ... 2

ВАРИАНТЫ ТЕМ КУРСОВЫХ РАБОТ.. 2

ПРАВИЛА ВЫПОЛНЕНИЯ И ОФОРМЛЕНИЯ КУРСОВОЙ РАБОТЫ 2

Общие положения. 2

Общие требования к построению пояснительной записки (ПЗ) 2

Основная часть курсовой работы.. 2

Об анализе задачи. 2

Об описании алгоритма. 2

О выборе представления данных. 2

О выборе тестов. 2

Правила оформления ПЗ к курсовой работе. 2

ПРИЛОЖЕНИЯ.. 2

Приложение 1. Форма титульного листа к курсовой работе. 2

Приложение 2. Форма задания для курсового проекта. 2

Приложение 3. Пример оформления содержания. 2

Приложение 4. Пример списка литературы.. 2

ЭТАПЫ ВЫПОЛНЕНИЯ КУРСОВОЙ РАБОТЫ

1. Выбор варианта задания.

2. Постановка задачи и разработка предметной области

3. Определение методики решения поставленной задачи

4. Определение ограничений на решаемую задачу

5. Написание алгоритма

6. Реализация данного алгоритма в виде программного файла

7. Этап компиляции программы-создание загрузочного модуля,

8. Оформление пояснительной записки.

В соответствии с поставленной задачей необходимо разработать алгоритм и реализовать его в форме программы, написанной на языке высокого уровня С++. Выбор или разработка алгоритма и численного метода решения задачи имеют важнейшее значение для успешной работы над программой. Тщательно проработанный алгоритм решения задачи- необходимое условие эффективной работы по составлению программы.

Важную часть этапа разработки программы представляет собой отладка программы, которая заключается в устранении ошибок программирования, ошибок перевода алгоритма на язык программирования. Это доказательство того, что программа работает правильно т.е. дает правильный результат. Для этого разрабатывается система тестов, которые представляют собой специально подобранные наборы данных. При этом рассматриваются предельные значения, различные граничные условия параметров.

Если алгоритм решения задачи, структура программы и структура данных тщательно продуманы и аккуратно записаны, затраты времени на кодирование т.е. запись алгоритма на языке программирования уменьшаются, а вероятность ошибок на этом этапе снижается.

В ходе выполнения задания необходимо продемонстрировать знания и умения работать с операторами С++, использовать графические возможности языка, реализовать умение работать с файлами, записями и структурами.

Листинг программы должен содержать подробные комментарии (Результаты к которым приводит выполнение соответствующих операторов).

По результатам выполнения курсовой работы оформляется пояснительная записка.

Созданную программу (как в исходном виде, так и в виде исполняемого файла ) студент предъявляет на дискете, а пояснительную записку – в отпечатанном виде с оформлением по всем правилам (см. ниже).

ВАРИАНТЫ ТЕМ КУРСОВЫХ РАБОТ

1. Шифр Цезаря.

Чтобы зашифровать текст, записанный с помощью русских букв и знаков препинания, его можно переписать, заменив каждую букву непосредственно следующей за ней буквой по алфавиту (буква Я заменяется на А). Обобщив этот способ шифровки, можно производить сдвиг не на одну букву, а на N букв (N – натуральное число)

Создать программу, которая

А) зашифрует введенный текст, Б) расшифрует данный текст

2. Шифровка последовательностей нулей и единиц

Способ шифровки последовательностей нулей и единиц (или, например, точек и тире) состоит в следующем. Пусть a1 , a2 ,… aN – такая последовательность. То, что предлагается в качестве ее шифра - это последовательность b1 , … bN , образованная по следующему правилу:

b1 =a1 , bi = 1 при a i =ai-1 либо bi = 0 иначе (для i =2, … N)

Пользуясь изложенным способом:

А) зашифровать данную последовательность

Б) расшифровать данную последовательность

3. «Табличная шифровка».

Один из простейших способов шифровки текста состоит в табличной замене каждого символа другим символом – его шифром. Выбрать некоторую таблицу, разработать способ ее представления, затем:

А) зашифровать данный текст

Б) расшифровать данный текст.

4. . «Матричная шифровка»

Чтобы зашифровать текст из 121 буквы, его можно записать в квадратную матрицу порядка 11 по строкам, а затем прочитать по спирали, начиная с центра (т.е. с элемента, имеющего индексы 6,6).

Такой способ можно обобщить и для произвольной длины текста, подбирая нужный размер матрицы.

А) зашифровать данный текст

Б) расшифровать данный текст

5. «Шифровка решеткой»

Шифровка текста с помощью решетки заключается в следующем. Решетка, т.е. квадрат из клетчатой бумаги 10х10 клеток, некоторые клетки в котором вырезаны, совмещается с целым квадратом 10х10 клеток и через прорези на бумагу наносятся первые буквы текста. Затем решетка поворачивается на 90 градусов и через прорези записываются следующие буквы. Это повторяется еще дважды. Таким образом, на бумагу наносится 100 букв текста. Решетку можно изобразить квадратной матрицей порядка 10 из нулей и единиц (нуль изображает прорезь). Доказано что матрица [Aij], i=1,…10, j=1,…10 может служить ключом шифра, если из элементов Aij, A 10-i+1 j , A i 10-j+1 , A 10-i+1 10 –j+1 в точности один равен нулю.

Дана последовательность из 100 букв и матрица-ключ.

А) Зашифровать данную последовательность

Б) Расшифровать данную последовательность

Обобщить на случай последовательности произвольной длины.

6. «Шифровка зафиксированной перестановкой»

Зафиксируем натуральное k и перестановку чисел 1,… k (ее можно задать с помощью последовательности натуральных чисел p1,… pk, в которую входит каждое из чисел 1,… k). При шифровке в исходном тексте к каждой из последовательных групп по k символов применяется зафиксированная перестановка. Пусть k=4 и перестановка есть 3, 2, 4, 1. Тогда группа символов s1,s2,s3,s4 заменяется на s3, s2, s4, s1. Если в последней группе меньше четырех символов, то к ней добавляются пробелы. Пользуясь изложенным способом:

А) зашифровать данный текст

Б) расшифровать данный текст

7. Исправление ошибок.

Пусть по некоторому каналу связи передается сообщение, имеющее вид последовательности нулей и единиц (или, аналогично, точек и тире). Из-за помех возможен ошибочный прием некоторых сигналов: нуль может быть воспринят как единица и наоборот. Можно передавать каждый сигнал трижды, заменяя, например, последовательность 1, 0, 1 последовательностью 1,1,1, 0,0,0, 1,1,1. Три последовательные цифры при расшифровке заменяются той цифрой, которая встречается среди них по крайней мере дважды. Такое утраивание сигналов существенно повышает вероятность правильного приема сообщения.

Написать программу расшифровки.

8. Клавиатура рояля

Составить программу для воспроизведения мелодии, «сыгранной» на клавиатуре компьютера. Как и при игре на клавиатуре рояля, каждой клавише ставится в соответствие некоторая нота; длительность звучания ноты определяется длительностью нажатия клавиши.

9. Нарисованная клавиатура рояля.

Составить программу для запоминания и последующего воспроизведения мелодии, «сыгранной на клавиатуре рояля». Клавиатура изображается на экране (см. ниже). Вначале курсором указывается клавиша, а после этого – обозначение длительности.

10. Таблица чемпионата

Таблица футбольного чемпионата задана квадратной матрицей порядка N, в которой все элементы , принадлежащие главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен 2, 1 или 0 (числу очков набранных в игре: 2 – выигрыш, 1 – ничья, 0 – проигрыш). Перестроить эту таблицу, присвоив каждой команде номер, равный занятому ею месту (при равном числе очков места распределяются произвольно).

11. Игра «пятнадцать».

На квадратном поле размером 4х4 с помощью датчика случайных чисел расставлены 15 фишек с номерами от1 до 15 (см. рис А). Имеется одна свободная позиция. Расставить фишки по возрастанию их номеров так, как показано на рис. Б или В. Передвигать фишки можно только на соседнюю свободную позицию.

1

13

12

2

1

2

3

4

1

2

3

4

11

7

6

10

5

6

7

8

5

6

7

8

9

3

5

15

9

10

11

12

9

10

11

12

4

8

14

13

14

15

13

15

14

А Б В

12. «Расстановка 16 букв»

В квадрате размером 4х4 клетки расставить 16 букв (четыре А, четыре В, четыре С, четыре Д) так, чтобы в каждом горизонтальном и в каждом вертикальном ряду любая буква встречалась только один раз.

13. «Кости».

Играющий называет любое число в диапазоне от 1 до 12 и ставку, которую он делает в этот ход. Программа с помощью датчика случайных чисел дважды выбирает числа от 1 до 6 («бросает кубик», на гранях которого цифры от 1 до 6). Если сумма выпавших цифр меньше 7 и играющий задумал число меньшее 7, он выигрывает сделанную ставку. Если сумма выпавших цифр больше 7 и играющий задумал число большее 7, он также выигрывает сделанную ставку. Если играющий угадал сумму цифр, он получает в четыре раза больше очков, чем сделанная ставка. Ставка проиграна, если не имеет место ни одна из описанных ситуаций. В начальный момент у играющего 100 очков.

14. «Угадай число».

Программа с помощью датчика случайных чисел выбирает число в диапазоне от 0 до 9. Угадать это число за три попытки. После каждой попытки сообщается, больше или меньше названное число задуманного.

Обобщить на случай диапазона и числа попыток, задаваемых извне.

15. «Игра в слова»

Программа выбирает слово и рисует на экране столько прочерковЮ сколько букв в этом слове. Отгадать какое слово загадано программой. В каждый ход играющий указывает одну букву. Если названа буква, входящая в состав слова, она подставляется вместо соответствующего прочерка. В противном случае играющий теряет 1 очко. В начальный момент у играющего 15 очков.

16. «Коровы и быки».

Программа выбирает с помощью датчика случайных чисел четырехзначное число с разными цифрами. Угадать это число. На каждом шаге играющий называет четырехзначное число, а программа сообщает, сколько цифр числа угадано (быки) и сколько цифр стоит на нужном месте (коровы). Например, если программой загадано число 1294, а играющий назвал 1423, он получит ответ «1 корова, 3 быка»

17. «Морской бой»

На поле 10х10 позиций стоят невидимые вражеские корабли: 4 корабля по одной клетке, 3 корабля по две клетки, 2 корабля по 3 клетки, 1 корабль в 4 клетки. Необходимо поразить каждую из клеток кораблей. Позиции указываются русскими буквами от А до К (по строкам) и цифрами от 1 до 10 (по столбцам). Конфигурация и положение кораблей на поле выбирается с помощью датчика случайных чисел. Если клетка корабля угадана играющим верно, она отмечается крестиком; в противном случае точкой.

18. Обучение устному счету.

Составить программу для обучения устному счету. На каждом шаге должны предлагаться числа и арифметические действия, которые следует выполнить над этими числами, и ввести ответ. Причем, должен быть контроль за временем на размышление.

19. Обучение переводу из 10-й системы счисления в двоичную.

Составить программу для обучения переводу чисел из десятичной системы счисления в двоичную и обратно. Программа должна предлагать десятичное (двоичное) число, выбранное с помощью датчика случайных чисел, обучающийся – назвать это число в двоичной (десятичной) системе счисления. Причем, должен быть контроль за временем на размышление.

20. Обучение переводу из 10-й системы счисления в 16-ричную.

Составить программу для обучения переводу чисел из десятичной системы счисления в 16-ричную и обратно. Программа должна предлагать десятичное (16-ричное) число, выбранное с помощью датчика случайных чисел, обучающийся – назвать это число в 16-ричной (десятичной) системе счисления. Причем, должен быть контроль за временем на размышление.

21. Запоминание исторических дат.

Составить программу, помогающую в запоминании исторических дат. Программа должна предлагать вопросы, контролирующие знание дат исторических событий, например, «В каком году была Куликовская битва?». Если ответ правильный, должен быть предложен следующий вопрос. Если ответ не верен, программа подскажет правильный ответ, а поздее повторит этот же вопрос еще раз.

22. Запоминание слов иностранного языка

Составить программу для заучивания слов иностранного языка. Программа должна предлагать слова из некоторого списка на одном языке, обучающийся – дать перевод этого слова на другой язык.

23. «Изучение созвездий»

Составить программу для изучения созвездий. Программа должна строить на экране изображение созвездия, обучающийся – назвать его.

24. «Крестики-нолики»

Написать программу, играющую в «крестики-нолики».

25. «100 спичек».

Из кучки, первоначально содержащей 100 спичек, двое играющих поочередно берут по несколько спичек: не менее одной и не более десяти. Проигрывает взявший последнюю спичку .

26. «Угадай число».

Один из играющих задумывает число от 1 до 1000, другой пытается угадать его за десять вопросов вида: верно ли, что задуманное число больше такого-то числа. Написать программу, играющую за отгадчика.

27. «Ним».

Имеется три кучки спичек. Двое играющих по очереди делают ходы. Каждый ход заключается в том, что из одной какой-то кучки берется произвольное ненулевое число спичек. Выигрывает взявший последнюю спичку.

28. «Цзяньшидзы»

Имеются две кучки камней. Двое играющих по очереди делают ходы. Каждый ход может состоять в одном из двух:

1) берется произвольное ненулевое число камней из какой-то одной кучки;

2) берется одновременно по одинаковому ненулевому числу камней из обеих кучек

Выигрывает взявший последний камень. Пара (a,b ) , где a и b – количество камней в кучках при a<b , является проигрышной, если число a оканчивается в «фибоначчиевой» системе четным числом нулей, а число b получается из a приписыванием еще одного нуля в конце.

29. Магический квадрат

Магическим квадратом порядка N называется квадратная таблица размера NxN , составленная из чисел 1, 2, … N2 так, что суммы по каждому столбцу, каждой строке и каждой из двух диагоналей равны между собой. Составить программу для построения магического квадрата для заданного N.

30. Латинский квадрат.

Латинским квадратом порядка N называется квадратная таблица размером NxN , каждая строка и каждый столбец которой содержит числа 1,2, … N. Составить программу для построения латинского квадрата для заданного N.

31. Перевод десятичного числа в двоичное

Написать программу, которая преобразует введенное поль­зователем десятичное число (возможно, с дробью) в двоичное. Рекомендуемый вид экрана во время выполнения программы приведен ниже.

Преобразование десятичного числа в двоичное

Введите целое число от 0 до 255 и нажмите <Enter> -> 49

Десятичному числу 49 соответствует двоичное 00110001

Для завершения нажмите <Enter>

32. Проверка знания таблицы умножения

Написать программу проверки знания таблицы умножения. Программа должна вывести 10 примеров и выставить оценку: за 10 правильных ответов — "отлично", за 9 и 8 — "хорошо", за 7 и 6 — "удовлетворительно", за 6 и менее — "плохо". Ниже приве­ден рекомендуемый вид экрана во время работы программы. От­веты пользователя выделены полужирным шрифтом.

*** Проверка знания таблицы умножения ***

После примера введите ответ и нажмите <Enter>.

5x3=15

7x7=49

1x4=4

4x3=12

9x4=36

8x8=64

7x8=52

Вы ошиблись! 7x8=56

4x7=28

3x5=15

2x5=10

Правильных ответов: 9

Оценка: Хорошо.

33. Проверка умения складывать и вычитать числа

Написать программу проверки умения складывать и вычитать числа в пределах 100. Программа должна вывести 10 примеров, причем в каждом примере уменьшаемое должно быть больше или равно вычитаемому, т. е. не допускается предлагать испытуемому примеры с отрицательным результатом. Оценка выставляется по следующему правилу: за 10 правильных ответов — отлично", за 9 и 8 — "хорошо", за 7 и 6 — "удовлетворительно", за 6 и менее — "плохо". Ниже приведен рекомендуемый вид экрана во время работы программы. Ответы пользователя выделены полужирным шрифтом.

Проверка умения складывать и вычитать числа.

После примера введите ответ и нажмите <Enter>

75-4=71

35-9=29

Вы ошиблись! 35-9=26

14-1=13

6-5=1

37-19=28

Вы ошиблись 37-19=18

53-14=39

94-87=7

90-16=74

4-2=2

89-41=48

Правильных ответов: 8

Оценка: Хорошо


34. Большие электронные часы

Написать программу, которая выводит на экран работающие "электронные часы", которые работают в течение, напри­мер, трех минут или до тех пор, пока пользователь не нажмет любую клавишу.

35. Преобразование строчных букв в прописные и обратно

Написать программу, которая в введенной с клавиатуры строке преобразует строчные буквы русского алфавита в прописные (учтите, что стандартная функция upcase с символами русского алфавита не работает). Рекомендуемый вид экрана во время выполнения программы приведен ниже (данные , введенные пользователем, выделены жирным шрифтом)

Введите строку текста и нажмите Enter

- изучив С++, можно программировать под Windows

Строка, преобразованная к верхнему регистру:

ИЗУЧИВ с++, МОЖНО ПРОГРАММИРОВАТЬ ПОД wINDOWS

36. Преобразование десятичного целого числа в указанную систему счисления

Написать программу, которая преобразует введенное пользователем десятичное целое число в число в указанной системе счисления (от 2 до 10). Рекомендуемый вид экрана во время выполнения программы приведен ниже.

Введите целое число -> 67

Введите основание системы счисления -> 2

Десятичному числу 67 соответствует число 100011 по основанию 2

37 . Преобразование десятичного числа в шестнадцатиричное.

Написать программу, которая преобразует введенное пользователем десятичное число (в том числе и дробное) в шестнадцатеричное.

38. Вычисление значения выражения, заданного строкой символов.

Написать программу, которая вычисляет значение выражения N0 O1 N1 O2 …Ok Nk , где Ni — целое одноразрядное число, Оi — один из двух знаков простейших арифметических действий: сложения (+) или вычитания. Ниже приведен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).

введите арифметическое выражение,

например, 4+5-3-5+2, и нажмите <Enter>

-> 9-5+4+2-6

Значение введенного выражения: 4

Для завершения программы нажмите <Enter>

39 . Итоги Олимпийских игр

Написать программу, которая подводит итоги Олимпийских игр. Программа должна получить от пользователя число медалей разного достоинства, завоеванное каждой командой-участницей, вычислить общее количество медалей и соответствующее ему число очков, и после этого упорядочить список в соответствии с набранным количеством очков. Количество очков вычисляется по следующему правилу: за золотую медаль команда получает семь очков, за серебряную — шесть, за бронзовую — пять очков.

Рекомендуемый вид экрана во время работы программы приве­ден ниже. Данные, введенные пользователем, выделены полу­жирным шрифтом.

Итоги Олимпийских игр

Введите в одной строке количество золотых, серебряных и бронзовых медалей.

Австрия -> 3 5 9

Германия -> 12 9 8

Канада -> 6 5 4

Китай -> 0 6 2

Корея -> 3 1 2

Норвегия -> 10 10 5

Россия -> 9 6 3

США -> 6 3 4

Финляндия -> 2 4 6

Япония -> 5 1 4

Итоги зимней Олимпиады в Нагано, 1998 г.

Страна Золото Серебро Бронза Всего Очков

1 Германия 12 9 8 29 178

2 Норвегия 10 10 5 25 155

3 Россия 9 6 3 18 114

4 Австрия 3 5 9 17 96

5 Канада 6 5 4 15 92

6 США 6 3 4 13 80

7 Финляндия 2 4 6 12 68

8 Япония 5 1 4 10 61

9 Китай 0 6 2 8 46

10 Корея 3 1 2 6 37

40. Игра «Угадай число»

Написать программу, реализующую игру "угадай число". Правила игры следующие. Играют двое. Один задумывает число, второй — угадывает. На каждом шаге угадывающий делает пред­положение, а задумавший число — говорит, сколько цифр числа угаданы и сколько из угаданных цифр занимают правильные позиции в числе. Например, если задумано число 725 и выдви­нуто предположение, что задумано число 523, то угаданы две цифры (5 и 2) и одна из них (2) занимает верную позицию.

Ниже приведен рекомендуемый вид экрана во время работы программы. Данные, введенные пользователем, выделены полужирным шрифтом.

Компьютер задумал трехзначное число. Вы должны его отгадать. После очередного числа вам будет сообщено, сколько цифр угадано и сколько из них находятся на своих местах.

После ввода числа нажимайте <Enter>.

Для завершения игры нажмите <Esc>.

Ваш вариант -> 123 Угадано: 0. На своих местах: О

Ваш вариант -> 456 Угадано: 1. На своих местах: О

Ваш вариант -> 654 Угадано: 2. На своих местах: 2

Ваш вариант -> 657 Угадано: 2. На своих местах: 2

Ваш вариант -> 658 Угадано: 3. На своих местах: 3

*** ВЫ УГАДАЛИ ! ***

Нажмите <Enter> для завершения.


41. Программа-телеграф

Напишите программу-телеграф, которая принимает от пользователя сообщение и выводит его на экран в виде последовательности точек и тире. Вывод точек и тире можно сопровождать звуковым сигналом соответствующей длительности.

Азбука Морзе для букв русского алфавита приведена ниже.

А

.-

Б

-...

В

.---

Г

--.

Д

-..

Е

.

Ж

...-

3

--..

И

..

Й

.---

К

-.-

Л

.-..

М

--

Н

-.

О

---

П

.--.

Р

.-.

С

Т

-

У

..-

Ф

..-.

X

….

Ц

-.-.

ч

---.

Ш

----

Щ

--.-

ъ

-..-

ы

-.--

ь

-..-

Э

..-.

Ю

..—

Я

.-.-

42. Программа контроля ввода целых чисел.

Написать программу, обеспечивающую ввод с клавиатуры целого положительного числа. При нажатии клавиши соответствующий символ должен появляться на экране только в том случае, если этот символ является цифрой. Функция должна позволять редактировать введенное число при помощи клавиши <Backspace> При нажатии клавиши <Enter> функция должна завершать работу и возвращать введенное число.

43 . Программа контроля ввода дробных чисел.

Написать программу, обеспечивающую ввод с клавиатуры дробного числа. При нажатии клавиши соответствующий символ должен появляться на экране только в том случае, если этот символ является допустимым в данной позиции. Например, функция не должна допускать ввод более чем одной точки и зна­ка минус не в первой позиции. Функция должна позволять редак­тировать введенное число при помощи клавиши <Backspace>. При нажатии клавиши <Enter> функция должна завершать ра­боту и возвращать введенное число.

44 . Игра «21»

Написать программу, реализующую игру "21". Действия по выдаче очередной карты игроку и компьютеру реализуйте в виде функции.

45 . Гистограмма успеваемости

Написать программу, которая выводит на экран гистограм­му успеваемости в классе, например по итогам контрольной ра­боты. Исходные данные следует ввести в алфавитно-цифровом режиме работы. Рекомендуемый вид экрана во время работы программы приведен ниже. Ниже показан вид экрана во время ввода исходных данных, а под ним — вид диаграммы.

Обработка результатов контрольной работы

Введите исходные данные:

Пятерок -> 10

четверок -> 15

троек -> 7

двоек -> 1

Результаты контрольной работы


46 . Диаграмма товарооборота книжного магазина

Написать программу, которая выводит круговую диаграмму, отражающую товарооборот (в процентах) книжного магазина. Исходные данные (объем продаж в рублях по категориям: книги, журналы, открытки и канцтовары) вводятся во время работы программы. Пример диаграммы приведен ниже.



47 . Работающий светофор

Написать программу, которая выводит на экран изображе­ние работающего светофора. Рекомендуемый вид светофора и алгоритм его работы приведены рядом.

48 . Стрелочные часы

Написать программу, которая выводит на экран изображение идущих часов, у которых есть секундная и минутная стрелки.

49 . Программа тестирования

Напишите универсальную программу тестирования. Тест, последовательность вопросов и варианты ответов должны находиться в текстовом файле. Имя файла теста программа должна получать из командной строки запуска программы. Количество вопросов теста неограниченно. Вместе с тем, предлагается ввести (следующее ограничение: текст вопроса и альтернативных ответов не должен занимать более одной строки экрана.

Программа должна выставлять оценку по следующему правилу: ОТЛИЧНО — за правильные ответы на все вопросы, ХОРОШО — если испытуемый правильно ответил не менее чем на 80% вопросов, УДОВЛЕТВОРИТЕЛЬНО — если правильных ответов более 60%, и ПЛОХО — если правильных ответов меньше 60%.

Ниже приведена рекомендуемая структура файла вопросов теста (Ni — количество альтернативных ответов к i-ому вопросу, Ki, — номер правильного ответа), пример файла теста и вид экрана во время работы программы (номера ответов, введенные пользова­телем, выделены полужирным шрифтом).

Bonpoc1

N1 M1

Ответ

….

Ответ

Вопрос2

N2 M2

Ответ

….

Ответ

Вопросk

Nk Mk

Ответ

….

Ответ

Архитектор Исаакиевского собора

3 2

Доменико Трезини

Огюст Монферран

Карл Росси

Архитектор Зимнего дворца

2 2

Франческо Бартоломео

Карл Росси

Невский проспект получил свое название

3 2

По имени реки, на которой стоит Санкт-Петербург

По имени близко расположенного монастыря, Александро-Невской лавры

В память о знаменитом полководце – Александре Невском

Сейчас Вам будет предложен тест.

К каждому вопросу дается несколько вариантов ответов.

Вы должны ввести номер правильного ответа и нажать Enter.

Архитектор Исаакиевского собора

1. Доменико Трезини

2. Огюст Монферран

3. Карл Росси

—> 2

Архитектор Зимнего дворца

1. Франческо Бартоломео

2. Карл Росси

—> 2

Невский проспект получил свое название

1. По имени реки, на которой стоит Санкт-Петербург

2. По имени близко расположенного монастыря, Александро-Невской лавры

3. В память о знаменитом полководце – Александре Невском

—> 2

Ваша оценка ОТЛИЧНО! Для завершения работы программы нажмите Enter.

50 . Кривые Серпинского

Написать программу, которая вычерчивает на экране кри­вую Серпинского. Порядок кривой должен вводиться во время работы программы. Вид кривых Серпинского первого, второго и третьего порядка приведен ниже.



ПРАВИЛА ВЫПОЛНЕНИЯ И ОФОРМЛЕНИЯ КУРСОВОЙ РАБОТЫ

Общие положения

Основные задачи и цели курсового проектирования:

1) приобретение навыков и методов программирования достаточно сложных задач

2) подготовка к выполнению дипломного проекта

Общие требования к построению пояснительной записки (ПЗ)

Структура построения ПЗ

ПЗ к работе должна содержать следующие разделы:

1) титульный лист (см. приложение 1)

2)

3) задание на проектирование (см. приложение 2)

4) содержание

5) введение

6) основная часть работы

7) заключение

8) список литературы

9) приложения

Титульный лист оформляется согласно ГОСТ 2.105-79 (см. приложение 1)

– краткая характеристика работы с точки зрения содержания, назначения, формы и других особенностей. Перечисляются ключевые слова работы, указывается количество страниц и приложений. размещают на отдельной странице. Заголовком служит слово «», написанное прописными буквами.

Задание на проектирование заполняется студентом в соответствии с полученным заданием. Форма задания приведена в приложении 2.

Содержание включает наименование всех разделов, подразделов и пунктов, если они имеют наименование, а также список литературы и приложения с указанием номера страниц, на которых они начинаются. Слово «Содержание» записывается в виде заголовка, симметрично тексту, прописными буквами. Пример оформления содержания см. в приложении 3.

Введение содержит основную цель курсовой работы, область применения разрабатываемой темы.

Заключение должно содержать краткие выводы по выполненной работе. Также следует указать, чему программист научился на примере этой задачи.

Список литературы включает все те и только те источники литературы, на которые имеются ссылки в ПЗ. Пример – см. в приложении 4.

Приложения содержат вспомогательный материал, листинг программы и листинг тестов. При этом программа должна быть самодокументированной, т.е.

- иметь простую и понятную структуру

- в программе должны быть прокомментированы используемые структуры данных

- для данной подпрограммы должно быть указано, что она делает, что является входными данными и результатом

- должен быть прокомментирован используемый алгоритм

Основная часть курсовой работы

В основной части должно быть решение поставленной задачи, в частности:

- анализ задачи,

- обоснование выбора алгоритма,

- обоснование выбора структур данных,

- описание алгоритма,

- обоснование набора тестов

Об анализе задачи.

Разработка алгоритма представляет собой задачу на построение. Поэтому как обычно, в таких случаях (можно, например, вспомнить о методе решения геометрических задач на построение), необходим этап анализа задачи. Он позволяет установить, что является входом и выходом будущего алгоритма, выделить основные необходимые отношения между входными и выходными объектами и их компонентами, выделить подцели, которые нужно достичь для решения задачи, и, как следствие этого, выработать подход к построению алгоритма, т.е. формулировка в самом общем виде того, что (в рамках выбранного подхода) должен делать алгоритм, чтобы переработать входные данные в выходные.

Об описании алгоритма.

Прежде всего, нужно иметь в виду, что такое описание предназначено не для машины, а для человека. Другими словами, речь идет не о программе, а о некотором тексте (т.е. о словесном описании), по которому можно получить представление об общей структуре разрабатываемого алгоритма, о смысле его отдельных шагов и их логической взаимосвязи. Сохранение достаточно высокого уровня описания алгоритма также облегчает его обоснование. Поэтому шаги алгоритма должны описываться в терминах тех объектов и отношений между ними, о которых идет речь в формулировке задачи. Например, для «геометрической» задачи шаги алгоритма следует описывать как действия над точками, прямыми и т.п. Но не должно быть работы с кодами этих объектов, например с матрицей координат точек некоторого множества.

О выборе представления данных.

Данные, обрабатываемые алгоритмом, делятся на входные, промежуточные и выходные. Специфика входных и выходных данных состоит в том, что с ними имеет дело не только алгоритм, но и пользователь программы. Поэтому различают две формы представления таких данных – внешнее и внутреннее.

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

О выборе тестов

Нужно подобрать набор тестов, достаточный для демонстрации работы программы и ее реакции на экстремальные ситуации и неправильное обращение.

Правила оформления ПЗ к курсовой работе

ПЗ пишется в редакторе MS Word шрифтом Times New Roman, размером 12, на формате А4. Нумерация страниц должна быть сквозной, первой страницей является титульный лист. Номер страницы проставляется сверху посередине. Заголовки разделов пишутся прописными буквами по середине листа. Заголовки подразделов пишутся с абзаца строчными буквами, кроме первой прописной. В заголовке не допускаются переносы слов. Точку в конце заголовка не ставят. Если заголовок состоит из двух предложений, то их разделяют точкой.

ПРИЛОЖЕНИЯ

Приложение 1. Форма титульного листа к курсовой работе


Федеральное агентство по образованию РФ

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

Игра «Угадай число»

Пояснительная записка к курсовой работе по дисциплине
“Информатика 2”

Студент гр. 417

(подпись) В.Н.Петров

01.04. 05

Руководитель

Доцент каф. КИБЭВС

____________ В. Н. Кирнос

___________


2005

Приложение 2. Форма задания для курсового проекта

Федеральное агентство по образованию РФ

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра комплексной информационной безопасности электронно- вычислительных систем (КИБЭВС)

УТВЕРЖДАЮ

Зав. кафедрой КИБЭВС

(подпись) А.А,Шелупанов

“___” _____________ 200 г.

ЗАДАНИЕ

по курсовому проектированию по дисциплине“Информатика 1”

студенту_____________________________________________

группа _________ факультет ФВС.

Тема проекта: Игра ”Угадай число”

2. Срок сдачи студентом законченного проекта _______________________

3. Исходные данные к проекту: (Текст задания)________________________

________________________________________________________________

____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

7. Дата выдачи задания: __________________________________________

Задание принял к исполнению ____________ (дата)

(Ф.И.О.)________________(подпись студента)

Приложение 3. Пример оформления содержания

СОДЕРЖАНИЕ

1. Введение 5

2. Анализ задачи 8

3. Решение задачи 10

3.1 Выбор алгоритма и структур данных 10

3.2 Описание алгоритма 14

3.3 Выбор набора тестов 18

4. Заключение 25

Список литературы 26

Приложение 1. Листинг программы 27

Приложение 2. Распечатки тестов 29

Приложение 4. Пример списка литературы

СПИСОК ЛИТЕРАТУРЫ

1. Страуструп Б. Язык программирования С++: Вторая редакция. – Киев: ДИАСОФТ, 1993, ч.1 и ч.2

2. Березин Б.И., Березин С.Б. Начальный курс С и С++. Учебное пособие. – М: ДИАЛОГ МИФИ, 1999, 288 с

3. Павловская Т.А., Щупак Ю.А. С/С++ Программирование на языке высокого уровня. Учебник для ВУЗов – СПб: Питер, 2002, 460 с

4. Павловская Т.А., Щупак Ю.А. С/С++ Программирование на языке высокого уровня. Структурное программирование: Практикум: Учебное пособие для вузов – СПб: Питер, 2002, 238 с

5. Подбельский В.В. Язык Си++. Учебное пособие для вузов. – М: Финансы и статистика, 2004 – 560 с