Вход


Главная страница >> Учебный процесс >> Задачник >> Выражения, программы и полиномы

[Назад]    [Содержание ]    [Вперед]

  


Выражения, программы и полиномы



  Номер 1

К »


Задача 1. Построить синтаксический анализатор для понятия описание-переменных, которое определяется следующим образом: описание-переменных ::= VAR пробел список-описаний пробелы пробелы ::== {пробел | пробел пробелы} ( описание;) список-описании ::=( описание; список-описании ) описание ::=список-идентификаторов:. идентификатор список-идентификаторов ::= идентификатор идентификатор , список-идентификаторов } идентификатор ::= букваi буква | цифра}* пробелы


  Номер 2

К »


Задача 2. Построить синтаксический анализатор для понятия переменная, которое определяется следующим образом: {- } переменная ::== идентификатор {. идентификатор } {[список-выражений]} список-выражений ::= выражение {, выражение}* выражение ::= простое-выражение Определение понятия простое-выражение см. в гл. 8.


  Номер 3

К »


Задача 3. Построить синтаксический анализатор для определяемого в словаре понятия линейная-программа.


  Номер 4

К »


Задача 4. Построить синтаксический анализатор для определяемого в словаре понятия простая-программа.


  Номер 5

К »


Задача 5. Построить синтаксический анализатор для определяемого в словаре понятия простое-выражение.


  Номер 6

К »


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


  Номер 7

К »


Задача 7. Внешнее представление вещественных чисел определим следующим образом: {знак } вещественное::={пусто} мантисса порядок мантисса ::= {цифра}* цифра. {цифра}* цифра {Е знак цифра цифра } порядок::={Е цифра цифра} {пусто} знак ::== {+ I -} Построить произведение двух заданных в таком представлении вещественных чисел, предполагая, что сумма длин их записи не превосходит 20.


  Номер 8

К »


Задача 8. Вычислить с округлением, оставляя в мантиссе результата не более 10 знаков после десятичной точки, частное от деления двух вещественных чисел, заданных в описанном в предыдущей задаче представлении (предполагая снова, что сумма длин записи исходных чисел не превосходит 20).


  Номер 9

К »


Задача 9. Задана последовательность вещественных чисел в описанном в задаче 178 представлении. Числа последовательности перечисляются через запятую, общая длина последовательности ограничена 100 символами. Вычислить сумму этой последовательности чисел.


  Номер 10

К »


Задача 10. Задана обратная польская запись некоторого простого выражения, не содержащего вхождений идентификаторов. Вычислить значение этого выражения.


  Номер 11

К »


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


  Номер 12

К »


Задача 12. Выполнить заданную линейную программу для заданных начальных значений всех встречающихся в ней переменных. Определить значения этих переменных после выполнения линейной программы (если не возникнет ошибки переполнения),


  Номер 13

К »


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


  Номер 14

К »


Задача 14. Вхождение оператора А линейной программы назовем избыточным, если среди предшествующих ему имеется еще одно вхождение этого оператора, причем левые части всех операторов, находящихся между двумя этими вхождениями, а также левая часть самого оператора А не встречаются в правой части оператора А. Например, второе вхождение оператора х:= у + z в линейной программе "x:==t/+z; и:=и-z; x:=y+z" избыточно. В заданной линейной программе удалить все избыточные вхождения операторов.


  Номер 15

К »


Задача 15. Вхождение оператора A в линейную программу называется несущественным, если среди следующих после него операторов имеется еще одно вхождение оператора, скажем В, с той же переменной-левой частью, что и у A, причем эта переменная не встречается в правой части ни одного из операторов, находящихся между А и В. Например, вхождение оператора x:=u+v в линейную программу "х:=u+v; u:=u*y; х:=у-v" несущественное. Удалить вхождения всех несущественных операторов из заданной линейной программы, содержащей не более 200 вхождений операторов.


  Номер 16

К »


Задача 16. Преобразовать в обратную польскую запись заданное простое выражение.


  Номер 17

К »


Задача 17. Преобразовать в прямую польскую запись заданное простое выражение.


  Номер 18

К »


Задача 18. Восстановить простое выражение по заданной его обратной польской записи.


  Номер 19

К »


Задача 19. Восстановить простое выражение по заданной его прямой польской записи.


  Номер 20

К »


Задача 20. По заданному простому выражению построить линейную программу, которая вычисляет и засылает в переменную RESULT значение этого выражения.


  Номер 21

К »


Задача 21. По заданной линейной программе, в которой последний оператор содержит в левой части переменную RESULT, построить простое выражение, значение которого совпадает с тем значением, которое получает переменная RESULT после исполнения линейной программы.


  Номер 22

К »


Задача 22. Проверить правдоподобность заданной простой программы.


  Номер 23

К »


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


  Номер 24

К »


Задача 24. Упростить заданную правдоподобную простую программу, заменяя всякий оператор IF константа-1 знак-отношения константа-2 THEN оператор на оператор в случае истинности условия или удаляя этот условный оператор в случае ложности условия.


  Номер 25

К »


Задача 25. Из-за недосмотра программиста был утерян раздел описаний переменных правдоподобной простой программы. Восстановить его.


  Номер 26

К »


Задача 26. Построить синтаксический анализатор для определяемого в гл. 8 понятия полином.


  Номер 27

К »


Задача 27. Проверить, является ли приведенным заданный полином.


  Номер 28

К »


Задача 28. По заданному полиному и (целым) значениям всех входящих в него переменных вычислить значение полинома.


  Номер 29

К »


Задача 29. Заданный полином преобразовать в приведенный.


  Номер 30

К »


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


  Номер 31

К »


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


  Номер 32

К »


Задача 32. Заданное простое выражение преобразовать в полином. Если этого нельзя сделать, как, например, в случае простого выражения х*х*х*х* ... *х (20 раз множитель х), то программа должна печатать сообщение об этом,


  Номер 33

К »


Задача 33. По двум заданным приведенным полиномам построить третий приведенный полином - сумму исходных полиномов.


  Номер 34

К »


Задача 34. По двум заданным приведенным полиномам от одной переменной определить, делится ли первый полином на второй без остатка.


  Номер 35

К »


Задача 35. По заданному полиному определить его однородность, т. е. проверить, верно ли, что сумма показателей степеней переменных одинакова во всех одночленах полинома.


  Номер 36

К »


Задача 36. Определить, является ли полиномом в смысле данного в словаре определения (т. е. все его коэффициенты - целые, а степень не превосходит 19) интеграл по заданной переменной от заданного приведенного полинома.


  Номер 37

К »


Задача 37. Задан приведенный полином Р от трех переменных х, у, г. Определить, существует ли у уравнения Р = 0 хотя бы одно такое решение х, у, г в целых числах, что х <= 50, у <= 50 и z< = 50.


  Номер 38

К »


Задача 38. Задан приведенный полином Р от не более чем пяти переменных. Найти все целочисленные решения уравнения Р=0, при которых значение всякой переменной по модулю не превышает числа 3.


  Номер 39

К »


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


  Номер 40

К »


Задача 40. Построить на АЦПУ ту часть целочисленного графика виданного полинома от одной переменной f(x}, которая лежит в квадрате 0<=x<=100, 0 <= f(x)<=100.


  Номер 41

К »


Задача 41. Построить синтаксический анализатор для определяемого в словаре понятия формулировка-задачи..


  Номер 42

К »


Задача 42. Проверить, является ли корректной заданная формулировка задачи.


  Номер 43

К »


Задача 43. Построить ответ на заданную корректную формулировку задачи,


  Номер 44

К »


Задача 44. Проверить, можно ли так переставить определения в заданной формулировке задачи, чтобы она стала корректной.


  Номер 45

К »


Задача 45. Слово, встречающееся в правой части одного (или нескольких) определений заданной корректной формулировки задачи, назовем исходным, если оно не встречается в левых частях определений. Найти все исходные слова заданной корректной формулировки задачи.


  Номер 46

К »


Задача 46. Определить, являются ли эквивалентными две заданные корректные формулировки задач.


  Номер 47

К »


Задача 47. Для заданной корректной формулировки задачи построить эквивалентную корректную формулировку задачи с минимальным числом определений.


  Номер 48

К »


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



[Назад]    [Содержание ]    [Вперед]

  


  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017