Обработка текстовых файлов - Программирование, компьютеры и кибернетика курсовая работа

Обработка текстовых файлов - Программирование, компьютеры и кибернетика курсовая работа



































Разработка программы обработки числовых последовательностей с кодом на языке Pascal. Функции ввода пользователем с клавиатуры последовательности целых чисел. Алгоритмы разработанных процедур и функций. Инструкция пользователя, листинг программы.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
ВОСТОЧНОУКРАИНСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ им. В. Даля
СЕВЕРОДОНЕЦКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ
к курсовой работе по программированию
Северодонецкий технологический институт
на курсовой проект (работу) студента
2. Срок сдачи студентом законченного проекта (работы)
3. Исходные данные к проекту (работе) Дан текстовый файл. В строках слова расположить по возрастанию их длины (считать, что слова разделены пробелами). Выделить звездочкой в первой и последней позициях строки с наибольшим количеством слов и строки, содержащие самое длинное слово.
Для ввода и вывода использовать компоненты Delphi.
4.Содержание расчетно-пояснительной записки (перечень подлежащих разработке вопросов) В курсовом проекте выполнена постановка задачи проектирования, разработаны алгоритмы согласно заданию, выполнено описание структуры программы, назначение ее процедур и функций, приведена инструкция оператору и примеры тестовых запусков.
5. Перечень графического материала (с точным указанием обязательных чертежей)
Наименование этапов курсового проекта (работы)
Срок выполнения этапов проекта (работы)
1. АНАЛИЗ ТЕХНИЧЕСКОГО ЗАДАНИЯ И ПО СТАНОВКА ЗАДАЧИ ПРОЕКТИРОВАНИЯ
3.2 Описание вспом огательных процедур и функций
ПРИЛО ЖЕНИЕ А. БЛОК-СХЕМА АЛГОРИТМА
ПРИЛОЖЕНИЕ В. ПРИМЕР ВЫПОЛНЕНИЯ ПРОГРАММЫ
Пояснительная записка к курсовой работе содержит:
Цель работы: разработать программу обработки числовых последовательностей с кодом на языке Pascal.
В курсовой работе создана программа, которая реализует выполнение следующих функций: ввод пользователем с клавиатуры последовательности целых чисел, поиск во введенной последовательности нескольких таких чисел, чтобы их сумма делилось на некоторое задаваемое пользователем число. Вывод результата осуществляется на экран монитора и дублируется в текстовый файл на жестком диске или внешнем накопителе. В первом разделе курсовой работы выполнен анализ технического задания, выделены функции, которыми должно обладать разрабатываемое приложение, а также сформулированы требования к нему, произведена постановка задачи на проектирование. Во втором разделе выполняется анализ задачи проектирования, анализируется вид исходных данных и приводится словесный алгоритм работы программы. В третьем разделе рассматриваются алгоритмы разработанных процедур и функций, а также приводятся их описания. К реализованной программе разработана инструкция пользователя, которая приведена в четвертом разделе. Алгоритмы процедур приведены в приложении А. Листинг программы содержится в приложении Б.
Программа разработана с использованием языка Turbo Pascal.
МАССИВ, ЦИКЛ, ОСТАТОК ОТ ДЕЛЕНИЯ, АЛГОРИТМ, ПРОЦЕДУРА, СОЧЕТАНИЯ
Данный курсовой проект был разработан в среде Turbo Pascal 7.0 с базовым языком программирования Pascal. Среди множества языков Pascal является наиболее универсальным и легко изучаемым языком. На сегодня Turbo Pascal получил продолжение в языке Object Pascal с поддержкой всех современных возможностей объектно-ориентированного программирования и в такой мощной системе проектирования как Delphi.
Для выполнения данной курсовой работы необходимо разработать алгоритм решения поставленного задания, правильно указав последовательное выполнение соответствующих команд для получения необходимых результатов.
Цель работы заключается в том, чтобы правильно составить алгоритм поставленной задачи по обработке числовой информации, разработать и отладить программу, реализующую разработанный алгоритм.
1. Анализ технического задания и постановка задачи проектирования
Согласно заданию дана последовательность из n целых чисел. Необходимо написать программу, выбора из них нескольких чисел так, чтобы сумма выбранных чисел делилась на некоторое число k.
Как видим, задание сводится к обработке числовой информации. Пользователю должна быть предоставлена возможность ввода обрабатываемых чисел. Кроме того, перед началом ввода пользователь должен задать количество чисел в последовательности.
В качестве дополнительной функции можно предусмотреть вывод информации о программе (ее выполняемых функциях) не экран.
Также пользователь должен ввести некоторое целое число k. Далее следует выбрать из предложенной последовательности несколько чисел так, чтобы сумма выбраных чисел делилась на заданное число k. Пользователю должно быть выдано сообщение, если такая комбинация чисел найдена. Если требуемой комбинации элементов не найдено, то следует выдать соответствующее сообщение, что искомых элементов во введенной последовательности не обнаружено. Также для удобства пользователя можно выводить информацию обо всех возможных сочетаниях элементов и сумму этих элементов.
Поскольку чисел может быть довольно много и вся информация может не поместиться на экран, следует предусмотреть возможность дублирования всей выводимой на экран информации в текстовый файл на жестком диске.
Подытожив все вышесказанное можно сформулировать требования к разрабатываемому программному обеспечению и выполнить постановку задания на проектирование. Так, согласно заданию, программа должна быть реализована в среде Turbo Pascal и должна выполнять следующие функции:
- вывод на экран информации о задании и цели программы;
- ввод пользователем количества чисел последовательности с клавиатуры;
- ввод пользователем последовательности целых чисел;
- перебор всех возможных сочетаний элементов из предложенной последовательности;
- определение сумм элементов в сочетаниях и вывод на экран последовательностей и полученных сумм;
- определение, удовлетворяет ли сумма условию: делится на k без остатка;
- вывод информации на экран, если найдено искомое сочетание элементов;
- вывод информации на экран, если ни одно из сочетаний не удовлетворяет условию задачи;
- возможность сохранения результатов работы в текстовом файле на жестком диске.
Последующие разделы будут посвящены решению поставленных задач и разработке приложения с вышеперечисленными функциями.
2 . Разработка алгоритма программы
В предыдущем разделе были сформулированы требования к разрабатываемой программе и к ее функциям. Анализируя требования к программе, можно разработать алгоритм разрабатываемого приложения.
Так, поскольку задание состоит в обработке числовой последовательности, целесообразно хранить числа в массиве. Таким образом, на этапе ввода данных пользователь должен будет задать длину вводимой последовательности и задать сами числа.
Согласно заданию необходимо будет выполнить перебор всех возможных сочетаний элементов. Поскольку число элементов в сочетании условием не задано, то должны будут перебраны все сочетания С 1 n , С 2 n , С i n , С n n , для каждого из которых должны будут вычислены суммы. Известно, что
Количество возможных сочетаний с каждым новым числом растет с довольно высокой скоростью. Поскольку задача учебная, то ограничим искусственно длину последовательности, к примеру, 20 числами. Таким образом, на этапе ввода следует контролировать введенное число n, и в случае когда N больше 20, то целесообразно уведомить пользователя об ограничениях, накладываемых на длину последовательности и запросить повторный ввод числа. Поскольку ошибка может быть неоднократной (умышленный или ошибочный ввод подряд нескольких некорректных значений), то целесообразно будет для ввода каждого числа организовать цикл, условием завершения которого будет корректно введенное значение. Для заполнения элементов массива можно использовать цикл с заданным числом повторений.
После ввода исходных данных необходимо осуществить поиск такого сочетания элементов, сумма которых делится на k без остатка. Для реализации этого поиска можно осуществить перебор всех возможных сочетаний и вычислять для каждого из них сумму элементов. Сочетания следует перебирать сначала по одному элементу, потом по два элемента, затем по три, и так далее, пока не будет найдено искомое сочетание или же пока не достигнем последнего сочетания, в которое входят все N элементов последовательности.
Для реализации этого способа выделить следующие подзадачи:
1) Подзадача генерации сочетаний из заданного количества натуральных чисел от 1 до N. Существуют довольно простые методы генерации подобных сочетаний. В этом случае каждое из таких сгенерированных сочетаний будет задавать номера позиций элементов из исходной последовательности, которые следует взять для посчета суммы. Например, если было сгенерировано сочетание 2, 3 ,5. То оно задает набор из трех чисел исходной последовательности, которые стоят на 2, на 3 и на 5 месте в массиве целых чисел.
2) Подзадача вычисления суммы чисел в сочетании. То есть, следует извлечь числа с заданными номерами из исходного массива и определить их сумму.
Подзадачу 1 будем запускать в цикле от m=1 до n, где m будет задавать количество чисел в сочетании. После выполнения подзадачи 1 организуем цикл по всем сгенерированным сочетаниям и для каждого из них будем вычислять сумму при помощи подзадачи 2. Для вычисленной суммы будем определять остаток от деления на число k, и если он равен нулю, то искомый набор найден и задачу можно считать решенной.
Согласно заданию необходимо найти хотя бы одно такое сочетание чисел. Поскольку не стоит задачи в нахождении всех возможных сочетаний, то при обнаружении первой же суммы удовлетворяющей условию, процесс поиска можно завершать (можно выйти из цикла перебора сочетаний из из цикла по m) и останется только вывести соответствующее сообщение пользователю.
Для возможности анализа результатов работы целесообразно будет выводить все элементы сочетания и суммы на экран, а также сопровождать вывод на экран, сохранением результатов в текстовом файле на жестком диске.
Детальное описание разработанной программы, алгоритмов и их программной реализации приведено в последующих разделах. Схема алгоритма представлена в Приложении А.
В разделе описаний программы осуществляется подключение модуля crt, который необходим для использования функции clrscr (очистка содержимого экрана вывода).
В разделе описания типов приведено два типа:
Arr = array[1..20] of integer; - будет использоваться для задания исходного массива
Arr2=array[1..1000,0..20] of byte - будет использоваться для хранения сгенерированных сочетаний
Первая размерность будет задавать номер сочетания, а вторая - номера элементов в конкретном сочетании.
Также в разделе описаний переменных описаны переменные, назначение которых приведено в таблице 3.1.
Таблица 3.1- Описание переменных программы
задается пользователем и хранит длину последовательности чисел
переменная, которая задается пользователем и на которую должна делиться искомая сумма без остатка
массив из 20 целых чисел. Массив (или его часть) заполняется пользователем и хранит обрабатываемую последовательность целых чисел
массив, в котором хранятся сгенерированные сочетания. Каждая строка задает отдельное сочетание (позиции элементов в массиве Chisla)
временные переменные, необходимые для организации циклов при переборе элементов последовательности
переменная, необходимая для организации цикла по количеству элементов в сочетании
переменная, которая хранит количество сочетаний, сгенерированных на текущем цикле по m
логическая переменная, которая используется как флаг, найдена ли искомая сумма (true - если найдена)
переменная текстового файла, используется для сохранения результатов работы в текстовом файле
строковая переменная, используемая для формирования строки вывода с составленным сочетанием и суммой
вспомогательная строковая переменная, используемая в функциях преобразования целых чисел в строку
В программе приведено описание одной вспомогательной процедуры и одной функции.
Процедура Info(var ft:TEXT) предназначена для вывода вспомогательной информации о программе и о задании на курсовую работу. Следует заметить, что процедура дублирует вывод информации на экран монитора и в текстовый файл с результатами выполнения программы. При этом, параметр ft:TEXT как раз и задает файл, в который осуществляется вывод. Условием применения данной процедуры является то, что перед вызовом процедуры файловой переменной ft должно быть назначено имя физического файла на жестком диске при помощи процедуры ASSIGN. Кроме того, файл предварительно должен быть открытым для записи при помощи функции REWRITE. Текст процедуры приведен в строках 15-35.
Процедура GenerateSochet(var Sochet:Arr2;n,m:integer;var kol:integer) предназначена для генерации сочетаний из n натуральных чисел от 1 до N по m.
Сгенерированные последовательности будут возвращаться через параметр Sochet.
Параметр N задает количество чисел из которых следует выбирать сочетания.
Параметр M задает по сколько чисел участвует в одном сочетании.
Через параметр KOL будет возвращено общее количество сгенерированных сочетаний.
То есть в выходном мас сиве Sochet следует просмотреть строки от 1 до KOL это и будут сочетания, причем в каждой строке следует анализировать только элементы от 1 до m.
Алгоритм генерации сочетаний приведен на рисунке А.1 приложения А. Код процедуры приведен в строках 49 -70 приложения Б.
Генерация сочетаний выполняется по следующем правилу:
1. Начальное сочетание образует последовательность 1, 2, .. m, а последнее n-m+1,…,n.
2. Переход к следующему сочетанию осуществляется по следующему правилу: требуется просмотреть текущее сочетание с конца и найти элемент, который можно увеличить. То есть такой элемент что Sochet[kol,i] <> n-m+i. Далее увеличиваем этот элемент на 1, а оставшуюся часть сочетания заполняем числами натурального ряда большими измененного элемента в порядке их следования.
Функция Summ(Chisla:Arr;Idxs:Arr2;m,nom:integer):integer
предназначена для определения суммы чисел соответствующего сочетания, где:
Chisla - масив исходных чисел, которые будут суммироваться;
Idxs - массив сгенерированных сочетаний (содержит только номера позиций);
M - количество элементов в сочетании;
NOM - номер сочетания из массива Idxs, сумму которого нужно найти.
В функции будет анализироваться строка NOM массива Idxs, точнее не вся строка, а только первые M элементов. Эти элементы задают номера чисел в массиве Chsila, которые нужно просуммировать.
Алгоритм выполнения описанных действий приведен на рисунке А.2 приложения А, а код функции приведен в строках 36-48 приложения Б.
Алгоритм выполнения основного тела программы и основных функций приведен на рисунке А.3 в приложении А. Так в процедуре в первую очередь осуществляется очистка экрана инициализация файловой переменной и открытие текстового файла «sochet.res» для записи результатов.
Затем производится вывод информации о задании курсовой работы на экран и в файл результатов при помощи вызова процедуры INFO.
После этого осуществляется ввод исходных данных, а именно: числа элементов последовательности N и самой последователности чисел. Ввод исходных данных организован в строках 76-85 листинга в приложении Б.
После ввода исходных данных оргиназуется цикл по m (по количеству элементов в сочетании). В теле этого цикла выполняются действия:
- генерируются все возможные сочетания по m натуральных элементов 1.. N при помощи процедуры GenerateSochet;
- организуется цикл по i, в котором перебираются все из сгенерированных на предыдущем этапе сочетания и выполняются действия:
- вывод на экран и в файл элементов сочетания (цикл по j в строках 95 99);
- вычисление суммы при помощи функции SUMM (строка 100);
- проверка полученной суммы на деление на K (остаток от деления определяется при помощи оператора MOD), (строки 103-113);
Для преобразования целого числа в строку используется процедура STR(a;var S:string), где a задает целое число, а через параметр S возвращается строковое значение.
Если сумма Sm удовлетворяет условию и искомое сочетание чисел найдено, устанавливается флаг fnd и осуществляется выход из цикла.
В конце программы анализируется значение флага fnd , и если флаг установлен в false, то значит не была найдена последовательность, удовлетворяющая условию, о чем выводится соответствующее сообщение на экран и в текстовый файл.
Разработанная программа представляет собой исполняемый файл SOCHET.EXE размером 8096 байт. В программе выполняется обработка числовой последовательности.
После запуска программы появляется окно, изображенное на рисунке 4.1.
Рисунок 4.1 - Главное окно программы
После этого пользователь может вести длину последовательности. На рисунке 4.2 задан пример реакции программы в случае ошибочного набора.
Рисунок 4.2 - Реакция программы на ошибочный ввод количества N
После корректного ввода длины последовательности пользователь может задать саму последовательность целых чисел.
После корректного ввода программа выполняет перебор всех сочетаний. На рисунке 4.3 показан пример выполнения программы, а содержимое файла sochet.res приведен в приложении В.
Рисунок 4.3 - Результат работы программы
На рисунке 4.4 приведен пример выполнения программы, когда среди всех сочетаний не было найдено ни одного , удовлетворяющего условию задачи.
Рисунок 4.4 - Результат работы программы (поиск неудачен)
Функционирование программы полностью соответствует заданию.
Данная курсовая работа была выполнена в полном соответствии поставленному заданию и отлажена в среде Turbo Pascal 7.0. В ходе выполнения курсовой работы была разработана программа для обработки числовой последовательности.
В результате выполнения данной курсовой работы, я убедилась в широких возможностях языка программирования Turbo Pascal, закрепила практические навыки программирования в cреде Turbo Pascal.
1. Зуев Е.А. Программирование на языке Turbo Pascal 6.0,7.0. - М.: Радио и связь, Веста, 1993.
2. Фаронов В.В. Turbo Pascal 7.0. Начальный курс. - М.: Нолидж, 2000.
3. Йенсен К., Вирт Н. Паскаль. Руководство для пользователя и описание языка. -- М.: «Финансы и статистика», 1982. -- С. 151.
4. Вирт Н. Алгоритмы+структуры данных= программы. -- М.: «Мир», 1985. -- С. 406.
5. Грогоно П. Программирование на языке Паскаль. -- М.: «Мир», 1982. -- С. 384.
6. Перминов О. Н. Язык программирования Паскаль : Справочник. -- М.: «Радио и связь», 1989. -- С. 128. -- ISBN 5-256-00311-9
7. Культин Н.Б. Delphi 6. Программирование на Object Pascal. -- СПб.: «БХВ-Петербург», 2001. -- С. 528. -- ISBN 5-94157-112-7
8. Моргун А. Н. Программирование на языке Паскаль (Pascal). Основы обработки структур данных. -- М.: «Диалектика», 2005. -- С. 576. -- ISBN 5?8459?0935?X
9. Гранпер Ж., Коттэ Р. Трехмерная графика на Турбо-Паскале
10. Белецкий Я. Турбо-Паскаль с графикой для ПК.- М.: Машиностроение, 1991. - 320 с.
11. Бородич Ю.С. и др. Паскаль для ПК: Справочное пособие. - МН.: Высш. шк.: БФ ГИТМП "НИКА", 1991. - 365 с.
12. Зуев Е.А. Язык программирования Turbo Pascal 6.0. - М.: Унитех, 1992. - 298 с.
13. Фаронов В.В. Турбо-Паскаль (в 3 книгах). - М.: "МВТУ-ФЕСТО ДИДАКТИК", 1992-1993.
Рисунок А.1 - Алгоритм процедуры генерации сочетаний GenerateSochet
Рисунок А.2 - Алгоритм функции определения суммы SUMM
Рисунок А.3 - Алгоритм выполнения тела программы
6. Arr2=array[1..1000,0..20] of byte;
17. writeln('**********************************************************');
18. writeln('**** КУРСОВАЯ РАБОТА ПО ПРОГРАММИРОВАНИЮ ****');
20. writeln('** Задана последовательность из n чисел **');
21. writeln('** Выбрать в последовательности несколько таких чисел, **');
22. writeln('** чтобы их сумма делилась на m. **');
24. writeln('**********************************************************');
26. writeln(ft,'********************************************************');
27. writeln(ft,'**** КУРСОВАЯ РАБОТА ПО ПРОГРАММИРОВАНИЮ ****');
29. writeln(ft,'** Задана последовательность из n чисел **');
30. writeln(ft,'** Выбрать в последовательности несколько таких чисел, **');
31. writeln(ft,'** чтобы их сумма делилась на m. **');
33. writeln(ft,'********************************************************');
36. {процедура суммирует числа с номерами, которые заданы в строке nom массива Idxs}
37. Function Summ(Chisla:Arr;Idxs:Arr2;m,nom:integer):integer;
49. {процедура генерации сочетания из n по m, для чисел 1,2, ... , n}
50. Procedure GenerateSochet(var Sochet:Arr2; n,m:integer;var kol:integer);
55. { Генерация самого первого сочетания }
62. Sochet[kol,ii]:=Sochet[kol-1,ii];
64. while (Sochet[kol,ii]=(n-m+ii))and(ii>0) do
65. ii:=ii-1; { поиск элемента для изменения }
66. Sochet[kol,ii]:=Sochet[kol,ii]+1;
68. Sochet[kol,jj]:=Sochet[kol,jj-1]+1; { изменение правой части сочетания }
76. write('Задайте количество чисел n :'); readln(n);
79. write('Ошибочный ввод! Задайте количество чисел n (n>0;n<21):');
85. write('Задайте k (на него должна делиться сумма без остатка) :'); readln(k);
90. Writeln (' * * * Перебор сочетаний по ',M,' элементов! * * *');
91. Writeln (tf,' * * * Перебор сочетаний по ',M,' элементов! * * *');
118. writeln('Искомая комбинация найдена!');
119. writeln(tf,'Искомая комбинация найдена!')
121. writeln('Искомая комбинация чисел НЕ найдена!');
122. writeln(tf,'Искомая комбинация чисел НЕ найдена!');
Пример выполнения программы (поиск удачен)
************************************************************
**** КУРСОВАЯ РАБОТА ПО ПРОГРАММИРОВАНИЮ ****
** Задана последовательность из n чисел **
** Выбрать в последовательности несколько таких чисел, **
** чтобы их сумма делилась на m. **
************************************************************
* * * Перебор сочетаний по 1 элементов! * * *
* * * Перебор сочетаний по 2 элементов! * * *
* * * Перебор сочетаний по 3 элементов! * * *
Пример выполнения программы (поиск неудачен)
************************************************************
**** КУРСОВАЯ РАБОТА ПО ПРОГРАММИРОВАНИЮ ****
** Задана последовательность из n чисел **
** Выбрать в последовательности несколько таких чисел, **
** чтобы их сумма делилась на m. **
************************************************************
* * * Перебор сочетаний по 1 элементов! * * *
* * * Перебор сочетаний по 2 элементов! * * *
* * * Перебор сочетаний по 3 элементов! * * *
* * * Перебор сочетаний по 4 элементов! * * *
Искомая комбинация чисел НЕ найдена!
Разработка программы обработки числовых последовательностей с кодом на языке Pascal, которая должна выполнять функции ввода количества чисел с клавиатуры, перебора всех возможных сочетаний элементов, определения их сумм и вывода информации на экран. практическая работа [432,0 K], добавлен 09.04.2010
Разработка программы проверки знаний для тестирования студентов по программированию с кодом на языке Delphi. Проектирование визуального интерфейса и словесный алгоритм работы программы. Алгоритмы разработанных процедур и функций, инструкция пользователя. курсовая работа [506,5 K], добавлен 21.02.2011
Разработка программы для редактирования в оперативной памяти текстовых ASCII-файлов размером не более 40 килобайт, на языке программирования Pascal в среде разработки Turbo Pascal 6.0. Инструкция для пользователя. Листинг разработанной программы. курсовая работа [21,3 K], добавлен 26.11.2011
Разработка программы обработки типизированных файлов с кодом на языке Object Pascal, с использованием компонентов Delphi для ввода и вывода данных. Разработка экранных форм и алгоритма программы. Описание программных модулей и инструкция оператору. курсовая работа [1,5 M], добавлен 08.02.2011
Разработка программы на языке Turbo Pascal, обеспечивающей работу пользователя в диалоговом режиме с возможностью выбора функций с помощью одноуровневого меню вертикального типа. Блок-схема и листинг программы, описание руководства пользователя. курсовая работа [1,5 M], добавлен 17.03.2014
Составление программы на языке Pascal для обработки результатов соревнований по фигурному катанию, проводившихся по трем видам многоборья. Генератор случайных чисел. Блок-схема программы. Ввод данных, выбор пользователя, оформление результатов вычислений. курсовая работа [471,8 K], добавлен 21.12.2012
Теория чисел как одно из направлений математики, изучающее свойства натуральных чисел. Разработка программы-калькулятора CalcKurs на языке программирования Pascal. Основные функции, реализованные в программе. Интерфейс программы, описание процедур. курсовая работа [1,9 M], добавлен 03.06.2010
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Обработка текстовых файлов курсовая работа. Программирование, компьютеры и кибернетика.
Реферат по теме Современное наполнение научных принципов организации школы и педагогики
Реферат: Врожденные пороки развития половой системы. Скачать бесплатно и без регистрации
Итоговая Контрольная Работа Бунеев
Курсовая работа по теме Особенности рекламы в системе связей с общественностью на примере ООО ТД "БВК"
Реферат по теме Семейный бюджет (расчет с помощью программы Microsoft Excel 97)
Контрольная Работа Номер 3 Электромагнитное Поле
Реферат по теме Роберт Льюис Стивенсон
Курсовая работа: Эффективность маркетинговой политики предприятия
Индивидуальные Трудовые Споры Реферат
Курсовая работа: Особливості реалістичної манери Бальзака
Диссертация Цитаты
Курсовая работа по теме Мировые валютные системы и их эволюция
У Природы Нет Плохой Погоды Эссе
Реферат Про Сон
Дипломная работа по теме Интегрированное обучение детей с задержкой психического развития
Реферат: Туриз як галузь світового господарства
Не Стреляйте В Белых Лебедей Сочинение
Религия Древнего Египта Реферат
Сочинение: Я и мама делаем торт.
Контрольная Работа Информатика 11
Конституційно-правове забезпечення доступу до Інтернету в країнах Європейського Союзу та України - Государство и право дипломная работа
Характеристика препаратов для иммунизации против клещевого энцефалита - Медицина презентация
Методика організації активного відпочинку дітей старшого дошкільного віку - Педагогика дипломная работа


Report Page