Программирование на языке высокого уровня - Зюзьков В.М., Хабибулина Н.Ю.

ПЯВУ Программирование на языке высокого уровня


Заказать
Текстовое контрольное задание состоит из нескольких задач, требующих составить программы на языке Паскаль (не допускается использовать Delphi и Borland Pascal for Windows). Составленные и отлаженные программы (обязательно с комментариями в тексте) студент по мере освоения программирования периодически пересылает электронной почтой или на дискете диспетчеру центра дистанционного обучения, который в свою очередь пересылает их лектору. Лектор проверяет программы, и при правильном выполнении программы студент получает подтверждение о том, что они зачтены. Если программа составлена неправильно, студент получает от лектора текстовый файл, в котором содержится описание ошибок программы. Компьютерное контрольное задание (третья контрольная работа) состоит из двух задач, требующих составить программы на языке Паскаль. Во всех этих задачах требуется получить некоторый численный ответ. Для решения задачи студент составляет программу, отлаживает ее, получает с ее помощью ответ и найденное число пересылает по электронной почте диспетчеру центра дистанционного обучения, который в свою очередь пересылает ответ лектору. Лектор проверяет ответ и при правильном решении студент получает подтверждение о том, что решение данной задачи зачтено. В противном случае студент получает от лектора сообщение об ошибке. В конце семестра студент выполняет компьютерную экзаменационную работу.
В следующем семестре студент выполняет три текстовых контрольных задания. В конце семестра студент выполняет компьютерную экзаменационную работу.
В последнем семестре студент делает курсовую работу и получает дифференцируемый зачет.

Первое контрольное задание

Первое контрольное (текстовое) задание посвящено созданию программ с использованием простых управляющих структур: условного оператора, цикла. В этом задании используются простые типы данных и нет необходимости использовать массивы. Поэтому не засчитываются программы, написанные с использованием массивов. Кроме того, требуется писать программы в рамках структурного программирования. В частности, запрещается использовать операторы перехода и метки.
Задание состоит из трех задач, вам требуется составить программы на языке Паскаль. В некоторых программах полезно определить какие-то вспомогательные функции.
Многие задачи из этой контрольной имеют вид: «Дана последовательность из n (действительных) целых чисел. Определить (вычислить) …» или «Даны натуральное n и вещественные числа a1, a2, ..., an. Определить (вычислить) …» и подобного рода.
Во всех этих задачах не требуется хранения исходных последовательностей значений. Вы вводите n, потом в цикле, работающем n раз, осуществляете пошаговый ввод чисел и каким-то образом постепенно вычисляете необходимый результат.

Второе контрольное задание
Второе контрольное (текстовое) задание посвящено созда-
нию программ с использованием массивов (одномерных и мат-
риц). В этих задачах полезно использовать подпрограммы.
Задание состоит из четырех задач, вам требуется составить
программы на языке Паскаль. Требуется писать программы в
рамках структурного программирования. В частности, запреща-
ется использовать операторы перехода и метки.


Третье контрольное задание
Третье контрольное (компьютерное) задание посвящено соз-
данию программ, выполнение которых приводит к некоторому
численному ответу. Именно этот ответ и нужно выслать лектору,
тексты программ высылать не надо. Задание состоит из двух задач.


Четвертое контрольное задание
Четвертое контрольное (текстовое) задание посвящено соз-
данию программ с подпрограммами и/или со следующими типа-
ми данных: строки, множества, файлы. Задание состоит из четы-
рех задач. Вам требуется составить программы на языке Паскаль.
В первом задании необходимо составить программу, кото-
рая реализует приемы работы со строками. Второе задание со-
держит программы, требующие обязательного использования
процедур или функций. В третьем задании необходимо составить
программу, использующую множества. Четвертое посвящено
изучению приемов работы с файлами. Необходимо в начале про-
граммы создать файл (элементы файла вводим с клавиатуры), а в
конце программы сначала вывести на экран содержимое создан-
ного файла, а затем отразить полученные результаты.
Требуется писать программы в рамках структурного про-
граммирования. В частности, запрещается использовать операто-
ры перехода и метки.

Пятое контрольное задание
Пятое контрольное (текстовое) задание посвящено сорти-
ровке и рекурсии. Задание состоит из трех задач . одна с сорти-
ровкой и две с рекурсией. Вам требуется составить программы на
языке Паскаль в рамках структурного программирования. В ча-
стности, запрещается использовать операторы перехода и метки.

Шестое контрольное задание
Шестое контрольное (текстовое) задание посвящено дина-
мическим структурам данных и графическому программирова-
нию. Задание состоит из двух задач.



КУРСОВАЯ РАБОТА

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

Варианты тем для курсовых работ

1. Задача Прима-Краскала («жадный» алгоритм)
Дана плоская страна и в ней n городов. Нужно соединить
все города телефонной связью так, чтобы общая длина теле-
фонных линий была минимальной.
Уточнение задачи. В декартовой системе координат поло-
жение i-го города, i = 1,...,n, задано парой координат (x,y).
d[i,j] – декартово расстояние между i-ым городом и j-ым горо-
дом, j=1,...,n. В задаче речь идет о телефонной связи, т.е. подра-
зумевается транзитивность связи: если i-й город связан с j-ым,
а j-ый с k-ым, то i-й связан с k-ым. Подразумевается также, что
телефонные линии могут разветвляться только на телефонной
станции, а не в чистом поле. Наконец, требование минимально-
сти (вместе с транзитивностью) означает, что в искомом решении
не будет циклов. В терминах теории графов задача Прима-
Краскала выглядит следующим образом:
Дан граф с n вершинами; длины ребер заданы матрицей
(d[i,j]), i,j = 1,...,n. Найти остовное дерево минимальной длины.
Как известно, дерево с n вершинами имеет n–1 ребер. Ока-
зывается, каждое ребро надо выбирать жадно (лишь бы не возни-
кали циклы).
Алгоритм Прима-Краскала
(краткое описание)
В цикле n–1 раз необходимо выбрать самое короткое еще не
выбранное ребро при условии, что оно не образует цикл с уже
выбранными.
Выбранные таким образом ребра образуют искомое остов-
ное дерево. Напишите программу для решения задачи Прима-
Краскала.

2. Шифр Цезаря
Юлий Цезарь был, якобы, первым, кто придумал собственно
шифр. Алфавит размещается на круге по часовой стрелке (при
этом в русском алфавите после А идет Б, а после Я – А). Для за-
шифровки буквы текста заменяются буквами, отстоящими по
кругу на заданное число букв дальше по часовой стрелке. Если,
скажем, сдвиг на 3, то вместо i-й используется (i+3)-я буква, на-
пример, вместо А пишется Г, а вместо Я пишется В. При рас-
шифровке наоборот берут букву на заданное число букв ближе,
т.е. двигаясь против часовой стрелки.
Шифр Цезаря расшифровать легко. Известны вероятности
букв p,i =1,2,...,n в языке сообщения ( n – число букв в алфави-
те). подсчитаем частоты букв f в зашифрованном сообщении.
Если оно не очень короткое, то f должны сравнительно хорошо
согласовываться с p: f = p[i–s] для некоторого сдвига s. Затем
начнем делать перебор по сдвигам. Когда сдвиг не угадан, общее
различие между p и f[i+s] , равное .(s) = . | p – f[i+s] |
(суммирование берется по всем i от 1 до n), будет велико, а когда
сдвиг угадан – мало. Минимизация .(s) по всем s = 1,2,...,n дает
ключ к расшифровке кода Цезаря.
Напишите и испытайте программу взлома шифра Цезаря.

3. Игра «Жизнь»
Эта игра создана в 1970 г., ее автор – английский математик
Дж. Конвей (Conway). В этой игре партнер не нужен – в нее мож-
но играть одному. Возникающие в процессе игры ситуации очень
похожи на реальные процессы, происходящие при зарождении,
развитии и гибели колонии живых организмов.
Правила игры. Вообразите бесконечное поле, разделенное
на клетки. На каждой клетке поля живет, рождается или погиба-
ет животное. Это зависит от условий среды, т.е. от того, сколько
соседей у него на ближайших восьми клетках (четырех по сторо-
нам и четырех по углам). Действуют три правила существования
животных:
1. Каждое животное, у которого два или три соседа, живет и
сохраняется до следующего поколения.
2. Животное погибает, если у него более, чем три соседа (от
недостатка места), совсем нет соседей или только один сосед (от
одиночества).
3. Когда рядом с какой-нибудь клеткой есть три животных
(соседа), то на этой клетке рождается новое животное.
4. Важно понять, что животные погибают и рождаются од-
новременно. Они образуют одно поколение. За один ход в игре в
соответствии с упомянутыми правилами осуществляется переход
от одного поколения к другому.
Дж. Конвей рекомендует следующий способ осуществления
ходов (при наличии клетчатой доски и косточек двух цветов):
1) начать с желаемой конфигурации (колонии животных),
состоящей из черных косточек;
2) найти все косточки, которые должны «погибнуть», и на
каждую из них одеть по одной черной косточке;
3) найти все свободные клетки, на которых должно «родить-
ся» животное, и положить на них по одной белой косточке;
4) удалить с доски всех «погибших» животных (т.е. столби-
ки из двух косточек), а «новорожденных» (белые косточки) заме-
нить черными.
Выполнив эти операции, т.е. после первого хода, получим
второе поколение. Аналогичным образом происходят и все ос-
тальные ходы в игре. Так получаются все новые поколения.
Напишите программу, моделирующую колонию Жизни. Ис-
ходными данными служит начальное расположение животных, а
в качестве результата нужно получить вид сверху в графическом
режиме всех поколений колонии. Реализуйте три способа задания
исходной конфигурации: 1) пользователь выбирает одну из пред-
лагаемых в меню интересных конфигураций; 2) пользователь
может самостоятельно определить входную конфигурацию; 3)
начальное расположение задается случайно.
Некоторые колонии разрастаются невероятным образом при
весьма скромных начальных размерах. Есть другие колонии, ко-
торые медленно перемещаются по пустыне, переходя на все но-
вые и новые территории. Ваша программа должна обрабатывать
большие колонии без чрезмерной траты памяти или времени.
Многократный просмотр большого массива для построения сле-
дующих поколений – это банальный подход; здесь хороший про-
граммист выбрал бы более экономичные структуры данных и ал-
горитмы. Вам, возможно, захочется испытать какой-либо метод,
отслеживающий только занятые квадраты. В программе нельзя
определить бесконечно большое поле. Должно хватать поля не-
которой известной величины m*n. Что делать, если эволюция
достигает границ поля? Один из возможных выходов – прервать
эволюцию. Однако эволюция могла бы продолжаться, если бы
мы устранили границы поля: соединили бы любые два противо-
положных края поля, затем концы полученного цилиндра. Полу-
ченная фигура, имеющая форму бублика, называется тор. Ис-
пользуйте этот подход в вашей программе (для этого достаточно
более аккуратно определить соседей клетки, находящейся на
краю поля). История колонии Жизнь зачаровывает, если ее про-
сматривать, как фильм, но она будет еще более увлекательней,
если предстанет в цвете. Каждой клетке при рождении может
быть приписан некоторый цвет, определяемый, возможно, ее по-
колением или генами, переданными ей родителями. Цикличе-
ские, но при этом движущиеся колонии (а таких немало) велико-
лепны в своем сверкающем многоцветном наряде.
В качестве примеров для образца посмотрите действующие
программы игры «Жизнь».
Литература.
1. Гарднер М. Математические досуги. . М.: «Оникс»,1995.
– 496 с.
2. Гарднер М. Крестики-нолики. . М., Мир, 1988. – 352 с.
4. Множество Мандельброта
В Книге рекордов Гиннеса самым сложным математическим
объектом названо множество Мандельброта. Это плоское множе-
ство является ярким примером фрактала. Фракталы – это матема-
тические объекты, имеющие дробную размерность, в отличие от
традиционных геометрических фигур целой размерности (напри-
мер, одномерных линий или двухмерных поверхностей). Фракта-
лы – это нечто больше, чем математический курьез. Они дают
чрезвычайно компактный способ описания объектов и процессов.
Многие структуры обладают фундаментальным свойством гео-
метрической регулярности, известной как инвариантность по от-
ношению к масштабу или «самоподобие». Если рассматривать эти
объекты в различном масштабе, то постоянно обнаруживаются
одни и те же фундаментальные элементы. Эти повторяющиеся за-
кономерности определяют дробную, или фрактальную, размер-
ность структуры. В природе все фрактально: облака, изрезанная
линия побережья, кромка листа, нервные и кровяные сосуды и т.д.
Множество Мандельброта описывает поведение динамиче-
ского процесса, определенного на комплексных числах формулой
z(n+1) = z(n).z(n) + c. (1)
Опишем алгоритм построения окрашенного в черный цвет мно-
жества Мандельброта с окружением, раскрашенным в разные
цвета. Для произвольного комплексного числа c = x + i.y поло-
жим z(0) = 0 и устроим итерацию по формуле 1. Максимальное
число итераций Max =150. Для последовательности z(n) имеются
две возможности:
1. Числа становятся все большими и большими, стремясь к
бесконечности.
2. Точки находятся и продолжают оставаться на расстоянии,
меньшем 2, от 0.
Так вот, множество Мандельброта – это множество тех чи-
сел c, для которых выполняется вторая возможность. Граница
множества сильно изрезанна. Причем под лупой она выглядит
столь же изломанной, как и без нее. Она напоминает линию мор-
ского берега, многие естественные границы, которые становятся
тем длиннее, чем более мелкий масштаб используется для изме-
рения. Одной из характерных особенностей этой границы являет-
ся ее самоподобие. Если взглянуть на любой из ее поворотов или
заливов, то можно обнаружить, что одна и та же форма встреча-
ется в различных местах и имеет разные размеры (рис. 2).

Рис. 2 . Множество Мандельброта

В программе каждая точка (пиксель) экрана представляет
соответствующее комплексное число c. Если число Max увели-
чить, то граница множества определится точнее, так как для не-
которых точек c последовательности z(n) уйдут все-таки в беско-
нечность. Все точки множества Мандельброта отметим черным
цветом. Для всех других точек c соответствующая последова-
тельность z(n) уходит в бесконечность, причем скорость ухода
оценивается соответствующим цветом точки c, пропорциональ-
ным количеству итераций, достаточным для того, чтобы z(n).z(n)
стало большим 4. Всего используется цветовая палитра из 16 цве-
тов и так как Max-1 значительно больше 16, то цвета периодиче-
ски повторяются. Окраска внешности множества Мандельброта
позволяет более точно увидеть границу множества.
Множество Мандельброта строится в прямоугольнике с коор-
динатами xmin= –2.25, xmax=0.75, ymin=–1.5, ymax=1.5 (т.е. пик-
сель с координатами (0,0) представляет комплексное число –2.25 +
+i.1.5). Программа должна позволять пользователю менять коорди-
наты вершин прямоугольника, чтобы можно было изобразить в уве-
личенном виде отдельные фрагменты множества Мандельброта.
Так как множество Мандельброта строится достаточно мед-
ленно, то необходимо предусмотреть возможность записи созда-
ваемого изображения в файл. Такой файл просто хранит цвета
всех пикселей экрана. Необходима также вспомогательная про-
грамма, которая сразу же извлечет предварительно созданное
изображение из файла и изобразит на экране.
Динамическое изменение цветовой палитры в цикле позво-
лит получить более красочные изображения множества Ман-
дельброта.

5. Перенос слов
Как показывают многочисленные эксперименты, разбиение
русского слова на части для переноса с одной строки на другую с
большой вероятностью выполняются правильно, если пользо-
ваться следующими простыми приемами:
1) две идущие подряд гласные можно разделить, если пер-
вой из них предшествует согласная, а за второй идет хотя бы одна
буква (буква й при этом рассматривается вместе с предшествую-
щей гласной как единое целое);
2) две идущие подряд согласные можно разделить, если
первой из них предшествует гласная, а в той части слова, которая
идет за второй согласной, имеется хотя бы одна гласная (буквы ь,
ъ вместе с предшествующей согласной рассматриваются как еди-
ное целое);
3) если не удается применить пункты 1), 2), то следует по-
пытаться разбить слово так, чтобы первая часть содержала более
чем одну букву и оканчивалась на гласную, а вторая содержала
хотя бы одну гласную.
Вероятность правильного разбиения увеличивается, если
предварительно воспользоваться хотя бы неполным списком при-
ставок, содержащих гласные, и попытаться, прежде всего, выде-
лить из слова такую приставку. Дано русское предложение. Вы-
полнить разделение каждого слова из него на части для переноса.

6. Форматирование текста
Имеется текстовый файл, в конце каждой строки несколько
неиспользованных позиций (т.е. правый край неровный).
Составить программу для выравнивания правого края за
счет увеличения промежутков между словами. Количество про-
белов в разных группах, располагающихся внутри одной и той же
строки, должно отличаться не более, чем на 1.
Программа должна выравнивать текст с любой длиной строки
меньше n, где значение параметра задает пользователь, 70 . n . 100.

7. Мультфильм
В рисованных мультфильмах иллюзия движения создается
последовательной сменой кадров, каждый из которых фиксирует
очередное положение движущегося объекта. Используя этот
принцип, получить мультфильм, показывающий:
а) идущего человечка;
б) бегущего человечка;
в) человечка, выполняющего приседания;
г) человечка, выполняющего сигнализацию флажком.

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

9. Построение таблицы имен (символов)
В текстовом файле записана (без ошибок) некоторая про-
грамма на языке Паскаль. Напечатать в алфавитном порядке все
различные введенные программистом идентификаторы этой про-
граммы, указав для каждого из них в возрастающем порядке но-
мера всех строк текста программы. (Учесть: 1) в идентификато-
рах одноименные прописные и строчные буквы отождествляют-
ся; 2) внутри значений символьных переменных, строк – кон-
стант, комментариев последовательности из букв и цифр не яв-
ляются идентификаторами; 3) в записи вещественных чисел мо-
жет встретиться буква E или e.)
Для хранения идентификаторов и номеров строк используй-
те деревья.

10. Одномерные клеточные автоматы
Рассмотрим клетки, расположенные вдоль прямой. Каждая
из клеток может иметь состояние 0 или 1. На каждом шаге по
времени новое состояние клетки вычисляется из старого состоя-
ния клетки и состояний ее соседей. На экране каждый горизон-
тальный ряд показывает состояния клеток с помощью соответст-
вующего цвета в очередной момент времени. Временная ось идет
сверху вниз и каждый ряд вычисляется на основе предыдущего
ряда. Различные классы линейных клеточных автоматов могут
быть определены в зависимости от того, как много различных
значений (состояний) клетка может иметь (k) и как много соседей
на каждой стороне клетки используются при вычислении нового
состояния (r).
Правила для определения следующего состояния клетки ис-
пользуют сумму состояний самой клетки и клеток-соседей. Сум-
ма состояний отображается правилом на новое состояние клетки.
Если k=2, r=1, то только ближайшие соседи клетки используются.
Если каждая из клеток имеет состояние 1, то максимальная сумма
1+1+1 равна 3 и сумма может меняться от 0 до 3, т.е. имеем че-
тыре величины. Поэтому правило преобразования можно задать с
помощью строки из четырех двузначных цифр. Например, прави-
ло 1010, начиная с правой цифры, задает отображение суммы
0 -> 0, 1 -> 1, 2 -> 0, 3 -> 1 (таким образом, если сумма равна 2, то
новое состояние равно 0). Для k=2 и r=2 каждая клетка (на экране
она изображается пикселем) новое значение получает в зависимо-
сти от значений двух соседних клеток с каждой стороны. Соответ-
ствующие правила должны иметь 6 двузначных цифр. Если k=3 и
r=1, то каждая клетка может иметь значение 0, 1 или 2. Учитывает-
ся только единственный сосед с каждой стороны, поэтому резуль-
тат преобразования задается правилом из 7 цифр и т.д.
Напишите программу для построения линейных клеточных
автоматов следующих классов kr = 21, 31, 41, 22, 32, 42.
k r Количество
цифр в правиле
Пример правила
2 1 4 1010
3 1 7 1211001
4 1 10 3311100320
2 2 6 0110110
3 2 11 21212002010
4 2 16 2300331230331001

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

11. Программа для алгебраических вычислений
Объекты, с которыми вы будете работать, – это многочлены
от одной переменной, представленные в символьном виде с ве-
щественными коэффициентами. Многочлены должны изобра-
жаться как арифметические выражения: так умножение изобра-
жается знаком ‘*’, а возведение в степень – знаком ‘^’.
Для манипуляций с многочленами нужны некоторые коман-
ды, чтобы пользователь мог получать ответы на вопросы, на ко-
торые не удается ответить с помощью традиционных языков про-
граммирования. Для этого вам понадобится обозначать много-
члены идентификаторами. Команды выполняют некоторые опе-
рации над своими операндами и помещают результат в качестве
значения некоторого имени многочлена.
Список команд.
1. Ввести многочлен и записать его под некоторым именем.
2. Образовать алгебраическую сумму (разность, произведе-
ние) двух многочленов и записать полученный многочлен под
некоторым именем.
3. Возвести данный многочлен в целую степень и результат
записать под некоторым именем.
4. Заменить каждое вхождение переменной в многочлене на
данный многочлен и результат записать под некоторым именем.
5. Вычислить производную многочлена по переменной и ре-
зультат записать под некоторым именем.
6. Напечатать данный многочлен.
Многочлен представлять в виде суммы членов, включаю-
щих только операции умножения и возведения в степень. В каж-
дом таком одночлене присутствуют числовой коэффициент (пер-
вый сомножитель) и переменная в соответствующей степени.
Следует приводить подобные члены, т.е. объединять одночлены,
имеющие одинаковые степени с соответствующим изменением
коэффициентов. Для представления многочленов в памяти ис-
пользуйте списковые структуры.

12. Поиск узоров из простых чисел
Основная трудность в теории простых чисел обусловлена
тем, что простые числа распределены среди всех целых чисел по
закону, носящему заведомо невероятностный характер, но тем не
менее упорно не поддающемуся всем попыткам установить его.
Закономерности появляются, когда целые числа отображаются на
плоскость ( или в пространство). Однажды математику Станисла-
ву М. Уламу пришлось присутствовать на одном очень длинном
и очень скучном, по его словам, докладе. Чтобы как-то развлечь-
ся, он начертил на листке бумаги вертикальные и горизонтальные
линии и хотел было заняться составлением шахматных этюдов,
но потом передумал и начал нумеровать пересечения, поставив в
центре 1 и двигаясь по спирали против часовой стрелки. Без вся-
кой задней мысли он обводил все простые числа кружками.
Вскоре, к его удивлению, кружки с поразительным упорством
стали выстраиваться вдоль прямых. Так выглядит спираль со ста
первыми числами (от 1 до 100):

100 99 98 97 96 95 94 93 92 91
65 64 63 62 61 60 59 58 57 90
66 37 36 35 34 33 32 31 56 89
67 38 17 16 15 14 13 30 55 88
68 39 18 5 4 3 12 29 54 87
69 40 19 6 1 2 11 28 53 86
70 41 20 7 8 9 10 27 52 85
71 42 21 22 23 24 25 26 51 84
72 43 44 45 46 47 48 49 50 83
73 74 75 76 77 78 79 80 81 82

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

13. «Сбей самолет»
Напишите программу для аркадной игры. По экрану летят
вражеские самолеты. Цель – сбить их. Пусковая установка нахо-
диться внизу экрана. Пусковую установку можно перемещать в
горизонтальном направлении вперед и назад.
Выполнение курсовой работы и оформление
пояснительной записки
Общие положения
Основные задачи и цели выполнения курсовой работы:
1) приобретение навыков и методов программирования дос-
таточно сложных задач;
2) подготовка к выполнению дипломного проекта.
В курсовой работе должна быть разработана тема в соответ-
ствии с заданием, одобренным кафедрой.
Общие требования к построению пояснительной запис-
ки (ПЗ)

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

ПЗ к работе должна содержать следующие разделы:
1) титульный лист;
2) реферат;
3) задание на курсовую работу;
4) содержание;
5) введение;
6) основная часть работы;
7) заключение;
8) список литературы;
9) приложения.

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

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

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

Содержание
Содержание включает наименования всех разделов, подраз-
делов и пунктов, если они имеют наименование, а также список
литературы и приложения с указанием номера страниц, на кото-
рых они начинаются. Слово «СОДЕРЖАНИЕ» записывается в
виде заголовка, симметрично тексту, прописными буквами. При-
мер оформления содержания приведен в приложении 3.

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

Заключение
Заключение должно содержать краткие выводы по выпол-
ненной работе. Также следует указать, чему программист нау-
чился на примере этой задачи (на этот вопрос легко ответить, ес-
ли сформулировать его в виде: «Что я в следующий раз сделаю
иначе?»).


Форма заказа

Для удобства наших клиентов, проходящих обучение на ФДО ТУСУРа, была создана данная форма заказа, с помощью которой Вы можете БЕСПЛАТНО УЗНАТЬ СТОИМОСТЬ оказания помощи в выполнении работ по тем дисциплинам, которые Вам необходимы. Если Вы хотите заказать ОПТОМ выполнение одного и более семестров, то мы предложим Вам выполнение работ под ключ по самым выгодным ценам. Пожалуйста свяжитесь с нами по следующим контактам

Помощь студентам ФДО ТУСУР
Пожалуйста, заполните все необходимые поля формы:

Ваше имя*:
Ваш город*:
Ваша страна:
Ваш E-mail*:
Сотовый:
ICQ:
Ваша учебная специальность:

Список дисциплин и работ, которые необходимо выполнить*:
Работы необходимо выполнить до:


Введите код с картинки:
код

ВНИМАНИЕ ! На работу предоставляется гарантия - т.е. мы БЕСПЛАТНО внесем в её текст все необходимые дополнения/изменения если это потребуется в будущем (в течение 6-и месяцев). Другими словами - в течение полугода Вы можете обращаться с доработками данного заказа по рецензиям преподавателя (включая просто дополнительные вопросы преподавателя) - мы всё сделаем БЕСПЛАТНО и в кратчайшие сроки (стандартное время доработки: 2-3 дня, если нужно экстренно - то 24 часа). Заказ будет дорабатываться неограниченное количество раз в рамках 6-и месяцев с момента первичного выполнения заказа, если доработки понадобятся по истечении данного срока, то они также возможны, но за дополнительную плату. Критерием защиты работы является оценка 4(хорошо), либо получение зачёта. Если Вы получите зачёт с оценкой 3(удовлетворительно) это будет считаться достижением цели. Вы не вправе требовать от нас частичный возврат средств если Вам поставят тройку, т.к. мы готовы дорабатывать заказ до четверки, если есть техническая возможность такой пересдачи.

 Я принимаю Пользовательское соглашение