Есть ответ 👍

Нужна программа на pascal. через рекурсию. даны натуральные числа a и b. определить, могут ли эти числа быть соседними членами последовательности фибоначчи.

115
240
Посмотреть ответы 2

Ответы на вопрос:

204448
4,7(2 оценок)

// pascalabc.net 3.0, сборка 1088 function fib(n: integer): longint; begin   if n< 3 then fib: =1 else fib: =fib(n-2)+fib(n-1) end; var   a,b,f,mn: longint;   i: integer; begin   write('введите а и b: '); read(a,b);   if a< b then mn: =a else mn: =b;   i: =1;   repeat       f: =fib(i); inc(i);   until f> =mn;   if f=mn then begin       if a=mn then mn: =b else mn: =a;       if fib(i)=mn then writeln('соседние числа фибоначчи')       else writeln('меньшее - число фибоначчи, большее - не его сосед')       end   else writeln('меньшее - не число фибоначчи, работа закончена') end. тестовые решения: введите а и b: 610 987 соседние числа фибоначчи введите а и b: 500 250 меньшее - не число фибоначчи, работа закончена введите а и b: 610 830 меньшее - число фибоначчи, большее - не его сосед

1. надо добавить точку в последней строке программы. иначе работать не будет. 2. меняется всего одна строка в программе: program pr2; type   student = record {объявление нового типа данных student}       lastname: string; {фамилия студента}       bal: array [1..5] of integer; {массив для 5-ти оценок}       average: real {средний студента}   end; var   pupil: array [1..100] of student; {массив pupil (максимум из 100 элементов) типа student}   n, i, j, s: integer; {переменные целого типа} begin   write('введите количество студентов: ');   readln(n);   for i : = 1 to n do   begin{запрос данных по n студентам}       with pupil[i] do       begin           write('введите фамилию студента №', i, ': '); {запрос фамилии студента под номером i}           readln(lastname);           s : = 0; {целочисленная переменная для определения суммы студента}           for j : = 1 to 5 do           begin{цикл для обработки 5-ти оценок каждого студента}               write('введите оценку за экзамен №: ', j, ': ' );               readln(bal[j] );               s : = s + bal[j]; {суммирование 5-ти оценок студента}           end;           average : = s / 5; {определение среднего значения и запись в переменную average}       end;   end;   writeln;   writeln( 'студенты, имеющие средний больший или равный 4');   for i : = 1 to n do   begin       if pupil[i].average > = 4 then {если средний студента > =4}       write(pupil[i].lastname,', ');   end; end.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS