- •Www.Msta.Ru
- •Москва – 2005
- •1 Цель и задачи дисциплины
- •2 Тематическое содержание программы
- •3 Перечень рекомендуемых лабораторных работ
- •4 Экзаменационные вопросы по дисциплине
- •1. Введение
- •Var a,d: integer; X: real; d: string;.
- •2. Простейшие операторы языка
- •3. Организация ветвлений
- •Var a,b,c: real;
- •4. Логические функции
- •5. Организация циклов
- •Program p5_2; {другой вариант}
- •Var X,y: real;
- •С помощью этого оператора гораздо проще решить пример 5-2 (program p5_2). Оператор цикла с постусловием:
- •6. Массивы
- •Var X,z: array [1..8] of real;
- •Var I,j: integer;
- •Var n,I,j:integer; s,y,sr:real; X: array [1..10,1..5] of real;
- •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. Файлы
- •Ввод и вывод информации для типизированных и текстовых файлов производится процедурами:
- •X,y:real;
- •X,y:real; I:integer;
- •Im: string[4];
- •I: integer;
- •Im: string[4];
- •I: integer;
- •10. Подпрограммы
- •11. Графика
- •Var d,I,m,rx,ry:integer;
- •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;
y:=copy(x,pos(' ',x)+1,length(x))+' '+copy(x,1,pos(' ',x)-1);
Пример 7-2. В символьной строке Х подсчитать количество K слов. Считаем, что число слов равно числу пробелов +1. Первый вариант программы P7_2 имеет недостаток. Если перед первым словом предложения или после последнего имеются пробелы, или внутри фразы встречается более одного пробела разом, число найденных слов окажется больше фактического. Исправим программу с учетом этих обстоятельств. Во втором варианте добавлен просмотр начала фразы до первого не пробела (j – номер первого значащего символа). Затем просматривается остаток фразы, где подсчитываются только одиночные пробелы (после пробела в i-ой позиции не должен стоять другой пробел). Дополните программу выдачей по отдельности всех слов предложения и их (справа) длин.
коды |
символы |
0..32 |
управляющие |
65..90 |
A..Z |
97..122 |
a..z |
128..159 |
А..Я (кроме Ё) |
160..175 |
а..п (кроме ё) |
224..239 |
р..я |
240,241 |
Ё,ё |
Пример 7-3. В строке S содержатся русские и латинские символы (заглавные и строчные), цифры и знаки препинания. Преобразовать все символы S в заглавные. Результат занести в D. В программе Х – строка размером в один символ, куда заносятся поочередно все символы из S для преобразования. В результате получим D='абвxyz123ABC'. Преобразование здесь осуществляет оператор вида X:=chr(ord(x[1])-32). Здесь сначала выясняется код ord(x[1]) текущего символа, из него вычитается 32 (т.е. вычисляется код соответствующей заглавной буквы), и, наконец, этот код снова преобразуется в символ.
program P7_3;