Разработка алгоритма, отладка и тестирование программы обработки данных множественного типа



Цель работы: Получить навыки в составлении алгоритма и отладки программы обработки данных множественного типа

 

Теоретические положения:

Множествомназывается неупорядоченныйограниченный набор однотипных данных.Каждый объектв множестве называется элементом множества. Все элементы множества должны принадлежать одному из скалярных (простых) типов, кроме вещественных. Этот тип называется базовым типом множества. Базовый тип задается перечислением или диапазоном. Если множество не имеет элементов, оно называется пустым и обозначается как [ ]. Количество элементов множества называется его мощностью (максимальное количество 255). В множестве не может быть повторяющихся элементов. Область значений типа множество – набор всевозможных подмножеств, составленных из элементов базового типа.

 

Способы описания множеств

 

1.Var имя множества : setof тип элементов;

 

2. Typeимя типа =setof тип элементов;

Var имя множества : имя типа;

где

setof - «множество из» - служебные слова;

тип элементов – любой порядковый, кроме вещественных.

 

Например:

       Type mn=set of char;

Var a,b:mn;

c: set of 2..6;

Begin

     a:=[ ‘A’..’Z’];

     c:=[2, 4..6];

     b:=[];

         

     . . .

End.

Операции над множествами

 

1. Операция IN -используется для проверки принадлежности какаго-либо значения указанному множеству. Обычно применяется в операторах условного перехода . Результат выполнения операции логического типа ( True или False).

 

2. Объединение множеств (+). Объединением двух множеств является третье множество, содержащее элементы обоих множеств.

 


3. Пересечение множеств (*). Пересечением двух множеств является третье множество, которое содержит элементы, входящие одновременно в оба множества.

 


4. Разность множеств (-).Разностью двух множеств является третье множество, которое содержит элементы первого множества, не входящие во второе множество.

 


5. Операция «равно» (=).Два множества А и В считаются равными, если они состоят из одних и тех же элементов. Порядок следования элементов в сравниваемых множествах значения не имеет.

6. Операция «не равно» (<>). Два множества А и В считаются не равными, если они отличаются по мощности или по значению хотя бы одного элемента.

7. Операция «больше или равно» (>=) .Результатоперации А>=B равен True , если все элементы множества В содержатся в множестве А.

8. Операция «меньше или равно» ( <=). Если все элементы множества А содержатся в множестве В , то результат равен True.

 

Примеры выполнения операций:

Операция Значение А Значение В Выражение Результат
Равно [1,2,3,4] [1,2,3] A=B True
не равно [1,2,3] [3,1,2,4] A<>B True
Больше или равно [‘e’,’r’,’t’] [‘t’,’e’] A>=B True
in ‘v’   If A in [‘a’..’n’] then False
объединения [1,2,3] [1,4,5] A+B [1,2,3,4,5]
пересечения [‘A’..’Z’] [‘B’..’R’] A*B [‘B’..’R’]
разность [1,2,3,4] [3,4,1] A-B [2]

Стандартные процедуры работы с множествами

 

Имя и параметры Типы параметров Действие
Include(s,x) s - множество, x - элемент, тип которого совместим с базовым типом множества включает элемент x во множество s
Exclude(s,x) s - множество, x - элемент, тип которого совместим с базовым типом множества исключает элемент x из множества s

Вывод элементов множества

x=’a’,’z’,1  
Вывод х  
X in A aaaaaaaaaaaaaaaaaaaaaaaaaf=a  
выход  


                                                      ProgramVivodMN;

                     Type mn=set of char;

                     Var a:mn;

                          x: char;

                     begin

                     a:=[‘f’, ‘j’, ‘e’];

For x:=’a’ to ‘z’ do

                     If x in a then write (x)

                     End.

Пример :Дана строка символов , слова разделены любым знаком препинания . Вывести слова начинающиеся гласной буквой , оканчивающиеся согласной.

 

начало  
конец  
zn=[знаки препинания] glas=[гласные буквы] sog=[согласные буквы]  
Ввод  st  
I=1,length(st),1  
Not(st[i] in zn  
sl:=sl+st[i]  
sl[1] inglas  
sl[length(sl)] insog  
Вывод  sl  
sl:=’’  


                          

program Mnog; const zn=[',','.',':',';','?','!',' ']; glas=['а','е','и','о','у','ю','я','э','ы','ё']; sog=['б','в','г','д','ж','з','й','к','л','м','н','п','р','с','т','ф','х','ц','ч','ш','щ', 'й']; var st,sl:string; i:integer; begin Writeln('ВведитеСтроку'); readln(st); For i:=1 to length(st) do If not(st[i] in zn) then sl:=sl+st[i] else begin if (sl[1] in glas) and (sl[length(sl)] in sog) then Writeln(sl); sl:=''; end; end. Результат решения задачи   Введите Строку мама,арбуз помой! арбуз

Порядок выполнения работы:

1. Для загрузки интегрированной среды запустите файл  - РascalABC.exe.

2. Создайте новый файл для ввода текста программы: меню Файлà пункт Новый(Ctrl+N) или кнопка на панели инструментов Новый файл.

3. В окне для ввода текста программы наберите свою программу. После заголовка программы в комментарии напишите условие задания.

4. Запустите программу на выполнение: меню Программа àпункт Выполнить или кнопка Выполнить на панели инструментов

5. Сохраните программу: меню Файлàпункт Сохранить какàукажите место сохранения файла и имя файла.àV:\группа\студент\задача _номер

Содержание отчёта:

1) Шифр работы

2) Название работы

3) Цель работы

4) Условие задачи

5) Блок-схема алгоритма

6) Текст программы

7)

Из окна вывода  
Исходные данные

Результат решения

 

Контрольные вопросы

1. Что такое множество?

2. Что такое базовый тип множества? Как он задается?

3. Как задать описание множественного типа?

4. Для чего применяется операция in ? Особенности её применения?

5. Что называется объединением, пересечением и разностью множеств?

6. Как осуществляется вывод элементов множества?

7. Что такое мощность множества?

Индивидуальные задания:

Вариант №1

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

 

Вариант №2

       Дана не пустая последовательность слов из строчных русских букв, между соседними словами – запятая, за последним словом – точка. Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят хотя бы в одно слово.

 

Вариант №3

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

 

Вариант №4

Дана не пустая последовательность слов из строчных русских букв, между соседними словами запятая, за последним словом точка. Напечатать в алфавитном порядке все гласные буквы, которые не входят ни в одно слово.

 

Вариант №5

Дан текст, представленный массивом строк. Определить количество вопросительных предложений и вывести их на экран. В строке целое число предложений.

 

Вариант №6

Дана строка, представляющая собой вопросительное предложение. Вывести слова с четным количеством слогов.

 

Вариант №7

Из строк удалить глухие согласные буквы, стоящие после запятой или пробела.

 

Вариант №8

Дана не пустая последовательность слов из строчных латинских букв, между соседними словами запятая, за последним словом точка. Напечатать в алфавитном порядке все согласные буквы, которые не входят только в одно слово.

 

Вариант №9

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

 

Вариант №10

Дана не пустая последовательность слов из строчных русских букв, между соседними словами запятая, за последним словом точка. Напечатать в алфавитном порядке все согласные буквы, которые не входят только в два слова.

 

Вариант №11

Дан текст, за которым следует точка. В алфавитном порядке напечатать все строчные русские гласные буквы, входящие в этот текст по одному разу.

 

 

Вариант №12

Дан текст из строчных латинских букв, за которыми следует точка. Напечатать в порядке обратном алфавитному гласные буквы, входящие в текст многократно.

 

Вариант №13

Дана не пустая последовательность слов из строчных русских букв, между соседними словами запятая, за последним словом точка. Напечатать в алфавитном порядке все гласные буквы, которые входят в каждое слово.

 

Вариант №14

В строке заменить третий справа согласный символ, на следующий за ним в машинном алфавите.

 

Вариант №15

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

 

Вариант №16

Дан текст из строчных латинских букв, за которыми следует точка. Напечатать по разу все буквы, входящие в текст .

 

Вариант №17

Дана не пустая последовательность слов из строчных русских букв, между соседними словами пробел, за последним словом точка. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят в каждое нечетное слово и не входит во все четные слова.

 

Вариант №18

       Дан текст из строчных латинских букв, за которыми следует точка. Напечатать по разу все буквы, входящие в текст три раз.

 

Вариант №19

Дана не пустая последовательность слов из строчных русских букв, между соседними словами запятая или пробел, за последним словом - точка. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят в каждое нечетное слово и не входят хотя бы в одно четное слово.

 

Вариант №20

Дана не пустая последовательность слов из строчных русских букв, между соседними словами пробел, за последним словом - точка. Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят только в одно слово.

 

Вариант №21

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

 

Вариант №22

Дана не пустая последовательность слов из строчных русских букв, между соседними словами запятая, за последним словом точка. Напечатать в алфавитном порядке гласные буквы, которые входят вовсе слова кроме одного.

 

Вариант №23

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

Вариант №24

Дан список учащихся группы. Вывести фамилии студентов, начинающиеся на звонкую согласную букву и имеющую длину равную 7.

 

Вариант №25

Дана не пустая последовательность слов из строчных русских букв, между соседними словами запятая, за последним словом точка. Напечатать в алфавитном порядке все глухие согласные буквы, которые входят в каждое четное слово и хотя бы в одно нечетное слово.

 

Вариант №26

Дан текст, представленный массивом строк. Определить количество предложений в тексте.

 

Вариант №27

Дана не пустая последовательность слов из строчных русских букв, между соседними словами запятая, за последним словом точка. Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят хотя бы в одно слово четной длины.

Вариант №28

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

 

Вариант №29

Дана строка из русских прописных букв. Вывести повторяющиеся буквы строки в порядке, обратном алфавитному.

 

Вариант №30

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

 

Вариант №31

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

 

Вариант №32

Дана не пустая последовательность слов из строчных русских букв, между соседними словами пробел, за последним словом точка. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят только в два слова.

 

Вариант №33

Дана не пустая последовательность слов из строчных латинских букв, между соседними словами запятая, за последним словом точка. Напечатать в алфавитном порядке все гласные буквы, которые входят в каждое слово два раза.

 

Вариант №34

Дана не пустая последовательность слов из строчных русских букв, между соседними словами запятая, за последним словом точка. Напечатать в алфавитном порядке все звонкие согласные буквы, которые не входят хотя бы в одно четное слово и входят в одно нечетное слово.

 


Лабораторная работа №5


Дата добавления: 2018-06-26; просмотров: 319; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!