Jump to content

Хаггис (язык программирования)

(Перенаправлено с ХАГГИС )

Haggis высокого уровня, — это эталонный язык программирования используемый в основном для изучения информатики шотландскими учениками, проходящим курсы SQA по этому предмету. [1] Хаггис используется как инструмент, позволяющий преодолеть разрыв между псевдокодом и типичным компьютерным программированием . [2]

Хаггис основан не на каком-то одном языке, а на смеси, которая призвана позволить ученику, знакомому с любым из многих языков, используемых в классах, легко понять синтаксическую конструкцию, используемую в примере. он имеет несколько парадигм программирования: функциональную , императивную и объектно-ориентированную . Для этой цели [3]

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

Онлайн-переводчики Haggis были разработаны, чтобы предоставить экзаменаторам и учителям возможность проверить, правильно ли определены их программы и ведут себя должным образом. [4]

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

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

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

Эти концепции более полно объяснены в научной статье. [5]

поручила Хаггису В 2010 году SQA обеспечить единый синтаксис и форму для представления вопросов ученикам при оценивании. Его нынешняя форма была разработана совместно Квинтином Каттсом ( Университет Глазго ), Грегом Майклсоном ( Университет Хериот-Уотт ) и Ричардом Коннором ( Университет Стратклайда ). Цель разработки Хаггиса заключалась в том, чтобы подчеркнуть основную идею предоставления ученикам возможности просматривать код и демонстрировать свое понимание его поведения, чтобы развивать свое вычислительное мышление и навыки программирования. [1]

Впервые Хаггис был представлен на экзаменах по информатике в рамках программы развития высшего образования правительства Шотландии на сессии National 5 в 2013/2014 году, а также в 2014/2015 году для новых высших курсов. [6] и в новый Advanced Higher на сессии 2015/2016 года. [7] Хаггис не был представлен как язык для замены других языков, уже используемых в образовании, и не предполагалось, что этот язык будет преподаваться или использоваться в обычной учебной программе. Однако некоторые учителя приняли его как строгую форму псевдокода для улучшения преподавания на другом языке. [6]

Особенности и философия

[ редактировать ]

Основные принципы

[ редактировать ]

Хаггис был разработан с учетом 8 основных принципов. [8]

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

Использование в образовании

[ редактировать ]

Он был разработан как функциональный/последовательный, так и объектно-ориентированный, чтобы быть простым и сложным одновременно для студентов National 5 / Higher и Advanced Higher. [8]

Хаггис был разработан, чтобы позволить ученикам по всей Шотландии улучшить изучение и понимание компьютерного программирования посредством чтения примеров, а также помочь на этапе перехода от псевдокода к полноценному программированию. Он был создан не для того, чтобы просить учащихся писать его при оценивании, а для того, чтобы предоставить единый язык для представления примеров кода учащимся, гарантируя, что все учащиеся имеют четкое понимание и им не мешает изучение другого языка программирования, отличного от используемого. один из примеров приведен в оценке. [2]

Синтаксис

[ редактировать ]
Пример языка программирования Хаггис, который печатает все четные числа от 0 до 100.

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

Более сложный пример кода Хаггиса.

Зарезервированные слова

[ редактировать ]
  • Зарезервированные слова пишутся с заглавной буквы; Обычно это считается некрасивым для языка программирования, но делает структуру программы более понятной для тех, кто впервые читает этот язык. Точно так же язык намеренно содержит большое количество синтаксической избыточности.
  • DECLARE, FOR, WHILE, и т. д.

Типы данных

[ редактировать ]

(типы обычно определяются методом вывода, за исключением случаев, когда это невозможно)

  • Символ (один тип символов, из которого состоят строки)
  • Целое число
  • Действительное (включая целые числа)
  • Логическое значение (истина или ложь)

Структурированные типы

[ редактировать ]
  • Массив: последовательность одинаковых типов данных.
  • Строка: Массив символов.
  • Запись: помеченная коллекция значений.
  • Объект: как определено дескрипторами класса.

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

Номера строк

[ редактировать ]

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

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

Комментарии

[ редактировать ]

Комментарии можно оставлять с помощью кнопки « #” для каждой строки закомментированного текста, он может появляться либо в начале новой строки, либо после фрагмента кода. Большие блоки текста можно указать с помощью « <(COMMENT TEXT>», это в первую очередь реализовано для использования в образовательных целях, чтобы предоставить учащимся более широкий контекст.

Имена переменных

[ редактировать ]

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

Например, переменные могут называться:

  • number
  • meaningfulName

Инициализация

[ редактировать ]

Инициализация позволяет объявить новую переменную.

DECLARE <variable’s name> INITIALLY <value>

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

DECLARE myArray AS ARRAY OF INTEGER INITIALLY []

Назначение

[ редактировать ]

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

SET <variable’s name> TO <value>
  • Если <значение> — строка, ее следует записать в кавычках, например: SET phrase TO "maybe"
  • Если <value> — целое число, кавычки ему не нужны, например: SET number TO 23

Ввод в Haggis похож на псевдокод в том, что вы указываете тип входных данных, которые получает программа, а также откуда поступают входные данные, например:

RECEIVE <variable that will store input> FROM <INPUT DEVICE>

Также можно использовать необязательную типизацию объявления, например

DECLARE number AS INTEGER INITIALLY FROM KEYBOARD

Выходные данные в Хаггисе могут быть записаны аналогично входным.

SEND <variable, value or text> TO <OUTPUT DEVICE>

Например:

  • SEND meaningfulName TO DISPLAY

Арифметические вычисления

[ редактировать ]

SET используется для присвоения результата расчета.

Например:

SET number TO 32*6

Это еще одна форма задания.

Процедуры/функции

[ редактировать ]

Процедура — это своего рода подпрограмма внутри программы. Это позволяет разделить код на части, чтобы сделать его более читабельным и простым в работе. Вы должны не забыть завершить процедуру, как показано ниже.

PROCEDURE <Procedure ID/Name>(<Data Type> <Variable>,<Data Type> <Variable>...)
   Haggis Commands
END PROCEDURE

Операции

[ редактировать ]

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

  • «-» — вычесть
  • «+» — это добавление
  • «*» — умножить
  • «/» — это деление
  • «^» — показатель степени

Для INTEGER только типы данных, модуль , который записывается как возможен MOD.

Операторы сравнения:

  • «=» равно
  • «≠» — неравенство
  • «<» меньше, чем
  • «>» больше, чем
  • «≤» меньше или равно
  • «≥» больше или равно

Логические операции:

  • «И» — союз
  • «ИЛИ» — это дизъюнкция.
  • «НЕ» — это отрицание.

Определение класса

[ редактировать ]

При определении класса в Haggis используется синтаксис CLASS <id> IS {<parameters>} METHODS <statements> END CLASS .

можно объявить различные методы, В Haggis например:

    CONSTRUCTOR
        The users' '''Haggis''' code will then go here.
    END CONSTRUCTOR

    FUNCTION <Function Name>(<Parameters>) RETURN <Data Type>
        The users' '''Haggis''' code will then go here.
        RETURN THIS <Class Property>
    END FUNCTION
    '''“THIS” is used to reference the current object invoking the method.'''

    PROCEDURE <Procedure Name> (<Parameters>)
        The users' '''Haggis''' code will then go here.
    END PROCEDURE

Применение и использование

[ редактировать ]

Первоначально Хаггис был реализован, а затем предполагалось, что его будут использовать следующим образом. Студентов научат программировать на языке программирования, выбранном учителем. Затем студенты составляли планы в формате псевдокода на более высоком уровне языка, чем сам код. Как только студенты почувствуют себя комфортно при написании псевдокода, их познакомят с Хаггисом, поскольку это язык, используемый в экзаменационных текстах. [2]

Хаггис был реализован таким образом, потому что исследования показали, что способность понимать программы необходима для развития дальнейших навыков программирования. [2] Оба курса, проводимые SQA (National 5 и выше), предусматривают результаты, требующие от учащихся наличия этой способности. Поскольку хаггис так легко понять и усвоить, его использовали в экзаменационных текстах. Отмечается, что студентам во время экзамена не предлагалось и никогда не будет предлагаться писать какой-либо код на Хаггисе, от них требуется лишь уметь его читать и понимать.

Проблемы

[ редактировать ]

С Хаггисом когда-либо возникало очень небольшое количество проблем. Ничто из этого не связано с самим языком, а скорее с тем, как студенты его воспринимают. Во-первых, студенты понятия не имели, почему их учат писать законченную компьютерную программу на двух языках. Во-вторых, они смешивали два языка, которым их учили, и часто ошибались в синтаксисе, потому что их учили двум языкам одновременно, что вызывало некоторую небольшую путаницу. [2]

Наблюдение

[ редактировать ]

Создатель наблюдал за Хаггисом и обнаружил, что он использовался следующими способами. [2] Хаггис использовался в качестве языка планирования компьютерных программ, которые студентам предлагалось создать. После того, как студентам было предложено доработать свой код на нескольких этапах планирования, окончательный план был составлен с использованием Haggis. После составления окончательного плана код Хаггиса переводится на реальный язык программирования, указанный учителем. Этот метод эффективен для повышения навыков учащихся, как упоминалось ранее, и дает им как можно большую подготовку к экзамену, когда они увидят применение Хаггиса в контексте.

  1. ^ Jump up to: а б Каттс, Квинтин. «Обучение информатике в школах» . Университет Глазго . Проверено 8 ноября 2016 г.
  2. ^ Jump up to: а б с д и ж Теннант, Марк, Дж (4 марта 2014 г.). «Хаггис – для чего его использовать?» . КомпЭдНет . Проверено 8 ноября 2016 г. {{cite web}}: CS1 maint: несколько имен: список авторов ( ссылка )
  3. ^ Майклсон, Грег. «Объектно-ориентированное программирование на основе процедурного программирования с небольшим количеством вычислительного мышления» (PDF) . Университет Херриота Ватта – математическая информатика . Проверено 8 ноября 2016 г.
  4. ^ Коннор, Ричард. «Парсер Хаггис» . приложение . Проверено 8 ноября 2016 г.
  5. ^ Квинтин Каттс, Ричард Коннор, Грег Майклсон и Питер Дональдсон. 2014. Код или (не код): разделение формального и естественного языка в образовании в области компьютерных наук. В материалах 9-го семинара по начальному и среднему компьютерному образованию (WiPSCE '14). ACM, Нью-Йорк, Нью-Йорк, США, 20–28. дои : 10.1145/2670757.2670780
  6. ^ Jump up to: а б «Справочный язык для вопросов по высшей информатике» (PDF) . СКА . Проверено 8 ноября 2016 г.
  7. ^ «Справочный язык для вопросов по высшей информатике» (PDF) . СКА . Проверено 8 ноября 2016 г.
  8. ^ Jump up to: а б Майклсон, Грег; Каттс, Квентин. «Рабочий документ Хаггиса» . Страница 4 . Проверено 8 ноября 2016 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3afaa89c76dc8a58c80680d427f4c3c8__1719339420
URL1:https://arc.ask3.ru/arc/aa/3a/c8/3afaa89c76dc8a58c80680d427f4c3c8.html
Заголовок, (Title) документа по адресу, URL1:
Haggis (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)