Табулирование функций
Вычисление значений функции при изменении аргумента от некоторого начального значения до некоторого конечного значения с определенным шагом это и есть табулирование. Говоря простым языком, вычисление значения функции от изменяющегося алгоритма с известным шагом. Решением будет таблица значений аргумента и функции, которая появится на экране после прохождения компиляции.
Основные моменты:
В блоке переменных прописываем аргумент (х), величину шага (dx) и количество повторений (kn).
В блоке ввода данных нарисуем шапку будущей таблицы (см. пример)
После введения вычисляемой функции не забудьте о приращения шага.
Пример:
…
Writeln (“ “);
Readln ();
Writeln (“_____________________”);
Writeln (“| x | y |”); построение таблицы
Writeln (“_____________________”);
…
х:=x+dx; приращение функции
Далее в решении задач для самостоятельного решения необходимо воспользоваться примером, все остальные части программы уже знакомы Вам из предыдущих работ .
Массивы
Одномерные массивы.
Необходимость в массивах возникает всякий раз, когда при решении задачи приходится иметь дело с большим, но конечным количеством однотипных упорядоченных данных.
Массив – это упорядоченный набор фиксированного количества некоторых значений.
Формат описания массива
<имя массива>:array [<количество>] of <тип компонента>
<имя массива> - идентификатор массива
Array – массив
<количество> - количество элементов в массиве
Of - для
<тип переменных> - описание типа переменных в массиве.
Примеры:
Описание массива состоящего из 100 элементов:
A:array [1..100] of real;
Описание массива по годам 1901-2000:
Vek: array [1901..2000] of integer.
Для использования случайных чисел в Турбо Паскале используются операторы random:real - генерирует случайные числа в диапазоне 0...0.99.
random(i:word):word - генерирует случайные числа в диапазоне 0...1.
randomize - изменение базы генератора случайных чисел.
Переменные:
А- массив, тип integer;
I- параметр цикла, тип integer;
kn – размер массива, тип integer;
Рассмотрим пример с использованием базы генератора случайных чисел:
Вывести 15 значений элементов массива с помощью генератора случайных чисел в диапазоне 0...50 и вывести в строку.
В данном примере будет использован генератор случайных чисел Randomize, необходимо правильно разобраться в условия, для того, чтобы ориентироваться в исходных данных и записать их в блок переменных.
Блок-схема алгоритма будет достаточно простая:
Двумерные массивы
Двумерным массивом (матрица) называется совокупность данных, каждое значение которых зависит от его местоположения в строке и в столбце.
При написании программы существует несколько отличий, чем в написании кода в одномерных массивов.
Var i, j, kn, km : integer;
a:array [1..10,1..10] of real;
begin
writeln (‘введите значения kn, km’);
readln (kn, km);
for i:=1 to kn do
for j:=1 to km do begin
writeln (‘введите значения a[‘i,j,’]=’);
readln (a[i,j]);
end;
….
Так как, двумерный массив это матрица, то кроме переменных i, kn – строки матрицы, необходимо прописать столбцы матрицы j, km. Описание массива в коде массива будет таким же, как в примере, на рисунке №. Далее вводим количество строк и столбцов, используя циклический алгоритм. Такой же алгоритм необходимо прописать и для ввода элементов массива.
Далее написание кода производится в зависимости от поставленной задачи, это может быть нахождения максимального и минимального значений, вычисление среднего арифметического значения в строке или столбце матрицы.
Процедуры и функции
Алгоритм решения задачи проектируется путем разбиения всей задачи на отдельные подзадачи. Обычно подзадачи реализуются в виде подпрограмм.
Подпрограмма - это отдельная функционально независимая часть программы. Любая подпрограмма обладает той же структурой, которой обладает и вся программа.
Подпрограммы решают три важные задачи:
избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты;
улучшают структуру программы, облегчая ее понимание;
повышают устойчивость к ошибкам программирования и непредвидимым последствиям при модификациях программы.
Вызов подпрограммы происходит при каждом употреблении ее имени в основной (или вызывающей) программе. При вызове подпрограммы выполнение основной программы приостанавливается, и управление передается в подпрограмму, где выполняются команды, заданные в ней. Подпрограмма завершается, если выполнены все ее процедуры до завершающего слова End или по специальной команде выхода из подпрограммы Exit. По окончании работы подпрограммы управление возвращается основной программе, иначе говоря, к первой команде, следующей за обращением к этой подпрограмме.
В языке Pascal определяются два типа подпрограмм – процедуры (Procedure) и функции (Function).
Любая программа может содержать несколько процедур и функций.
Структура любой подпрограммы аналогична структуре всей программы.
Подпрограмма должна быть описана до того, как будет использована в программе или другой подпрограмме.
Процедуры и функции объявляются в разделе описания вслед за разделом переменных.
Тогда общая структура программы выглядит так:
Рrogram hh; Label; {описание меток} Const; {описание констант} Type; {описание типов} Var; {описание переменных} Procedure; {описание процедур} Function; {описание функций} Begin . . . . . . end.
Выполнение программы начинается с операторов основной программы. При необходимости вызывается подпрограмма и начинают действовать её операторы. Затем управление передаётся в основную программу, которая продолжает выполняться.
Обращение к подпрограмме - переход к выполнению подпрограммы с заданием информации, необходимой для ее выполнения и возврата.
Подпрограмма вызывается по своему имени с указанием необходимых параметров.
