- •Восходящее и нисходящее программирование
- •1 Методы программирования
- •1.2 Восходящее программирование
- •1.2 Нисходящее программирование
- •Уровень II
- •Управляющая
- •Заглушка 1
- •Заглушка 2
- •1.3 Повышение качества проектирования программ
- •2 Организация выполнения курсовго проекта
- •2.1 Этапы выполнения курсового проекта
- •2.2 Требования к пояснительной записке
- •3 Задания на курсовое проектирование
- •3.1 Числовые задачи
- •3.2 Создание и введение баз данных. Справочники
- •3.3 Контролирующие и обучающие программы
- •3.4 Звукогенерация, графика, движение, мультипликация
- •3.5 Помехоустойчивое кодирование
- •3.7. Игровые задачи
- •3.8. Психологическое тестирование
- •3.8 Моделирование арифметических операций
- •3.9 Олимпиадные задачи
- •Курсовой проект
- •Задание
- •Студент Панова Александра Николаевна группа в-115
- •Разработка алгоритмов кодирования – декодирования двоичных данных кодом с проверкой на четность
- •1 Анализ задания и формулировка задач на проектирование
- •2 Разработка алгоритмов для контроля передачи данных
- •2.1 Кодирование двоичных данных кодом с проверкой на четность
- •2.2 Декодирование данных
- •2.3. Универсальный алгоритм кодирования-декодирования
- •3 Особенности разработки программы
- •4 Инструкция пользователя
- •5 Результаты тестирования
3.5 Помехоустойчивое кодирование
1. Коррекция ошибок блочным кодом с проверкой на четность строк и столбцов (кодирование, декодирование).
2. Кодирование двоичных данных непрерывным двухстепенным кодом и исправление одиночных ошибок.
3. Исправление многократных ошибок непрерывным двухстепенным кодом с проверкой четностей слов и диагоналей.
4. Коррекция ошибок блочным двумерным кодом.
5. Коррекция ошибок модифицированным блочным двумерным кодом.
6. Применение помехоустойчивого непрерывного двух векторного кода для повышения достоверности передачи данных.
7. Коррекция ошибок непрерывным трех векторным кодом.
8. Исправление ошибок непрерывным 3мин-вектор-кодом.
9. Коррекция ошибок блочным трех векторным кодом.
10. Кодирование и исправление ошибки в двоичном слове данных СВ-кодом.
3.7. Игровые задачи
1. "Семь лунок". Вдоль доски расположено семь лунок, в которых лежат слева 3 черных, а справа 3 белых шара. Передвинуть черные шары на место белых, а белые на место черных. Шар можно передвинуть либо в соседнюю с ним пустую лунку, либо в пустую лунку, находящуюся непосредственно за ближайшим шаром.
2. "Прыгающие шарики". Эта игра похожа на предыдущую. Исходная позиция - 8 лунок, в которых расставлены 4 черных (слева) и 3 белых (справа) шара. Поменять местами черные и белые шары. В отличие от предыдущей игры черные шары можно передвигать только вправо, а белые только влево.
3. Вдоль доски расположены девять лунок и в каждой лунке лежит красный, белый или синий шар. Одним ходом разрешается менять местами два любых шара. Добиться того, чтобы все красные шары шли первыми, все синие - последними, белые - посередине. Если общее число лунок равно N, то для решения задачи достаточно сделать не более N-1 хода.
4. "Пятнадцать". На квадратном поле размером 4х4 с помощью датчика случайных чисел расставлены 15 фишек с номерами от 1 до 15. Имеется одна свободная позиция. Расставить фишки по возрастанию их номеров. Передвигать фишки можно только на свободную соседнюю позицию.
5. "Ипподром". Играющий выбирает одну их трех лошадей, состязающихся в бегах, и выигрывает, если его лошадь приходит первой. Скорость передвижения лошадей на разных этапах выбирается программой с помощью датчика случайных чисел.
6. Игра в слова. Программа выбирает слово и рисует на экране столько прочерков (прямоугольников), сколько букв в этом слове. Отгадать, какое слово загадано программой. В каждый ход играющий указывает одну букву. Если названа буква, входящая в состав слова, она подставляется вместо соответствующего прочерка (прямоугольника). В противном случае играющий теряет одно очко. В начальный момент у играющего 15 очков.
7. Программа должна выбирать с помощью датчика случайных чисел четырехзначное число с разными цифрами. Угадать это число. На каждом шаге играющий называет четырехзначное число, а программа сообщает, сколько цифр числа угадано и сколько цифр угадано и стоит на нужном месте. Количество угадываний ограничить. Предусмотреть варианты для другой разрядности.
8. "Жизнь". Игра моделирует жизнь поколений гипотетической колонии живых клеток, которые выживают, размножаются или погибают в соответствии со следующими правилами. Клетка выживает, если и только если она имеет двух или трех соседей из восьми возможных. Если у клетки только один сосед или вовсе ни одного, она погибает в изоляции. Если клетка имеет четырех или более соседей, она погибает от перенаселения. В любой пустой позиции, у которой ровно три соседа, в следующем поколении появляется новая клетка.
9. Требуется ввести курсор в область экрана (небольшой круг), расположение которого неизвестно играющему. Передвижение курсора сопровождается звуковым сигналом: если курсор приближается к области, то звуковой сигнал выше, если удаляется - ниже.
10. "Морской бой". На поле 10х10 позиций стоят невидимые корабли: 4 корабля по одной клетке, 3 корабля по две клетке, 2 корабля по три клетки и один корабль в четыре клетки. Необходимо поразить каждую из клеток кораблей. Позиции указываются русскими буквами от А до К (по строкам) и цифрами от 1 до 10 (по столбцам). Конфигурация и положение кораблей на поле выбираются с помощью датчика случайных чисел. Если клетка корабля угадана играющим верно, она отмечается крестиком; в противном случае точкой.
11. Разработать программу «тетрис».
