def __init__(self): self.statement = lgraph.LGraph() self.solution = lgraph.LGraph() self.statement.add_node("link", "Найти", [0]) self.statement.add_node("cond", "", [1]) self.statement.add_node("link", " максимальный", [2]) self.statement.add_node("link", " минимальный", [2]) self.statement.add_node("cond", "", [3, 4]) N = rand.randint(3, 10) self.statement.add_node( "link", " элемент последовательности из " + str(N) + " чисел:", [5]) self.statement.add_node("cond", "", [6]) self.statement.add_node("link", " x1, x2, ..., x" + str(N) + ".", [7]) self.statement.add_node("cond", "", [8]) self.statement.add_node("link", " Без использования циклов.", [9]) self.statement.add_node("cond", "", [10]) self.solution.add_node("link", 'program p1n5 (input, output);\n', [0]) self.solution.add_node("cond", '', [1]) self.solution.add_node( "link", ' var ' + self.xN(N) + ' :integer;' + '\n' + 'begin' + '\n' + ' readln(' + self.xN(N) + ');\n', [2]) self.solution.add_node("cond", '', [3]) self.solution.add_node("link", ' m := x1\n', [4]) self.solution.add_node("cond", '', [5]) pred = self.addness(N, 6) self.solution.add_node("link", ' writeln(m);' + '\n' + 'end.\n', [pred]) self.solution.add_node("cond", '', [pred + 1]) self.Code, self.Cond = self.resolve()
def __init__(self): self.statement = lgraph.LGraph() self.solution = lgraph.LGraph() self.statement.add_node("link", "Дано целое", [0]) self.statement.add_node("cond", "", [1] ) self.statement.add_node("link", " трехзначное", [2]) self.statement.add_node("link", " четырехзначное", [2]) self.statement.add_node("cond", "", [3,4]) self.statement.add_node("link", " число.", [5]) self.statement.add_node("cond", "", [6]) self.statement.add_node("link", " Построить его реверсную запись.", [7]) self.statement.add_node("cond", "", [8]) self.solution.add_node("link", 'program p1n5 (input, output);\n', [0]) self.solution.add_node("cond", '', [1]) self.solution.add_node("link", ' var x :integer;' + '\n' + 'begin' + '\n' + ' readln(x);\n', [2]) self.solution.add_node("cond", '', [3]) self.solution.add_node("link", ' x := x mod 10 * 1000 + x mod 10 div 10 * 100 + x mod 1000 div 100 * 10 + x div 1000\n' , [4]) self.solution.add_node("link", ' x := x mod 10 * 100 + x div 100 + x mod 100 div 10 * 10\n', [4]) self.solution.add_node("cond", '', [5,6]) self.solution.add_node("link", ' writeln(x);' + '\n' + 'end.\n', [7]) self.solution.add_node("cond", '', [8]) self.Code, self.Cond = self.resolve()
def __init__(self): self.statement = lgraph.LGraph() self.solution = lgraph.LGraph() self.statement.add_node("link", "Дано действительное число. Выделить из него", [0]) self.statement.add_node("cond", "", [1] ) self.statement.add_node("link", " все разряды", [2]) self.statement.add_node("link", " целую часть.", [2]) self.statement.add_node("link", " дробную часть.", [2]) self.statement.add_node("cond", "", [3]) self.statement.add_node("link", " старше N.", [6]) self.statement.add_node("link", " младше N.", [6]) self.statement.add_node("cond", "", [4,5,7,8]) self.solution.add_node("link", 'program p1n1 (input, output);\n', [0]) self.solution.add_node("cond", '', [1]) self.solution.add_node("link", ' var N :integer;' + '\n' + ' x :real;' + '\n' + 'begin' + '\n' + ' readln(x, N);\n', [2]) self.solution.add_node("link", ' var x :real;' + '\n' + 'begin' + '\n' + ' readln(x);\n', [2]) self.solution.add_node("cond", '', [3,4]) self.solution.add_node("link", ' x := trunc(x);\n', [5]) self.solution.add_node("link", ' x := x - trunc(x);\n', [5]) self.solution.add_node("link", ' x := trunc(x) mod (N * 10);\n', [5]) self.solution.add_node("link", ' x := trunc(x) div (N * 10);\n', [5]) self.solution.add_node("cond", '', [6,7,8,9]) self.solution.add_node("link", ' writeln(x);' + '\n' + 'end.\n', [10]) self.solution.add_node("cond", '', [11]) self.Code, self.Cond = self.resolve()
def __init__(self): self.statement = lgraph.LGraph() self.solution = lgraph.LGraph() self.statement.add_node("link", "Дана точка с координатами (x, y).", [0]) self.statement.add_node("cond", "", [1]) self.statement.add_node( "link", " Определить какой четверти плоскости она принадлежит.", [2]) self.statement.add_node("cond", "", [3]) self.solution.add_node("link", 'program p1n5 (input, output);\n', [0]) self.solution.add_node("cond", '', [1]) self.solution.add_node( "link", ' var x, y :integer;' + '\n' + 'begin' + '\n' + ' readln(x, y);\n', [2]) self.solution.add_node("cond", '', [3]) self.solution.add_node( "link", ' if (x > 0) and (y > 0) then writeln("1")\n' + ' if (x < 0) and (y > 0) then writeln("2")\n' + ' if (x > 0) and (y < 0) then writeln("3")\n' + ' if (x < 0) and (y < 0) then writeln("4")\n' + 'end.\n', [4]) self.solution.add_node("cond", '', [5]) self.Code, self.Cond = self.resolve()
def __init__(self): self.statement = lgraph.LGraph() self.solution = lgraph.LGraph() self.statement.add_node("link", "Дано квадратное уравнение", [0]) self.statement.add_node("cond", "", [1]) self.statement.add_node("link", " с коэфициентами a, b, c.", [2]) self.statement.add_node("cond", "", [3]) self.statement.add_node("link", " Найти его корни.", [4]) self.statement.add_node("cond", "", [5]) self.solution.add_node("link", 'program p1n5 (input, output);\n', [0]) self.solution.add_node("cond", '', [1]) self.solution.add_node( "link", ' var a, b, c, x1, x2, D :real;' + '\n' + 'begin' + '\n' + ' readln(x, y);\n' + ' D := b * b - 4 * a * c;\n', [2]) self.solution.add_node("cond", '', [3]) self.solution.add_node( "link", ' if (D < 0) then' + '\n' + ' writeln("Корней нет")' + '\n' + ' else if (D = 0) then begin' + '\n' + ' x1 = -b / 2 / a;\n' + ' writeln(x1)\n' + ' end else begin\n' + ' x1 = (-b - sqrt(D)) / 2 / a;\n' + ' x2 = (-b + sqrt(D)) / 2 / a;\n' + ' writeln(x1)\n' + ' end\n' + 'end.\n', [4]) self.solution.add_node("cond", '', [5]) self.Code, self.Cond = self.resolve()
def __init__(self): self.statement = lgraph.LGraph() self.solution = lgraph.LGraph() self.statement.add_node("link", "Даны два числа: x и y.", [0]) self.statement.add_node("cond", "", [1]) self.statement.add_node( "link", " Определить является ли одно из них делителем другого.", [2]) self.statement.add_node("cond", "", [3]) self.solution.add_node("link", 'program p1n5 (input, output);\n', [0]) self.solution.add_node("cond", '', [1]) self.solution.add_node( "link", ' var x, y :integer;' + '\n' + 'begin' + '\n' + ' readln(x, y);\n', [2]) self.solution.add_node("cond", '', [3]) self.solution.add_node( "link", ' if (x > y) and (x mod y = 0) then' + '\n' + ' writeln("YES")' + '\n' + ' if (x < y) and (y mod x = 0) then' + '\n' + ' writeln("YES")' + '\n' + ' else\n' + ' writeln("NO")\n' + 'end\n', [4]) self.solution.add_node("cond", '', [5]) self.Code, self.Cond = self.resolve()
def __init__(self): self.statement = lgraph.LGraph() self.solution = lgraph.LGraph() self.statement.add_node("link", "Даны стороны треугольника: a, b, c.", [0]) self.statement.add_node("cond", "", [1]) self.statement.add_node( "link", " Определить определить существует ли такой треугольник и является ли он", [2]) self.statement.add_node("cond", "", [3]) self.statement.add_node("link", " прямоугольным.", [4]) self.statement.add_node("link", " равносторонним.", [4]) self.statement.add_node("link", " равнобедренным", [5]) self.statement.add_node("cond", "", [5, 6, 7]) self.solution.add_node("link", 'program p2n7 (input, output);\n', [0]) self.solution.add_node("cond", '', [1]) self.solution.add_node( "link", ' var a,b,c :real;\n' + 'begin\n' + ' readln(a,b,c);\n', [2]) self.solution.add_node("cond", '', [3]) self.solution.add_node( "link", ' if (a + b < c) or (b + c < a) or (a + c < b) then\n' + ' writeln("не существует треугольника")\n' + ' else begin\n' + ' writeln("Треугольник существует");\n', [4]) self.solution.add_node("cond", '', [5]) self.solution.add_node( "link", ' if (a = b) or (b = c) or (a = c) then\n' + ' writeln("Треугольник равнобедренный");\n' + ' end;\n' + 'end.\n', [6]) self.solution.add_node( "link", ' if (a = b) and (b = c) then\n' + ' writeln("Треугольник равносторонний");\n' + ' end;\n' + 'end.\n', [6]) self.solution.add_node( "link", ' if (sqr(a) + sqr(b) = sqr(c)) or (sqr(b) + sqr(c) = sqr(a)) or (sqr(a) + sqr(c) = sqr(b)) then\n' + ' writeln("Треугольник прямоугольный");\n' + ' end;\n' + 'end.\n', [6]) self.solution.add_node("cond", '', [7, 8, 9]) self.Code, self.Cond = self.resolve()
def __init__(self): self.statement = lgraph.LGraph() self.solution = lgraph.LGraph() self.statement.add_node("link", "Дан", [0]) self.statement.add_node("cond", "", [1] ) self.statement.add_node("link", " квадрат", [2]) self.statement.add_node("link", " круг", [2]) self.statement.add_node("link", " треугольник", [2]) self.statement.add_node("link", " прямоугольник", [2]) self.statement.add_node("cond", "", [3,4,5,6]) self.statement.add_node("link", " со стороной a.", [7]) self.statement.add_node("link", " с радиусом a.", [7]) self.statement.add_node("link", " со сторонами a, b, c.", [7]) self.statement.add_node("link", " со сторонами a, b.", [7]) self.statement.add_node("cond", "", [8,9,10,11]) self.statement.add_node("link", " Найти его", [12]) self.statement.add_node("cond", "", [13]) self.statement.add_node("link", " площадь", [14]) self.statement.add_node("link", " периметр", [14]) self.statement.add_node("cond", "", [15,16]) self.solution.add_node("link", 'program p1n1 (input, output);\n', [0]) self.solution.add_node("cond", '', [1] ) self.solution.add_node("link", ' var a, b, s :integer;' + '\n' + 'begin' + '\n' + ' readln(a,b);\n', [2]) self.solution.add_node("link", ' var a, s :integer;' + '\n' + 'begin' + '\n' + ' readln(a);\n', [2]) self.solution.add_node("link", ' var a, b, c, s :integer;' + '\n' + 'begin' + '\n' + ' readln(a,b,c);\n', [2]) self.solution.add_node("cond", '', [3,4,5]) self.solution.add_node("link", ' s := a + b + c;\n', [6]) self.solution.add_node("link", ' s := (a + b + c)/2;' + '\n' + ' s := sqrt(s * (s - a) * (s - b) * (s - c));\n', [6]) self.solution.add_node("link", ' s := 2 * (a + b);\n', [6]) self.solution.add_node("link", ' s := a * b;\n', [6]) self.solution.add_node("link", ' s := 2 * 3.14 * a;\n', [6]) self.solution.add_node("link", ' s := 3.14 * a * a;\n', [6]) self.solution.add_node("link", ' s := 4 * a;\n', [6]) self.solution.add_node("link", ' s := a * a;\n', [6]) self.solution.add_node("cond", '', [7,8,9,10,11,12,13,14]) self.solution.add_node("link", ' writeln(s);' + '\n' + 'end.\n', [15]) self.solution.add_node("cond", '', [16]) self.Code, self.Cond = self.resolve()
def __init__(self): self.statement = lgraph.LGraph() self.solution = lgraph.LGraph() self.statement.add_node("link", "Дано целое число x.", [0]) self.statement.add_node("cond", "", [1]) self.statement.add_node("link", " Проверить", [2]) self.statement.add_node("cond", "", [3]) self.statement.add_node("link", " является ли оно палиндромом.", [4]) self.statement.add_node("link", " упорядочены ли его цифры", [4]) self.statement.add_node("cond", "", [6]) self.statement.add_node("link", " по убыванию.", [7]) self.statement.add_node("link", " по возрастанию.", [7]) self.statement.add_node("cond", "", [5, 8, 9]) self.solution.add_node("link", 'program p2n8 (input, output);\n', [0]) self.solution.add_node("cond", '', [1]) self.solution.add_node( "link", ' var x :integer;\n' + 'begin\n' + ' readln(x);\n', [2]) self.solution.add_node("cond", '', [3]) self.solution.add_node( "link", ' if x div 100 = x mod 10 then\n' + ' writeln("Палиндром")\n' + ' else\n' + ' writeln("Не палиндром");\n', [4]) self.solution.add_node( "link", ' if (x div 100 > x mod 10) and (x mod 100 div 10 > x mod 10) then\n' + ' writeln("Упорядочены по убыванию");\n' + ' else\n' + ' writeln("Не упорядочены по убыванию");\n', [4]) self.solution.add_node( "link", ' if (x div 100 < x mod 10) amd (x mod 100 div 10 < x mod 10) then\n' + ' writeln("Упорядочены по возрастанию");\n' + ' else\n' + ' writeln("Не упорядочены по возрастанию");\n', [4]) self.solution.add_node("cond", '', [5, 6, 7]) self.solution.add_node("link", 'end.\n', [8]) self.solution.add_node("cond", '', [9]) self.Code, self.Cond = self.resolve()
def __init__(self): self.statement = lgraph.LGraph() self.solution = lgraph.LGraph() self.statement.add_node( "link", "Считать последовательность со стандартного потока ввода", [0]) self.statement.add_node("cond", "", [1]) self.statement.add_node("link", " до элемента равного 0.", [2]) self.statement.add_node("link", " длины N.", [2]) self.statement.add_node("cond", "", [3, 4]) self.statement.add_node("link", " Найти ее", [5]) self.statement.add_node("cond", "", [6]) self.statement.add_node("link", " сумму элементов.", [7]) self.statement.add_node("link", " произведение элементов.", [7]) self.statement.add_node("link", " максимум.", [7]) self.statement.add_node("link", " минимум.", [7]) self.statement.add_node("cond", "", [8, 9, 10, 11]) self.solution.add_node("link", 'program p3n1 (input, output);\n', [0]) self.solution.add_node("cond", '', [1]) self.solution.add_node( "link", ' var x,N,s :integer;\n' + 'begin\n' + ' readln(x); s := x;\n' + ' for i := 2 to N do\n' + ' readln(x);\n', [2]) self.solution.add_node( "link", ' var x,s :integer;\n' + 'begin\n' + ' readln(x); s := x;\n' + ' while x <> 0 do\n' + ' readln(x);\n', [2]) self.solution.add_node("cond", '', [3, 4]) self.solution.add_node("link", ' if x > s then s := x;\n', [5]) self.solution.add_node("link", ' if x < s then s := x;\n', [5]) self.solution.add_node("link", ' s := s + x;\n', [5]) self.solution.add_node("link", ' s := s * x;\n', [5]) self.solution.add_node("cond", '', [6, 7, 8, 9]) self.solution.add_node("link", ' writeln(s);' + '\n' + 'end.\n', [10]) self.solution.add_node("cond", '', [11]) self.Code, self.Cond = self.resolve()
def __init__(self): self.statement = lgraph.LGraph() self.solution = lgraph.LGraph() self.statement.add_node("link", "На плоскости даны две точки с координатами", [0]) self.statement.add_node("cond", "", [1] ) self.statement.add_node("link", " (x1, y1)", [2]) self.statement.add_node("cond", "", [3]) self.statement.add_node("link", " и (x2, y2).", [4]) self.statement.add_node("cond", "", [5]) self.statement.add_node("link", " Найти расстояние между ними.", [6]) self.statement.add_node("cond", "", [7]) self.solution.add_node("link", 'program p1n4 (input, output);\n', [0]) self.solution.add_node("cond", '', [1] ) self.solution.add_node("link", ' var x1, x2, y1, y2 :integer;' + '\n' + 'begin' + '\n' + ' readln(x1, x2, y1, y2);\n', [2]) self.solution.add_node("cond", '', [3]) self.solution.add_node("link", ' x1 = sqrt(sqr(x2 - x1) + sqr(y2 - y1));\n', [4]) self.solution.add_node("cond", '', [5]) self.solution.add_node("link", ' writeln(x1);' + '\n' + 'end.\n', [6]) self.solution.add_node("cond", '', [7]) self.Code, self.Cond = self.resolve()
def __init__(self): self.statement = lgraph.LGraph() self.solution = lgraph.LGraph() self.statement.add_node( "link", "Даны целые числа: N и K. Найти все простые числа", [0]) self.statement.add_node("cond", "", [1]) self.statement.add_node("link", " в количестве N штук", [2]) self.statement.add_node("link", " меньшие N", [2]) self.statement.add_node("cond", "", [3, 4]) self.statement.add_node("link", " ,начиная с K.", [5]) self.statement.add_node("cond", "", [6]) self.solution.add_node( "link", 'program p3n4 (input, output);\n' + 'var i,j,N,K: integer;\n' + ' flag: boolean;\n' + 'begin\n' + ' readln(N,K);\n', [0]) self.solution.add_node("cond", '', [1]) self.solution.add_node( "link", ' for i := K to N do begin\n' + ' flag := true;\n' + ' for j := 2 to i - 1 do\n' + ' if i mod j = 0 then\n' + ' flag := false;\n' + ' if flag then writeln(i);\n', [2]) self.solution.add_node( "link", ' i := 0;\n' + ' while i < N do begin\n' + ' flag := true;\n' + ' for j := 2 to K + i - 1 do\n' + ' if K + i mod j = 0 then\n' + ' flag := false;\n' + ' if flag then writeln(i);\n' + ' i := i + 1;\n', [2]) self.solution.add_node("cond", '', [3, 4]) self.solution.add_node("link", ' end;\n' + 'end.', [5]) self.solution.add_node("cond", '', [6]) self.Code, self.Cond = self.resolve()
def __init__(self): self.statement = lgraph.LGraph() self.solution = lgraph.LGraph() self.statement.add_node( "link", "Считать последовательность со стандартного потока ввода", [0]) self.statement.add_node("cond", "", [1]) self.statement.add_node("link", " до элемента равного 0.", [2]) self.statement.add_node("link", " длины N.", [2]) self.statement.add_node("cond", "", [3, 4]) self.statement.add_node("link", " Проверить, является ли она", [5]) self.statement.add_node("link", " Посчитать количество", [5]) self.statement.add_node("cond", "", [6]) self.statement.add_node("cond", "", [7]) self.statement.add_node("link", " убывающей.", [8]) self.statement.add_node("link", " возрастающей.", [8]) self.statement.add_node("link", " отрицательных элемеентов.", [9]) self.statement.add_node("link", " положительных элементов.", [9]) self.statement.add_node("cond", "", [10, 11, 12, 13]) self.solution.add_node("link", 'program p3n2 (input, output);\n', [0]) self.solution.add_node("cond", '', [1]) self.solution.add_node( "link", ' var x,x1,N,i :integer;\n' + ' f :boolean;\n' + 'begin\n' + ' readln(x); f := true;\n' + ' for i := 2 to N do begin\n' + ' readln(x1);', [2]) self.solution.add_node( "link", ' var x,N,k :integer;\n' + 'begin\n' + ' k := 0;\n' + ' for i := 1 to N do begin\n' + ' readln(x);\n', [2]) self.solution.add_node( "link", ' var x,N,k,i :integer;\n' + 'begin\n' + ' readln(x); k := 0;\n' + ' while x <> 0 do begin', [2]) self.solution.add_node( "link", ' var x,k :integer;\n' + ' f :boolean;\n' + 'begin\n' + ' readln(x); f := true;\n' + ' while x <> 0 do begin\n' + ' readln(x1);\n', [2]) self.solution.add_node("cond", '', [3, 4, 5, 6]) self.solution.add_node( "link", ' if x1 < x then\n' + ' f := false;\n' + ' x1 := x;\n', [7]) self.solution.add_node( "link", ' if x < 0 then\n' + ' k := k + 1;\n', [7]) self.solution.add_node( "link", ' if x > 0 then\n' + ' k := k + 1;\n', [7]) self.solution.add_node( "link", ' if x1 > x then\n' + ' f := false;\n' + ' x1 := x;\n', [7]) self.solution.add_node("cond", '', [8, 9, 10, 11]) self.solution.add_node("link", '', [12]) self.solution.add_node("link", ' readln(x);\n', [12]) self.solution.add_node("cond", '', [13, 14]) self.solution.add_node("link", ' end;' + ' writeln(f);\n' + 'end.\n', [13]) self.solution.add_node("link", ' end;' + ' writeln(k);\n' + 'end.\n', [13]) self.solution.add_node("cond", '', [14, 15]) self.Code, self.Cond = self.resolve()