Элементарное программирование в среде ТurboPascal 7.0

Страницы работы

Содержание работы

Элементарное программирование

в среде  Т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.


Определенный интеграл

Похожие материалы

Информация о работе