Почему в PascalABC не хочет работать ReadKey?

Узнай цену своей работы

Формулировка задачи:

Uses CRT;
Label Out;
Const
N=8;
Var
C: array [1..N,1..N] of word; 
Tour, P: array [1..N] of word; 
l, s: word;
i, j, k, min, ind: byte;
All: boolean; 
Graph: text;
Begin
ClrScr;
 
Assign(Graph,'D:\matr.in');
Reset(Graph);
TextColor(14);
WriteLn('=========================Задача коммивояжера (перебор)=========================');
WriteLn('Матрица смежности:');
WriteLn('========================================= ======================================');
For i:=1 To N Do For j:=1 To N Do Read(Graph, C[i,j]);
For i:=1 To N Do
Begin
For j:=1 To N Do Write(C[i,j],' ');
WriteLn;
End;
 
All:=False; 
l:=MaxInt; 
For i:=1 To N Do P[i]:=i; 
Repeat
 
s:=0;
For i:=1 To N-1 Do s:=s+C[P[i],P[i+1]];
s:=s+C[P[n],P[1]];
 
If l>s Then
Begin
Tour:=P;
l:=s;
End;
 
For i:=N DownTo 3 do
Begin
If P[i]<P[i-1] Then continue;
min:=N+1;
k:=P[i-1];
 
For j:=i To N Do If (P[j]>k) and (P[j]<min) Then
Begin
min:=P[j];
ind:=j;
End;
 
P[i-1]:=min;
P[ind]:=k;
 
For j:=i To N-1 Do
Begin
min:=N+1;
For k:=j To N Do If min > P[k] Then
Begin
min:=P[k];
ind:=k;
End;
k:=P[j];
P[j]:=min;
P[ind]:=k;
End;
GoTo out;
End;
 
All:=true;
Out:
Until All;
 
WriteLn('========================================= ======================================');
Write('Минимальный тур: ');
For i:=1 To N Do Write(Tour[i],'-');
Write('1');
WriteLn(' имеет длинну ',l);
WriteLn('========================================= ======================================');
Close(Graph);
ReadKey;
END.

Решение задачи: «Почему в PascalABC не хочет работать ReadKey?»

textual
Листинг программы
Uses Crt;
Var Ch : Char;
Begin
  Repeat
    Ch:=Readkey;
    Writeln(Ord(Ch));
  Until Ch=#27; {выход по ESC}
End.

Объяснение кода листинга программы

  1. Подключение модуля Crt.
  2. Объявление переменной Ch типа Char.
  3. Вход в цикл Repeat.
  4. Чтение символа из ввода пользователя с помощью функции ReadKey.
  5. Вывод значения символа с помощью функции Writeln и операции Ord.
  6. Проверка на условие выхода из цикла при нажатии клавиши ESC (#27).
  7. Выполнение цикла до тех пор, пока не будет нажата клавиша ESC.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы