Библиографическое описание:

Полевщиков И. С. Методика проведения лабораторной работы по дисциплине «Информатика» на тему «Работа со множествами» для студентов бакалавриата // Молодой ученый. — 2014. — №4. — С. 118-120.

Одной из дисциплин, изучаемой студентами 1 курса бакалавриата различных направлений (в частности, «Электроэнергетика и электротехника», «Инноватика», «Информационная безопасность») является «Информатика». Изучение основ программирования является неотъемлемой составляющей данной дисциплины.

В ходе выполнения лабораторной работы на тему «Работа с множествами» студенты главным образом должны научиться разрабатывать программы в системе Турбо-Паскаль с использованием множественного типа данных и различных операций над множествами.

Для проведения лабораторной работы было подготовлено методическое пособие, основанное прежде всего на учебных пособиях [1, 2]. Также при подготовке этого пособия был учтен опыт создания методических разработок на кафедре ИТАС ПНИПУ [3-6].

В первую очередь, студенты читают раздел данного пособия, называющийся «Краткие теоретические сведения», в котором изложены следующие аспекты, связанные с программированием на языке Турбо-Паскаль: 1) понятие множества применительно к языку Турбо-Паскаль; 2) особенности множественного типа данных; 3) операции над множествами (объединение, пересечение, разность, операции отношения, операция вхождения); 4) примеры программ на языке Турбо-Паскаль с использованием множеств.

Приведем пример одной из программ, разобранный в разделе «Краткие теоретические сведения».

Имеется перечень дисциплин, изучаемых в некотором вузе. Две группы студентов изучают некоторые из этих дисциплин. Определить:

1)      те дисциплины, которые изучает и первая, и вторая группа студентов;

2)      те дисциплины, которые изучает хотя бы одна группа студентов;

3)      те дисциплины, которые не изучает ни первая, ни вторая группа студентов;

4)      те дисциплины, которые изучает вторая группа студентов, но не изучает первая.

Текст программы с комментариями:

uses crt;

var i: byte;

    d1, d2: set of byte;

    a: array [byte] of string[30]; {массив для хранения перечня дисциплин}

begin

   clrscr;

   {для удобства все значения элементов массива установим в тексте программы с помощью оператора присваивания}

   a[1]:='Математика';

   a[2]:='Информатика';

   a[3]:='Экология';

   a[4]:='Физика';

   a[5]:='Химия';

   d1:=[1,2,3]; {множество дисциплин первой группы}

   d2:=[1,3,5]; {множество дисциплин второй группы}

   writeln('Все возможные для изучения дисциплины:');

   for i:=1 to 5 do

      write(a[i],' ');

   writeln;

   writeln('Все дисциплины первой группы:');

   for i:=1 to 5 do

      if i in d1 then {с помощью операции inпроверяем, входит ли дисциплина (т.е. элемент массива с индексом i) в множество дисциплин первой группы}

         write(a[i],' ');

   writeln;

   writeln('Все дисциплины второй группы:');

   for i:=1 to 5 do

      if i in d2 then {с помощью операции inпроверяем, входит ли дисциплина в множество дисциплин второй группы}

         write(a[i],' ');

   writeln;

   writeln('Дисциплины, которые изучает каждая группа:');

   for i:=1 to 5 do

      if i in d1*d2 then {проверяем, входит ли дисциплина в пересечение множеств дисциплин первой и второй группы, т.е. изучается ли данная дисциплина одновременной и в первой, и во второй группе}

         write(a[i],' ');

   writeln;

   writeln('Дисциплины, которые изучает хотя бы одна из групп:');

   for i:=1 to 5 do

      if i in d1+d2 then {проверяем, входит ли дисциплина в объединение множеств дисциплин первой и второй группы, т.е. изучается ли данная дисциплина хотя бы в одной из групп}

         write(a[i],' ');

   writeln;

   writeln('Дисциплины, которые не изучает ни первая, ни вторая группа:');

   for i:=1 to 5 do

      if not(i in d1+d2) then {какая-либо дисциплина не изучается ни одной из двух групп, если она не входит в объединение множеств дисциплин первой и второй группы}

         write(a[i],' ');

   writeln;

   writeln('Дисциплины, которые изучает вторая группа, но не изучает первая:');

   for i:=1 to 5 do

      if i in d2-d1 then {проверяем, входит ли дисциплина в разность множеств дисциплин второй и первой группы, т.е. изучается ли данная дисциплина во второй группе и не изучается в первой}

         write(a[i],' ');

   readln;

end.

Результат выполнения данной программы представлен на рис. 1. 

Рис. 1. Результат выполнения программы

Изучение раздела методического пособия «Краткие теоретические сведения» во многом направлено на систематизацию студентом знаний, полученных на лекциях.

Далее студенты выполняют индивидуально по вариантам задания на компьютере, осваивая тем самым особенности написания в системе Турбо-Паскаль простейших программ с использованием операций над множествами.

Рассмотрим один из вариантов, включающий в себя 2 задания.

Задание №1. Известен перечень сельскохозяйственных культур, выращиваемых на трех дачных участках. Требуется определить те культуры, которые:

1)      выращиваются одновременно на каждом из дачных участков;

2)      выращиваются хотя бы на одном из дачных участков;

3)      выращиваются на втором участке, но не выращиваются на первом и третьем.

Задание №2.Дана символьная строка. Подсчитать и вывести на экран общее количество символов, не являющихся латинскими буквами 'x', 'y', 'z' или 'w'.

Например, для строки '13yzxzabwcc' на экран должно быть выведено общее количество таких символов, равное 6 (поскольку строка содержит один символ '1', один символ '3', один символ 'a', один символ 'b' и два символа 'c'.).

После выполнения заданий на компьютере студент должен оформить отчет, содержащий постановку каждого задания, тексты программ и результаты выполнения программ. Отчет в распечатанном виде студент должен защитить, ответив на вопросы преподавателя (аналогичные вопросам для самоконтроля, приведенным в методическом пособии).

Примеры вопросов для защиты отчета:

1)      Вычислить значения отношений:

а) [5]<>[5,5,5,5]

б) [15,25,30]=[30,25,15]

в) [1..5]<=[0..20]

г) [2..6,25,30]>=[1,6,25,30]

д) 2 in []

е) 10 in [1..50]

2)      Вычислить значения выражений:

а) [6,7,9]+[2,3]

б) [20,30,40,50]-[50,30,60,80]

в) [3..11]*[5..15]

г) []*[9]

д) [9]-[]

По мере накопления опыта преподавания дисциплины «Информатика» организация данной лабораторной работы и соответствующее данной работе методическое пособие будут совершенствоваться.

Литература:

1.         Семакин И.Г., Шестаков А.П. Лекции по программированию: Учебное пособие. Изд. 2-е, доп. – Пермь: Изд-во Перм. ун-та, 1998. – 279 с.

2.         Программирование на языке высокого уровня Паскаль. Лекция 3: Типы данных, определяемые программистом. [Электронный ресурс] – Режим доступа: http://www.intuit.ru/studies/courses/628/484/lecture/6261. (Дата обращения: 24.09.2013).

3.         Файзрахманов Р.А.. Структурно-функциональный подход к проектированию информационных технологий и автоматизированных систем с использованием CASE-средств : учебное пособие / Р.А. Файзрахманов, К.А. Селезнев ; Пермский государственный технический университет .— Пермь : Изд-во ПГТУ, 2007 .— 266 с.

4.         Файзрахманов Р.А. Автоматизация научных исследований : учебное пособие / Р.А. Файзрахманов, И.Н. Липатов ; Пермский государственный технический университет. — Пермь : Изд-во ПГТУ, 2011. — 161 с.

5.         Полевщиков И.С. Разработка методического пособия на тему «Тестирование базового пути» (для студентов бакалавриата направления «Программная инженерия») // Педагогика и современность. – 2013. – №4 - М.: Издательство «Перо» – С. 83-85.

6.         Полевщиков И.С. Особенности проведения практического занятия по теме «Эффективное кодирование» в рамках дисциплины «Теория информации и информационных систем» // Педагогика и современность. – 2013. – №5 - М.: Издательство «Перо» – С. 99-101.

Обсуждение

Социальные комментарии Cackle