Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 40028

.doc
Скачиваний:
3
Добавлен:
30.04.2022
Размер:
171.52 Кб
Скачать

7.45 Задан одномерный символьный массив не более чем из n элементов, содержащий слова, то есть группы символов, не содержа­щие внутри себя пробелов. Слова могут быть отделены друг от друга одним или несколькими пробелами. Для каждого из слов указать, сколько раз оно встречается в тексте и найти все слова, содержа­щие наибольшее количество букв "а", "е", "и", "о", "у? "э", "ю", "я".

7.46 Задано натуральное число n (n≤1000). Записать это число русскими слогами.

7.47 Заданы натуральные числа a1, b1, c1, a2, b2, c2, которые указывают две даты (число, месяц, год) . Вычислить коли­чество дней, прошедших между этими двумя датами и количество полных лет между ними.

7.48 Заданы натуральные числа a, b, c, которые обозначают число, месяц и год. Проверить корректность этой даты: например, 30 февраля - некорректная дата. Найти номер этого дня с на­чала года и определять, сколько полных дней осталось до конца года.

7.49 Зашифровать исходный текст объемом не более n символов по сведущему правилу:

а) каждая буква заменяется на непосредственно следующей по алфавиту, буква "я" заменяется на "а":

б) каждая буква заменяется на букву, отстоящую от нее на К символов, где К - заданное натуральное число;

в) задается натуральное число К и перестановки чисел 1, 2, … , К; при шифровке в исходном тексте к каждой из последовательных групп по К символов применяется своя перестановка: пусть К = 4 и перестановка есть 3, 2, 4, 1, тогда группа символов S1, S2, S3, S4 заменяется на S3, S2, S4, S1, если в последней группе меньше четырех символов, то к ней добавляются пробелы. Предусмотреть возможность расшифровки текста.

7.50 Задана двоичная (из нулей и единиц) последователь­ность n элементов а1, а2, …, аn. В качестве ее шифра предлагается последовательность b1, b2, …, bn,

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

7.52 Задана последовательность m символов. Получить последовательность случайных чисел р1, р2, … ,рm и при шифровке символа Si (1≤i≤m) применять сдвиг на pi букв. При этом в зашифрованном тексте одинаковые буквы не обязательно обозначавют одну и ту же букву исходного текста. Расшифровать текст при этом можно только имея тот же датчик случайных чисел. Зашифровать и расшифровать текст.

7.53 Задана целочисленная квадратная матрица порядка n. Определить, является ли она магическим квадратом, то есть матрицей составленной из чисел I, 2, ..., n^2 так, что суммы по каждому столбцу, каждой строке и каждой из двух диагоналей равны между собой.

7.54 Задана целочисленная квадратная матрица порядка n. Определить, является ли она латинским квадратом, то есть матри­цей, каждый столбец которой содержит числа 1,2, ... n, так же, как и каждая строка.

7.55 Задана матрица размера m*n. Выяснить, имеются ли в матрице седловые точки, то есть элементы, являющиеся одно­временно наименьшими в своей строке и наибольшими в своем столбце. Если такие элементы есть, то указать их индексы.

7.56 Задана целочисленная квадратная матрица порядка n, состоящая из нулей и единиц, которая соответствует квадратному листу клетчатой бумаги размера n*n клеток, на котором нари­сована несколько прямоугольников, не соприкасающихся друг с дру­гом. Если клетка принадлежит прямоугольнику, то соответствующий элемент матрицы равен единице, и равен нулю в противнем случае. Определить по заданной матрице число изображенных прямоугольни­ков.

7.57* Задана действительная квадратная матрица порядка n. С помощью допустимых преобразований добиться того, чтобы:

один из элементов матрицы, обладающий наибольшим по моду­ле значением, располагался в левом верхнем углу матрицы;

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

7.58* Задана квадратная матрица А порядка n, требуется найти А. Алгоритм, основанный на непосредственном применении формулы A^n=A*A*…*A (n сомножитель), не является экономичным. Например, А^4 можно вычислять как (A^2)^2. Бо­лее рациональным представляется следующий алгоритм: если

N=2К, то А^n=(A^2)^k; если n=2k+1, то A^n=(A^2)^kA. Степень с показателем К вычисляется из этих же соображений. Итак, надо разделить n на 2 с остатком: n=2k+l (l≤1), потом то же самое проделать c К и т.д. Такие действия приводят к получению двоичной записи числа n. Таким образом, необходи­мо параллельно с вычислением двоичной записи alal-1…a1a0 находить степень за степенью A^(2^0), A^(2^1), A^(2^2), возводя последнюю степень в квадрат. Подсчитывается произведение тех из вычисленных степеней, для которых соответствующая цифра двоичного представления равна I. Например, запись 9 в двоичной системе есть 1001, для вычисления А^9 достаточно найти А^2, А^4, А^8, а затем определить А А^8. Составьте программу, реализующую данный алгоритм, и постарайтесь его улучшить.

7.59* Заданы три последовательности действительных чисел x1, x2,…,xn; y1, y2,…,yn; t1, t2,…, tm; x≤ti≤xn. Число уi представляет собой значение некоторой функции f от аргумента: yi=f(xi). С помощью линейной интерполяции получить значения f(t1), …, f(tm). Задание функции f офор­мить в виде подпрограммы. Для заданной функции построить график самой функции и построенной зависимости.

7.60* Разработать датчик случайных чисел по следующему прин­ципу: зафиксируем некоторые натуральные a, c, m, s0, такие, что m - наибольшее из них, определим последовательность s0,s1,… так: Sn равно остатку от деления суммы asn-1+c на m, и рассмотрим последовательность Zn=(Sn+1)/(m+1), n=0,1,…При удачном выборе a, c, m, s0 последовательность z0, z1, … хорошо имитирует последовательность равномерно распределенных на интервале [0, 1] случайных чисел. Одним из таких наборов является следующий:

1) m=2^k, где К берется как можно большим;

2) При делении a на 8 должен получаться остаток 5 и требуется, чтобы <a<m< ;

3) Число С должно быть нечетным, при этом желательно С/m ≈ 0,21132…;

4) Число sо можно выбрать произвольно в диапазоне от 0 до m-1. Подобрать несколько вариантов троек a, c, m, удовлетворяющих условиям I) - 3). Попытаться разработать датчик по другому принципу.

7.61* Заданы натуральные числа a, b, c, обозначаю­щие число, месяц и год. Определить день недели, на который пада­ет указанная дата. При этом следует считать, что дата лежит в диапазоне от 1582 до 4902 г. В этом случае номер дня недели вос­кресенье имеет номер 0, понедельник - I, ..., суббота - 6 равен остатку от деления на 7 выражения [2,6m-0,2]+d+y+[y/4]+[c/4]-2c, где d - номер дня в месяце (1,2,... ), m - номер месяца в году, нумерация начинается с марта; y - две младшие цифры года{00, ..., 99); С - две старшие цифры года (15, ..., 49); [x] означает целую часть числа X . Для создания более универсального календаря, охватывающего все годы, необходимо считать, что I января I года нашей эры был понедель­ником.

7.62* Шифровка текста с помощью решетки заключается в следующем: решетка, или квадрат из клетчатой бумаги 10x10 клеток, некоторые клетки в котором вырезаны, совмещается с целым квадра­том 10x10 клеток, и через прорези на бумагу наносятся первые буквы текста. Затем решетка поворачивается на 90° и через про­рези записываются следующие буквы. Это повторяется еще два раза, Таким образом, на бумагу наносится 100 букв текста. Решетку можно изображать квадратной матрицей порядка 10 из нулей и единиц, нуль изображает прорезь. Доказать, что матрица А (10*10) может служить ключом шифра, если из элементов aij, a10-i+1j, ai10-j+1, a10-i+1 10-j+1 в точности один равен нулю. По заданной матрице зашифровать и расшифровать текст из 100 букв, предусмотрев возможность расшифровки.

7.63* Составить сладующие игровые программы:

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

- «угадай слово» программа выбирает слово и рисует на экране столько прочерков, сколько букв в этом слове, в каждый ход играющий указывает одну букву; если названа буква, входящая в состав слова, она подставляется вместо соответствующего про­черка, в противном случае играющий теряет I очко, в начале игры у него 15 очков;

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

7.64* Составить программу, реализующую следующие игры:

- «крестики-нолики», розыгрыш первого кода определяется с помощью генератора случайных чисел; 1

- «морской бой», на поле 10x10 позиций стоят невидимые корабли противника: 4 корабля по I клетке, 3 - по 2 клетки, 2 -по 3 клетки, I в 4 клетки; поле изображают матрицей размера 10x10, корабли не должны соприкасаться, расположение кораблей задается случайным образом; играющий должен поразить каждую из клеток кораблей, позиции указываются русскими буквами от А до К и цифрами от I до 10 по строкам и столбцам, соответственно. Если клетка корабля угадана играющим, она отмечается крестиком, в противном случае точкой;

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

7.65* «Тестирование коллектива». Пусть матрица размера n*m. содержит информацию о студентах некоторой группы из n человек: i - я строка содержит данные о i - он студенте. Каждый столбец содержит значение некоторого параметра, напри­мер, фамилия, имя, отчество, год рождения, возраст, рост, сред­ний балл, посещаемость и т.д. Студент считается уникальным по К - му параметру (к >3), если на нем достигается максимум модуля разности среднего арифметического чисел из К -го столб­ца и значения К -го параметра этого студента и среднестатисти­ческим, если на нем достигается минимум этого значения. Студент называется самым уникальным (самым средним), если он уникален (является среднестатистическим) по наибольшему числу параметров. Формировать матрицу в режиме диалога, например, в виде заполнения таблицы. По данной матрице определить номера и вывести на экран фамилии студентов:

самых уникальных;

самих средних;

самых средних среди самих уникальных;

самих уникальных среди самых средних.

Примечание

Составление структурной схемы осуществляется в соответствии с ГОСТом. Структурная схема алгоритмов должна полностью соответствовать составленной программе. Количество блоков схемы может не совпадать с количеством операторов программы, допускается использование укрупненных блоков, снабженных подробными комментариями.

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

1. Фаронов В. Turbo Pascal 7.0 Начальный курс. Нолидж 2002. 576 с.

2. Фаронов В. TurboPascal 7.0. Практика программирования. Нолидж 2001. 416 с.

3. Рапаков Г.Г. Программирование на языке Pascal/ Г.Г. Рапаков, С.Ю. Ржеуцкая Спб.: "БХВ-Петербург", 2004. 470 с.

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к выполнению курсовых работ по дисциплине

«Информатика» для студентов специальности 210201 «Проектирование и технология РЭС»

очной и заочной форм обучения

Составители:

Новикова Ирина Анатольевна,

Хорошилов Валерий Николаевич

В авторской редакции

Подписано к изданию 18.01.2008

Уч.-изд. л. 1.36

ГОУВПО «Воронежский государственный технический университет»

394026 Воронеж, Московский проспект, 14

26

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]