Слайд 3Порядок выполнения инструкции for…to..do
Вычисляются <начальное значение> и <конечное значение >. Один лишь
раз!
Переменной < параметр цикла > присваивается <начальное значение>.
Если значение <параметра цикла> превышает <конечное значение>, то цикл заканчивается.
Выполняется тело цикла.
Переменной < параметр цикла > присваивается следующее значение.
Выполнение продолжается с пункта 3.
Слайд 5Пример использования цикла for
function factorial(n:integer):int64;
var i:integer;
begin
result:=1;
for i:=1 to n
do
result:=result*i
end;
Слайд 6Пример использования цикла for
function power(x:real; n:integer):real;
var i:integer;
begin
result:=1;
for i:=1 to
n do
result:=result*x;
end;
Слайд 7Среднее арифметическое
(Цикл с for)
function average( n : integer ) : real;
var sum:real;
count: integer;
begin
sum := 0;
for count :=n downTo 1 do
begin
sum := sum + random();
end;
result := sum / n;
end;
Слайд 8Какой будет result?
…
b:=10; result :=0;
for i:=result to 2*b do
begin
result := result
+1;
b:=b-1;
end;
…
Слайд 9Табулирование функции
Procedure tab(x0, xMax, step : real;)
// Начальное (х0), текущее (х),
конечное (xMax),шаг (step)
var x,y : real; k, i : integer; s : string;
begin
k:= round((xMax-x0)/step); // k- номер последней строки
for i:=0 to k do // i – номер текущей строки begin
x := x0 + step * i; // x - очередное значение х
y := sin(x); // y - очередное значение y s := format(‘x=%5.3 y =%5.3’,[x,y] ); memo1.Lines.Append(s);
end;
end;
Слайд 12Тип String (ShortString)
Строка – это тип данных, которому соответствует последовательность символов. При
работе со строками оперируют понятиями:
имя строки,
размер строки,
символ,
номер символа (индекс).
Слайд 13Тип String (ShortString)
Данные типа ShortString представляют собой последовательности 8-битовых ANSI символов, количество
которых может быть от 0 до 255. Длина строки в процессе работы программы может изменяться, но размер выделяемой памяти при этом не меняется и равен 256 байтов.
Начальный (нулевой байт) используется для хранения длины строки, в остальных хранятся символы строки.
Поэтому символы нумеруются с 1 и длина строки не может быть больше 255.
Слайд 14Типы пользователя для ShortString
type
Tstring10 = String[10];
var myString: Tstring10;
Эта запись
равносильна такой:
var MyString: string[10];
Но так лучше не писать! Так как
procedure Check(S: string[10] ); но
procedure Check(S: Tstring10 );
Слайд 15Операции над строками
>, >=, <, <=, =, <>, +, [ ]
‘papa’<‘mama’ (false)
‘Papa’<‘mama’
(true)
‘papa’>‘pap’ (true)
Var s:string[10]
s:=‘papa’+‘mama’ ; (‘papamama’)
s[1] (‘p’)
Length(s) равно 8
Слайд 16Формирование строк
procedure TForm1.Button1Click(Sender: TObject);
var s: String[20]; i: integer;
begin
s:='';
for i:=1 to
20 do
s := s+intToStr(random(2))[1];
edit1.Text:=s;
end;
Слайд 17Формирование строк
procedure TForm1.Button1Click(Sender: TObject);
var s: String[20]; i: integer;
begin
for i:=1 to 20 do
s[i] := intToStr(random(2))[1];
edit1.Text:=s;
end;
Слайд 18Пример обработки строки
procedure Cod_Decod(var str:string; mask:char);
var m, i:integer;
Begin
m:=ord(mask);
for i:=1 to
length(str) do
if (str[ i ]<>mask) and (str[ i ]<>chr(0))
then str[ i ]:=chr( ord( str[ i ] ) xor m);
end;
Слайд 19Cтандартные процедуры и функции для строк
function Pos (sub: string; S: string): Integer;
function
AnsiUpperCase (const S:string): string
function AnsiLowerCase (const S:string): string
function Copy (S; Index, Count: Integer): string;
procedure Delete (var s: string; ind, сnt:integer);
procedure Insert (ins: string; var S: string; ind: Integer);
function Trim (const S: string): string;
function TrimLeft (const S: string): string;
function TrimRight (const S: string): string