Элементарное программирование
в среде ТURBOPASCAL-7.0
Некоторые правила программирования на языке PASCAL были описаны в предыдущем разделе. Поясним еще раз смысл основных понятий программирования.
Алгоритм – то или иное описание всех действий, которые должны быть выполнены для решения данной задачи.
Описательный алгоритм – алгоритм, составленный на естественном, в частности математическом, языке.
Графический алгоритм – компактная форма записи алгоритма в виде специальных графических знаков, с указанием связей между ними.
Алгоритм в виде программы – конечный продукт разработки алгоритма в виде программы, записанной на языке программирования.
Виды программ. Программы могут быть линейными, разветвляющимися и циклическими.
Линейные программы имеют алгоритм, при котором каждая последующая операция выполняется строго за предыдущей. Все операции исполняются от начала до конца.
У разветвляющихся программ вычисления производятся в различных частях в зависимости от задания исходных данных или результатов вычисления. Это обеспечивается условными операторами.
Циклические программы обеспечивают циклическое (т.е. повторяющееся) выполнение отдельных фрагментов заданное иди неопределенное число раз – до получения результата с заданной погрешностью.
Факториал при целом n>=1
n! = n* (n-1)/(n-1)*…*2*1
Фрагмент программы вычисления факториала:
Writeln (введитечисло N);
Readln (n);
k :=1;
For i:=1 to n do
k: = k * i;
Writeln(‘факториалчисла ’,n,’равен’,k);
Одномерная матрица – одномерный массив чисел вида
Двухмерная матрица – двухмерный массив чисел вида
Матрица характеризуется размерностью nxm, т.е. произведение числастолбцовnна числострок m.
Ввод матрицы обычно задается по строкам с помощью двух циклов.
1. Задаем значения I от 1 до M во внешнем цикле.
2. Задаем значение J от 1 до N во внутреннем цикле.
Например:
Program l1;
Var a: array [1…10, 1…10] of Real;
i, j : integer;
Begin
For i:=1 to 10 do
For j:=1 no 10 do
a[i,j]:=random(50);
end.
Или
Program l2;
Var a: array [1…10, 1…10] of Real;
Begin
Writeln(‘Задайте значение элементов матрицы’);
For i:=1 to 10 do
For j:=1 no 10 do
Readln(a[i,j]);
end.
Вывод матрицы организуется, как и ввод, с помощью двух циклов, Только вместо оператора ввода, во внутреннем цикле используется оператор вывода, при этом оператор Write(a[i,j])выводит на экран непосредственно элементы матрицы по строкам, а оператор Writelnвыполняет при выводе информации на экран переход на другую строку.
Например:
Program l2;
Var a: array [1…10, 1…10] of Real;
i,j:integer;
Begin
Writeln(‘Задайте значение элементов матрицы’);
For i:=1 to 10 do
For j:=1 no 10 do
Readln(a[i,j]);
For i:=1 to 10 do
Begin
For j:=1 no 10 do
Write(a[i,j]);
Writeln;
end;
end.
При вычислении сумм матрицы, сумма строки (или столбца) вычисляется во внутреннем цикле, а сумма всей матрицы вычисляется в результате действий обоих циклов.
Например:
Program l3;
Var a: array [1…10, 1…10] of Real;
i,j:integer;
K,S:real;
Begin
Writeln(‘Задайте значение элементов матрицы’);
For i:=1 to 10 do
For j:=1 no 10 do
Readln(a[i,j]);
For i:=1 to 10 do
Begin
S:=0;
For j:=1 no 10 do
S:=S+a[i,j];
Writeln(‘Сумма’,i,’ строки равна’, S);
K:=K+S;
end;
Writeln(‘Суммаэлементов матрицы равна’, K);
end.
При нахождении максимального (минимального) элемента матрицы в цикле используют условный алгоритм.
Например: найти минимальный элемент всей матрицы.
Program l4;
Var a: array [1…10, 1…10] of Real;
i,j,n,m:integer;
K,:real;
Begin
Writeln(‘Задайте значение элементов матрицы’);
For i:=1 to 10 do
For j:=1 no 10 do
Readln(a[i,j]);
K:=a[1,1];
For i:=1 to 10 do
For j:=1 no 10 do
If a[i,j]<K then
Begin
K:=a[i,j];
n:=i;
m:=j;
end;
Writeln(‘Минимальный элемент матрицы a[‘,n,’,’,m,’]равен',K);
end.
Например: найти минимальный элемент каждой строки и вывести на экран.
Program l5;
Var a: array [1…10, 1…10] of Real;
i,j,n,m:integer;
K,:real;
Begin
Writeln(‘Задайте значение элементов матрицы’);
For i:=1 to 10 do
For j:=1 no 10 do
Readln(a[i,j]);
For i:=1 to 10 do
Begin
K:=a[i,1];
For j:=1 no 10 do
If a[i,j]<K then
Begin
K:=a[i,j];
n:=i;
m:=j;
end;
Writeln(‘Минимальный элемент’,i,’ строкиравен',K);
end;
end.
Определенный интеграл
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.