- •Билет 1
- •Билет 2
- •Билет 3
- •Билет 4
- •2) В отличие от оператора if, оператор case позволяет выбрать и выполнить один оператор не из двух, а из нескольких операторов. В общем случае оператор case может быть записан следующим образом:
- •Билет 5
- •Билет 6
- •Билет 7
- •Билет 8
- •Билет 9
- •Билет 10
- •Билет 11
- •Билет 12
- •Билет 13
- •Билет 14
- •Билет 15
- •Билет 16
- •Билет 17
- •Билет 18
- •Билет 19
- •2) Выражения различают по типу их результата: целые, вещественные, символьные, логические, строковые и т.Д. Выражения, имеющие результат целого и вещественного типа, называются арифметическими.
- •Билет 20
- •Билет 21
- •Билет 22
- •2)Оператор repeat имеет следующий формат:
- •Билет 23
- •2) В Pascal имеются две основных процедуры ввода read и readln, которые используются для чтения данных, вводимых с клавиатуры. Формат этих процедур таков:
- •Билет 24
- •Билет 25
- •Билет 26
Билет 24
Управление выводом русскоязычных текстов в консольном приложении Delphi.
Оператор безусловного перехода. Пустой оператор.
1) В операционных системах семейства Windows каждому символу соответствует число, либо, иначе говорят, - код ANSI, что расшифровывается как American National Standard Institute - американский национальный институт стандартизации, в котором разработан этот код. Всего в таблице содержится 256 символов, которые кодируются числами от 0 до 255. Символы с номерами от 0 до 31 являются служебными символами, т.е. предназначены не для отображения информации, а для управления отображением информацией.
Консольное приложение выполняется под управлением операционной MS DOS, которая эмулируется операционными системами семейства Windows. В отличие от Windows в MS DOS используется кодировка символов ASCII.
Сравнивая таблицы ANSI и ASCII, можно заметить, что первые их половины, т.е. символы с кодами 0..127, совпадают, а вторые половины - коды с символами 128..255 - различны. В первой половине содержатся цифры и буквы английского алфавита, а во второй - буквы русского алфавита. Поскольку консольное приложение создается в операционной системе Windows, а выполняется как программа MS DOS, то попытки вывести русские символы на экран из-за различия в кодировках ANSI и ASCII обречены на неудачу. Но есть средства борьбы с этим:
1)function WinToDos(strWin: string): string;
var
strDos: string;
begin
SetLength(strDos,length(strWin));
CharToOEM(PChar(strWin),PChar(strDos));
result := strDos;
end;
2) function RusCode(strWin:string):string;
var
strDos: string;
i,kod:byte;
begin
strDos:='';
for i:=1 to length(strWin) do begin
kod:=ord(strWin [i]);
case kod of
192..239: strDos:= strDos +chr(kod-64);
240..250: strDos:= strDos +chr(kod-16);
168: strDos:= strDos +chr(240);
184: strDos:= strDos +chr(241)
else strDos:= strDos + strWin [i];
end;
end;
result := strDos;
end;
3) Кроме того можно писать текст в программе на английском языке или просто использовать латинские буквы.
2) Оператор перехода goto - это простой оператор, передающий управление в программе на другой оператор, перед которым стоит метка, указанная в операторе goto. В общем виде оператор записывается следующим образом:
goto < метка >;
Метка в Object Pascal - это произвольный идентификатор либо целое число без знака. Любая метка должна появиться в разделе описания меток, прежде чем она встретится в теле программы. В разделе операторов метка может стоять только перед одним оператором и отделяется от него двоеточием. Нельзя передавать управление внутрь сложных операторов (if, case, операторы циклов), а также из вызывающей программы в подпрограмму. Оператор перехода следует использовать в исключительных ситуациях, поскольку он затрудняет понимание программы, делает ее запутанной и сложной в отладке.
Если поставить точку с запятой перед зарезервированным словом end, то это будет означать, что между точкой с запятой и словом end находится пустой оператор. Пустой оператор не выполняет никаких действий, в него не входят какие-либо символы. Например, если в программе идут два подряд символа «точка с запятой», то это означает, что между ними находится пустой оператор. Пустой оператор никаким образом не влияет на ход выполнения программы. В основном пустой оператор используется для передачи управления в конец составного оператора: как и любой другой, пустой оператор может быть помечен, и ему можно передать управление.