"Строка" и "множество" с использованием АСМ–технологии

Разработка структуры и содержания возможных элементов учебно-методического комплекса по курсу по теме "Строки" и "Множества". Анализ применения АСМ-технологий в учебном процессе. Изучение возможностей и разработка задач для программы "Testingarea".

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 01.01.2011

КУРСОВАЯ РАБОТА

По теме:

«Строка» и «множество» с использованием АСМ-технологии»

Петропавловск 2010

Введение

В современном мире происходит бурное развитие информационных технологий. Этот факт не может не повлиять на изменения, протекающие в информатике, как с точки зрения содержания, так и с точки зрения методики проведения занятий. Одним из таких нововведений может послужить АСМ - технология.

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

Актуальность данного проекта состоит в применении АСМ - технологии в преподавании курса «Программирование в среде Turbo - Pascal» по теме «Строки» и «Множества».

Целью курсового проекта является разработка элементов учебно-методического комплекса по курсу «Программирование в среде Turbo - Pascal» по теме «Строки» и «Множества» с использованием АСМ - технологий.

Задачи исследования:

· разработка структуры и содержания возможных элементов учебно-методического комплекса по курсу по теме «Строки» и «Множества»;

· анализ возможностей применения АСМ - технологий в учебном процессе;

· изучение возможностей программы «Testingarea»;

· разработка задач для программы Testingarea.

Объектом исследования выступает технология организации учебного процесса по курсу «Программирование в среде Turbo - Pascal».

В ходе выполнения курсового проекта использовались следующие методы исследования:

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

· анализ психолого-педагогической литературы;

· анализ учебно-методической литературы по курсу «Программирование в среде Turbo - Pascal».

Оценка современного состояния решаемой научной проблемы: существует два способа проверки решения задач по программированию - это ручной способ и способ с использованием компьютера. В работе представлена программа «Testingarea», которая реализует автоматическую проверку решения задач. Использование программы позволяет в разы сократить время проверки решения задач и позволяет ученикам видеть свои ошибки практически сразу после сдачи решения на проверку.

Научная новизна проекта заключена в автоматизации контроля знаний и умений учащихся.

Практическая значимость проекта состоит в разработке системы задач, дифференцированных по уровням сложности и методики их применения в учебном процессе на базе АСМ - технологий.

Структура и объем проекта: Пояснительная записка по теме курсового проекта «Разработка элементов учебно-методического комплекса по курсу «Программирование в среде Turbo - Pascal» по теме «Строки» и «Множества» с использованием АСМ - технологий» объемом 46 страниц. Состоит из содержания, введения, двух глав, заключения, списка литературы, 1 таблицы, 8 рисунков и 3 приложений.

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

Во второй главе представлены материалы для применения АСМ - технологии и методические аспекты их использования.

В процессе работы и оформления пояснительной записки были использованы: Государственный общеобязательный стандарт образования Республики Казахстан [1], методическое пособие по оформлению дипломных проектов и работ [2, 3].

1. Теоретические аспекты проблемы исследования

1.1 Государственный стандарт образования, его характеристика относительно темы «записи» и «множества»

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

Согласно Закону «Об образовании» Государственным стандартом нормируется лишь минимально необходимый уровень образованности, т.е. тот уровень, без которого невозможно ни развитие личности, ни продолжение образования.

Общеобразовательный стандарт по информатике является нормативным документом, определяющим требования:

· к месту базового курса информатики в учебном плане школы;

· к содержанию базового курса информатики в виде обязательного минимума содержания образовательной области;

· к уровню подготовки учащихся в виде набора требований к знаниям, умениям, навыкам и научным представлениям школьников;

· к технологии и средствам проверки и оценки достижения учащимися требований образовательного стандарта.

Положения стандарта обязательны к применению и соблюдению:

· всеми организациями среднего общего образования Республики Казахстан, осуществляющими общеобразовательную подготовку учащихся по предмету, независимо от форм собственности организаций образования, типов и видов;

· начальными и средними профессиональными организациями образования при разработке материалов вступительных экзаменов;

· Национальным центром государственных стандартов образования и тестирования при разработке материалов вступительных экзаменов;

· высшими учебными заведениями при разработке учебных программ подготовки педагогических кадров по предмету;

· научно-исследовательскими институтами в области образования в подготовке образовательных программ по предмету «Информатика», учебников и учебно-методических комплексов по предмету;

· институтами повышения квалификации и переподготовки работников системы образования при разработке и осуществлении программ повышения квалификации и переподготовки педагогических кадров по предмету;

· центральным и местными исполнительными органами в области образования при осуществлении контроля за качеством обучения учащихся.

По государственному стандарту по содержательной линии «Алгоритмизация» должны быть пройдены следующие темы:

1. Понятие алгоритма, свойства алгоритма. Способы представления алгоритмов, типы алгоритмов. Исполнитель алгоритмов. Библиотеки алгоритмов. Решение задач на компьютере. Этапы решения задач. Метод пошаговой детализации.

2. Основы программирования: алфавит языка программирования, правила записи команд. Понятие программы, ее структура. Понятие переменной: имя, тип, значение.

3. Понятие типа данных. Понятие выражения. Организация ввода, вывода данных в программе. Программирование линейных алгоритмов, алгоритмов ветвления и циклов. Литерные величины. Графические объекты. Подпрограммы.

4. Понятие массива: тип элементов, размерность, индексы.

5. Изучение возможностей системы программирования.

1.2 Учебно-методический комплекс. Основные цели

Учебно-методический комплекс - совокупность учебно-методических материалов, способствующих эффективному освоению обучающимися учебной дисциплины.

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

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

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

Как правило, состав учебно-методического комплекса включает:

1. Учебную программу курса. Она является главным методическим документом учебно-методического комплекса, определяет содержание обучения, объем знаний, которым должны обладать обучающиеся в результате освоения курса, последовательность изучения материала. Разделами учебной программы являются:

· пояснительная записка, в которой формулируется предмет, цели и задачи курса, а также требования к уровню освоения курса;

· содержание курса, которое должно соответствовать заявленным целям и задачам курса. Курс должен состоять из разделов и отдельных тем с той степенью подробности, которая, по мнению автора, оптимально способствует достижению цели курса и реализации поставленных задач. Автор программы самостоятельно определяет последовательность расположения разделов, руководствуясь логикой изложения материала;

· тематический план, включающий в себя темы курса;

· учебно-методическое обеспечение курса, включающее список источников и литературы.

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

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

4. Раздаточный материал и наглядные пособия, которые включают рабочие тетради, справочные и хрестоматийные издания, компьютерные учебники, аудио- и видеоматериалы.

5. Методические рекомендации по самостоятельной работе и изучению дисциплины (раздела, темы).

6. Методические рекомендации (указания) по выполнению практических заданий, упражнений, занятий.

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

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

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

Этапы разработки учебно-методического комплекса:

· Определение тем согласно требованиям ГОС ВПО и количества часов на отдельные виды занятий согласно учебному плану.

· Разработка учебника, учебного пособия, курса или конспекта лекций. Разработка контрольных вопросов и заданий по каждому тематическому блоку. Формирование экзаменационных билетов.

· Разработка структуры и содержания практических, лабораторных работ и семинарских занятий (при их наличии в учебном плане).

· Разработка заданий для контрольных точек.

· Разработка методических рекомендаций к практическим и лабораторным занятиям (при наличии в учебном плане).

· Формирование методических рекомендаций и прочих руководств по СРС и самостоятельному изучению дисциплины.

· Разработка тестовых заданий по курсу дисциплины.

· Оформление документации учебно-методического комплекса.

· Апробация и корректировка материалов учебно-методического комплекса дисциплины в учебном процессе.

· Согласование и утверждение учебно-методического комплекса. После создания учебно-методического комплекса апробируют в учебном процессе, в ходе которого, анализируя результаты текущего контроля обучающихся, вносятся коррективы. После апробации учебно-методического комплекса при необходимости корректируется, дополняется и утверждается, таким образом, постоянно совершенствуется. Модель УМК нацелена на реализацию развивающей, воспитательной, учебной функций. Просвещенческая функция состоит в систематическом распространении знаний, которые позволяют каждому обучающемуся осмыслить свою учебную деятельность.

· Воспитательная - развитие познавательного интереса, логического мышления, воспитание ответственности.

· Учебная - повторение основных понятий, определений.

· Развивающая - развитие внимательности, памяти.

Учебно-методический комплекс и его компоненты должны:

· учитывать общую идеологию, содействовать развитию системы образования;

· предусматривать логически последовательное изложение учебного материала;

· предполагать использование современных методов и технических средств интенсификации учебного процесса, позволяющих обучающимся глубоко осваивать учебный материал и получать навыки по его использованию на практике;

· соответствовать современным научным представлениям в предметной области;

· обеспечивать межпредметные связи;

· содержать информацию об авторе (авторах), редакторе, результатах апробации в учебном процессе.

Педагогическая поддержка индивидуальности ребенка при обучении выводит на первый план проблему соотношения обучения и развития. Система заданий разного уровня трудности, сочетание индивидуальной учебной деятельности ребенка с его работой в малых группах позволяют обеспечить условия, при которых обучение идет впереди развития, т.е. в зоне ближайшего развития каждого ученика на основе учета уровня его актуального развития и личных интересов. То, что ученик не может выполнить индивидуально, он может сделать с помощью учителя или в малой группе. А то, что представляет сложность для конкретной малой группы, становится доступным пониманию в процессе коллективной деятельности. Высокая степень дифференциации вопросов и заданий и их количество позволяют обучающемуся работать в условиях своего актуального развития и создают возможности его индивидуального продвижения:

· формирование познавательных интересов обучающихся и их готовности к самообразовательной деятельности на основе учета индивидуальных склонностей к изучению той или иной предметной области;

· развитие умственных способностей, творческого мышления; воспитание чувства уважения к эрудиции и предметной компетентности;

· воспитание социально-психологической адаптированности к учебно-воспитательному процессу и к жизни в коллективе: готовности брать ответственность на себя, принимать решение и действовать, работать в коллективе ведомым и ведущим, общаться как в коллективе, критиковать и не обижаться на критику, оказывать помощь другим, объяснять и доказывать собственное мнение.

Социально - нравственное воспитание обучающихся: формирование умения различать и анализировать собственные эмоциональные переживания и состояния и переживания других людей; воспитание уважения к чужому мнению, развитие умений общаться в обществе, знакомство с этическими нормами и их культурно - исторической обусловленностью, осознание их ценности и необходимости.

От наличия качества учебно-методического комплекса зависит качество образования обучающихся по данному курсу.

Курс «Программирование» является базовым курсом информатики и способствует развитию мышления. Программирование - это творческий и увлекательный процесс. Современный человек немыслим без знаний азов программирования. Навыки программирования, формируемые у учащихся, создают базу для широких обобщений, способствуют развитию способностей, творчества, активизируют умственную деятельность. Усиление алгоритмического подхода к решению задач с последующей ориентацией на решение их с помощью компьютера требует повышения уровня строгости рассуждений и точности обоснований; в конечном счете, это ведет к повышению научного уровня процесса обучения. Обучающиеся знакомятся со всеми алгоритмическими структурами, с простыми и структурированными типами данных. Помимо массивов и записей к структурированным типам данных относятся - множества и строки.

1.3 АСМ - технология

АСМ - технология это одна из современных технологий, позволяющая совершенствовать учебный процесс и повысить контроль усвоения знаний, умений и навыков.

Внедрение данной технологии позволяет качественно улучшить степень освоения материала по курсу «Программирование» и ускорить процесс обучения за счет экономии большого количества времени, которое учитель тратит на проверку усвоения учениками материала.

Представителем данной технологии служит программа Testingarea.

Эта программа проводить занятия на качественно новом уровне, а так же соревнования по программированию любого уровня с минимумом затрат времени и энергии. Она полностью решает проблемы необъективности при оценке решений задач учениками. От других подобных программ эту реализацию отличает, возможность работы, как серверной, так и клиентской части продукта на операционных системах Windows начиная с версии Microsoft Windows 98, без дополнительной установки сторонних библиотек.

1.4 Возможности «Testingarea»

Отличительная черта программы, то, что в одном исполняемом файле совмещена функциональность, как клиента, так и сервера, увеличивая тем самым гибкость решения.

Применение продукта оправдано при использовании в небольших и средних по размеру олимпиадах и соревнованиях, а также для применения в процессе подготовки школьников и студентов к участию, вподобного рода конкурсах и в учебном процессе для улучшения контроля усвоения знаний, умений [4].

1.4.1 Описание работы клиентской части

Клиентская часть интерфейса представлена в виде диалогового окна с тремя закладками:

1. результаты;

2. отправить решение;

3. личный лог.

В соответствии с рисунком 1.1, закладка «Результаты», дает участнику информацию о текущем состоянии каждого из учеников.

Рисунок 1.1. Окно «Результаты»

Результаты выводятся в виде таблицы со следующими колонками:

· название команды - отображает полное наименование команды или фамилию и имя ученика;

· колонки по каждой из задач, которые выдаются участникам для решения;

· штрафные очки;

· ранг - место участника в общем списке.

На пересечении фамилии ученика и задания указывается количество попыток сдать данное задание. Желтый цвет говорит о том, что задание еще не сдано, а зеленый - успешно сдано.

В соответствии с рисунком 1.2, закладка «Отправить решение» позволяет участнику отправлять результаты своей работы на сервер в целях ее дальнейшей проверки.

Рисунок 1.2. Окно «Отправить решение»

Для этого пользователь должен выбрать из раскрывающегося списка отмеченного подсказкой «Укажите язык программирования», язык на котором было выполнено решение.

А из списка «Укажите выполненные задания», то задание, которое участник запрограммировал и хочет сдать для проверки.

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

В результате, выбранный файл пересылается на сервер, а пользователь ожидает результата проверки, на которую может уйти до 2-х минут. Результат проверки может содержать следующую информацию:

Если файл не удалось откомпилировать или собрать в исполняемый модуль, то участник увидит сообщение вида «Компиляция файла завершилась неудачей. Задание «____»».

В том случае, когда решение успешно прошло этап сборки, но решение одного из предложенных тестов заканчивается неудачей, пользователь видит сообщение вида «Задание «____» не прошло тест №_, …». Заканчивается это сообщение причиной, по которой тест не был засчитан.

При успешной сборке и при выполнении тестируемой программой всех требований в тестах, задача засчитывается правильной, а участнику сообщается «Задание «____» принято!» [4].

В соответствии с рисунком 1.3, все ответы, полученные участником, фиксируются в списке на этой же закладке в левой части экрана.

1.4.2 Описание работы серверной части

Интерфейс пользователя серверной части приложения мало отличается от клиентской. Он также представлен несколькими закладками, но в отличие от клиента имеет лишь две из них, это «Результаты» и «Полный лог».

Рисунок 1.3. Закладка «Личный лог»

В соответствии с рисунком 1.4, на закладке «Результаты», отражается текущая информация по каждой команде или ученике.

Рисунок 1.4. Окно результатов олимпиады доступное на сервере

В таблице результатов присутствует дополнительная колонка «C/D» показывающая текущий статус подключения участника к серверу.

Здесь символ «C» (от англ. Connected - соединен) говорит о том, что соединение с данным участником установлено, а символ «D» (от англ. Disconnected - разъединен) о том, что соединение с участником отсутствует.

Так же как и в клиентской части, следующие колонки показывают результаты проверки решений присланных участниками. Причем каждая колонка, вплоть до колонки «Штрафные очки», соответствует одной задаче. Ячейки этих колонок могут находиться в трех состояниях, различающихся цветом их заднего фона:

· белый - характерен для ячеек, по которым задание соответствующего участника ни разу не было получено сервером на проверку;

· желтым - окрашены ячейки в пересечении участник - задание, если участник пробовал сдать это задание, но присланное им решение, не прошло какой либо из тестов, либо не было скомпилировано;

· зеленый - показывает, что задание соответствующего участника было получено на проверку и успешно прошло все тесты.

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

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

Рисунок 1.5. Пример лога сервера

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

Как на клиенте, так и на сервере доступен пункт меню View (Вид) [4].

1.4.3 Описание структуры хранения данных на сервере

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

Системой предусмотрены следующие подкаталоги:

· TestOfFiles - предназначен для хранения используемых файлов компиляторов;

· Teams - содержит информацию по участникам;

· Tasks - содержит информацию по заданиям, которые предлагаются для решения.

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

1.4.4 Подготовка компиляторов

Каталог «TestOfFiles» обязательно должен содержать файл «index.txt», в котором требуется указать:

· полное название языка программирования;

· имя подкаталога, в котором расположены файлы компилятора;

· расширение файлов текста программ, характерное для этого языка программирования.

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

1.4.5 Подготовка списков участников

Информация по участникам хранится в файле «index.txt» расположенном в подкаталоге «Teams». Структура этого файла аналогична описанию компиляторов, и содержит следующую информацию:

· полное название участника;

· короткое (сокращенное) название, на английском языке;

· пароль участника на регистрацию в системе.

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

К короткому названию участника также предъявляются следующие требования:

· оно не должно содержать символов пробела, апострофов и кавычек;

· не должно содержать символов: `\', '/', ':', «*', '?', «<', «>', «|', `;', `, ';

· не рекомендуется использовать буквы национальных алфавитов и имена длиннее восьми символов, так как это может вызвать затруднения в использовании некоторых старых компиляторов.

За исключением файла «index.txt», каталог «Teams» не должен содержать больше никаких файлов или каталогов.

Пример описания командиз файла «index.txt» расположенного в подкаталоге «Teams», приведен в соответствии с рисунком 1.6.

Рисунок 1.6. Описание команд в файле «index.txt»

1.4.6 Подготовка заданий и тестов

По аналогии со всеми ранее описанными данными, списки заданий хранятся в файле «index.txt» расположенном в подкаталоге «Tasks». Структура этого файла аналогична описанию компиляторов и команд, но содержит следующую информацию:

· полное название задачи;

· короткое название, набранное в латинице;

· объем оперативной памяти компьютера разрешенной для использования в этой задаче;

· максимальное время, которое дается программе для прогона одного тестового задания.

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

Полное название задачи, должно соответствовать, тому, которое дается для этой задачи в документе (например, «Задание на олимпиаду») выдаваемом участникам в печатном или электронном виде, содержащем описание и условие каждой задачи.

Этот же документ должен содержать информацию о требованиях к конечному алгоритму по времени и по максимальному объему доступной оперативной памяти, описание ограничений на входные данные, формата входных / выходных данных, и пример (образец) входного и выходного файла решения каждой задачи.

Пример оформления описания задачи, по правилам ACM:

Задача №1.

Имя входного файла: z1.in.

Имя выходного файла: z1.out.

Ограничение времени: 10 сек на каждый тест.

Ограничение памяти: 16 Мб.

Условие задачи:

Формат входных данных:

Формат выходных данных:

К короткому названию задания предъявляются те же требования, что и требования к коротким именам участников:

· оно не должно содержать символов пробела, апострофов и кавычек;

· не должно содержать символов: `\', '/', ':', «*', '?', «<', «>', «|', ';', ',';

· не рекомендуется использовать буквы национальных алфавитов и имена длиннее восьми символов, так как это может вызвать затруднения в использовании некоторых компиляторов.

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

Как видно из примера оформления задания для Задачи №1, в файле «index» должны быть указаны сведения об этой задаче:

· полное наименование - «Задача №1»;

· короткое наименование - «z1».

Расширения у входного и выходного файла также фиксированные:

· входной файл всегда имеет расширение «.in»;

· выходной файл всегда имеет расширение «.out».

Информация об ограничениях на время решения одного теста задается в секундах, а ограничениях по памяти в мегабайтах.

Список заданий, из файла «index.txt» расположенного в подкаталоге «Tasks» оформляется в соответствии с рисунком 1.7.

Рисунок 1.7. Список заданий из файла «index.txt»

В том же каталоге «Tasks», должны находиться подкаталоги с именами соответствующими коротким именам заданий и содержащих тесты для проверки [4].

Формат файлов тестовых наборов:

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

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

1.5 Краткая характеристика языка программирования «Turbo-Pascal»

Система программирования Turbo-Pascal, разработанная американской корпорацией Borland, остается одной из самых популярных систем программирования в мире.

Система программирования Turbo-Pascal представляет собой единство двух в известной степени самостоятельных начал: компилятора с языка программирования Pascal и некоторой инструментальной программной оболочки, способствующей повышению эффективности создания программ.

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

Язык Turbo-Pascal состоит из примерно 80 зарезервированных слов и специальных символов. Алфавит языка составляют буквы латинского алфавита, цифры, а так же специальные символы, такие как +, -, _. Зарезервированные слова в языке Turbo-Pascal могут употребляться только по своему прямому назначению, то есть в качестве имен типов данных, названий операций и т.д. [5].

1.6 Структурированный тип данных «Строки»

1.6.1 Определение строки

Строка в Turbo-Pascal трактуется как цепочка символов. Зарезервированное слово соответствующее данному типу - «string». Тип string в Turbo-Pascal широко используется для обработки текстов. Он во многом похож на одномерный массив символов ARRAY [O..N] OFCHAR, однако, в отличие от последнего, количество символов в строке-переменной может меняться от 0 до N, где N - максимальное количество символов в строке. Значение N определяется объявлением типа STRING [N] и может быть любой константой порядкового типа, но не больше 255. Разрешается не указывать N, в этом случае длина строки принимается максимально возможной, а именно N=255 [6].

Var a: string [10];

b: string.

1.6.2 Элементы строки

К любому символу в строке можно обратиться точно так же, как к элементу одномерного массива ARRAY [0..N] OFCHAR, например:

var

st: String;

begin

….

if st[5] = `A' then…

end.

Самый первый байт в строке имеет индекс 0 и содержит текущую длину строки, первый значащий символ строки занимает второй байт и имеет индекс 1 [6].

1.6.3 Операции над строками

В Turbo-Pascal имеется набор процедур и функций для работы со строками. К строкам можно применять операцию конкатенации, которая обозначается знаком «+». Конкатенация - это объединение строк:

SS1:='ABC';

SS2:=SS1 + «DEF'.

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

SS1:='ABC';

SS2:='DEF' + SS1.

Результатом выполнения последовательности операторов будет значение «DEFABC'. Длина строковой переменной SS2 должна назначаться с учетом суммарной длины слагаемых. Операцию слияния строк SS1 и SS2 выполняет и функция CONCAT (SS1, SS2).

Строковая константа в исходном тексте программы должна размещаться в пределах одной строки. Простой перенос части символьного значения на другую строку приведет к ошибке компиляции [6]. Чтобы задать длинное строковое значение, занимающее в тексте программы несколько строк, можно воспользоваться операцией конкатенации, например:

Hamlet:= `To be or not to be: that is the question: `+

`Whether tis nobler in the mind to stuffer'.

1.6.4 Стандартные процедуры и функции для работы со строками

Все остальные действия над строками и символами реализуются с помощью описываемых ниже стандартных процедур и функций.

CONCAT (S1, S2… SN) - функция типа STRING, возвращает строку, представляющую собой сцепление строк-параметров S1, S2, …, SN.

COPY (ST, INDEX, COUNT) - функция типа STRING, копирует из строки STCOUNT символов, начиная с символа с номером INDEX.

DELETE (ST, INDEX, COUNT) - процедура, удаляет СОUNT символов из строки ST, начиная с символа с номером INDEX.

INSERT (SUBST, ST, INDEX) - процедура, вставляет подстроку SUBST в строку ST, начиная с символа с номером INDEX.

LENGTH (ST) - функция типа INTEGER, возвращает длину строки ST.

POS (SUBST, ST) - функция типа INTEGER, отыскивает в строке Stпервое вхождение подстроки SUBST и возвращает номер позиции, с которой она начинается; если подстрока не найдена, возвращается ноль.

STR (X, ST) - процедура, преобразует число X любого вещественного или целого типов в строку символов ST так, как это делает процедура WRITELN перед выводом.

VAL (ST, X, CODE) - процедура, преобразует строку символов ST во внутреннее представление целой или вещественной переменной X, которое определяется типом этой переменной. Параметр CODE содержит ноль, если преобразование прошло успешно, и тогда в X помещается результат преобразований, в противном случае он содержит номер позиции в строке ST, где обнаружен ошибочный символ, и в этом случае содержимое Х не меняется. В строке ST могут быть ведущие пробелы, однако ведомые пробелы недопустимы; например, обращение VAL (' 123', k, i) пройдет успешно: k получит значений 123, в i будет помещен 0, в то время как обращение VAL (' 123 ', k, i) будет ошибочным: значение k не изменится, ai будет содержать 4.

UPCASE (СН) - функция типа CHAR, возвращает для символьного выражения СН, которое должно представлять собой строчную латинскую букву, соответствующую заглавную букву. Если значением СН является любой другой символ (в том числе строчная буква русского алфавита), функция возвращает его без преобразования [7].

1.7 Структурированный тип данных «Множества»

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

Тип множество задает интервал значений, который является множеством всех подмножеств базового типа. Характер связей между элементами лишь подразумевается программистом и никак не контролируется. Количество элементов, входящих во множество, может меняться в пределах от 0 до 256 (множество, не содержащее элементов, называется пустым). Множество описывается в разделе описания переменных с помощью зарезервированного слова SET. Базовым типом множества может быть любой скалярный тип, состоящий не более чем из 256 элементов. В силу этого базовый тип множества не может быть коротким целым (shortint), целым (integer), длинным целым (longint) или словом (word).

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

Константы множественного типа записываются с помощью квадратных скобок и списка элементов [8].

Пример описания множества:

const

alph = [`a'.'z'];

emt = [];

var

s: setofchar.

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

Множества языка TURBO-Pascal обладают свойствами математических множеств. В частности, над ними можно выполнять те же операции.

· «» - пересечение множеств. Результат содержит элементы, общие для обоих множеств;

· «+» - объединение множеств. Результат содержит элементы первого множества, дополненные недостающими элементами из второго множества;

· «-» разность множеств. Результат содержит элементы из первого множества, которые не принадлежат второму;

· «=» - проверка эквивалентности. Возвращает TRUE, если оба множества эквивалентны;

· «<>» - проверка неэквивалентности. Возвращает TRUE, если оба множества неэквивалентны;

· «<=» - проверка вхождения. Возвращает TRUE, если первое множество включено во второе;

· «>=» - проверка вхождения. Возвращает TRUE, если второе множество включено в первое;

· «IN» - проверка принадлежности. В этой бинарной операции первый элемент - выражение, а второй - множество одного и того же типа. Возвращает TRUE, если выражение имеет значение, принадлежащее множеству [8].

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

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

INCLUDE (S, I) - включает новый элемент во множество. Здесь S - множество, состоящее из элементов базового типа, а I - элемент базового типа, который необходимо включить во множество.

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

В отличие от операций «+» и «-», реализующих аналогичные действия над двумя множествами, процедуры оптимизированы для работы с одиночными элементами множества и поэтому отличаются высокой скоростью выполнения [9].

2. Разработка элементов учебно-методического комплекса по курсу «программирование в среде Turbo-Pascal» по теме «строки» и «множества» с использованием АСМ - технологий

2.1 Структура учебно-методического комплекса по курсу «Программирование в среде Turbo-Pascal» по теме «Строки» и «Множества»

Состав учебно-методического комплекса должен содержать материалы, которые позволяют усвоить материал по курсу «Программирование в среде Turbo-Pascal» по теме «Строки» и «Множества» с использованием АСМ - технологии и отвечающие требованиям, предъявляемым к учебно-методическому комплексу, а именно:

1. Учебную программу курса, в состав которой входят:

· пояснительная записка, в которой формулируется цель и задачи курса, а также требования к уровню освоения знаний;

· тематическое планирование, включающее темы курса;

· календарное планирование.

2. Справочник по курсу «Программирование в среде Turbo-Pascal».

3. Задачник с использованием АСМ - технологии по теме «Строки» и «Множества», который должен содержать материал для повторения простых типов данных с использованием АСМ - технологии и задач на «Строки» и «Множества» разного уровня сложности с использованием АСМ - технологии.

4. Рекомендации по разработке задач к программе «Testingarea».

5. План - конспекты уроков по курсу «Программирование в среде TURBO-Pascal» по теме «Строки» и «Множества».

6. Раздаточный материал, представленный в план - конспектах уроков.

7. Методические рекомендации к применению задач на различных типах уроков.

8. Методические указания по проведению занятий.

2.2 Программа курса

Цель курса: формирование знаний, умений и навыков об основных правилах работы со строками и множествами, правилах и методах реализации решения задач по теме «Строки» и «Множества» с использованием АСМ - технологии.

Задачи курса:

· образовательная:

1. сформировать у учащихся представление о строках и множествах, способах их объявления, способах их ввода и вывода, дать основные понятия, необходимые для написания программ;

2. сформировать умение применять строки и множества к решению задач;

3. сформировать у учащихся представление о программе «Testingarea», способах работы в ней, дать основные понятия, необходимые для работы в «Testingarea»;

4. сформировать умение применять теоретические сведения к решению практических задач с использованием АСМ - технологии.

· развивающая:

1. развить познавательные интересы учащихся;

2. развить умение связывать теорию с практикой;

3. развить самоконтроль;

4. развить логику мышления;

5. развить умение анализировать и делать выводы;

6. развить навыки работы с «Testing area»;

7. развить умение выделять главное;

8. развить творческое мышление.

· воспитательная: воспитать информационную культуру учащихся, внимательность, аккуратность, дисциплинированность, усидчивость, воспитание творческого мышления.

2.3 Требования к знаниям и умениям

Учащиеся должны знать:

· структурированный тип строки;

· ввод и вывод строки;

· обращение к элементу строки;

· основные способы работы со строками;

· структурированный тип множества;

· ввод и вывод множества;

· основные операции, определенные над множествами;

· интерфейс программы «Testing area», TURBO - Pascal;

· принципы работы с программой «Testingarea».

Учащиеся должны уметь:

· работать с системой программирования Turbo-Pascal (запуск, сохранение, компилирование программы);

· решать задачи в программе Turbo-Pascal, реализовывая основные этапы решения задач на ЭВМ;

· решать задачи в соответствии с требованиями АСМ-технологии;

· тестировать задачи, используя программу «Testing area».

2.4 Тематическое планирование

Раздел №1 «Строки» (6 часов).

Понятие строки. Ввод - вывод строк. Описание строки. Обработка элементов строки. Тестирование программ с использованием АСМ - технологии.

Раздел №2 «Множества» (6 часов).

Понятие множества. Ввод - вывод элементов множества. Основные принципы работы с множествами. Тестирование программ с использованием АСМ - технологии.

Календарное планирование приведено в таблице 2.1.

Таблица 2.1. Календарное планирование по темам «Строки» и «Множества»

Тема урока

Тип урока

Ученики должны знать

Ученики должны уметь

Часы

Раздел №1 «Строки»

5

1

Строки

Урок изучения нового материала.

Понятие строки. Ввод - вывод строк. Описание строки. Обработка элементов строки.

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

1

2

Основные операции над стоками. Стандартные процедуры и функции над строками

Комбинированный урок.

Основные операции над стоками. Синтаксис стандартных процедур и функций над строками

Выполнять операции над строками, использовать стандартные процедуры и функции над строками при решении задач

1

3,4

Практическая работа по теме «Строки» с использованием АСМ-технологии

Урок закрепления материала.

Этапы решения задач на компьютере.

Основные методы работы со строками.

Проводить операции над строками. Тестировать задачи через программу «Testingarea».

2

5

Самостоятельная работа по теме «Строки»

Контроль знаний и умений

Теорию о строках, технологию решения задач на компьютере и тестирование задач.

Применять теоретические знания о строках на практике.

1

Раздел №3 «Множества»

6

6

Множества

Урок изучения нового материала.

Понятие множества. Способы задания множества. Вывод элементов множества.

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

1

7

Операции и процедуры, определенные над множествами

Комбинированный урок.

Основные операции, выполняемые над множествами. Синтаксис и результат применения процедур, определенных над множествами

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

1

8

Решение задач по теме «Множества» с использованием «АСМ-технологии»

Урок изучения нового материала.

Этапы решения задач на компьютере.

Тестировать задачи через программу «Testingarea».

1

2.5 Справочник по курсу «Программирование в среде Turbo-Pascal»

Справочник по курсу «Программирование в среде TURBO - Pascal» должен содержать информацию базового курса программирования. Охватывать основные разделы языка программирования Паскаль:

· алфавит языка;

· константы и переменные;

· выражения и операции;

· структура программы;

· простые типы данных (целый, логический, символьный перечисляемый, диапазон, вещественный);

· операторы (ветвления, множественного выбора, цикла с предусловием, с постусловием, с параметром и другие);

· структурированные типы данных (массивы, множества, строки, записи);

· процедуры и функции.

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

· четкая структуризация предметного материала. Весь учебный материал был четко структурирован по разделам. Каждый раздел разбит на темы. Глубина структуризации определяется сложностью предметного материала;

· компактность представленного материала. Содержание каждого раздела или темы кратко и ясно изложено, содержит только основные моменты;

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

2.6 Примеры уроков с использованием АСМ - технологии

Урок №2.

Тип урока: Комбинированный урок.

Тема урока: Основные операции над стоками. Стандартные процедуры и функции над строками.

Цель урока: Изучить основные операции над строками. Освоить приемы применения стандартных процедур и функций.

Задачи:

· Обучающая: обеспечить на уроке изучение способов применения стандартных процедур и функций.

· Развивающая: развитие у учащихся гибкости мышления.

· Воспитывающая: воспитание у учащихся внимательности, формирование навыков самостоятельной деятельности.

План занятия:

1. Организационный момент. Подготовка учащихся к уроку (2 мин.).

2. Повторение материала (5 мин.).

3. Изучение нового материала (35 мин.).

4. Итог занятия (3 мин.).

Методические рекомендации.

Повторение материала следует начинать с проверки домашнего задания, это позволит выявить «слабые места» учащихся. Проверка домашнего задания с использованием АСМ - технологии позволяет сократить время проверки, и тем самым, дает возможность учителю лишний раз «пройтись» по основным положениям пройденной темы.

При изучении нового материала, для его наилучшего усвоения рекомендуется использовать наглядные материалы, содержащие примеры применения процедур, результаты операций, элементы программы и т.д. После объяснение очередного блока рекомендуется предлагать учащимся выполнить «мини» задания, состоящие в оформлении кусочков программ или какие-либо аналогичные задания. После изучения нового материала необходимо закрепить полученные знания путем решения одной, двух задач по теме урока.

Итогом занятия является оценивание работы учащихся на уроке и разъяснении домашнего задания.

Основные методы, применяемые на уроке:

· групповая дискуссия;

· рассказ;

· беседа;

· метод иллюстрации;

· метод упражнений.

Методические средства, используемые на уроке:

· компьютер;

· мультимедийный комплекс;

· наглядный материал;

· раздаточный материал.

Ход урока.

Повторение материала.

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

· Что такое строка в Turbo Pascal?

· Каковы способы задания строки в Turbo Pascal?

· Что является элементом строки?

· Каковы основные приемы работы с элементами строки?

Проверка домашнего задания заключается в отправке решенных заданий на сервер, используя программу «Testing Area».

Изучение нового материала.

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

В Turbo - Pascal имеется набор процедур и функций для работы со строками. К строкам можно применять операцию конкатенации, которая обозначается знаком «+». Конкатенация - это объединение строк:

SS1:='ABC';

SS2:=SS1 + «DEF'.

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

SS1:='ABC';

SS2:='DEF' + SS1.

Результатом выполнения последовательности операторов будет значение «DEFABC'. Длина строковой переменной SS2 должна назначаться с учетом суммарной длины слагаемых.

Задание 1.

Предполагается письменное выполнение в тетради.

Пусть даны строки: a:='qwerty'; b:='ytrewq'; c:='compi'; d:='ipmoc';

Найти результат следующих действий:

Вариант 1: e:=a+b[5]+' `+c;

r:=c+d+a[1].

Вариант 2: e:=b+a[5]+' `+d;

r:=d+b+c[1].

Вариант 3: e:=a+b[5]+' `+d;

r:=c+d+d[1].

Все остальные действия над строками и символами реализуются с помощью описываемых ниже стандартных процедур и функций.

CONCAT (S1, S2SN) - функция типа STRING, возвращает строку, представляющую собой сцепление строк-параметров SI, S2, …, SN.

COPY (ST, INDEX, COUNT) - функция типа STRING, копирует из строки STCOUNT символов, начиная с символа с номером INDEX.

DELETE (ST, INDEX, COUNT) - процедура, удаляет СОUNT символов из строки ST, начиная с символа с номером INDEX.

INSERT (SUBST, ST, INDEX) - процедура, вставляет подстроку SUBST в строку ST, начиная с символа с номером INDEX.

LENGTH (ST) - функция типа INTEGER, возвращает длину строки ST.

POS (SUBST, ST) - функция типа INTEGER, отыскивает в строке St первое вхождение подстроки SUBST и возвращает номер позиции, с которой она начинается; если подстрока не найдена, возвращается ноль.

STR (X, ST) - процедура, преобразует число X любого вещественного или целого типов в строку символов ST так, как это делает процедура WRITELN перед выводом.

VAL (ST, X, CODE) - процедура, преобразует строку символов ST во внутреннее представление целой или вещественной переменной X, которое определяется типом этой переменной. Параметр CODE содержит ноль, если преобразование прошло успешно, и тогда в X помещается результат преобразований, в противном случае он содержит номер позиции в строке ST, где обнаружен ошибочный символ, и в этом случае содержимое Х не меняется. В строке ST могут быть ведущие пробелы, однако ведомые пробелы недопустимы; например, обращение VAL (' 123', k, i) пройдет успешно: k получит значений 123, в i будет помещен 0, в то время как обращение VAL (' 123 ', k, i) будет ошибочным: значение k не изменится, ai будет содержать 4.

UPCASE (СН) - функция типа CHAR, возвращает для символьного выражения СН, которое должно представлять собой строчную латинскую букву, соответствующую заглавную букву. Если значением СН является любой другой символ (в том числе строчная буква русского алфавита), функция возвращает его без преобразования.

Задание 2.

С помощью процедур и функций:

1. Найти длину строки.

2. Выяснить позицию ошибки в строке.

3. Исправить строку.

Задание выполнить в тетради.

Вариант 1: e:='copputer';

r:='nonitor'.

Вариант 2: e:='paccal';

r:='kei'.

Вариант 3: e:='powep';

r:='resed'.

Итог занятия.

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

1. Какова особенность конкатенации строк?

2. Каковы функции для работы со строками?

3. Каковы процедуры для работы со строками?

4. Какие различия между процедурами и функциями, определенными над строками?

Оценка работы на уроке.

Домашнее задание.

Задача 1.

Имя входного файла: z1s.in;

Имя выходного файла: z1s.out;

Ограничение по времени: 50 сек на каждый тест.

Ограничение по памяти: 50 Мб.

Написать программу, удаляющую все пробелы из данной строки [10].

Формат входных данных:

Строка, содержащая слова, разделенные пробелом.

Формат выходных данных:

Измененная начальная строка, не содержащая ни одного пробела.

Пример входного файла:

programmirovanievturbopaskale-horoshiisposobprovestisvobodnoevremia.




Подобные документы