Язык: паскаль почему при f=true не выводится то,что записано в условии? const n=3; var c: array[1..n] of real; a: array[1..n,1..n] of real; x: array[1..n] of real; f: boolean; p,t: real; i,j: integer; begin writeln('vvedite matricu a: '); for i: =1 to n do for j: =1 to n do read(a[i,j]); writeln('vvedite massiv c: '); for i: =1 to n do read(c[i]); writeln('vvedite znacheniya p,t: '); write('p='); readln(p); write('t='); read(t); x[i]: =0; f: =false; repeat if (p else f: =false; until (i> n) or (f=false); if f then begin for i: =1 to n do for j: =1 to n do x[i]: =x[i]+a[i,j]; writeln('x[',i,']=',x[i]); end else writeln('elementy massiva c ne lezhat v intervale p,t'); end.
Ответы на вопрос:
во-первых хотелось бы узнать, почему у тебя в 24 строчке странная запись:
if (p else f: =false;
здесь непонятно, к чему написана скобка, а также непонятно, куда затерялся синтаксический then.
во-вторых - почему в той же строчке сравниваешь тип real с типом boolean? на это ругается даже компилятор.
в-третьих - если мы опустим эти недочёты и вникнем в алгоритм, то поймём, что ты зациклил условие проверки p на истинность до тех пор, пока i не будет больше n или пока f не станет ложью. но тут подвох в чём? в этом цикле ты не производишь никаких действий над операторами в условии, кроме как присваивание булевой переменной f значение false, чему оно и равно изначально. то есть можно сказать, что у тебя здесь происходит бесконечное зацикливание. скорее всего именно поэтому у тебя не выводится массив, потому что компилятор не в состоянии дойти до строчки вывода. чтобы хотя бы часть условия выполнилась, тебе нужно в условии if..then..else присваивать f не false, а true. но это только в том случае, если ты исправишь конструкцию условия.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
дилирон121.11.2021 06:30
-
tatyanapaderina13.03.2023 13:57
-
renatamur20051813.05.2020 15:31
-
0481227.01.2020 20:00
-
pro100skill13219.02.2022 02:46
-
Татьяна7282802.03.2021 06:48
-
Dyhanexis05.11.2022 01:25
-
BEDmil0012.05.2023 02:31
-
emkaemkovich90206.03.2022 05:53
-
nastosetrova204.12.2022 16:33
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.