Мирослава1509061
30.01.2021 17:22

решить задачку: Сформировать дерево синтаксического разбора оператора цикла FOR = TO DO ; поменять узел, чтобы получить оператор: FOR = DOWNTO DO ; Вывести промежуточную и конечную информации.
В программе применить динамичные типы данных, указательные типы. Также применить процедуры для формирования, удаление, поиск для динамических бинарных деревьев. Осуществить ввод и вывод динамических данных.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
altay2007
03.07.2022 17:28
Var n,m,osn: integer;
function nmbdec(var n,osn: integer): integer;
var nmb,l,s,k: integer;
begin
  nmb:=0;  s:=0;
  k:=n;  l:=1;
  while k>0 do
  begin
    s:=k mod 10;
    k:=k div 10;
    nmb:=nmb+l*s;
    l:=l*osn;
  end;
  Result:=nmb;
end;
{ конец функции}
begin
  write('число:  ');
  readln(n);
  write('квадрат какого числа:  ');
  readln(m);
  osn:=10;
  while osn>=2 do
  begin
     osn:=osn-1;
    if nmbdec(n,osn)=sqr(nmbdec(m,osn)) then
    begin
      writeln('основание системы = ',osn);
      break;
    end;
  end;
end.
0,0(0 оценок)
Ответ:
Nastyushon
09.03.2020 19:31
//PascalABC.NET
//Версия 3.3, сборка 1634 (14.02.2018)

begin
  var (cost, t, k) := (Arr(15, 70, 125, 230, 440), Arr(1, 5, 10, 20, 60), new integer[5]);
  var n := ReadInteger('n->');
  for var i := 4 downto 0 do
  begin
    k[i] := n div t[i];n := n mod t[i];
  end; 
  if k[0] * cost[0] >= cost[1] then begin k[0] := 0;inc(k[1]); end;
  if k[0] * cost[0] + k[1] * cost[1] >= cost[2] then 
  begin
    k[0] := 0;k[1] := 0;inc(k[2]); 
  end;
  if k[0] * cost[0] + k[1] * cost[1] + k[2] * cost[2] >= cost[3] then 
  begin
    k[0] := 0;k[1] := 0;k[2] := 0;inc(k[3]);
  end;
  if k[0] * cost[0] + k[1] * cost[1] + k[2] * cost[2] + k[3] * cost[3] >= cost[4] then 
  begin
    k[0] := 0;k[1] := 0;k[2] := 0;k[3] := 0;inc(k[4]); 
  end;
  
  for var i := 0 to 4 do WritelnFormat('{0} билет(ов)- {1} штук(а)', t[i], k[i]);
end.

Пример(1):
n-> 37
1 билет(ов)- 0 штук(а)
5 билет(ов)- 0 штук(а)
10 билет(ов)- 0 штук(а)
20 билет(ов)- 0 штук(а)
60 билет(ов)- 1 штук(а)

Пример(2):
n-> 35
1 билет(ов)- 0 штук(а)
5 билет(ов)- 1 штук(а)
10 билет(ов)- 1 штук(а)
20 билет(ов)- 1 штук(а)
60 билет(ов)- 0 штук(а)
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота