- •Введение.
- •Замечание
- •Типы значений переменных.
- •Программа Что видим в результате на экране
- •I вариант
- •II вариант
- •Замечание
- •Замечание
- •Действия Результыты
- •Замечание
- •Оператор выбора Case.
- •I вариант
- •II вариант
- •Элементарная техника программирования.
- •Сумматоры
- •Графика.
- •Замечание
- •Программа
- •Программа
Программа
const n =5;
VAR a : array [1..n] of integer;
S, I : integer;
BEGIN
For I = 1 to n do readln (a [I]);
For I : 1 to n do write ( a [I]; 1);
writehn;
S : = 0;
For I = 1 to n do if a [I] > 0 then S : = S +U [I];
write ('S = ' , S);
END.
IV. Двумерные массивы.
Описание двумерного массива имеет вид:
VAR имя_массива: array [номер_1столбца .. номер_посл_столбца] of тип_данных;
Так, таблица сложения натуральных чисел может быть описана так:
VAR Add : array [1..9,1..9] of Integer;
Обратиться к элементу двумерного массива можно, указав номер строки (индекс I) и номер столбца (индекс I) в квадратных скобках после имени массива. Так, например, на пересечении сложения чисел стоит элемент Add [2,5], он равен 7.
Пример задания двумерного массива:
1 способ (примитивное присваивание)
VAR t : array [1..3, 1..4] of Integer;
BEGIN
t [1,1] : = - 8; … t [1,1] : = - 18;
…
t [3,1] : = 11; … t [3,4] : = 25;
2 способ ( с помощью клавиатуры)
VAR a : array [1..3, 1..4] of Integer;
BEGIN
For I = 1 to 3 do
begin
writehn ('Введите элементы ' , I , ' строки ');
For I : = 1 to 4 do Readhn (a [I , j]);
end; for
Задача.
В доме 3 подъезда по 6 квартир. Число жильцов в каждой квартире известно. Данные хранятся в виде таблицы:
а) жильцов в каждом подъезде
б) во всем доме.
Программа
VAR a : array [1..3, 1..6] of Integer;
y : array [1..3] of Integer;
e , j , f , n : Integer;
BEGIN
n : = 0l; количество жильцов всего дома
For I = 1 to 3 do
begin
writeln ('Введите количество жильцов в ' , I , ' подъезда ')
y [I] : = 0; количество жильцов в I-ого подъезда
for I : 1 to 6 do
begin
read (a [I , j]);
y [I] : = y [I] + a [I , j];
end;
n : = n + y [I];
end;
For f : = 1 to 3 do
writehn (' количество жильцов ' , f , ' подъезда : ' , y [f]);
Writeln (' количество жильцов всего дома = ' , n);
END.
СТРОКОВЫЙ ТИП String. РАБОТА СО СТРОКАМИ.
Вспомним, что описание VAR a : String говорит о том, что переменная а обязана иметь строковое (текстовое значение).
Чтобы сэкономить память, работая в квадратных скобках, после слова String, максимальную длину строки.
Например:
VAR a : String [20]. В этом случае под символы переменной а в память будет отведено 20 байт.
Если задана строка s : = ' Барка ', то считается автоматически заданным массив символов с тем же именем: s [1] = ' Б ' , s [2] = ' a ' , s [3] = ' н ' , s [4] = ' к ', s [5] = ' а '. Тогда после выполнения оператора s [3] : = ' р ' мы получили s = ' Барка '.
Строки можно сравнивать. Условие S1 = S2 считается выполненным, если обе строки абсолютно одинаковы, включая и пробелы. Сравнивание идет посимвольно слева направо. Поэтому считается, что ' панк ' < ' парк ' , так как первый несовпадающий символ ' р ' имеет больший номер в алфавите, чем ' н '.
ПРОЦЕДУРЫ, ФУНКЦИИ И ОПЕРАЦИИ ДЛЯ РАБОТЫ НАД СТРОКАМИ.
Исходные данные |
Операции |
Результат |
Пояснение |
s1: = ' Мото '; s2: = ' роллер ' |
s3: = s1 + s2 или s3: = condet (s1, s2) |
s3 = ' Мотороллер ' |
Операция + над двумя строками просто соединяет две строки в одну. |
s5 = ' Мотороллер ' |
k: = Pos (' рол ', s5) |
k = 5 |
Функция Pos возвращает позицию, на которой находится строка 'рол' в строке s5. В случае, если такой строки нет, то значение функции равно 0. |
s3 = ' Мотороллер ' |
I: = Length (s3) |
I = 10 |
Функция Length (длина) выдает (возвращает) количество символов в строке. |
s3 = ' астроном ' |
s4: = Copy (s3,3,4) |
s4 = ' трон ' |
Функция Copy возвращает часть строки длиной 4 начиная с третьего символа. |
s5 = ' Коробочка '; |
Delete (s5,4,2) |
s5 = ' Корочка ' |
Процедура Delete удаляет из строки s5 два символа начиная с четвертого. |
s6: = ' Рука '; s7: = ' баш '; |
Insert (s7,s6,3) |
s6 = ' Рубашка ' |
Процедура Insert вставляет в строку s6 строку s7 начиная с третьего символа. |
x: = 2.73284 |
Str (x:4:2,s8) |
s8 = ' 2.73 ' |
|
s8 = ' 2.73 ' |
Val (s8,x,Osh) |
x = 2.73 |
|