Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

[Rusanova_YA.M.,_Amelina_N.I.,_Pasechnuei_L.G.]_YA(BookFi.org) (1)

.pdf
Скачиваний:
8
Добавлен:
25.03.2016
Размер:
179.37 Кб
Скачать

Министерство образования и науки Российской федерации Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования «РОСТОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

для студентов 2 курса вечернего отделения механико-математического факультета по курсу

ЯЗЫКИ ПРОГРАММИРОВАНИЯ И МЕТОДЫ ТРАСЛЯЦИИ

ЗАДАНИЯ ПО УЧЕБНОЙ ПРАКТИКЕ

Ростов-на-Дону

2006

Методические указания разработаны сотрудниками кафедры прикладной математики и программирования: доцентом Я.М. Русановой, старшим преподавателем Н.И. Амелиной, старшим преподавателем Л.Г. Пасечным

Ответственный редактор

ст. преподаватель Н.И. Амелина

Компьютерный набор и верстка

ст. лаборанта И.В. Евдокимовой

Печатается в соответствии с решение кафедры прикладной математики и программирования механико-математического факультета РГУ, протокол №4 от 29 декабря 2005 г.

2

СОДЕРЖАНИЕ

 

ТЕМА 1. ЛИНЕЙНЫЕ ОДНОСВЯЗНЫЕ СПИСКИ . . . . . . . . . . . . . . . . . . .

4

Задание 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

Задание 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

Задание 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

Задание 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

ТЕМА 2. ДВУСВЯЗНЫЕ ЛИНЕЙНЫЕ СПИСКИ . . . . . . . . . . . . . . . . . . . . .

11

Задание 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

Задание 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

ТЕМА 3. ДВОИЧНЫЕ ДЕРЕВЬЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

Задание 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

Задание 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

Задание 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

Задание 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

ЛИТЕРАТУРА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

3

ТЕМА 1. ЛИНЕЙНЫЕ ОДНОСВЯЗНЫЕ СПИСКИ

Читая целые числа из текстового файла, создать линейный односвязный список

а) добавлением нового элемента в начало списка; б) добавление нового элемента в конец списка.

Задание 1

Описать процедуру добавления одного или нескольких элементов в список.

1)Добавить новый элемент после элемента с заданным значением.

2)Добавить новый элемент перед элементом с заданным значением.

3)Добавить новый элемент после каждого элемента с заданным значением.

4)Добавить новый элемент перед каждым элементом с заданным значением.

5)Продублировать все нулевые элементы.

6)Продублировать первый нулевой элемент.

7)Продублировать все положительные элементы.

8)Продублировать первый положительный элемент.

9)Продублировать все отрицательные элементы.

10)Продублировать первый отрицательный элемент.

11)Продублировать все нечетные элементы.

12)Продублировать первый нечетный элемент.

13)Продублировать все четные элементы.

14)Продублировать первый четный элемент.

15)Продублировать все элементы с заданным значением.

16)Продублировать первый элемент с заданным значением.

17)Продублировать все элементы со значением, большим заданного.

4

18)Продублировать первый элемент со значением, большим заданного.

19)Продублировать все элементы со значением, меньшим заданного.

20)Продублировать первый элемент со значением, меньшим заданного.

21)Добавить в начало списка заданное количество элементов.

22)Добавить в конец списка заданное количество элементов.

23)Добавить перед последним элементом списка заданное количество элементов.

24)Добавить после первого элемента списка заданное количество элементов.

25)Добавить после первого элемента списка с заданным значением заданное количество элементов.

26)Добавить перед первым элементом списка с заданным значением заданное количество элементов.

27)Добавить в начало списка заданное количество k элементов, не меняя порядка их следования: первый из заданных элементов, второй,

K, k-ый элемент, список.

28)Добавить в конец списка заданное количество k элементов, не меняя порядка их следования: список, первый из заданных элементов,

второй, K, k-ый элемент.

29)Добавить в список, элементы которого упорядочены по неубыванию, новый элемент так, чтобы сохранить упорядоченность.

30)Добавить в список, элементы которого упорядочены по невозрастанию, новый элемент так, чтобы сохранить упорядоченность.

31)Добавить в конец списка все элементы другого списка.

32)Добавить в начало списка все элементы другого списка.

33)Добавить в список за первым вхождением заданного элемента все элементы другого списка.

34)Добавить перед последним элементом списка все элементы другого списка.

5

Задание 2

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

1)Удалить из списка все положительные элементы.

2)Удалить из списка первый положительный элемент.

3)Удалить из списка все отрицательные элементы.

4)Удалить из списка первый отрицательный элемент.

5)Удалить из списка все нулевые элементы.

6)Удалить из списка первый нулевой элемент.

7)Удалить из списка все нечетные элементы.

8)Удалить из списка первый нечетный элемент.

9)Удалить из списка все четные элементы.

10)Удалить из списка первый четный элемент.

11)Удалить из списка все элементы со значением большим заданного значения.

12)Удалить из списка первый из элементов со значением большим заданного значения.

13)Удалить из списка все элементы со значением меньшим заданного значения.

14)Удалить из списка первый из элементов со значением меньшим заданного значения.

15)Удалить из списка после каждого элемента с заданным значением один элемент.

16)Удалить из списка после первого элемента с заданным значением один элемент.

17)Удалить из списка после каждого элемента с заданным значением один элемент, если его значение отлично от заданного.

18)Удалить из списка после первого элемента с заданным значением один элемент, если его значение отлично от заданного.

19)Удалить из списка перед каждым элементом с заданным значением один элемент.

6

20)Удалить из списка перед первым элементом с заданным значением один элемент.

21)Удалить из списка перед каждым элементом с заданным значением один элемент, если его значение отлично от заданного.

22)Удалить из списка перед первым элементом с заданным значением один элемент, если его значение отлично от заданного.

23)Удалить заданное количество элементов в начале списка.

24)Удалить заданное количество элементов в конце списка.

25)Удалить заданное количество элементов перед последним элементом.

26)Удалить заданное количество элементов после первого элемента.

27)Удалить заданное количество элементов после первого элемента с заданным значением.

28)Удалить заданное количество элементов перед первым элементом с заданным значением.

29)Удалить «хвост» списка, начиная с элемента с заданным значением.

30)Удалить из списка все элементы, имеющие наименьшее (минимальное) значение.

31)Удалить из списка все элементы, имеющие наибольшее (максимальное) значение.

32)Удалить из списка первый из минимальных элементов.

33)Удалить из списка первый из минимальных элементов, если он не единственный.

34)Удалить из списка последний из минимальных элементов.

35)Удалить из списка последний из минимальных элементов, если он не единственный.

36)Удалить из списка первый из максимальных элементов.

37)Удалить из списка первый из максимальных элементов, если он не единственный.

38)Удалить из списка последний из максимальных элементов.

39)Удалить из списка последний из максимальных элементов, если он не единственный.

7

Задание 3

Описать рекурсивную процедуру или функцию обработки списка.

1)Выдать элементы списка.

2)Выдать элементы списка в обратном порядке.

3)Подсчитать количество положительных элементов списка.

4)Подсчитать количество отрицательных элементов списка.

5)Подсчитать количество нулевых элементов списка.

6)Подсчитать количество четных элементов списка.

7)Подсчитать количество нечетных элементов списка.

8)Подсчитать число вхождений заданного значения в список.

9)Подсчитать количество элементов со значением, большим заданно.

10)Подсчитать количество элементов со значением, меньшим заданно.

11)Определить сумму значений всех элементов списка.

12)Определить сумму значений всех положительных элементов списка.

13)Определить сумму значений всех отрицательных элементов списка.

14)Определить сумму значений всех четных элементов списка.

15)Определить сумму значений всех нечетных элементов списка.

16)Определить произведение значений всех элементов списка.

17)Определить произведение значений всех положительных элементов списка.

18)Определить произведение значений всех отрицательных элементов списка.

19)Определить среднее арифметическое значений элементов непустого списка.

20)Определить минимальный элемент непустого списка.

21)Определить максимальный элемент непустого списка.

22)Проверить, входит ли в список хотя бы один нулевой элемент.

23)Проверить, входит ли в список хотя бы один положительный элемент.

24)Проверить, входит ли в список хотя бы один отрицательный элемент.

8

25)Проверить, входит ли в список хотя бы один четный элемент.

26)Проверить, входит ли в список хотя бы один нечетный элемент.

27)Проверить, входит ли в список хотя бы один элемент с заданным значением.

28)Проверить два списка на совпадение (сравнить два списка).

29)Заменить в списке первое вхождение заданного значения на другое заданное значение.

30)Заменить в списке все вхождения заданного значения на другое заданное значение.

Задание 4

Описать рекурсивную процедуру или функцию обработки списка.

1)Удалить из списка первый элемент с нулевым значением.

2)Удалить из списка первый элемент с положительным значением.

3)Удалить из списка первый элемент с отрицательным значением.

4)Удалить из списка первый элемент с четным значением.

5)Удалить из списка первый элемент с нечетным значением.

6)Удалить первый элемент с заданным значением.

7)Удалить из списка все нулевые элементы.

8)Удалить из списка все положительные элементы.

9)Удалить из списка все отрицательные элементы.

10)Удалить из списка все четные элементы.

11)Удалить из списка все нечетные элементы.

12)Удалить все элементы с заданным значением.

13)Удвоить в списке первое вхождение элемента с заданным значением.

14)Удвоить в списке первое вхождение нулевого элемента.

15)Удвоить в списке первое вхождение положительного элемента.

16)Удвоить в списке первое вхождение отрицательного элемента.

17)Удвоить в списке первое вхождение четного элемента.

18)Удвоить в списке первое вхождение нечетного элемента.

9

19)Удвоить в списке каждое вхождение элемента с заданным значением.

20)Удвоить в списке каждое вхождение нулевого элемента.

21)Удвоить в списке каждое вхождение положительного элемента.

22)Удвоить в списке каждое вхождение отрицательного элемента.

23)Удвоить в списке каждое вхождение четного элемента.

24)Удвоить в списке каждое вхождение нечетного элемента.

25)Вставить элемент с заданным значением после первого нулевого элемента.

26)Вставить элемент с заданным значением после первого положительного элемента.

27)Вставить элемент с заданным значением после первого отрицательного элемента.

28)Вставить элемент с заданным значением после первого четного элемента.

29)Вставить элемент с заданным значением после первого нечетного элемента.

30)Вставить элемент с заданным значением после каждого нулевого элемента.

31)Вставить элемент с заданным значением после каждого положительного элемента.

32)Вставить элемент с заданным значением после каждого отрицательного элемента.

33)Вставить элемент с заданным значением после каждого четного элемента.

34)Вставить элемент с заданным значением после каждого нечетного элемента.

35)Вставить элемент с заданным значением после первого элемента с другим заданным значением.

36)Вставить элемент с заданным значением после каждого элемента с другим заданным значением.

10