- •1. Введение
- •2. Операторы языка
- •Var Описание переменных;
- •3. Организация ветвлений
- •4. Логические функции
- •5. Организация циклов
- •Оператор цикла с предусловием имеет вид
- •Var I,j:integer; X,y,r:real;
- •Program p5_8;
- •Var y,X,z: integer;
- •6. Массивы
- •Var I,j: integer;
- •Var n,I,j:integer; s,y,sr:real; X: array [1..10,1..5] of real;
- •Var I,j,n,m: integer;
- •X:array [1..10] of integer;
- •Var n,I,j,st,kl,k:integer;
- •7. Символьные данные
- •Var n:integer;y:string;
- •Var X:string[1]; d:string; I:integer;
- •8. Записи
- •Var X:vr; y:array [1..5] of vr;
- •9. Файлы
- •Ввод и вывод информации для типизированных и текстовых файлов производится процедурами:
- •10. Подпрограммы
- •11. Графика
- •Var d,I,m,rx,ry:integer;
- •Initgraph(d,m,''); {переход в графику}
- •Var d,m,rx,ry:integer;
- •X,y,xn,xk,ymin,ymax,dx:real; msy,msx:real;
Н
program
P7_1;
const
x='Петров Саша';
begin;
n:=pos('
',x); {n=7}
y:=copy(x,n+1,length(x))';
{y=Саша}
y:=y+’ ‘+copy(x,1,n-1);
writeln(y);
{y=Саша Петров} end.Var n:integer;y:string;
Задача 7-1. В символьной строке Х=‘Петров Саша’ поменять местами имя и фамилию и поместить результат вY. Решение потребует трех действий: 1). Нахождение позиции пробелаn=7, 2). Остаток фразы от пробела (т.е. ‘Саша’) поместить вY. 3).ДополнитьYпробелом и начальным фрагментом фразы Х до пробела. Для наглядности процесс реализован в трех операторах. Но можно записать его и в одинy:=copy(x,pos(' ',x)+1,length(x))+' '+copy(x,1,pos(' ',x)-1);
|
коды |
символы |
|
0..32 |
управляющие |
|
65..90 |
A..Z |
|
97..122 |
a..z |
|
128..159 |
А..Я (кроме Ё) |
|
160..175 |
а..п (кроме ё) |
|
224..239 |
р..я |
|
240,241 |
Ё,ё |

Представление символьных данных.Каждому символу ПК сопоставлен код (целое число от 0 до 255) изASCII-таблицы. Первые 128 символов включают цифры, знаки, латинские символы. Из них символы с кодами 0..31 являются служебными (возврат каретки, перевод строки и т.д.). Латинские буквыA..Zимеют коды 65..90,a..z– 97..122. Следующие 128 позиций заняты символами псевдографики и буквами национального алфавита. В кириллице буквыA..Я имеют коды 128..159,a..п – 160..175, р..я – 224..239, буквы Ё – 240, ё – 241. Замечаем, что коды заглавных и строчных буквa..п различаются на 32, а букв р..я – на 80. Очевидно, что на клавиатуре нет всех 256 знаков. Тем не менее, они могут быть отражены в программе с помощью своего кода в форме:#код. Например, операторwrite(#65,#177,#201,#205,#187);выведет строку: “A▒╔═╗”. Символы, отсутствующие на клавиатуре, можно найти в справочнике, а можно и вывести вместе с их кодами на экран с помощью операторов:for i:=0 to 255 do write(chr(i),i:3,' ');.Отметим, что коды от 0 до 31 являются управляющими и, хотя многие из них имеют экранное отображение, использовать эти символы для непосредственного вывода нельзя.
Символьные данные можно сравнивать между собой. При этом более короткая строка дополняется символами с кодом 0 до размеров более длинной строки. Далее последовательно слева направо коды символов сравниваются попарно из обеих строк (чей код больше – тот символ больше). Например: ‘а’<’б’; ‘а’=’а’; ’а’>’А’ (заглавные буквы имеют меньший код); ‘ВАЛЯ’<’ВАСЯ’ (расхождение в третьем символе, где ‘Л’<’C’); ‘ЯША’>’ПETP’ (буква Я больше П).
