Writeln('Введіть натуральне число');Readln(S); {Число вводиться в строкову змінну}A:=0;For I :=1 To Length(S) DoBegin
Val(S[I],X, C); {Цифровий символ перетворюється на число}A:=A+X {Цифри підсумовуються}
End;Writeln('Сума цифр рівна ', A)
End.
Тепер розглянемо ще декілька дій над рядками:
оператор DELETE(S, I, C) із строкової змінної S видаляє C символів, починаючи з I -того;
оператор INSERT(SN, S, I) вставляє підрядок SN в строкову змінну S перед символом з номером I;
функція COPY(S, I, C) повертає підрядок рядка S з C символів, починаючи з символу з номером I;
функція Pos(SN, S) повертає номер символу, з якого в рядку S починається підрядок SN (позицію першого входження підрядка в рядок). Якщо такого підрядка немає, то повертається нуль.
Приклад їх використання : "У введеному рядку замінити усі входження підрядка 'ABC' на підрядки 'KLMNO'".
A:= Pos('ABC ', S);Delete(S, A, 3);Insert('KLMNO ', S, A)
End;Writeln(S)
End.
Визначення типів
Як було згадано раніше, в мові, що вивчається, можливо визначати нові типи змінних. Після визначення цей тип стає доступним для опису змінних, також як і стандартні типи.
Новий тип перед першим його використанням має бути описаний у відповідному розділі описів. Його заголовок - службове слово Type.
Type <Ім'я типу> = <Опис типу>;
Є декілька способів опису. Іноді говорять навіть про види типів (як би це дивно не звучало).
Отже, першим розглянемо так званий перераховуваний тип.
Перераховуваний тип використовується для підвищення наочності програм, дозволяючи записувати в змінні цього типу назви різноманітних об'єктів, досліджуваних програмою. Цей тип є набором ідентифікаторів, з якими можуть співпадати значення параметрів.
Формат опису наступний: <Ім'я типу> = (<Ид.1>, <Ид.2>,? <Ид.n>);
Далі можна визначити будь-яке число змінних вже описаного типу. Зверніть увагу на те, що кожен ідентифікатор може брати участь в описі тільки одного перераховуваного типу.
Цим змінним можна привласнювати тільки значення із списку, визначеного при описі типу. Ці значення не є ні числами, ні строковими величинами, ні навіть величинами логічного типу, тому вони не можуть брати участь в арифметичних, строкових, логічних виразах, а також не можуть бути виведені на екран або принтер. Величини перераховуваного типу можна порівнювати між собою, над їх множиною в мові Паскаль визначено декілька функцій: