andrey

Путь к Файлу: /Документы для форматирования / Кошелев / Алгоритмические / МУ Алг яз.doc

Ознакомиться или скачать весь учебный материал данного пользователя
Скачиваний:   0
Пользователь:   andrey
Добавлен:   05.01.2015
Размер:   223.0 КБ
СКАЧАТЬ

Министерство образования Российской Федерации

Российский государственный профессионально-педагогический университет

Факультет информатики

Кафедра сетевых информационных систем

УТВЕРЖДАЮ

Проректор по учебной работе

 

_______________В. А. Сидоров

“____”____________ 2004г.

Методические указания к выполнению контрольной работы по

дисциплине “Алгоритмические языки и системы программирования ”

(ГОС-2000)

Для студентов всех форм обучения специальности

351400 – Прикладная информатика (по областям)

 

Екатеринбург 2004


Методические указания к выполнению контрольной работы по дисциплине “Алгоритмические языки и системы программирования” (ГОС-2000). Екатеринбург: Из-во Рос. гос. проф.-пед. ун-та, 2004, 23 с.

Составители:     ст. преподаватель Толстова Н.С.,

ассистент Саблина В.Ю.

Рецензенты:        канд. пед. наук, доцент Долинер Л.И.

                канд. тех. наук, доцент Емельянов Д.А. (УрГПУ)

Одобрена на заседании кафедры сетевых информационных систем. Протокол №_____ от “____”___________ 2004.

Заведующий кафедрой

 _________________ Л.И. Долинер

Рекомендована к печати методической комиссией факультета информатики. Протокол №__ от “___”________ 2004г.

Председатель методической комиссии ФИ

___________________С.В. Федулов

ã Российский государственный профессионально-педагогический университет, 2004


Оглавление

Оглавление  4

Методические указания  5

Динамические структуры данных  7

Сортировки  12

Поиск  15

Интегрированная среда создания приложений Delphi 15

УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ   20

Литература  20


Методические указания

Содержание контрольной работы должно соответствовать рабочей программе по дисциплине «Алгоритмические языки и системы программирования» по специальности 030500 – Прикладная информатика (по областям).

Номер варианта контрольной работы определяется преподавателем. Как правило, этот номер соответствует двум последним цифрам зачетной книжки. Если две последние цифры номера зачетной книжки представляют число, которое больше 50, то номер варианта получают путем вычитания числа 50 из этого числа. Например. последние две цифры номера зачетной книжки – 68, то номер варианта вычисляется так: 68-50=18, т.е. номер варианта в этом случае – 18.

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

Кроме того, преподаватель может указать для каждой задачи количество заданий, которые следует выполнять (все задачи содержат несколько заданий). Если количество заданий не указано, следует выполнять все задания. С помощью номера варианта, номеров тем и количества задний в каждой теме и таблицы, приведенной в Приложении 1, определяется структура контрольной работы.

Например, если номер Вашего  варианта 18 и преподаватель определил Вам 3 первых темы, в каждой задач по теме – 2 задания, это значит, что вы находите в таблице вариантов (Приложение 1) строку с номером 18 и начинаете выполнять задачи с номерами, приведенными в 18-ой строке таблицы. В частности в теме 1 Вы должны выполнить задачу 5, в ней – два задания, в теме 2 – задачу 7, в ней два задания и т.д. И так по всем трем темам.

В теме «Внутренние сортировки» применение того или иного метода сортировки определяется согласно таблице, где в строчке с номером варианта указаны номера задач, а название столбца указывает на тип сортировки для этой задачи. Например, у Вас 18 вариант и Вы получаете следующую последовательность номеров задач: 1,3,5,2,6. Это означает, что задачу №1 вам необходимо решить, используя метод простого включения, задачу №3 – методом простого обмена, задачу №5 – методом простого выбора, задачу №2 – сортировкой Шелла, а задачу №6 – методом быстрой сортировки.


Динамические структуры данных

1 уровень (формирование, добавление удаление)

1. Дано неотрицательное число N и набор из N чисел. Создать стек, содержащий исходные числа (последнее число будет вершиной стека). Если N = 0, то положить P1 = nil. Вывести все четные значения всех элементов стека, начиная с вершины.

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

3. Дан указательP1 на вершину стека (если стек пуст, то P1 = nil). Извлечь из стека все элементы и вывести их значения. Вывести также количество извлеченных элементов N (для пустого стека вывести 0). После извлечения элементов из стека освобождать занимаемую ими память.

4. Дан набор из 10 чисел. Создать две очереди: первая должна содержать числа из исходного набора с нечетными номерами, а вторая — с четными; порядок чисел в каждой очереди должен совпадать с порядком чисел в исходном наборе. Вывести указатели на начало и конец каждой из полученных очередей.

5. Дано число N (> 0) и указатели P1 и P2 на начало и конец непустой очереди. Извлечь из очереди N начальных элементов и вывести их значения (если очередь содержит менее N элементов, то извлечь все ее элементы). После извлечения элементов из очереди освобождать память, занимаемую этими элементами.

6. Даны указатели P1 и P2 на начало и конец непустой очереди. Извлекать из очереди элементы, пока значение начального элемента очереди не станет четным, и выводить значения извлеченных элементов (если очередь не содержит элементов с четными значениями, то извлечь все ее элементы). После извлечения элементов из очереди освобождать память, занимаемую этими элементами.

7. Дано неотрицательное число N и набор из N чисел. Создать стек, содержащий исходные числа (последнее число будет вершиной стека). Если N = 0, то положить P1 = nil. Вывести все нечетные значения всех элементов стека, начиная с вершины.

8. Дан указательP1 на вершину очередь (если очередь пуст, то P1 = nil). Извлечь из очереди все элементы и вывести их значения. Вывести также количество извлеченных элементов N (для пустой очереди вывести 0). После извлечения элементов из очереди освобождать занимаемую ими память.

9. Дано неотрицательное число N и набор из N чисел. Создать линейно-связанный список, содержащий исходные числа, добавляя новый элемент в середину списка. Если N = 0, то положить P1 = nil. Вывести все значения всех элементов списка.

10. Дан указательP1 на вершину списка (если список пуст, то P1 = nil). Извлечь из списка все элементы и вывести их значения, среднее значение элементов списка (для пустого стека вывести 0). После извлечения элементов из списка освобождать занимаемую ими память.

2 уровень (определение типа стр-ры)

1. (лин. список)В системе регистрации заявок сервисного центра составляется список заявок в зависимости от приоритета отправителя (если клиент постоянный и важный приоритет – 0, если постоянный, но можно ненадолго отложить – 1 и т.д.). Сформировать список заявок, начиная с наивысшего приоритета и вывести его на экран.

2. (очередь)К принтеру время от времени поступают задания на печать. Составить программу, позволяющую отправить документ на печать по желанию пользователя и выяснить, какой он в очереди, если через определенный интервал времени осуществляется печать одного документа (первого в очереди).

3. (стек, очередь) К принтеру время от времени поступают задания на печать. Составить программу, позволяющую отправить документ с заданным именем на печать и выяснить количество отправленных документов более 5 или нет.

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

5. (лин сп) В системе регистрации заявок овощной бызы составляется список заявок в зависимости от приоритета отправителя (если клиент постоянный и важный, то приоритет – 10, если постоянный, но можно ненадолго отложить – 9 и т.д.). Сформировать список заявок, начиная с наименьшего приоритета и вывести его на экран.

6. (очередь, стек) К принтеру время от времени поступают задания на печать. Составить программу, позволяющую отправить документ с заданным именем на печать и выяснить какой он по счету в очереди на печать.

7. (лин. сп)К принтеру время от времени поступают документы на печать, каждый документ имеет приоритет при выводе на печать, который задается целым числом и по следующему правилу: чем больше число, тем выше приоритет, тем раньше документ должен быть напечатан. Составить  программу, позволяющую просмотреть очередь документов на печать согласно их приоритетам.

8. Пользователи локальной компьютерной сети отправляют почтовые сообщения. Почтовый сервер поочередно отправляет их в глобальную сеть согласно выставленному приоритету (1 письмо в 10 секунд). Составить программу, которая позволяет выяснить по номеру письма, отправлено оно или нет.

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

10. Программа просмотра html-документов, позволяет перемешаться от первого до последнего документа, не выходя из программы и возвращаться обратно. Составить программу, позволяющую задать последовательность имен таких файлов и перемещаться к следующему и предыдущему по желанию пользователя.

3 уровень (графы)

1. Определите, существуют ли в заданном неориентированном графе циклы?

2. Вершина v ориентированного графа называется корнем графа G, если из вершины v существует ориентированный путь ко всем остальным вершинам графа G. Имеет ли граф, изображенный на рисунке, корень?

МУ Алг яз

3. Найдите такую вершину заданного графа, которая принадлежит каждому пути между двумя выделенными (различными) вершинами и отлична от каждой из них.

4. Найдите длину кратчайшего цикла в неориентированном графе.

5. В заданном графе найдите все вершины, расстояние от которых до заданной вершины равно 2.

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

7. Из графа удалите все вершины, от которых недостижима заданная.

8. Для заданного натурального n постройте граф, не содержащий циклов длиной 3, в котором степени всех вершин равны 3.

9. Найдите номер вершин, через которые проходит кратчайший путь из данной вершины в данную, и его длину, если такой путь есть.

10. В заданном графе найдите все вершины, расстояние от которых до заданной вершины меньше 3.

Уровень 4 (Бинарные деревья)

1.

Сортировки

№ варианта

Типы сортировок

простым включением

простой обмен

простой выбор

сортировка Шелла

быстрая сортировка

0

3

6

1

4

2

1

1

4

3

2

5

2

3

2

7

5

1

3

3

1

4

2

6

4

6

5

2

3

1

5

2

6

1

4

3

6

5

1

3

4

2

7

6

4

3

2

1

8

1

6

7

5

4

9

7

5

3

1

4

10

6

3

7

4

5

11

5

7

5

3

4

12

2

1

3

7

6

13

2

4

5

3

1

14

6

2

4

5

7

15

1

2

3

6

5

16

2

4

1

5

7

17

4

1

6

3

2

18

1

3

5

2

6

19

7

1

3

2

6

20

7

5

1

4

3

21

1

2

5

3

6

22

5

2

1

4

7

23

1

7

2

3

4

24

3

2

7

6

1

25

7

4

1

6

2

26

5

6

4

1

2

27

3

6

5

4

1

28

3

2

5

1

4

29

2

4

6

2

4

30

7

3

4

5

2

1. Имеется список служащих и их окладов. Составить программу, которая обеспечивает ввод этих данных в ЭВМ и выводит отсортированный по фамилии список служащих и их окладов, если необходимо:

а) увеличить всем оклады на N рублей;

б) добавить к окладу премию, равную M% от оклада.

2. Имеется список служащих и их оклады. Составить программу, которая обеспечивает ввод этих данных в ЭВМ и вывод ведомости к оплате, отсортированной по убыванию оклада при условии, что премия составляет N% от оклада, уральские - 15%. Ведомость должна иметь следующую структуру:

ФИО

Оклад

Премия

Уральские

Итого

3. Имеется прейскурант, содержащий название товара и его стоимость. Составить программу, которая позволит ввести имеющиеся данные и вывести прейскурант, отсортированный по возрастанию новой стоимости, при условии, что стоимость товаров увеличится на N%. Новый прейскурант имеет следующую структуру:

Название товара

Старая стоимость

На сколько увеличивается стоимость

Новая стоимость товара

4. Имеется список оборудования и его стоимость. Составить программу, которая вводит эти данные и выводит список оборудования и его стоимость, если необходимо увеличить его стоимость на N%. Выводимая таблица должна иметь следующую структуру:

Вид оборудования

Текущая стоимость

На сколько увеличивается стоимость

Новая стоимость

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

ФИО

Номер

счета

 

Тип вклада

Размер вклада

На сколько увеличится вклад

Новый размер вклада

(типы вкладов:  срочный:  16%  годовых; обычный: 2%).

6. У вас есть доллары. Вы хотите обменять их на рубли. Есть информация о стоимости купли-продажи в банках города. В городе N банков. Составьте программу, определяющую, какой банк выбрать, чтобы выгодно обменять доллары на рубли. Вывести данные в о банках в порядке возрастания курсов.

7. У прилавка магазина выстроилась очередь из n покупателей. Время обслуживания i-того покупателя равно ti (i =1,..., п). Определить время Сi пребывания i-го покупателя в очереди. Вывести данные о покупателях, отсортированные по возрастанию времени пребывания в очереди.

8. рп

9. рп

10. по

Поиск

1 уровень (по одному параметру)

2 уровень (по двум параметрам)

3 уровень (с помощью бинарных деревьев)

Интегрированная среда создания приложений Delphi

Уровень 1

1. Создайте игру: «Угадай число». Программа случайным образом выбирает целое число в диапазоне от 0 ..1000 и запоминает его; пользователь пытается угадать его, вводя свое число с клавиатуры. При щелчке на кнопке «Начать игру», пользователю предлагают ввести число с клавиатуры. Сравнив ввод с запомненным числом, программа сообщает больше, меньше или равно введенное число запомненному числу и выводит результат. Ввод продолжается до угадывания. При угадывании числа победителя поздравляют с угадыванием, и указывают номер попытки, с которого произошло угадывание. После чего программа предлагает сыграть еще раз или  закончить игру.

2. Создайте приложение «Инициалы». В три текстовых поля экранной формы пользователь вводит фамилию, имя  и отчество. При нажатии на кнопку Пуск, в нижнем текстовом поле выводиться фамилия и инициалы пользователя.

3. В магазин «Продукты» ежемесячно поступает определенное количество мешков сахара по 50 кг., иногда в конце месяца остаются остатки. Создайте приложение, подсчитывающее, какую сумму теряет магазин за определенный месяц. Продавец ежемесячно в день поставки, вводит с клавиатуры количество привезенных мешков, и цену сахара за 1 кг, в конце месяца подчитав остатки и введя их, он получает сумму не проданного товара в рублях.

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

5. Создайте приложение, определяющее знак зодиака. Приложение запрашивает дату рождения пользователя и выдает информацию: о знаке зодиака, стихии (вода, огонь, земля, воздух).

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

от рождения до 1 года

Младенчество

1 – 3 года

Ранее детство

3 - 6 лет

Дошкольное детство

6 – 10 лет

Младенческий школьный возраст

10 – 14 лет

Школьный возраст (подросток)

15 – 17 лет

Ранней юношеский

18 – 23 года

Юношеский

23 – 33 года

Молодой

34 – 50 лет

Зрелость

50 – 60 лет

Пожилой возраст

60 – 70 лет

Старость

70 - …

Долгожительство

7. В педагогике выделяют определенные стадии периодизации жизни человека:

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

8. Создайте приложение «Зеркальное отражение». В верхнем поле формы имеется текстовое поле для ввода слова с клавиатуры, при нажатии на кнопку Пуск, выводиться информация о количестве букв в слове и зеркальное отражение слова (слово  наоборот).

9. Составьте программу – анализатор вводимого с клавиатуры числа по двум признакам – его разрядности и знака.

10. Составьте программу случайного выбора трех дисциплин, по которым придется сдавать экзамены из предлагаемых на выбор четырех дисциплин (всего возможно  4 варианта).

Уровень 2

1. Создайте приложение позволяющее бронировать места на самолет и сохранить его на внешнем носителе. Приложение должно запрашивать следующую информацию: Ф.И.О., Куда, Дата вылета, Паспортные данные.

2. Создайте приложение позволяющее ставить человека на учет на биржу труда. При постановке на учет следует знать следующую информацию: Ф.И.О., номер паспорта, ИНН,  Выписку из трудовой книжке. 

3. Создайте приложение позволяющее ставить на учет машины, поступившие в автосервис на ремонт. Приложение запрашивает следующую информацию: Ф.И.О. владельца, № телефона, вид ремонта, дата поступления заявки, примерная дата окончания ремонта. Вся  информация может сохраняться на  носители.

4. Создайте приложение позволяющее принимать заявки на вызов скорой помощи. Приложение запрашивает следующую информацию: Ф.И.О., Адрес, Симптомы, Время поступления заявки. Вся информацию можно хранить на внешнем носителе.

5. Создайте приложение позволяющее принимать заявки на пошив изделий. Приложение запрашивает следующую информацию: Ф.И.О., Вид изделия, Дата поступления заявки, Ф.И.О. мастера. Вся информация может сохраняться на внешнем носителе.

6. Создайте приложение позволяющее делать заказ на доставку букетов цветов. Приложение запрашивает следующую информацию: Кому (Ф.И.О.), Адрес, Время, Какие цветы, От кого, Текст поздравления.

7. Создайте приложение позволяющее делать заказ пиццы на дом. Приложение запрашивает следующую информацию: Адрес доставки, Дату и время доставки,  Состав пиццы. Вся информация может быть сохранена на внешнем носителе.

8. Создайте приложение позволяющее брать кассеты в видеопракате. приложение запрашивает следующую информацию: № кассеты, дата взятия, личный номер пользователя. Вся информация может быть сохранена на внешнем носителе.

9. Создайте приложение позволяющее брать книги в библиотеке. Приложение запрашивает следующую информацию: Ф.И.О. читателя, Дата выдачи книг, № книги, Название книги, Автор. Вся информация может быть сохранена на внешнем носителе.

10. Создайте приложение позволяющее подавать заявку на печать объявления в газету. Приложение запрашивает следующую информацию: Дата поступления заявки, Количество повторений, текст объявления.

 


УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ

МУ Алг яз 


Литература

а) основная литература

1.

б) дополнительная литература

1.


Методические указания к выполнению контрольных работ по дисциплине

 “Алгоритмические языки и системы программирования” (ГОС–2000)

Компьютерная верстка Толстова Н.С.

Подписано в печать  .03.2003. Формат 60х84/16. Бумага для множительных аппаратов. Печать плоская. Усл. печ. 1.  Уч.-изд. л. 1. Тираж        экз. Заказ

Ризограф РГППУ. Екатеринбург, ул. Машиностроителей, 11

Наверх страницы

Внимание! Не забудьте ознакомиться с остальными документами данного пользователя!

Соседние файлы в текущем каталоге:

На сайте уже 21970 файлов общим размером 9.9 ГБ.

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

Не нашли нужный документ? Воспользуйтесь поиском по содержимому всех файлов сайта:



Каждый день, проснувшись по утру, заходи на obmendoc.ru

Товарищ, не ленись - делись файлами и новому учись!

Яндекс.Метрика