Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
дополнение1 к мет ФП 2012.doc
Скачиваний:
3
Добавлен:
13.11.2019
Размер:
151.55 Кб
Скачать

2.4 Практическая работа №1

2.4.1 Постановка задачи

Тема: Обработка списков и арифметические операции в языке ЛИСП.

Цель работы: Изучить среду программирования Allegro CL Lite 3.0.1. Закрепить теоретические сведения о базовых функциях языка Lisp: арифметические вычисления, обработка списков, рекурсивные вычисления, создание пользовательских функций.

Задание.

1. Выбрать индивидуальный вариант практической работы из таблицы 2.7 согласно учебной группе (ПО-А, ПО-Б, ПО-В, ПО-Г, ИС-А, ИС-Б) и номеру в журнале студента. Текст радиограммы, заданной в таблице 2.7 номером, находится в таблице 2.6.

2. Согласно варианту (см. табл. 2.8) реализовать на языке Lisp пользовательскую функцию по рекурсивной обработке радиограммы.

3. Описание алгоритма обработки радиограммы (колонки 2, 4, 6 в табл. 2.8) находится в таблице 2.9.

Таблица 2.7 – Номера радиограмм для групп

Группа

Номер радиограммы

ПО-А, ПО-Г

№ 1 – 20

ПО-Б

№ 21 – 40

ПО-В

№ 41 – 70

ИС–А, ИС-В

№ 71 – 86

ИС-Б

№ 87 – 100

Таблица 2.8 - Варианты практической работы № 1

Номер

радио-граммы

алго­ритма

Номер

радио-граммы

алго­ритма

Номер

радио-граммы

алго­ритма

Номер

радио-граммы

алго­ритма

1

2

3

4

5

6

7

8

1

1

26

2

51

1

76

4

2

2

27

12

52

5

77

21

3

3

28

4

53

16

78

13

4

4

29

10

54

13

79

20

5

12

30

13

55

16

80

7

6

5

31

1

56

6

81

4

7

6

32

7

57

21

82

2

8

7

33

12

58

2

83

22

9

8

34

2

59

22

84

13

10

2

35

11

60

7

85

8

1

2

3

4

5

6

7

8

11

5

36

14

61

1

86

18

12

7

37

6

62

18

87

22

13

17

38

5

63

11

88

7

14

5

39

10

64

7

89

12

15

23

40

6

65

16

90

2

16

6

41

1

66

2

91

1

17

8

42

15

67

12

92

19

18

2

43

5

68

13

93

17

19

10

44

4

69

7

94

7

20

4

45

13

70

5

95

19

21

1

46

7

71

1

96

13

22

7

47

6

72

6

97

6

23

11

48

7

73

8

98

15

24

5

49

23

74

15

99

20

25

5

50

2

75

5

100

23

Таблица 2.9 – Описание алгоритма обработки списка

алгоритма

Алгоритм обработки списка

1

2

1

Подсчитать в списке количество элементов, которые являются символами

2

В заданном списке подсчитать количество элементов, которые являются атомами

3

Подсчитать количество чисел, которые больше N (N - число)

4

Подсчитать в заданном списке количество элементов, являющихся числом

5

В заданном списке определить количество подсписков, состоящих из M (M=1,2,3 или 4) элементов

6

Подсчитать количество пустых подсписков

7

Определить количество какой-либо одной (А,Б,В…) повторяющейся буквы

8

Найти сумму чисел, которые больше N (N - число)

9

Подсчитать количество положительных чисел в списке

10

Подсчитать количество отрицательных чисел

11

Вычесть из каждого числа списка N и подсчитать количество отрицательных чисел (N - число)

12

Определить количество чисел, которые меньше N (N - число)

13

Подсчитать количество пар подряд идущих одинаковых элементов

14

Подсчитать количество подсписков с последним элементом – буквой “Е”

1

2

15

Определить количество элементов, являющихся строковыми элементами

16

Подсчитать сумму чисел, которые меньше N (N - число)

17

Найти в списке 2 самых маленьких числа

18

Определить количество подсписков, в которых первый элемент – буква “Ф”

19

Найти сумму чисел, которые меньше N и больше K (N и K - числа)

20

Найти в списке сумму всех отрицательных чисел

21

Найти в списке 2 самых больших числа и удалить их из списка

22

Определить количество элементов, которые меньше N и больше K (N и K - числа)

23

Найти сумму положительных чисел

24

Прибавить к каждому элементу списка N и определить количество элементов, которые больше K (N и K - числа)