Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lekcii_po_paskalju.doc
Скачиваний:
4
Добавлен:
04.11.2018
Размер:
391.68 Кб
Скачать

Программа

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]