ПРАКТИЧЕСКАЯ РАБОТА. ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ МНОЖЕСТВ.
учебно-методический материал по информатике и икт

Рожкова Светлана Васильевна

ПРАКТИЧЕСКАЯ РАБОТА

ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ МНОЖЕСТВ

ЦЕЛЬ: Изучить правила объявления и использования переменных типа множество на языке программирования Паскаль. Получить практические навыки работы с операциями и процедурами при работе с множествами.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ:

Под множеством понимают неупорядоченный набор различных логически связанных между собой объектов одного типа. Количество элементов множества может меняться от 0 до 256. Элементами множеств могут быть величины любого порядкового типа, кроме Integer, Longint, Word. Значения элементов целочисленного типа должны принадлежать множеству 0..255, перечисляемый тип может содержать не более 256 элементов.

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

[1, 2, 3, 4, 5]; [] (пустое множество); [1..100].

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

Переменные множества должны быть описаны предложением

VAR имя: SET OF базовый тип

Примеры: VAR S: SET OF 2 .. 100; D: SET OF ‘A’ .. ‘Z’

Для множеств определены три операции: « + », « * », « - », которые обозначают соответственно объединение, пересечение и разность множеств. С их помощью можно строить различные выражения множественного типа. Объединением двух множеств называется множество элементов, принадлежащих обоим множествам. Пересечением двух множеств называется множество тех элементов, которые принадлежат одновременно двум множествам. Разностью двух множеств называется множество, содержащее те элементы первого множества, которые не являются элементами второго.

В Паскале определены следующие отношения для множеств:

  • принадлежность элемента х множеству А (x in A);
  • равенство (эквивалентность) двух множеств А и В (А = В);
  • включение множества А во множество В (А );
  • нестрогое включение множества А в множество В (А );
  • отношения , =, .

Процедура INCLUDE включает новый элемент I во множество S: INCLUDE(S,I); Процедура EXCLUDE исключает элемент I из множества S: EXCLUDE(S,I).

В отличие от массива, к элементам множества нет прямого доступа. Поэтому ввод и вывод элементов осуществляется с использованием операции «+» при вводе и операции «in» при выводе.


ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ:

1.     Изучить необходимые сведения, указанные выше.

2.     Пункты 1 и 2 задания можно объединить (по согласованию с преподавателем).

3.     Войти в режим редактирования и набрать текст программы

4.     Выполнить программу.

5.     Проверить работоспособность программы на других исходных данных.

6.     Составить программы для других пунктов задания.

7.     Оформить отчет по лабораторной работе. Отчет по лабораторной работе должен содержать постановку задачи, краткое описание идеи либо алгоритм, а также программу.
 

ЗАДАНИЯ

I УРОВЕНЬ

1. Получить множества [1..13] и [5..20].

Var i:byte;

c: set of 1..13;

D: set of 5..20;

{V: set of 1..20;} {* для последующих задач}

Begin c:=[];d:=[]; {v:=[];}

For i:=1 to 13 do include(c,i);

For i:=5 to 20 do include(d,i); write('c=');

For i:=1 to 13 do

If i in c then write(i:4);

writeln;write('d=');

For i:=5 to 20 do

If i in d then write(i:4);writeln;

end.

1.     Найти пересечение множеств d и c. Ответом должно быть множество [5..13]

2.     Найти отрицание множеств d и c. Ответом должно быть множество …

3.     Найти отрицание множеств c и d. Ответом должно быть множество … (Ответы в 3 и 4 пунктах не совпали?)

    5. Найти объединение этих множеств. Ответом должно быть множество …

I I УРОВЕНЬ

1.     Сформировать с помощью функции RANDOM() множество, содержащее 5 целых чисел из диапазона 1..10 и вывести это множество на экран.

2.     Дана строка. Содержит ли она только латинские символы?

3.     Дана строка. Содержит ли она и строчные символы?

4.     Дана строка. Содержит ли она только русские символы?

5.     Дана строка. Содержит ли она и прописные символы?

6.     Дана строка. Содержит ли она только арабские цифры?

7.     Даны 2 строки. Входят ли все символы одной строки в другую?

8.     Дана строка. Содержит ли она символы “№ ! » ; , . % : ? @ # $ ^ & * ( )” ?

9.     Разработать программу, какому алфавиту (русскому или латинскому), принадлежит введенный с клавиатуры символ.

10.                       Даны два множества, состоящие из 10 целых чисел из диапазона 1..100. Из них выделить одно подмножество, делящееся на 2 без остатка, и другое, делящееся на 3 без остатка.

САМОСТОЯТЕЛЬНАЯ РАБОТА

  • Разработать игровую программу для тренировки памяти. В ее основу положить следующее правило игры. Необходимо ввести как можно больше чисел при соблюдении следующих условий: числа должны быть из диапазона 0..255: запрещается последовательно вводить два числа, абсолютная разность между которыми меньше 7 (например, 5 и 6, 7 и 11).Программа должна заканчивать свою работу после обнаружения первой ошибки игрока. На печать выводить количество правильно введенных чисел.

 

КОНТРОЛЬНЫЕ ВОПРОСЫ

1.     Как описываются переменные типа множество?

1.     Какова максимально допустимая мощность множества?

2.     Как осуществляется ввод значений переменных типа множество?

3.     Как осуществляется вывод значений переменных типа множество?

4.     Какие операции допустимы над переменными типа множество?

5.     Что такое разность двух множеств?

6.     Как понимать объединение двух множеств ?

7.     Даны множества [1,5,9..13] и [5..10]. Пересечением этих множеств является множество...?

 


 

Скачать:


Предварительный просмотр:

ПРАКТИЧЕСКАЯ РАБОТА

ТЕМА:  ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ МНОЖЕСТВ.

ЦЕЛЬ: Изучить правила объявления и использования переменных типа множество на языке программирования Паскаль. Получить практические навыки работы с операциями и процедурами при работе с множествами.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ:

Под множеством понимают неупорядоченный набор различных логически связанных между собой объектов одного типа. Количество элементов множества может меняться от 0 до 256. Элементами множеств могут быть величины любого порядкового типа, кроме Integer, Longint, Word. Значения элементов целочисленного типа должны принадлежать множеству 0..255, перечисляемый тип может содержать не более 256 элементов.

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

[1, 2, 3, 4, 5]; [] (пустое множество); [1..100].

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

Переменные множества должны быть описаны предложением

VAR имя: SET OF базовый тип

Примеры: VAR S: SET OF 2 .. 100; D: SET OF ‘A’ .. ‘Z’

Для множеств определены три операции: « + », « * », « - », которые обозначают соответственно объединение, пересечение и разность множеств. С их помощью можно строить различные выражения множественного типа. Объединением двух множеств называется множество элементов, принадлежащих обоим множествам. Пересечением двух множеств называется множество тех элементов, которые принадлежат одновременно двум множествам. Разностью двух множеств называется множество, содержащее те элементы первого множества, которые не являются элементами второго.

В Паскале определены следующие отношения для множеств:

  • принадлежность элемента х множеству А (x in A);
  • равенство (эквивалентность) двух множеств А и В (А = В);
  • включение множества А во множество В (А );
  • нестрогое включение множества А в множество В (А );
  • отношения , =, .

Процедура INCLUDE включает новый элемент I во множество S: INCLUDE(S,I); Процедура EXCLUDE исключает элемент I из множества S: EXCLUDE(S,I).

В отличие от массива, к элементам множества нет прямого доступа. Поэтому ввод и вывод элементов осуществляется с использованием операции «+» при вводе и операции «in» при выводе.


ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ:

  1. Изучить необходимые сведения, указанные выше.
  2. Пункты 1 и 2 задания можно объединить (по согласованию с преподавателем).
  3. Войти в режим редактирования и набрать текст программы
  4. Выполнить программу.
  5. Проверить работоспособность программы на других исходных данных.
  6. Составить программы для других пунктов задания.
  7. Оформить отчет по лабораторной работе. Отчет по лабораторной работе должен содержать постановку задачи, краткое описание идеи либо алгоритм, а также программу.

ЗАДАНИЯ

I УРОВЕНЬ

1. Получить множества [1..13] и [5..20].

Var i:byte;

c: set of 1..13;

D: set of 5..20;

{V: set of 1..20;} {* для последующих задач}

Begin c:=[];d:=[]; {v:=[];}

For i:=1 to 13 do include(c,i);

For i:=5 to 20 do include(d,i); write('c=');

For i:=1 to 13 do

If i in c then write(i:4);

writeln;write('d=');

For i:=5 to 20 do

If i in d then write(i:4);writeln;

end.

  1. Найти пересечение множеств d и c. Ответом должно быть множество [5..13]
  2. Найти отрицание множеств d и c. Ответом должно быть множество …
  3. Найти отрицание множеств c и d. Ответом должно быть множество … (Ответы в 3 и 4 пунктах не совпали?)

    5. Найти объединение этих множеств. Ответом должно быть множество …

I I УРОВЕНЬ

  1. Сформировать с помощью функции RANDOM() множество, содержащее 5 целых чисел из диапазона 1..10 и вывести это множество на экран.
  2. Дана строка. Содержит ли она только латинские символы?
  3. Дана строка. Содержит ли она и строчные символы?
  4. Дана строка. Содержит ли она только русские символы?
  5. Дана строка. Содержит ли она и прописные символы?
  6. Дана строка. Содержит ли она только арабские цифры?
  7. Даны 2 строки. Входят ли все символы одной строки в другую?
  8. Дана строка. Содержит ли она символы “№ ! » ; , . % : ? @ # $ ^ & * ( )” ?
  9. Разработать программу, какому алфавиту (русскому или латинскому), принадлежит введенный с клавиатуры символ.
  10. Даны два множества, состоящие из 10 целых чисел из диапазона 1..100. Из них выделить одно подмножество, делящееся на 2 без остатка, и другое, делящееся на 3 без остатка.

САМОСТОЯТЕЛЬНАЯ РАБОТА

  • Разработать игровую программу для тренировки памяти. В ее основу положить следующее правило игры. Необходимо ввести как можно больше чисел при соблюдении следующих условий: числа должны быть из диапазона 0..255: запрещается последовательно вводить два числа, абсолютная разность между которыми меньше 7 (например, 5 и 6, 7 и 11).Программа должна заканчивать свою работу после обнаружения первой ошибки игрока. На печать выводить количество правильно введенных чисел.

КОНТРОЛЬНЫЕ ВОПРОСЫ

  1. Как описываются переменные типа множество?
  1. Какова максимально допустимая мощность множества?
  2. Как осуществляется ввод значений переменных типа множество?
  3. Как осуществляется вывод значений переменных типа множество?
  4. Какие операции допустимы над переменными типа множество?
  5. Что такое разность двух множеств?
  6. Как понимать объединение двух множеств ?
  7. Даны множества [1,5,9..13] и [5..10]. Пересечением этих множеств является множество...?



По теме: методические разработки, презентации и конспекты

Практическая работа в Excel Использование встроенных функций и операций в ЭТ

Практическая работа для учеников 10 класса и готовый образец задания...

Практическая работа по разделу "Теория множеств"

Варианты заданий для практической работы по разделу  "Теория множеств"...

Урок по информатике для 9-х классов на тему: «Графика в Pascal ABCNET. Практическая работа. Программирование рисунка «Светофор»

Цель данного урока – дать представление о графике в языках программирования, научить писать простейшие программы для построения рисунка в Паскале. Приводятся основные графические операторы Pascal ABCN...

Практическая работа программирование в среде TURBO PASCAL. Управление экраном.

Практическая работа апрграммирование в среде TURBO PASCAL. Управление экраном.  9 класс.Работе состоит из двух частей - теоретической и практичекой.  В теоретической части представлены некот...

Практическая работа. Программирование линейных алгоритмов

Практическая работа. Программирование линейных алгоритмовЦель работыВыработать практические навыки работы с системой Pascal ABC, научиться создавать, вводить в компьютер, выполнять и исправлять просте...

Практические работы." «Программирование на языке Pascal. Линейные алгоритмы»"

Практические работы." «Программирование на языке Pascal. Линейные алгоритмы»"Практическая работа № 1 Начало программирования. Работа в программе PascalABC. Решение зада...