Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Задание. 1. Опишите следующие подпрограммы работы со списком: Create(L) – создание пустого списка L; InsertFirst(L






1. Опишите следующие подпрограммы работы со списком: Create(L) – создание пустого списка L; InsertFirst(L, v) – включение элемента со значением v в начало списка L; Size(L) – определение количества элементов списка L; WriteList(f, L) – вывод в файл f элементов списка L; Clear(L) – удаление всех элементов списка L. Тип элемента списка указан в столбце 2 таблицы вариантов заданий (табл. 1).

2. Составьте подпрограмму или подпрограммы обработки списка, указанные в столбце 3 табл. 1. Спецификации всех подпрограмм приведены в табл. 2.

3. С использованием разработанных подпрограмм составьте программу работы со списками в соответствии с вашим вариантом задания (столбец 4).

В программе необходимо:

1) сформировать исходные списки с помощью процедур Create и InsertFirst, вводя элементы из текстового файла;

2) определить размеры исходных списков с помощью процедуры Size;

3) для контроля вывести в текстовый файл размеры исходных списков и их элементы с помощью процедуры WriteList;

4) выполнить задание на обработку списков, указанное в вашем варианте (столбец 4 табл. 1);

5) вывести в текстовый файл результаты обработки списков – размеры итоговых списков, их элементы и найденные характеристики списков;

6) очистить исходные и итоговые списки с помощью процедуры Clear.

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

Варианты заданий Таблица 1

Тип элемента Подпрограммы Действие со списком
       
  Integer DeleteFirst, Search, AssignValue, Удалить три первых элемента в каждом из списков L1, L2, L3, затем заменить нулями все элементы с заданным значением.
  Integer MaxItem, Move Переместить максимальные элементы списков L1, L2, L3 в их начала.
  Integer LastValue, DeleteLast Удалить все элементы с нулевым значением в конце списков L1, L2, L3 до 1-го отличного от нуля.
  Integer FirstValue, DeleteFirst Удалить все элементы с нулевым значением в начале списков L1, L2, L3 до 1-го отличного от нуля.
  Integer AssLists Сформировать список L4, состоящий из элементов, входящих хотя бы в один из списков L1, L2, L3.
  Integer CrossLists Сформировать список L4, состоящий из элементов, входящих одновременно в каждый из списков L1, L2, L3.
  Integer EvenList Сформировать список L4, состоящий из четных элементов списков L1, L2, L3.
  Real MinItem, LastItem, ChangeP Поменять местами минимальный и последний элементы списков L1, L2.
  Real ChangeN Осуществить перестановку элементов списков L1, L2 – зеркальную относительно их середины.
  Real ZeroBeforNeg Перед каждым отрицательным элементом списков L1, L2 поместить элемент с нулевым значением.
  Real Equal Среди 4-х списков найти списки, состоящие из одинаковых элементов.
  Real Subtract Удалить из списка L1 элементы, входящие в списки L2 и L3.
  Real InsertSort, SortList. Сформировать упорядоченный список L1 из элементов списков L2, L3.
  Real MaxValue Найти наименьший из наибольших элементов списков L1, L2, L3.
  Real Average Найти средние арифметические значения элементов списков L1, L2, L3.
  Char SplitLines После каждого 10-го элемента списков L1, L2 разместить символы CR, LF (#13, #10).
  Char DeleteDigits Исключить элементы-цифры из списков L1, L2.
  Char FirstValue, DeleteValue Удалить элементы списков L1, L2, совпадающие с первым.
  Char Identity Среди 4-х списков найти эквивалентные списки.
  Char DeleteLetters Исключить элементы-буквы из списков L1, L2.
  Char Quantity Среди 4-х списков найти список, содержащий наибольшее количество заданных символов.
  String Concat Сформировать список L4 сцеплением списков L1, L2, L3.
  String SortLength Отсортировать списки L1, L2, L3 по длине строкового значения элементов.
  String DigitList Сформировать списки L3 и L4 из тех элементов списков L1 и L2 соответственно, которые представляют собой правильную запись числовой константы.
  String ConsList Сформировать списки L3 и L4 из элементов списков L1 и L2 соответственно, содержащих не менее 3 согласных букв.
  String MaxVowel Найти элементы списков L1, L2, L3, содержащие наибольшее число гласных букв.
  String IDList Сформировать списки L3 и L4 из тех элементов списков L1 и L2 соответственно, которые являются идентификаторами.
  String InsertLast Дописать в конец списка слова «конец», «списка», «.»
  String Search, Delete Удалить элементы списков L1, L2, L3 с заданным значением.
  String InsertSort, SortList Включить в списки L2, L3 элементы списка L1 в отсортированном порядке.

Спецификации подпрограмм Таблица 2

Подпрограмма Спецификация
AssignValue(L, p, v) Присвоение элементу с указателем p в списке L значения v.
AssLists(L, L1) Пополнение списка L элементами списка L1, отсутствующими в L.
Average(L): tValue Возвращение среднего арифметического значений элементов списка.
ChangeN(L, n1, n2) Обмен значениями элементов с номерами n1 и n2 в списке L.
ChangeP(L, p1, p2) Обмен значениями элементов с адресами p1 и p2 в списке L.
Concat(L, L1, L2) Сцепление списков L1 и L2 в список L.
ConsList(L, L1) Пополнение списка L элементами списка L1, содержащими не менее 3 согласных букв.
CrossLists(L, L1) Удаление из списка L элементов, отсутствующих в списке L1.
Delete(L, p): tValue Исключение элемента с указателем p списка L и возвращение его значения.
DeleteDigits(L) Исключение символов-цифр из списка L.
DeleteFirst(L): tValue Исключение первого элемента списка L и возвращение его значения.
DeleteLast(L): tValue Исключение последнего элемента списка L и возвращение его значения.
DeleteLetters(L) Исключение символов-букв из списка L.
DeleteValue(L, v) Исключение из списка L элементов со значением v.
DigitList(L, L1) Пополнение списка L элементами списка L1, представляющими собой правильную запись числовой константы.
Equal(L1, L2): Boolean Возвращение True, если списки L1 и L2 состоят из одинаковых элементов.
EvenList(L, L1) Пополнение списка L четными элементами списка L1, отсутствующими в списке L.
FirstValue(L): tValue Возвращение значения первого элемента списка L.
Identity(L1, L2): Boolean Возвращение True, если списки L1 и L2 состоят из одинаковых последовательностей элементов.
IDList(L, L1) Пополнение списка L элементами списка L1, представляющими собой правильную запись идентификатора.
IndexOf(L, p): Word Возвращение номера элемента с указателем p списка L.
InsertLast(L, v) Вставка в конец списка L элемента со значением v.
InsertSort(L, v) Вставка в список L элемента со значением v в отсортированном порядке.
Item(L, n): pItem Возвращение указателя на элемент с номером n списка L.
LastItem(L): pItem Возвращение указателя на последний элемент списка L.
LastValue(L): tValue Возвращение значения последнего элемента списка L.
MaxItem(L): pItem Поиск в списке L элемента с максимальным значением и возвращение указателя на него.
MaxValue(L): tValue Поиск в списке L элемента с максимальным значением и возвращение его значения.
MaxVowel(L): tValue Поиск в списке L элемента с максимальным числом гласных букв и возвращение его значения.
MinItem(L): pItem Поиск в списке L элемента с минимальным значением и возвращение указателя на него.
Move(L, p1, p2) Удаление элемента с указателем p1 списка L и вставка его перед элементом с указателем p2.
Quantity(L, c): Word Возвращение количество символов c в списке L.
Search(L, v): pItem Поиск в списке L первого элемента со значением v и возвращение указателя на него.
SortLength(L, L1) Вставка элементов списка L1 в список L в порядке возрастания длин строк.
SortList(L, L1) Вставка элементов списка L1 в список L в отсортированном порядке.
SplitLines(L, n) Вставка после каждого n-го элемента (символа) списка L символов CR, LF (разбиение списка на строки).
Subtract(L, L1) Удаление из списка L элементов, входящих в список L1.
Value(L, p): tValue Возвращение значения элемента с указателем p списка L.
ZeroBeforNeg(L) Вставка перед каждым отрицательным элементом списка L элемента с нулевым значением.

Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал