Опубликован: 22.01.2008 | Уровень: для всех | Доступ: свободно
Практическая работа 12:

Формальные языки и грамматики

Аннотация: Решение типовых задач связанных с языками и грамматиками, трансляцией, обучение реферированию и Интернет–поиску по этой теме
Ключевые слова: язык, грамматика

Задачи

  1. Записать три непростые математические выражения на алгоритмическом языке. Указание: включить все арифметические операции, степени, скобки, функции.
  2. Записать три выражения алгоритмического языка на математическом языке. Указание: использовать выражения, вложенные друг в друга (суперпозиции).
  3. Определить функцию max(x,y) через другие операции и функции. Указание: например, через функцию min.
  4. Определить функцию abs(x) через другие операции и функции. Указание: например, через функцию sign.
  5. Определить функцию div(x,y) через другие операции и функции. Указание: например, через функцию mod.
  6. Определить функцию mod(x,y) через другие операции и функции. Указание: например, через функцию div.
  7. Даны описания переменных:
    x,y: integer; a,b,c: real; u: char, s: string, r: boolean.
    Указать неправильные места, причины появления ошибок в выражении:
    y:=сos(x)*s–length(s)+length(u)+mod(x/a)–div(2*sin(x),int(b))+3/(length(u)–1).
    Указание: например, неправильно записано выражение mod(x/a) – функция mod имеет два целочисленных аргумента.
  8. Вычислить значение выражения:
    y:=length('sorry')+length('')+mod(13,2)–div(5,8)+mod(3,4).
    Указание: второе слагаемое равно 0 (почему?).
  9. Записать условие попадания точки A(x,y) в область ограниченную окружностью с центром в точке B(0;0) и радиуса r и квадратом, в который вписана эта окружность. Указание: нарисуйте эскиз; уравнение указанной в условии окружности – x2+y2=r2.
  10. Какие из указанных ниже ошибок относятся к синтаксическим, семантическим, логическим (ошибкам в логике программы): а) переменная – аргумент функции ln получил значение ноль; б) отсутствует описание переменной цикла; в) пропущена переменная цикла в операторе цикла; г) ни при каких входных данных блок программы не активизируется; д) описание переменной следует за использованием переменной. Указание: а) – логическая ошибка (не было предусмотрена защита от такого некорректного ввода или исправление его); например, контроль можно было бы осуществить командой типа if (x>0) then ....

Темы научных исследований и рефератов (Интернет-листов)

  1. Формальные языки.
  2. Формальные грамматики.
  3. Языки программирования и их классификация.
  4. Построение деревьев грамматического разбора.
  5. Компиляторы.
  6. Интерпретаторы.
  7. Эволюция языков программирования.
  8. Процедурные и непроцедурные языки программирования.
  9. Языки визуального программирования. VBA.
  10. Языки для WWW –приложений. HTML, JAVA.
Ксения Леонова
Ксения Леонова
как проверить себя, выполняя практические задания по информатике?