Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
В общем случае процедура может содержать раздел описаний объектов, используемых процедурой для ее внутренних вычислений.
Заметим, что
- аргументы, указанные в описании процедур и функций, называют формальными, чтобы подчеркнуть, что они получают смысл только после задания фактических аргументов при использовании процедуры; параметры, используемые в основной программе, действуют в основной программе и в любой процедуре или функции. Эти имена называют глобальными; параметры, используемые только в процедуре или функции действуют только в ней. Такие имена называют локальными.
Вызов процедуры из основной программы осуществляется по имени процедуры:
имя процедуры (<фактические параметры>);
Причем,
- входные параметры могут быть константами, переменными, арифметическими выражениями; выходные – только переменными; фактические параметры должны по числу и расположению в списке, а также типу, соответствовать списку формальных параметров.
В вызове процедуры параметры являются фактическими, т. е. имена переменных, которые используются в основной программе и принимают конкретные значения. Каждому формальному параметру присваивается значение фактического параметра, задаваемого при вызове процедуры, их значения берутся соответственно списку фактических параметров в вызове процедуры. Результат, вырабатываемый процедурой, передается в основную программу через выходные формальные параметры соответственно списку фактических параметров в вызове процедуры.
Рассмотрим пример, демонстрирующий использование процедуры.
Пример. «Из n кубиков разного цвета выбирается m штук для составления пирамиды. Сколько различных пирамид можно при этом получить».
Эта задача относится к разделу математики, называемому комбинаторика. Количество пирамид равно числу сочетаний (С) из N по M:

При вычислении числителя и знаменателя используется алгоритм вычисления факториала, который следует оформить в виде процедуры. Передавая значения N, M, N–M из основной программы, в процедуре будет вычисляться факториал указанных значений.
формальные параметры а) входной параметр f – значения n, m, n–m б) выходной параметр p – значение вычисленного факториала | фактические параметры а) для n!: входной – n, выходной – nf б) для m!: входной – m, выходной – mf в) (n–m)!: входной – (n–m), выходной – nmf |
Program sochetaniya;
uses crt;
var n, m: integer;
nf, mf, nmf, c: longint;
procedure fact(f: integer; var p:longint);
var i:integer;
begin
p:=1;
for i:=1 to f do p:=p*i;
end;
Begin
clrscr;
write(‘введите значения n и m’); readln(n, m);
fact(n, nf); fact(m, mf); fact(n-m, nmf);
c:=trunc(nf/(mf*nmf));
writeln(‘число пирамид из ’,n,’ по ‘,m,‘ равно ’,c);
End.
Особенности процедур:
1) результатом работы процедуры может быть несколько значений;
2) в основной программе процедура является самостоятельным оператором;
3) значения процедуры получаются с помощью идентификаторов, отличных от имени самой процедуры.
Вопросы
Что такое процедура? Чем отличаются процедуры от функций? Перечислите отличительные черты процедуры. Как оформляется процедура в Паскаль? Как осуществляется вызов процедуры в основной программе? Как «работает» процедура? Какие параметры используются в самой процедуре, а какие при ее вызове? Что такое входные и выходные параметры? Что такое локальные переменные? Что такое глобальные переменные? Сравните особенности функций и процедур.Задания
1. Выполните обработку данных с выводом значений на экран.
23 | 15 | 12 | 6 | 4 | 19 | 3 | 27 | 5 | 11 | 17 | 28 | 14 | 9 |
Для каждого значения определить:
- сумму 10 целых чисел правее по числовой оси все натуральные делители четное или нечетное это число является ли число простым
2. Используя процедуры, составьте программу вычисления
; 
3. Даны четыре числа a, b, c, d. Определить пары чисел, в которых суммы цифр совпадают.
4. Дан текст. Определить сколько в нем:
- цифр, знаков препинания, математических символов.
5. Даны три числа a, b, c. Вычислить 
6. Даны три одномерных массива x, y, z. Найти максимальный и минимальный элементы среди всех массивов.
7. Найти площадь четырехугольника, если известны его стороны и одна из диагоналей.
§10. Обработка текстовой информации
Паскаль позволяет обрабатывать не только числовую, но и текстовую информацию. При обработке текстов используются:
1) символьные константы – любой текст, заключенный в апострофы.
Например: ‘информатика’, ‘Гимназия №2’, ‘2345’;
2) символьные переменные, значениями которых является последовательность символов: а) строка – STRING, длиной не более 255 символов.
Описание: <имя переменной>: STRING[<количество символов>]
б) символ – CHAR, один символ.
Описание: <имя переменной>: CHAR
3) символьные выражения – совокупность символьных констант, переменных, операций и символьных функций, например b + COPY(c, 1, 3).
4) массивы символьных переменных – массивы, значениями элементов которых являются символьные величины.
Перед нами стоит задача - научиться преобразовывать и анализировать тексты. Необходимые текстовые данные для программ следует подготовить заранее, а для их ввода и обработки нужно использовать в программах символьные переменные. Для работы с текстами будем использовать символьные стандартные функции и процедуры, которые можно разделить на несколько групп.
1 группа. Функции обработки символов
1. CHR(x) – возвращает символ, соответствующий коду х в таблице ASCII.
Пример:
x:=CHR(34);
WRITE(x);
Результат: “
2. ORD(x) – возвращает код (номер) символа x в кодовой таблице ASCII.
Пример:
x:= ORD(‘A’);
WRITE(x);
Результат: 65
3. PRED(x) - возвращает символ, предшествующий символу х в таблице ASCII.
Пример:
x:=PRED(‘Б’);
WRITE(x);
Результат: А
4. SUCC(x) - возвращает символ, который следует за символом х в таблице ASCII.
Пример:
x:=SUCC(‘A’);
WRITE(x);
Результат: Б
5. UPCASE(x) – преобразование латинской буквы х из строчной в прописную.
Пример:
x:=UPCASE(‘i’);
WRITE(x);
Результат: I
2 группа. Функции обработки строк
1. LENGTH(s) - возвращает длину строки s.
Каждый символ строки нумеруется, начиная с единицы. Элемент строки с условным индексом 0 фиксирует ее длину.
Пример:
s:=‘Мы изучаем Паскаль’;
write(length(s));
Результат: 18
Для доступа к отдельному символу строки s нужно указать имя строки и в квадратных скобках номер позиции символа в строке.
Пример:
s:=‘Мы изучаем Паскаль’;
a:=s[7];
write(a);
Результат: ч
2. COPY(s, pos, len) - осуществляет копирование из строки s, начиная с позиции pos символов в количестве len, (pos, len – integer, s – string).
Пример:
s:=‘Мы изучаем Паскаль’;
a:=copy(s, 12, 7);
write(a);
Результат: Паскаль
3. POS(s1, s2) – возвращает номер позиции, с которой подстрока s1 встречается в строке s2.
Пример:
s2:=‘Мы изучаем Паскаль’;
s1:=‘Паскаль’;
x:=pos(s1, s2);
write(x);
Результат: 12
3. Процедуры обработки строк
1. INSERT(s1, s2, n) – вставка в строку s2 с позиции n строки s1.
Пример:
s1:=’форма’;
s2:=’интика’;
insert(s1, s2, 3)
write(s2);
Результат: информатика
2. DELETE(s, n, m) – удаление из строки s с n-ой позиции m символов.
Пример:
s:=’информатика’;
delete(s, 3, 5);
write(s);
Результат: интика
3. STR(x, s) - преобразует число х типа integer или real в строку s.
Пример:
a:=123;b:=123.45;
str(a, a1); str(b, b1);
Результат: значением переменной a1 станет строка ‘123’;
значением переменной b1 станет строка ‘1.234500000E+02’.
4. VAL(s, x) - преобразует число, представленное в виде строки s в число x (integer или real),
Пример:
a:=’123’;b:=’1.234500E+02’;
val(a, a1,a2); val(b, b1,b2);
writeln(a1,’ и ‘,b1:6:2);
Результат: 123 и 123.45
Над символами и строками можно производить операцию конкатенации (склейки), обозначается "+". При выполнении этой операции значение очередной символьной величины приписывается к значению предыдущей величины без пробела. Так можно объединять символы и строки в одно слово или предложение.
Пример:
a:=’вело’; b:=’авто’; c:=’дром’;
d:=a+c; e:=a+’спорт’; f:=b+c;
writeln(d,‘,’,e,‘,’,f);
Результат: велодром, велоспорт, автодром
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |


