Автор работы: Пользователь скрыл имя, 12 Февраля 2011 в 18:08, шпаргалка
Работа содержит ответы на вопросы по дисциплине "Информатика".
writeln (‘summa chisel’, a:3:1, ‘and’, b:3:1, ‘=’, s:3:1);
readln;
end.
11.Паскаль имеет набор стандартных функций. Однако он граничен. Но пользователь может расширить список функций, добавив свои. Список стандартных функций:
ACOS | вычисляет арккосинус |
ASIN | вычисляет арксинус |
ATAN | вычисляет арктангенс |
ATN2 | вычисляет арктангенс с учетом квадратов |
COS | вычисляет косинус угла |
COT | возвращает котангенс угла |
EXP | возвращает экспоненту |
FLOOR | выполняет округление вниз |
LOG | вычисляет натуральный логарифм |
LOG10 | вычисляет десятичный логарифм |
PI | возвращает значение "пи" |
POWER | возводит число в степень |
RADIANS | преобразует значение угла из градуса в радианы |
RAND | возвращат случайное число |
ROUND | выполняет округление с заданной точностью |
SIN | вычисляет синус угла |
SQRT | извлекает квадратный корень |
TAN | возвращает тангенс угла |
Подпрограмма-функция предназначена для вычисления какого-либо параметра.
FUNCTION имя (список параметров:тип):тип;
FUNCTION имя:тип;
Тип результата есть тип значения функции. Список параметров такой же как и у процедуры, только здесь все параметры-аргументы. Имя переменной, которая хранит значение функции совпадает с именем самой функции. Другой особенностью написания функции является наличие в нем хотя бы одного оператора присваивания, в левой части которого стоит имя определяемой функции, а в правой – выражение для вычисления результата функции. Функция вызывается только с помощью некоторого выражения. Для того, чтобы обратиться к функции необходимо использовать ее имя со списком фактических параметров в каком-либо выражении, тип которого совпадает с типом значения функции. Таким образом, функции имеет ряд отличий от процедур. Первое отличие функции в ее заголовке. Он состоит из слова function, за которым следует имя функции, далее в круглых скобках - список формальных параметров, затем через двоеточие записывается тип функции - тип возвращаемого параметра. Функция может возвращать параметры следующих типов: любого порядкового, любого вещественного, стандартного типа string. Второе отличие заключается в том, что в теле функции хотя бы раз имени функции должно быть присвоено значение.
program p2;
var f, b, s, t, c, d : real; { глобальные параметры}
function stp (a, x : real) : real;
var y : real; { локальные параметры}
begin
y := exp (x * ln ( a)) ;
stp:= y;{присвоение имени функции результата вычислений подпр-мы}
end; { описание функции закончено }
begin {начало основной программы }
d:= stp (2.4, 5); {вычисление степеней разных чисел и переменных }
writein (d, stp (5,3.5));
read (f, b, s, t); c := stp (f, s)+stp (b, t);
writeln (c);
end.
12.Функция – это подпрограмма, предназначенная для вычисления какого-либо параметра.
Рекурсия – это
такой способ организации вычислительного
процесса, при котором подпрограмма
в ходе выполнения составляющих ее
операторов обращается сама к себе.
Эта возможность связана с
тем, что при каждом новом обращении
к подпрограмме параметры, которые
она использует, заносятся в стек,
причем параметры предыдущего
Термин рекуррентные соотношения связан с американским научным стилем и определяет математическое задание функции с помощью рекурсии. При каждом обращении к рекурсивной функции в стеке выделяется место для: адреса возврата в вызывающую функцию и вершины стека вызывающей функции (4 байта), списка фактических параметров (может быть пустым), локальных переменных рекурсивной функции (могут отсутствовать).
Наличие в
задаче рекуррентного соотношения
позволяет использовать рекурсию. Например,
арифметическая прогрессия – последовательность
чисел, в которой разность между
последующими и предыдущими членами
остается неизменной и называется разностью
прогрессии. То есть каждый следующий
член прогрессии равен предыдущему,
увеличенному на разность прогрессии.
13. Массивы – объединение фиксированного числа однотипных величин. Они относятся к структуре прямого доступа, это достигается путем индексации его элементов. Массивы: одномерные и двумерные.
Двумерные массивы.
Двумерный массив представляет собой таблицу, он является матрицей. Потому для определения позиции элемента в таком массиве необходимы два индекса. Двумерные массивы описывают путем указания границ изменения индексов строк и столбцов. Объявление двумерного массива похоже на объявление одномерного, отличается лишь индексация.
VAR M:array [1..20, 1..10] of REAL; {20 строк, 10 столбцов}
M[10,5] - элемент 10 строки, 5 столбца
M[i,j] – общее обозначение
Массив принадлежит к структурным величинам.
TYPE- раздел типов, после пишется имя вводимого типа, а затем после знака «=» определяется этот тип.
TYPE massiv=array [1..20,1..10] of REAL;
VAR M:massiv;
CONST – раздел констант, используется для задания числа строк и столбцов.
CONST m=20; n=10;
VAR M:array [1..m, 1..n] of REAL;
При работе с двумерными
массивами принято
Процедура ввода:
PROCEDURE VVODMAS(VAR M:massiv);
BEGIN
FOR i:=1 to m DO
FOR j:=1 to n DO
M [i,j]:=-50+RANDOM(100);
END;
Процедура вывода:
PROCEDURE VIVODMAS(VAR M:massiv);
BEGIN
FOR i:=1 to m DO
BEGIN
FOR j:=1 to n DO
WRITELN (M[i,j]:5];
WRITELN;
END;
END;
14.Массивы – объединение
фиксированного числа
Одномерные массивы.
Индекс позволяет обратиться к любому элементу прямым путем -->каждый элемент массива характеризуется общим именем и персональным индексом. Массив требует объявления в разделе объявлений.
1)имя массива, общее для всех элементов;
2)тип компонента;
3)указание числа
элементов и одновременно
4)служебное слово, указывающее, что это
именно массив.
VAR M:array [тип индекса] of ТИП КОМПОНЕНТЫ;
Нет никаких ограничений для типов компонент (за исключением файла). Для объединенных массивов можно использовать: целые числа, вещественные числа, CHAR, записи, строки и т.д.
Тип той величины, которой индексируют элементы массива, может быть только ординальным! (нельзя !!!REAL).
VAR M:array [1..10] of REAL;
N:array [‘A’..’z’] of INTEGER;
Раздел типов TYPE служит для формирования своих структурных типов.
TYPE mas=array [1..10] of REAL;
VAR M:mas;
Обработка массивов.
Программы работы с
массивами имеют следующую
Любая программа начинается с заполнения массива. Элемент массива является просто переменной. Способы задания:
BEGIN
RANDOMIZE;
RANDOM(101)+1;
FOR i:=1 to N DO
M[i]:=-50+RANDOM(101);
Вывод элементов массива на экран:
15. Строка – последовательность символов, т.е. последовательность элементов типа CHAR. Строковая константа – последовательность символов, заключенная в апострофы.
‘informatika’
‘monitor’
‘abc35ed’
В Паскале длина строки ограничена - 255 символов.
STRING – строка, величина с нефиксированной длиной символов, в этом ее преимущество от одномерного массива.
VAR ST:STRING; {255 байт на хранение}
VAR ST:STRING[N]; {N-граница сверху}
Индексация принудительная, обязательно с 1!
Операции над строками.
‘abc’+’cde’=’abccde’
‘cde’+’abc’=’cdeabc’
При сравнении строк осуществляется посимвольное сравнение, начиная с младшего байта.
1 этап. Система программирования смотрит на нулевые байты.
2 этап. Если нулевые байты равны, то проверяются остальные символы
Две строки равны если все элементы соответственно равны друг другу.
‘папа’>’мама’,
т.к. «м»<«п».
16. Процедуры и функции работы со строками.
Строка – последовательность символов, т.е. последовательность элементов типа CHAR.
Функции:
Concat (S1,S2,S3..SN);
ST:=CONCAT(‘infor’,’matika’);
ST:=’informatika’;
Без нее можно обходиться, склеивать строки операцией конкатенации. Все аргументы и значения функции типа STRING;
N:=length(ST);
Write (S[length(S)]);
COPY (ST,N1,n);
3 аргумента: строка, две величины типа INTEGER;
N1 - № символа, извлекаемого объекта;
n - число извлекаемых символов.
Значение этой функции – величина типа STRING.
ST:=’informatika’;
ST1:=COPY(ST,3,3);
ST1:=’for’;
Для извлечения, например, одного символа, третьим параметром является 1. Строка ST не меняется!
POS (ST1, ST2);
POS (‘for’,’informatika’);