
- •Министерство образования и науки рф
- •Задания обычной сложности
- •Варианты усложнённых заданий
- •Варианты упрощённых заданий
- •Оглавление
- •Условие задачи
- •Способ решения
- •Принцип реализации. Описание констант, переменных, типов.
- •Общая структура программы.
- •Используемые процедуры и функции.
- •Модуль View
- •Головная программа
- •Текст программы
- •394000, Воронеж, пр. Революции, 19
Варианты упрощённых заданий
«Медиана» Пусть задана последовательность из N целых положительных чисел. Медианой такой последовательности в случае нечетного N называется элемент, который будет равноудален от концов последовательностей, если ее отсортировать по возрастанию или убыванию (нетрудно сообразить, что этот элемент имеет номер (п+1)/2 в отсортированной последовательности, если номера считать с единицы). В случае четного N медианой называется среднее арифметическое двух элементов, которые будут в середине, если последовательность отсортировать. Однако исходная последовательность не обязана быть отсортированной.
Разработать формат входного файла, содержащего последовательность чисел.
Напишите программу, которая по заданной последовательности, считанной из входного файла, вычисляет ее медиану. Данные должны быть организованы в виде динамического списка. Решение проиллюстрировать анимацией.
Двоичное число. Во входном файле INPUT.TXT записаны одиннадцатизначные целые числа. Число приведено в десятичной записи без ведущих нулей. Написать программу, переводящую любое исходное десятичное число (тип longint) в шестнадцатеричную, восьмеричную и двоичную системы счисления.
Напишите программу, которая выдает на экран двоичную запись этого числа. В записи также не должно быть ведущих нулей.
Сформировать список группы. Создать процедуры, выполняющие его сортировку по алфавиту и выборку по месту жительства, а также удаление из списка.
Дано k > 0 и набор ai (i=1,…,k). ai = 0. Числа записаны по кругу. Вычислить максимальное значение суммы стоящих подряд чисел. Программу составить с использованием списков.
Прочитать из файла последовательность целых двузначных чисел произвольной длины. Напечатать все положительные числа, принадлежащие последовательности, в неубывающем порядке. Например, если дано 21, 12, 44, 21, -5, 63, 0, то должно быть напечатано 12, 21, 21, 44, 63.
Многочлен n-ой степени задается своими коэффициентами a0, a1, ..., an. Задать два многочлена и выполнить их сложение и дифференцирование. Задачу решить при помощи списков. Результат показать графически.
Построить вертикальную гистограмму вхождений каждой строчной русской буквы в текстовый файл.
«Телефонный справочник». Создать телефонный справочник, организовав его в виде списка, каждый элемент которого содержит информацию:
Фамилия, имя и отчество (ФИО) владельца телефона
№ телефона
адрес
Для обслуживания списка создать процедуры добавления и исключения элементов, поиска ФИО владельца заданного номера, поиска и распечатки номера телефона по ФИО
В телефонном справочнике, заданном в виде одностороннего односвязного списка осуществить поиск абонентов с одинаковыми телефонными номерами и сформировать новый список и «двойников».
Прочитать текст из файла и выполнить его форматирование по правой границе без переносов слов. Пробелы внутри строки расставить равномерно.
С использованием структуры «стек» переписать содержимое текстового файла, разделенного на строки, в др. файл. Причем, необходимо переносить в конец каждой строки все- входящие в нее цифры в обратном порядке.
С использованием структуры «очередь» за один просмотр текстового файла, содержащего целые числа, распечатать файл в след, виде: сначала все числа, меньшие А; затем - все числа из [А,В]; потом - все остальные числа.
Составить программу, формирующую «перекрестные ссылки», т.е. печатающую список слов, которые встречаются в анализируемом файле, для каждого слова - список номеров строк, в которых это слово встречается. Для решения задачи использовать динамические структуры данных.
Построить вертикальную гистограмму частот вхождений каждого слова текстового файла. Для решения задачи использовать динамические структуры данных (дерево).
Распечатать все слова текстового файла в порядке убывания частоты их встречаемости (рядом с каждым словом выводить значение счетчика частоты его вхождения в текст). Для решения задачи использовать динамические структуры данных (дерево).
Напишите программу сложения двух длинных целых чисел, представленных в виде строк (считать их из текстового файла), используя при этом:
Круговые списки
Двунаправленные списки
Написать программу работы с круговым списком, содержащую как минимум функции включения, исключения, поиска и печати всего списка
Элементами двусвязного списка являются целые числа. Требуется выполнить сортировку списка по возрастанию.
Прочитать из файла текст и распечатать в виде таблицы все встречающиеся в тексте символы и их количество. Проиллюстрировать результаты графически.
Сделать программу-раскраску. Сохранить и записать в файл все действия пользователя. Предусмотреть их повторение при считывании из файла.
Написать программу, которая (читая текст из файла и печатая его с добавлением последовательных номеров строк) собирает все слова этого текста, запоминая номера строк, в которых встречалось данное слово. После того как просмотр будет закончен, формируется таблица, в которой все слова будут расположены в алфавитном порядке и со списками их местонахождений.
Очевидно, для хранения слов, встречающихся в тексте, лучше вcero подходит дерево поиска (называемое также лексикографическим деревом). Каждая вершина не только содержит в качестве информационного поля само слово, но и является началом списка номеров строк.
Экспериментальное определение числа π
Исходя из каких-либо
соображений (умозрительных, опытных,
логических), мы полагаем, что площадь
круга известного радиуса равна квадрату
радиуса, умноженному на некоторую
константу. Понятно, что эта «некоторая
константа» есть не что иное, как число
π (равное 3,14159...). Приблизительное
значение числа π можно определить
экспериментально следующим образом:
на листе бумаги чертится круг радиусом
г, а около него описывается квадрат со
стороной 2r
(см. рис. 7). Чем больше будет чертеж, тем
лучше. Затем надо нанести на чертеж
несколько десятков (а еще лучше —
несколько сотен) точек в случайных
его местах. Процедура довольно тонкая,
поскольку точки должны наноситься с
равной вероятностью в любую часть
чертежа.
Следующий шаг — подсчет общего количества точек (N) и количества точек, попавших в круг (N0). При достаточно большом числе экспериментов отношение N к N0 примерно равно отношению площадей соответствующих фигур, то есть N / N0 « площадь_квадрата / площадь_круга». Причем, чем больше экспериментов было проделано, тем точнее формула. Из соотношений
площадь_квадрата = (2г)2
площадь_круга = π г2
получаем: N / N0 = (2г)2 / (π г2),
Откуда: π = 4 * NO / N.
Результат будет точнее, если провести несколько экспериментов и взять средне арифметическое.
Библиографический список
Попов, В. Б., Тurbo Pascal для школьников [Текст] / В. Б. Попов; М.: Финансы и статистика, 2004. – 525 с.
Епанешников А.М., Программирование в среде Turbo-Pascal 7.0. [Текст] / А. М. Епанешников, В. А. Епанешников. – М.: Диалог МИФИ, 2003. – 288 с.
Культин Н. В. Tupbo-Pascal в задачах и примерах [Текст] / Н. В. Культин; – СПб.: БХВ Санкт -Петербург, 2000. – 256 с.
Марченко А. И., Программирование в среде Turbo-Pascal 7.0. [Текст] / А. И. Марченко, Л. А. Марченко; Киев: ВЕК+, М.: Бином Универсал, 1998. – 496 с.
Боглаев Ю.П. Вычислительная математика и программирование: Учеб.пособие для студентов втузов [Текст]/ Ю.П.Боглаев..-М.:Высш.шк.,1990.-543 с.
Новиков Ф.А., Дискретная математика для программистов [Текст] / Ф.А. Новиков; – СПб.: Питер, 2001. – 304 с.
Кулакова С.В., Технология программирования: Учеб.пособие [Текст] / С.В.Кулакова, И.Е. Медведкова – Воронеж, 2007. – 92 с.
приложение. ПРИМЕР ВЫПОЛНЕНИЯ КУРСОВОЙ РАБОТЫ
ВОРОНЕЖСКАЯ ГОСУДАРСТВЕННАЯ ТЕХНОЛОГИЧЕСКАЯ АКАДЕМИЯ
Кафедра ММИиТС
Курсовая работа
по дисциплине технология программирования
тема: «Вычисление площади фигуры»
выполнила:
студентка гр, А-064 Иванова О.О.
проверила:
доц. Медведкова И. Е.
Воронеж 2007