Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
30
Добавлен:
31.03.2015
Размер:
363.01 Кб
Скачать

Упражнение

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

Варианты выражений.

15. x/(a-p)+(c*x)

16. (c/d)-((a+b)*r)

17. a*(b*(a-b)/z)

18. ((c-d)/q)*(r+a)

19. (x+u/q)*(a-b*c)

20. ((a+r)*k)-f/w

21. (a-b)/(c*d+p)

22. (f*r)-(c+a/b)

23. (x*(a+b))-(y/(c-d))

24. e/(a*(b+c))*p

25. (x+y)/(p+q)-m

  1. (f/e)+(a+b)*k

  2. m/n/(h-d)*(k-v)

  3. (z+d)*s+c*(r-p)

  1. (x-y)/z*(w+c)

  2. a*(b-c)*(d+c)

  3. (p-x/y)*(k+z*a

  4. (r-c)/(a-b*p)

  5. (k/e-c)*g/a

  6. a/(c+d)+(c-k)

  7. m*(a-(b+k))-l

  8. (q-a)/(c+d)+m

  9. (k/p)-((f-a)*l)

  10. ((l-p)/r)*(k+f)

  11. x*((y+z)*(w-z))

  12. (a+b/c)*(d-e*f)

  13. r*c-p*b/(a-j)

  14. x-a*(p-r)+k

Лабораторная работа “Генеалогическое дерево”

Задание. Разработать программу поиска в генеалогическом дереве с целью ответа на поставленный вопрос.

Варианты заданий

  1. Какая фамилия матери Светланы?

  2. Кто дольше всех прожил?

  3. Кто были родителями Евдокии, жившей в 17 веке,

  4. Сколько раз повторяется имя Серафим?

  5. Каким временем заканчивается генеалогическое дерево?

  6. Кто был мужем Анны?

  7. Имена предков, родившихся в середине 18 века?

  8. Являюсь ли я потомком Долгоруких?

  9. Участвовал отец Бориса в войне 1812 года?

  10. Какая фамилия матери Екатерины?

  11. Чья жизнь была самой короткой?

  12. В каком году родился потомок Владимира и Ольги?

  13. Как звали дедушку Петра?

  14. Имена самых древних предков?

  15. Кто был женой Дмитрия, жившего во времена Пушкина?

  16. Был ли в роду Филимон, родившийся в Киеве?

  17. Кто был внуком Юсуповых?

  18. Сколько поколений в генеалогическом дереве?

  19. В каком коду родилась София, внучка Петра?

  20. Чьей бабушкой была Екатерина Мишина?

  21. Сколько было супружеских пар Иван да Марья?

  22. Был в роду кто-либо, родившийся в Англии?

  23. Сколько в роду долгожителей?

  24. Кто был мужем Елизаветы, родившейся в начале 16 века?

  25. У кого имя обоих дедушек было Сергей?

  26. Кто был в роду писателем?

Приложение.

Синтаксические правила языка Паскаль в виде БНФ

<буква> ::= ABCDEGHIJKLMNOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz

<цифра> ::= 0123456789

<символ> ::= <любой символ таблицы кодов ASCII>

<последовательность цифр> ::= <цифра>  <последовательность цифр>

<цифра>

<последовательность символов> ::= <символ><последовательность

символов> <символ>

<имя> ::= <буква><имя><буква><имя><цифра>

<список имен> ::= <имя><список имен > ,<имя>

<переменная> ::= <простая переменная>  <переменная с индексами> 

<составная переменная>  <динамическая переменная>

<простая переменная> ::= <имя переменной>

<имя переменной> ::= <имя>

<переменная с индексами> ::= <имя> [<список индексных выражений>]

<список индексных выражений> ::= <индексное выражение> 

<список индексных выражений>,<индексное выражение>

<индексное выражение> ::= <выражение>

<составная переменная> ::= <имя>  <составная переменная> . <имя>

<динамическая переменная> ::= <имя>^

<список переменных > ::= <переменная>  <список переменных > ,

<переменная>

<целое> ::= <целое без знака>  <целое со знаком>

<знак> ::= +  -

<целое без знака> ::= <последовательность цифр>

<целое со знаком> ::= <знак><целое без знака>

<строка символов> ::= '<последовательность элементов строки >'

<последовательность элементов строки > ::= <элемент строки > 

<последовательность элементов строки > <элемент строки >

<элемент строки > ::= <представление апострофа>  < символ >

<представление апострофа> ::= ''

<вещественное без знака> ::= <вещественное с фиксированной точкой>

<вещественное с порядком>

<вещественное с фиксированной точкой> ::=

<последовательность цифр>.<последовательность цифр>

<вещественное с порядком> ::= <мантисса>Е<порядок>

<порядок> ::= <целое со знаком>

<мантисса> ::= <целое без знака><вещественное без знака>

<число без знака> ::= <целое без знака><вещественное без знака>

<число со знаком> ::= <знак><число без знака>

<выражение> ::= <операнд><выражение><операция><операнд>

<операнд> ::= <константа><переменная><указатель функции>

(<выражение>)  <конструктор множества>  <терм>

<множитель> ::= <операнд>

<терм> ::= <множитель>  <терм><операция типа умножения><множитель>

<указатель функции> ::= <имя функции>(<список фактических параметров>)

<операция> ::= <операция отношения>  <oперация типа сложения> 

<операция типа умножения>

<операция отношения> ::= =  <>  <  >  <=  >=  IN

<oперация типа сложения> ::= +  -  OR

<операция типа умножения> ::= *  /  DIV  MOD  AND

<константа> ::= <константа без знака>  <константа со знаком>

<константа без знака> ::= <имя константы><число без знака>

<строка символов>truefalsenil

<константа со знаком> ::= <знак><имя константы><знак><число без знака>

<строка символов>truefalse

<логическое-выражение> ::= <выражение>

<оператор> ::= <элементарный оператор>  <сложный оператор>

<элементарный оператор> ::= <пустой оператор><оператор присваивания> 

<оператор процедуры>

<пустой оператор> ::=

<оператор присваивания> ::= <переменная> := <выражение>

<оператор процедуры> ::= <имя процедуры>(<список фактических

параметров>)

<сложный оператор> ::= <составной оператор>  <условный оператор>

<оператор цикла>  <оператор над записями>

<составной оператор> ::= BEGIN <последовательность операторов> END

<последовательность операторов> ::= <оператор> 

<последовательность операторов>;<оператор>

<условный оператор> ::= <оператор ЕСЛИ>  <оператор выбора>

<оператор ЕСЛИ> ::= IF <логическое выражение> THEN <оператор>

ELSE <оператор>

<оператор выбора> ::= CASE <индекс выбора> OF < список выбора> END

<список выбора> ::= <элемент списка выбора> <список выбора>;

<элемент списка выбора>

<элемент списка выбора> ::= <список констант выбора> : <оператор>

<список констант выбора> ::= <константа выбора> 

<список констант выбора> ,<константа выбора>

<константа выбора> ::= <константа>

<индекс выбора> ::= <выражение>

<оператор над записями> ::= WITH <список переменных> DO <оператор>

<оператор цикла>::=<оператор ПОКА><оператор ДО><оператор ДЛЯ>

<оператор ПОКА> ::= WHILE <логическое выражение> DO <оператор>

<оператор ДО> ::= REPEAT <последовательность операторов> UNTIL

<логическое выражение>

<оператор ДЛЯ> ::= FOR <параметр цикла> := <начальное значение>

(TO  DOWNTO) <конечное значение> DO <оператор>

<параметр цикла> =:: <простая переменная>

<начальное значение> ::= <выражение>

<конечное значение> ::= <выражение>

<список описаний констант, типа, переменной, процедуры, функции> ::=

<описание констант, типа, переменной, процедуры, функции> 

<список описаний констант, типа, переменной, процедуры, функции>;

<описание констант, типа, переменной, процедуры, функции>

<раздел описания констант> ::= CONST <список описаний константы>

<описание константы> ::= <список имен> = <константа>

<раздел описания типов> ::= TYPE <список описаний типа>

<описание типа> ::= <список имен> = <определение типа>

<определение типа> ::= <имя типа>  <определение простого типа> 

<определение сложного типа>  <определение типа указатель>

<определение типа указатель> ::= ^<имя>

<определение простого типа> ::= <определение порядкового типа> 

<имя вещественного типа>

<имя типа> ::= <имя>

<имя вещественного типа> ::= <имя типа>

<определение порядкового типа> ::=

<перечисляемый тип>  <тип диапазон>

<перечисляемый тип> ::= (<список имен>)

<тип диапазон> ::= <константа>..<константа>

<определение сложного типа> ::= <тип массив>  <тип запись> 

<тип множество>  <тип файл>

<определение типа указатель> ::= ^ <тип области>

<тип массив> ::= ARRAY [<список типов индекса>] OF <тип компонент>

<список типов индекса> ::= <тип индекса> 

<список типов индекса>;<тип индекса>

<тип индекса> ::= <имя>  <порядковый тип>

<тип компонент> ::= <определение типа>

<тип запись> ::= RECORD <список полей> END

<список полей> ::= <поле>  <список полей>;< поле>

<поле> ::= <список имен> : <определение типа>

<тип-множество> ::= SET OF <порядковый тип>

<конструктор множества> ::= [<список элементов>]

<список элементов> ::= <элемент>  <список элементов> , <элемент>

<элемент> ::= <выражение><выражение> .. <выражение>

<тип-файл> ::= FILE OF <тип компонентов файла>

<тип компонентов файла> ::= <определение типа>

<раздел описания переменных> ::= VAR <список описаний переменных>

<описание переменной> ::= <список имен> : <определение типа>

<раздел описания процедур> ::= <список описаний процедуры>

<раздел описания функций> ::= <список описаний функции>

<описание процедуры> ::= <заголовок процедуры> ; <блок>

<описание функции> ::= <заголовок функции> ; <блок>

<заголовок процедуры> ::= PROCEDURE <имя> 

PROCEDURE <имя>(<список формальных параметров>)

<заголовок функции> ::= FUNCTION <идентификатор> : <тип результата>

FUNCTION <идентификатор> (<список формальных параметров>) :

<тип результата>

<список формальных параметров> ::= <секция формальных параметров>  <список формальных параметров>;<секция формальных параметров>

<секция формальных параметров> ::=

<спецификация параметров значения> 

<спецификация параметров переменных> 

<спецификация параметра процедуры> 

<cпецификация параметров функции>

<спецификация параметров значений> ::= <список имен> : <имя типа>

<спецификация параметров переменных>::=VAR <список имен> : <имя типа>

<спецификация параметра процедуры> ::= <имя процедурного типа >

<спецификация параметра функции> ::= <имя процедурного типа >

<список фактических параметров> ::= <фактический параметр> 

<список фактических параметров>,<фактический параметр>

<фактический параметр> ::= <выражение>  <переменная>

<программа> ::= <заголовок программы> ; <блок>

<заголовок программы>::=PROGRAM<имя>

PROGRAM<имя>(<список имен>)

<блок> ::= <раздел описания констант><раздел описания типов>

<раздел описания переменных>

<раздел описания процедур и функций>

<составной оператор>

Соседние файлы в папке METOD2