Перший байт рядка
Приклад 15.3.
Визначити суму вірних дільників чисел, що належать діапазону [2,16].Вірними дільниками числа є всі числа, що націло ділять задане число, за винятком його самого. Для визначення суми вірних дільників чисел використати процедуру.
divisors(n,sum) |
S=0 |
a=др.ч.(n/i) |
a=0 |
Sum=S |
S=S+i |
RETURN |
i=1,n-1 |
T |
F |
ПОЧАТОК |
Вивед. d,s |
Divisors (d,s) |
КІНЕЦЬ |
d=2,16 |
program Sum_div;
VAR
data,results : text; {Приклад 13.1.}
d,sum_of_divisors : integer;
PROCEDURE divisors(n:integer;var Sum:integer);
var a : real;
s,i : integer;
begin
s:=0;
for i:=1 to n-1 do
begin
a:=frac(n/i);
if a=0 then s:=s+i;
end;
Sum:=s;
end; {OF PROCEDURE}
BEGIN assign(results,'res_n6.pas');
rewrite(results);
{Использование процедуры}
writeln(results,'Задане число ','Сума вірних дільників числа ');
For d:=2 to 16 do begin
divisors(d,sum_of_divisors);
writeln(results,d:8,sum_of_divisors:10);
end;
close(results);
END.
Лекція 16
Рядки (String).
Використання рядків у Паскалі
Рядки у Паскалі – широко використовуються для роботи з текстовими даними.
Рядок у Паскалі
Рядок сприймається у Паскалі, як ланцюжок символів, тому до будь-якого символу рядка можна звернутися, як до елемента одновимірного масиву, який об’явлено як
Array [0 .. n] of char;
Розмірність рядка
На відміну від масиву символів кількість символів рядка може змінюватись від 0 до n, де n є максимальна кількість символів у рядку.
Значення n визначається за допомогою об’яви String[n] і може бути будь-якою сталою меншою за 255.
Var NAME: String[25] ;
Рядкові сталі
Якщо в програмі використовується рядкові сталі, то в розділі об’яв програми їм можна надати значень, наприклад:
Const warning=’Стала більша за 75’;
Title=’ Сума до сплати’;
Name= ‘Студент Степченко’;
Змінна рядкового типу
Якщо в програмі використовується змінна рядкового типу, то в розділі об’яв програми повинна бути описана розмірність (тобто довжина ) цієї змінної.
Об’ява розмірності
Розмірність вказується в квадратних дужках після зарезервованого слова String і визначає максимальну кількість символів, які можна розмістити у рядку. Наприклад,
Var Day: String[7] ;
об’являє рядок, який може містити в собі максимально 7 символів.
Найперший байт рядка має індекс 0 і зберігає інформацію про реальну довжину рядка.
Перший символ рядка знаходиться у другому байті і має індекс, що дорівнює 1.
Приклад 16.1 Розділ об’яв
program Test_string;
uses crt;
var dlina:string[10];
lin:string[7];
sym,vlist:integer;
Розділ інструкцій
begin
clrscr; writeln('lin[0]=',ord(lin[0]));
lin:='flower'; writeln(lin);
writeln('lin[0]=',ord(lin[0]));
dlina:='flower-rose'; writeln(dlina);
writeln('dlina[0]=',ord(dlina[0]));
end.
Отримані результати мають вигляд:
lin[0]=0
flower
lin[0]=6
flower-ros
dlina[0]=10