Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСНОВЫ АЛГОРИТМИЗАЦИИ.doc
Скачиваний:
14
Добавлен:
16.08.2019
Размер:
1.8 Mб
Скачать

Вопросы для самопроверки

  1. Дайте определение множеству?

  2. Что означает «пустое множество»?

  3. Как определить мощность множества?

  4. Каков формат объявления переменной типа множество?

  5. Какие существуют операции над множествами?

  6. Какие операции отношения применимы для сравнения множеств?

  7. Каков формат процедуры include?

  8. Каков формат процедуры exclude?

  9. Каков порядок выполнения множественных операций?

Лабораторная работа №13 множества

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

Задание. Работа с множественными типами данных.

Постановка задачи. Ознакомиться с конечным и упорядоченным множеством символов.

Варианты заданий

  1. Подсчитать количество цифр в исходной символьной строке и написать все, кроме пробелов, знаков операций и знаков препинания.

  2. Подсчитать количество букв в исходной символьной строке и напечатать все, кроме цифр, включая пробелы, знаки операций и препинания.

  3. Из множества целых чисел от1 до 30 выделить множество простых чисел.

  4. Имеются два множества символьного типа: X=[A,B,D,R,H]; Y=[R,A,H,D]. Сформировать новое множество X(Y*Y)+(Y-Y) и вывести его на печать.

  5. Сформировать множество LAT, в которое входят только латинские буквы, встретившиеся во входной строке.

  6. Построить и напечатать множество, элементами которого являются встречающиеся в последовательности цифры от 0 до 9 и знаки арифметических операций.

  7. Задать два произвольных символьных множества и произвести с ними все возможные операции.

  8. Дан текст, содержащий N символов. Распечатать, какие из указанных символов (L, T, Z) входят в данный текст.

  9. Подсчитать количество цифр в исходной символьной строке и напечатать все, кроме пробелов и знаков операций.

  10. Напечатать множество, элементами которого являются встречающиеся в последовательности буквы от F до М и знаки арифметических операций.

  11. Пусть A есть множество, определенное с базовым типом х. Предположим, что low и high являются соответственно первым и последним значением базового типа х. Определить количество элементов во множестве А.

  12. Даны два множества A и В с одним и тем же базовым типом. Определить суммарное количество элементов в A и В.

  13. Даны два множества A и В с одним и тем же базовым типом. Определить новое множество, равное пересечению элементов A и В.

  14. Даны два множества A и В с одним и тем же базовым типом. Определить разность элементов A и В.

  15. Даны два множества A и B с одним и тем же базовым типом. Напишите программу, проверяющую принадлежность A к В.

  16. Даны два множества A и B с одним и тем же базовым типом. Напишите программу, проверяющую идентичность элементов A и В.

  17. Содержимое всего множества нельзя отпечатать непосредственно предложением writeln. Для заданного множества A и его базового типа x (первый и последний элементы которого есть low и high) напишите процедуру, печатающую элементы множества A.

  18. Даны два множества A и В. Постройте из них следующее множество: A*В- A.

  19. Даны два множества A и В. Постройте из них следующее множество: A - (A - В).

  20. Даны два множества A и В. Постройте из них следующее множество: (A+В) - (A - В) - (В - A).

  21. Даны два множества A и В. Постройте из них следующее множество: (A - В)+(B- A)+A*В.

  22. Дан текст из цифр и строчных латинских букв, за которыми следует точка. Определить, каких букв - гласных (а, е, i, о, и) или согласных - больше в этом тексте.

  23. Написать функцию, подсчитывающую общее количество цифр и знаков «+», «-», «*», входящих в строку s.

  24. Дано 100 целых чисел от 1 до 50. Определить, сколько среди них чисел Фибоначчи. Числа Фибоначчи можно определить следующим образом: Первое и второе равны 1; каждое последующее (начиная с третьего) есть сумма двух предшествующих. Вот так выглядит начало такой последовательности: 1,1,2,3,5,8,...

  25. Написать функцию, определяющую количество дней в месяце m (не високосного года). В современном (григорианском) календаре каждый год, номер которого делится на 4, является високосным, за исключением тех, которые делятся на 100 и не делятся на 400. Например, 1900 г. - не високосный, 2000 г. - високосный.

  26. Даны два множества A и В. Постройте из них следующее множество: A*(A- B).

  27. Даны два множества A и В. Постройте из них следующее множество: A + (A + В).

  28. Даны два множества A и В. Постройте из них следующее множество: (A+В) * (A - В) + (В - A).

  29. Даны два множества A и В. Постройте из них следующее множество: (A - В)*(B- A)-A*В.

  30. Дан текст из цифр и строчных латинских букв, за которыми следует точка. Определить, каких букв – заглавных (A, E, F, H, L) или строчных - больше в этом тексте.

Приложение 1

Тестовые вопросы для проверки теоретического материала по разделу «основы алгоритмизации и программирования»

  1. Шестиугольник на блок-схеме обозначает процесс

    1. вычислений;

    2. останова программы;

    3. принятия решения;

    4. модификации;

    5. передачи данных;

    6. пуска программы

    7. подпрограмму.

  2. Описательная часть программы Турбо Паскаль включает раздел

    1. констант;

    2. переменных;

    3. функций;

    4. типов;

    5. подключения модуля;

    6. процедур;

    7. меток;

    8. операторов;

    9. заголовок программы;

  3. Заголовок основной программы в среде Турбо Паскаль обозначают служебным словом

    1. var

    2. label

    3. type

    4. procedure

    5. end.

    6. const

    7. end;

    8. function

    9. begin

    10. begin…end

    11. uses

    12. program <имя программы>

  4. Служебным словом file обозначают тип

    1. целый;

    2. типизированный файл;

    3. одномерный массив;

    4. вещественный;

    5. символьный;

    6. текст;

    7. записи;

    8. строковый;

    9. перечисляемый;

    10. логический;

    11. двумерный массив;

    12. тип-диапазон;

    13. нетипизированный файл;

    14. множество;

  5. Тип данных shortint в среде Турбо Паскаль занимает памяти (в байтах)

    1. 1

    2. 2

    3. 4

    4. 6

    5. 8

  6. Оператор объявления новой константы

    1. const <имя константы> : <значение>;

    2. var <имя переменной> = <тип>;

    3. const <имя константы> : <тип>;

    4. type <имя типа> = <тип>;

    5. var <имя переменной> : <значение>;

    6. type <имя типа> : <тип>;

    7. const <имя константы> = <значение>;

    8. var <имя переменной> = <значение>;

    9. type <имя типа> : <значение>;

  7. Простая форма условного оператора

    1. if < условие > then <оператор>;

    2. if < условие > then begin < оператор >; end else < оператор >;

    3. if < условие > then begin < оператор >; end;

    4. if < условие > then < оператор > else < оператор >;

    5. if < условие > then begin < оператор >; end else begin < оператор >; end;

    6. if < условие > then < оператор > else begin < оператор >; end;

  8. К данным типа диапазон применимы функции и операторы

    1. Succ

    2. writeln

    3. Pred

    4. Readln

    5. :=

    6. Ord

  9. Краткая форма объявления типа данных «строка» имеет вид

    1. var <имя пер.> : string;

    2. var <имя пер.> : text;

    3. var <имя пер.> : array <нач_индекс..кон_индекс> of <тип элементов>;

    4. var <имя пер.> : file of <тип>;

    5. var <имя пер.> : record <имя поля> : <тип>; end;

    6. var <имя пер.> : array <нач_индекс1..кон_индекс1, нач_индекс2..кон_индекс2> of <тип элементов>;

    7. var <имя пер.> : file;

  10. Объявление одномерного массива размерностью 10 элементов вещественного типа

    1. Var a : array[1..10] of real;

    2. Var a : array[1..10, 1..2] of integer;

    3. Var a : array[1..10, 2..3] of string;

    4. Var a : array[0..9, 4..6] of real;

    5. Var a : array[3..12] of char;

    6. Var a : array[0..9] of integer;

    7. Var a : array[2..11] of integer;

    8. Var a : array[0..9] of string;

    9. Var a : array[3..12, 0..1] of char;

  11. Оператор вывода значений элементов двумерного массива

    1. For i:=1 to 10 do For j:=1 to 10 do a[I, j]:= random;

    2. For i:=1 to 10 do For j:=1 to 10 do readln(a[I, j]);

    3. For i:=1 to 10 do For j:=1 to 10 do a[I, j]:= random(11);

    4. For i:=1 to 10 do For j:=1 to 10 do writeln(a[I, j]);

    5. For i:=1 to 10 do For j:=1 to 10 do a[I, j]:= random-5;

    6. For i:=1 to 10 do For j:=1 to 10 do read(a[I, j]);

    7. For i:=1 to 10 do For j:=1 to 10 do a[I, j]:= random(11)-5;

    8. For i:=1 to 10 do For j:=1 to 10 do write(a[I, j]);

  12. Произведение отрицательных элементов массива

    1. For i:=1 to n do For j:=1 to n do if a[I, j] < 0 then inc(k);

    2. For i:=1 to n do For j:=1 to n do if a[I, j] < 0 then k:=k*1;

    3. For i:=1 to n do For j:=1 to n do if a[I, j] < 0 then dec(k);

    4. For i:=1 to n do For j:=1 to n do if a[I, j] < 0 then k:= k*a[i];

    5. For i:=1 to n do For j:=1 to n do if a[I, j] < 0 then k:=k+1;

    6. For i:=1 to n do For j:=1 to n do if a[I, j] < 0 then k:= k+a[i];

  13. Стандартная функция Турбо Паскаля преобразует строковый аргумент в его численное представление

    1. Length();

    2. Upcase();

    3. Copy();

    4. Pos();

    5. Insert();

    6. Delete();

    7. Val();

  14. Оператор Турбо Паскаля после создания текстового файла позволяет ввести в файл дополнительную информацию

    1. Assign();

    2. Reset();

    3. Read();

    4. Close();

    5. Eof();

    6. Append();

    7. Eol();

    8. Rewrite();

    9. Write();

    10. Erase();

  15. Результатом оператора include([3..9],2) является

    1. True

    2. [0,12,3,4,5,6]

    3. [2,3..9]

    4. [2,3,4,5,6,7,8,9]

    5. [3,6]

    6. False

    7. [ ]

    8. [6,7,8,9]

    9. [0,1,2,3,6]

Приложение 2

Горячие клавиши

Горячая

клавиша

Эквивалентная

команда меню ТП

Функция

[F1]

-

Активизация окна контекстно-зависимой помощи

[Ctrl+F1]

Help/Topic search

Активизация синтаксической справки, то есть справки об операторе, на который указывает маркер

[Shift+F1]

Help/Index

Вызов содержания справочной подсистемы

[F2]

File/Save

Сохранение на диске файла из активного окна

[Ctrl+F2]

Run/Program reset

Установка программного счётчика на начало программы и закрытие всех ранее открытой программой файлов

[F3]

File/Open

Открытие нового окна и загрузка в него выбранного файла

[Alt+F3]

Window/Close

Закрытие активного окна

[Alt+F5]

Debug/User screen

Переключение на пользовательский экран

[F6]

Window/Next

Переход к следующему окну

[Shift+F6]

Window/Previous

Возврат к предыдущему окну

[F7]

Run/Trace Into

Трассировка программы пооператорно с пооператорным выполнением всех подпрограмм

[F8]

Run/Step over

Трассировка программы пооператорно с выполнением подпрограмм без пооператорной детализации

[F9]

Compile/Make

Компиляция и редактирование связей программы

[Alt+F9]

Compile/Compile

Компиляция программы из активного окна

[Ctrl+F9]

Run/Run

Компиляция и выполнение программы под выполнением интегрированной инструментальной оболочки

[F10]

-

Активизация строки меню

[Alt+F10]

-

Вызов локального меню

[Alt+Литера]

-

Открытие озаглавленного выбранной литерой подчинённого меню из строки меню

[Alt+Backspace]

Edit/Undo

Отмена всех изменений в текущей строке

[Alt+X]

File/Exit

Завершение сеанса работы с ТП с сохранением (после подтверждения) файлов, изменённых редактором текста

[Alt+Цифра]

-

Переход к окну с указанным номером

[Alt+0]

Window/List

Вызов окна, в котором содержится список всех открытых окон

[Ctrl+Del]

Edit/Clear

Удаление выделенного блока

[Ctrl+Ins]

Edit/Copy

Копирование блока в буфер промежуточного хранения

[Shift+Del]

Edit/Cut

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

[Shift+Ins]

Edit/Paste

Копирование блока из буфера промежуточного хранения в окно редактирования