Нужна программа на pascal. через рекурсию. даны натуральные числа a и b. определить, могут ли эти числа быть соседними членами последовательности фибоначчи.
115
240
Ответы на вопрос:
// 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
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
АлинаБречко14.01.2021 02:44
-
linagaribyan05.05.2022 04:00
-
Sasha47603.02.2022 08:04
-
даун4720.05.2022 12:56
-
xXDeXTeRXx03.06.2022 23:58
-
marullens08.12.2022 02:58
-
relax21714.02.2023 19:31
-
varvarec16.06.2022 06:41
-
олькаlove124.07.2020 08:52
-
olymaks7430.01.2022 05:44
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.