Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте www.za4et.net.ru

Компьютеры, Программирование Компьютеры, Программирование     Программное обеспечение Программное обеспечение

Структуры и алгоритмы обработки данных

Пакеты с замком "Extra зиплок" (гриппер), комплект 100 штук (150x200 мм).
Быстрозакрывающиеся пакеты с замком "зиплок" предназначены для упаковки мелких предметов, фотографий, медицинских препаратов и
148 руб
Раздел: Гермоупаковка
Гуашь "Классика", 12 цветов.
Гуашевые краски изготавливаются на основе натуральных компонентов и высококачестсвенных пигментов с добавлением консервантов, не
170 руб
Раздел: 7 и более цветов
Браслет светоотражающий, самофиксирующийся, желтый.
Изготовлены из влагостойкого и грязестойкого материала, сохраняющего свои свойства в любых погодных условиях. Легкость крепления позволяет
66 руб
Раздел: Прочее

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ) Кафедра «Математическое обеспечение вычислительных систем» ОТЧЕТ по лабораторному практикуму по дисциплине «Структуры и алгоритмы обработки данных» (часть 1) Группы: ВСМ-6-05 Студент: Антонов А.Е. Руководитель: Сыромятников В.П. Москва- 2007 год Лабораторная работа №1 «Кольцевые односвязные списки» Вариант № 1.18 ПОСТАНОВКА ЗАДАЧИ Сформировать линейный односвязный список (ЛОС) с заданным указателем sag, работающий с типом данных I eger. Составить программу, которая должна из заданного списка удалить первый и последний элементы. Составить программу, которая: обеспечивает ввод данных типа I eger с клавиатуры; создает линейный односвязный список из введенных данных с клавиатуры; обеспечивает диалог посредством вывода информационных сообщений и вариантов выполнения дальнейших действий; удаляет первый и последний элементы. в данной программе будут реализованы следующие возможности работы с ЛОС: 0 - Выход из программы 1 - Создание ЛОС 2 - Добавление элемента в начало списка 3 - Добавление элемента в середину списка, перед указанным значением 4 - Добавление элемента в середину списка, после указанного значения 5 - Добавление элемента в конец списка 6 - Удаление элемента в начале списка 7 - Удаление элемента ЛОС стоящего перед указанным значением списка 8 - Удаление элемента ЛОС стоящего после указанного значения списка 9 - Удаление определенного элемента в списке 10 - Удаление элемента в конце списка 11 - Удаление первого и последнего элементов ЛОС 12 - Очистка ЛОС 13 - Поиск элемента по его значению 14 - Сортировка элементов ЛОС 15 - Подсчет количества идентичных по содержанию элементов с указанным ОПИСАНИЕ АЛГОРИТМА РЕШЕНИЯ ЗАДАЧИ Ввод данных осуществляется в диалоговом режиме. Пользователь информируется о вариантах работы в данной программе, об особенностях ввода значений в программе. Далее осуществляется ввод самого списка. Создается линейный односвязный список, с указанием на конец списка ( IL) и по мере ввода данных, ЛОС наполняется, при этом идет сортировка значений элементов по возрастанию. После ввода необходимого количества элементов и ввода нулевого значения, созданный и отсортированный ЛОС выводиться на экран. Далее, следуя указаниям программы, пользователь нажимает E er, для продолжения работы программы, на экран выводиться перечень возможных вариантов работы в данной программе. После выбора нужного номера операции, в нашем случае (11 - Удалить первый и последний элементы ЛОС) и нажатия на E er. Происходит удаление первого и последнего элементов ЛОС, с выводом на экран итогового вида ЛОС. ОПИСАНИЕ ИСПОЛЬЗУЕМЫХ СТРУКТУР ДАННЫХ Для хранения данных в соответствии с постановкой задачи необходимо в программе создать Линейный Односвязный Список (ЛОС). Описание типа используемых данных ype chisla = se of '0'.'9'; {множество} E= I eger;{описание целочисленного типа} WE= S ri g;{описание строкового типа} PE= ^EL;{описание типа указателя} EL= Record{описание типа - запись} i f: E;{информационная часть элемента, тип I eger} i f2: WE;{информационная часть элемента, тип S ri g} ex : PE{адресная часть элемента} E d; Var Sag, {указатель начала списка} q, qq: PE;{переменные указателей} oper, s , s 2: E;{переменные целочисленного типа} w, s roka: WE;{переменные строкового типа} ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА Начальный вид окна программы.

Для начала ввода данных в ЛОС, надо определиться с каким типом данных Вы хотели бы работать. После того, как Вы решили с каким типом данных Вы будете дальше работать, Вам нужно ввести номер варианта дальнейшей работы (1 или 2). Для выполнения условий данной лабораторной, выбираем тип I eger (тип целочисленный) предел его от -32768 до 32767. Далее, осуществляется ввод самого списка. Создается линейный односвязный список, с указанием на конец списка ( IL) и по мере ввода данных, ЛОС наполняется, при этом идет сортировка значений элементов по возрастанию. После ввода необходимого количества элементов и ввода нулевого значения, созданный и отсортированный ЛОС выводиться на экран. (Рис.2) Далее, следуя указаниям программы, пользователь нажимает E er для продолжения работы программы, и на экран выводиться перечень возможных вариантов работы в данной программе.(Рис.3) После выбора нужного номера операции, для выполнения условий нашей задачи, выбираем (11 - Удалить первый и последний элементы ЛОС) и нажимаем на E er. Происходит удаление первого и последнего элементов ЛОС, с выводом на экран итогового вида ЛОС.(Рис.4) Видно, что с поставленной задачей наша программа справилась. Были удалены первый и последний элементы ЛОС, а потом был выведен итоговый вид ЛОС. ЛИСТИНГ ПРОГРАММЫ ype chisla = se of '0'.'9'; //множество E= I eger;//описание целочисленного типа WE= S ri g;//описание строкового типа PE= ^EL;//тип указателя EL= Record//описание типа - запись i f: E;//информационная часть элемента, тип I eger i f2: WE;//информационная часть элемента, тип S ri g ex : PE//адресная часть элемента E d; Var Sag, //указатель, на начало списка q, qq: PE;//переменные указателей oper, s , s 2: E;//переменные целочисленного типа w, s roka: WE;//переменные строкового типа Procedure Pri (sag: PE); {вывод ЛОС} Var q: PE;//адресная переменная Begi q:= sag^. ex ;//запоминаем адрес первого элемента ЛОС if q= il he {проверяем ЛОС на пустоту и если он пустой выводим сообщение о том, что ЛОС пустой и выводим варианты дальнейшей работы программы} begi Wri eL (rus('ЛОС пустой, выводить нечего!')); Wri eL (''); Wri eL (rus('Что Вы хотите сделать?')); Wri eL (rus('')); Wri eL (rus('1 - Создать ЛОС')); Wri eL (rus('')); Wri eL (rus('0 - Выйти')); Wri eL (rus('')); Wri eL (rus('Введите номер требуемой операции ')); Wri eL (''); e d Else{если ЛОС не пустой продолжаем выполнение процедуры} Begi {проверяем, с каким типом данных происходит работа программы} If s = 1 he {если пользователь выбрал вариант работы, работа с типом I eger} //s = 1 – работа с типом данных, I eger Begi While q&l ;&g ; il do {проходим по всему ЛОС пока не дойдем до указателя конца списка ( il)} Begi Wri e(' ');{выводим на экран значение элемента ЛОС – тип I eger} q:=q^. ex ;//запоминаем адрес следующего элемента E d; Wri eL ; e d else Begi While q&l ;&g ; il do{проходим по всему ЛОС пока не дойдем до указателя конца списка ( il)} Begi Wri e(' ');{выводим на экран значение элемента ЛОС - тип S ri g} q:=q^. ex ;//запоминаем адрес следующего элемента E d; Wri eL (' '); e d; E d; E d; Procedure Proverka (var w: WE);{проверка превышения значения типа I eger} Var a, i: E; c: char; b: chisla; Begi w:= ''; ReadL (w);//ввод числа с клавиатуры – тип S ri g While (w = '') or (w='-')do{проверяем, если пользователь не ввел данные или ввел только знак минуса выводим на экран сообщения о не корректные вводе} Begi Wri eL (Rus('Вы не ввели данные или они не корректны, попробуйте еще раз')); Wri eL (' '); Proverka(w);//выполняем рекурсивный вход в процедуру E d; for i:= 1 o le g h(w) do{запускаем цикл проверки числа на корректность ввода, число введено, как строка.

По этому мы можем поэлементно проверить каждую цифру} begi b:= ;//множество состоящее из цифр c:=w;{берем каждую цифру из числа проходя от первой до последней} if (c i b) or (c='-') a d (i=1) he {сравниваем есть ли цифра из введенного числа во множестве заданных цифр и проверяем какое число было введено, отрицательное или положительное и не стоит ли знак минус в середине числа} else a:= 1;{если число не корректно делаем пометку для дальнейшей проверки} e d; if a = 1 he {если число не прошло проверку выводим сообщение о не корректном вводе числа} begi Wri eL (rus('Вы ввели не корректные данные !')); Wri eL (' '); Proverka(w);{выполняем рекурсивный вход в процедуру} e d; if (le g h(w)&l ;5) he {если длина числа меньше 5 знаков заканчиваем проверку, так как число не превышает максимального значения типа I eger, а корректность ввода мы уже проверили} else{если число больше то проверяем его дальше} begi if (le g h(w)&g ;5) a d (w&l ;&g ; '-') he {если длина числа больше пяти знаков, и при этом первый знак, не знак минуса то выводим сообщение о превышении максимального значения типа I eger} begi Wri e(rus('Вы ввели не число или число превышающее диапазон ')); Wri eL (rus('типа I eger (-32768.32767) ')); Wri eL (''); Wri eL (rus('Введите другое число')); Proverka(w);{выполняем рекурсивный вход в процедуру} e d; if (w= '-') a d (le g h(w)&g ;4) a d (w&g ;'-32768') he {если первый знак числа, знак минуса, а число по длине меньше или равно четырем знакам или число больше чем четыре знака и в ходе сравнения строка со значением введенного числа, меньше или равна строке по значению с максимальным пределом типа I eger, то идем дальше. Иначе, выводим сообщение о превышении максимального значения типа I eger} begi Wri e(rus('Вы ввели не число или число превышающее диапазон ')); Wri eL (rus('типа I eger (-32768.32767) ')); Wri eL (''); Wri eL (rus('Введите другое число')); Proverka(w);{выполняем рекурсивный вход в процедуру} e d; if (le g h(w)&g ;4) a d (w&g ;'32767') he {если число по длине меньше или равно четырем знакам или число больше чем четыре знака и в ходе сравнения строка со значением введенного числа, меньше или равна строке по значению с максимальным пределом типа I eger, то идем дальше. Иначе выводим сообщение о превышении максимального значения типа I eger} begi Wri e(rus('Вы ввели не число или число превышающее диапазон ')); Wri eL (rus('типа I eger (-32768.32767) ')); Wri eL (''); Wri eL (rus('Введите другое число')); Proverka(w);{выполняем рекурсивный вход в процедуру} e d; e d; E d; Procedure Gou(w: WE); forward; //Опережающее описание процедуры Procedure Crea e2(var sag: PE); {Процедура ввода элементов в ЛОС с сортировкой по возрастанию} Var q, qq, s: PE;//адресные переменные a: E;//переменная для ввода данных Begi wri el (' '); Wri eL (rus('Введите элементы в ЛОС: ')); Wri eL (rus('Ввод завершите 0')); if s 2&l ;&g ;1 he //если ЛОС еще не был создан begi ew(sag);//создаем указатель начала списка q:=sag^. ex ;//запоминаем адрес первого элемента ЛОС e d; If s = 1 he {если пользователь выбрал вариант работы, с типом I eger} //s = 1 – работа с типом данных, I eger begi Proverka(w);{вход в процедуру проверки корректности ввода данных} a:= S r oI (w);{перевод числа из строкового типа данных в целочисленный} e d else{если пользователь выбрал вариант работы, работа с типом S ri g} //s = 2 – работа с типом данных, S ri g ReadL (s roka);//ввод данных типа S ri g if (q= il) or (s 2=1) he {если ЛОС был пустым или ЛОС уже создавался} Begi ew(q);{создаем адресную переменную для первого элемента} If s = 1 he {если пользователь выбрал вариант работы, работа с типом I eger} //s = 1 – работа с типом данных, I eger q^.i

Если вас интересует извлечение из XML-документа только определенных данных и вам известно, где именно в иерархии данных файла они находятся, то использование объекта XMLReader и собственного конечного автомата для перехода к нужным данным не вызывает особых затруднений. Аналогичным образом, если вам заранее известно, каким должен быть формат XML-данных, выводимых для записи, работа с объектом XMLWriter не будет для вас сложной. Соображения, побуждающие избегать использования однонаправленной обработки XML-данных  ■ Модели однонаправленной обработки данных не поддерживают произвольный доступ к элементам документа. Вам дается только один "выстрел", чтобы успеть сделать что-либо с данными по мере их чтения. Если ваш алгоритм нуждается в динамическом перекрестном использовании данных или внесении взаимосвязанных изменений в данные, относящиеся к различным частям XML-документа, то для этого вам придется самостоятельно написать довольно сложный код, интенсивно использующий информацию о состоянии. Поскольку модель XML DOM поддерживает хранящееся в памяти дерево документа, она позволяет легко совершать обход этого дерева для поиска нужных узлов и внесения необходимых изменений.  ■ Модели однонаправленной обработки данных требуют выполнения значительного объема работы для реконструкции всей структуры дерева

1. Базы данных и информационные технологии

2. Об алгоритмах самоорганизации в задаче синтеза информационных технологий обработки сигналов

3. Комплексный метод оценивания дополнительных аудиторских рисков, возникающих в условиях компьютерной обработки данных, на основе современных информационных технологий

4. Информационные технологии создания и обработки баз данных с помощью MS Access XP

5. Новые информационные технологии в практике работы фармацевтических организаций

6. Применение информационных технологий в системе социальной работы с детьми-инвалидами
7. Использование информационных технологий в туризме
8. Автоматизированные информационные технологии в офисе

9. Информационные технологии в экономике. Информационная безопасность в сетях ЭВМ

10. Основы информационных технологий

11. Компьютерные сети Информационных технологий

12. Использование лазеров в информационных технологиях

13. Определение эффективности применения информационной технологии

14. Информационные технологии в экономике. Разработка информационных технологий.

15. Информационные технологии в управлении (Контрольная)

16. Информационные технологии в экономике

Зеркальце карманное "Бабочка", 8x7 см.
Симпатичное карманное зеркало станет Вашим незаменимым помощником и с легкостью разместится даже в небольшой женской сумочке или кармане.
354 руб
Раздел: Зеркала, расчески, заколки
Кулинарная форма, круглая, регулируемая, 16-30 см, высота 8,5 см.
Кольцо-трансформер решает проблему выбора размера формы раз и навсегда.Используется для выпечки коржей диаметров от 15 до 30 см.Форма
482 руб
Раздел: Формы и формочки для выпечки
Сковорода литая с антипригарным покрытием, 26 см.
Сковорода со съемной ручкой и стеклянной крышкой, утолщенное дно. Диаметр: 260 мм. Высота: 60 мм.
1738 руб
Раздел: Сковороды с антипригарным покрытием

17. Новые информационные технологии обучения в математике

18. Повышение эффективности формирования химических знаний школьников при использовании информационной технологии обучения

19. Информационные технологии в социально-экономическом и политическом анализе

20. Информационные технологии в социальной сфере

21. Применение информационных технологий в процессе обучения химии

22. Автоматизированные информационные технологии в учете денежных средств
23. Принятие управленческих решений на базе современных информационных технологий в финансовом менеджменте
24. Информационные технологии как инструмент повышения конкурентоспособности торгового предприятия

25. Информационные технологии в коучинге

26. Информационные технологии в экономике. Информационные технологии

27. Использование информационных технологий в туризме

28. Современные информационные технологии в правоохранительной деятельности

29. Информационные технологии в туризме Калининградской области

30. Информационные технологии в туристической деятельности

31. Информационные технологии в управлении предприятием

32. Информационные технологии управления

Бейдж с рулеткой, 54x90 мм.
Пластиковый держатель для 2 магнитных пропусков, с рулеткой. Рулетка вытягивается на 60 см. Размер: 54x90 мм.
420 руб
Раздел: Бейджи, держатели, этикетки
Доска магнитно-маркерная, 60x90 см.
Размер: 60х90 см. Поверхность доски позволяет писать маркерами и прикреплять листы при помощи магнитов. Улучшенный алюминиевый профиль. В
1503 руб
Раздел: Доски магнитно-маркерные
Портфель "Megapolis", А4, 12 отделений, серый.
Используется для хранения и транспортировки большого колличества документов, сгруппированных по темам. Закрывается на надёжный пластиковый
517 руб
Раздел: Папки-портфели, папки с наполнением

33. Информационные Технологии в Управлении

34. Эффективное управление учебной деятельностью с помощью компьютерных информационных технологий

35. Методические аспекты сочетания традиционной и информационной технологий в обучении

36. Компьютерные информационные технологии - основа образования XXI века

37. Использование новых информационных технологий в обучении языку и культуре

38. Психологические последствия применения информационных технологий
39. Психологические последствия применения информационных технологий
40. Проблемы и информационные технологии валеологизации образования

41. Внедрение информационных технологий в преподавание предметов школьного курса

42. Курсовая работа по технологии швейных изделий

43. Совершенствование информационной технологии первого управления внутренних дел ВО города Москвы

44. Социальная опасность правонарушений в сфере новых информационных технологий

45. От высоких информационных технологий - к спортивным победам

46. Комплексное внедрение информационных технологий в розничной торговле

47. Рынок информации и информационные технологии

48. Оценка экономической эффективности информационной технологии

Крышка силиконовая "Невыкипайка", 29 см (арт. TK 0081).
Приспособление предназначено для предохранения готовящихся продуктов от выкипания. Заменяет пароварку. Предотвращает беспорядок на
383 руб
Раздел: Прочее
Автокресло Еду-еду "KS-513 Lux" с вкладышем (цвет: черный/серый, 9-36 кг).
Для всех родителей очень важно обеспечить безопасность и комфорт во время поездки своему ребенку. В этом нам поможет детское автокресло
2977 руб
Раздел: Группа 1/2/3 (9-36 кг)
Швабра "МОП" с отжимной ручкой, 118 см.
Для влажной уборки. Материал: металлическая трубка, пластик, микрофибра. Цвет в ассортименте без возможности выбора.
347 руб
Раздел: Швабры и наборы

49. Автоматизированные информационные технологии в бухгалтерском учете

50. Использование информационных технологий в изучении английского языка в школе

51. Российский путь в информационные технологии 21 века

52. Информационные технологии как инструмент повышения конкурентоспособности торгового предприятия

53. Внедрение новых компьютерных и информационных технологий в учебно-воспитательный процесс

54. Естественно-научная база современных информационных технологий. Современные средства накопления, хранения и передачи информаци
55. Информационная технология
56. Информационные технологии в экономике. Электронная коммерция

57. Лабораторные работы по Теории вычислительных процессов и структур

58. Понятие информационных технологий

59. Эволюция природы в представлении информационных технологий

60. Запись и считывание данных (работа с файлами)

61. Информационные технологии

62. Обработка и анализ информационных потоков: системы поддержки принятия решений

63. Итология - наука об информационных технологиях

64. Роль современных информационных технологий в повышении эффективности управления

Тетрадь на резинке "Study Up", А5, 120 листов, клетка, фиолетовая.
Тетрадь общая на резинке. Формат: А5. Количество листов: 120, в клетку. Бумага: офсет. Цвет обложки: фиолетовый.
360 руб
Раздел: Прочие
Тетрадь на резинке "Study Up", В5, 120 листов, клетка, желтая.
Тетрадь общая на резинке. Формат: В5. Количество листов: 120 в клетку. Бумага: офсет. Цвет обложки: желтый.
442 руб
Раздел: Прочие
Накладка на унитаз "Бегемотик".
Унитазная накладка подходит ко всем стандартным туалетам. Кроме того, благодаря краям предотвращающим скольжение легко и твердо
419 руб
Раздел: Сиденья

65. Структура готовности будущего учителя к применению технологий открытого образования

66. Методика структурирования данных для информационного моделирования геологической среды

67. Информационные технологии и здоровье

68. Информационные технологии в бухгалтерии

69. Автоматизированная информационная технология по учету денежных операций по кассе

70. Информационные технологии и средства их обеспечения как объекты информационных правоотношений
71. Информационные технологии следственной деятельности
72. Использование информационных технологий при изучении курса "Основы правоведения"

73. Понятие преступления в сфере информационных технологий

74. Процесс доказывания по делам о преступлениях в сфере высоких информационных технологий

75. Информационные технологии, способствующие повышению мотивации при обучении говорению.

76. Анализ информационных технологий в МУЗ "ГСП №1" города Прокопьевска

77. Информационные технологии

78. Информационные технологии

79. Информационные технологии в государственном муниципальном управлении

80. Информационные технологии в управлении в АПК

Логическая игра "IQ-Твист".
IQ-Твист - логическая игра, головоломка для взрослых и детей. Увлекательный способ проверить своё пространственное восприятие. Игра
547 руб
Раздел: Игры логические
Швабра плоская с декором "Premium" (микрофибра).
Швабра плоская с декором "Premium". Чистящая поверхность тряпки изготовлена из микрофибры. Данный материал обладает повышенной
640 руб
Раздел: Швабры и наборы
Шкатулка "Фермерский шик" - В (25,5x18,5x11 см).
Короб шкатулки выполнен из ткани. Ручка из бусин. Внутри пластиковый поддон с разделителями. Шкатулка очень удобна в использовании, и к
492 руб
Раздел: Шкатулки для рукоделия

81. Информационные технологии в экономике

82. Информационные технологии документационного обеспечения управленческой деятельности

83. Информационные технологии и их роль на стыке столетий

84. Информационные технологии с точки зрения КСЕ

85. Информационные технологии управления

86. Информационные технологии управления
87. Информационные технологии, как инструмент формирования управленческих решений
88. Использование автоматизированных информационных технологий в управлении

89. Классификация информационных технологий

90. Новые информационные технологии в системе непрерывного образования

91. Основы информационных технологий

92. Проект сети для кафедры информационных технологий и систем

93. Разработка Web-сайта для кафедры "Вычислительная техника и информационные технологии"

94. Разработка информационного обеспечения и анализ данных для информационной системы "Станция технического обслуживания"

95. Роль информационных технологий в управлении предприятием

96. Управление операционной деятельностью в сфере информационных технологий

Мотоцикл-каталка 2-х колесный, желтый.
Мотоцикл каталка обязательно станет любимой игрушкой Вашего малыша. Большое удовольствие доставляет ребенку самостоятельно оттолкнувшись
1700 руб
Раздел: Каталки
Карандаши цветные "Magic", 12+1 цветов.
Уникальные цветные карандаши с многоцветным грифелем, который дает возможность рисовать и писать сразу тремя цветами. В каждом наборе
713 руб
Раздел: 7-12 цветов
Багетная рама "Melissa" (цвет - коричневый+золотой), 30х40 см.
Багетные рамы предназначены для оформления картин, вышивок и фотографий. Оформленное изделие всегда становится более выразительным и
698 руб
Раздел: Размер 30x40

97. Изучение исторических источников на основе применения количественных методов и новых информационных технологий

98. Автоматизированные информационные технологии управления

99. Информационные технологии в профессиональной деятельности экономиста

100. Новейшие информационные технологии в разработке анимационных проектов


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.