Алгоритмы решения задач в виде блок-схем и тексты программ решения на языке программирования Pascal

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Введение

Моя курсовая работа состоит из трех заданий, каждое из которых имеет определенный тип структуры.

Первое задание — это задача на последовательные вычисления. Для того чтобы упростить нахождение ответа, задача разбивается на несколько этапов. С помощью вспомогательных переменных выполняются арифметические операции, которые в итоге позволяют вычислить искомую переменную.

Второе задание имеет циклическую и разветвляющуюся структуру. Используется оператор цикла с предусловием и полная форма условного оператора. По какой ветви пойдет решение алгоритма, зависит от начального и конечного значения x, которые пользователь сам вводит с клавиатуры. В итоге программа вычисляет значение переменной R при увеличивающихся на шаг dx значениях x.

Третье задание — задача на работу с двумерным массивом. Требуется сначала найти сумму всех элементов, а затем заменить элементы главной диагонали на 0. Новый получившийся массив и сумма выводятся на экран.

В данной работе представлены алгоритмы решения этих задач в виде блок-схем, программы на языке Pascal, описание задачи и анализ получившихся результатов.

переменная оператор цикл массив

Задание № 1

1.1 Постановка задачи

Вычислить

1.2 Анализ задачи

Задача соответствует линейному типу структуры, т.к. действия в ней выполняются последовательно. Есть оператор присваивания, составной оператор (begin…end), оператор ввода (read) и вывода (writeln).

1.3 Анализ данных

Пользователь сам вводит входные данные -переменную х с клавиатуры. Все переменные (k, x, b, k1, k2) — вещественного типа real, т.к. они могут принимать любые значения. Pi — постоянная, которая равна 3. 14 и описана в разделе описания констант.

K1, k2 — промежуточные переменные. k1=(bx)2. k2=|k1+р|. В переменной k значение переменной k2 возводится в степень. K — результат вычислений, который выводится на экран.

1.4 Решение задачи

1.5 Скриншот программы

Задание № 2

2.1 Постановка задачи

Вычислить, где x меняется от xн до xк с шагом x.

2.2 Анализ задачи

Задача на программирование разветвлений и циклов. Требуется найти значение Z, которое считается по разным формулам в зависимости от соотношения c и d. При этом х меняется от начального до конечного значения с шагом x. Используется условный оператор; в зависимости от того, какое условие является истинным, осуществляется переход к одной из ветвей алгоритма. В этих ветвях выполняются линейные вычисления. В зависимости от соотношения переменных c и d, значение Z вычисляется по разным формулам. После ввода переменных считаем, что х=xn. Указываем предусловие цикла x< =xk. Пока условие истинно, сравниваем c и d b считаем значение Z. После этого х увеличивается на шаг dx и цикл снова выполняется с другим значением х. Цикл выполняется, пока х не станет больше xk. Если начальное и конечное значения совпадают (то есть не будет выполняться изменение шага), то программа считает единственное значение переменной Z при x=xn.

2.3 Анализ данных

Переменные Xn, Xk, dX, d, c, a, b вводятся вручную с клавиатуры. Есть раздел описания переменных (Xn, Xk, dX, d, x, c, a, b, z вещественного типа, потому что могут принимать любые значения), раздел описания констант (pi=3. 14). Z — результат, который после вычисления выводится на экран.

2.4 Решение задачи

program zadanie2;

const pi=3. 14;

Var

Xn, Xk, dX, d, x, c, a, b, z: real;

Begin

writeln ('Введи xn, xk, dx'); read (xn, xk, dx);

writeln ('Введи d'); read (d);

writeln ('Введи c'); read (c);

writeln ('Введи a'); read (a);

writeln ('Введи b'); read (b);

x: =xn;

while x< =xk do

begin

if c>d then z: =d*x*sin (c);

if c=d then z: =1. 75*ln (a)/(ln (b)/ln (10))

else z: =cos (sqr (a*b));

writeln ('при x=', x: 6:3,' ','Z=', z: 6:3);

x: =x+dx;

end;

End.

2.5 Скриншот программы

Задание № 3

3.1 Постановка задачи

В двумерном массиве A из m строк и n столбцов найти сумму всех элементов и заменить на нули элементы на главной диагонали.

3.2 Анализ задачи

Задача с использованием двумерного массива,. В моей задаче A — двумерный массив, который может содержать от 1 до 15 элементов вещественного типа. У матрицы может быть главная диагональ — это ряд элементов массива, у которых равны индексы i=j. При наличии такой диагонали матрица называется квадратной. Если матрица не квадратная, то есть количество строк не равно количеству столбцов, то на экран выводится сообщение «У матрицы нет главной диагонали, т.к. она не квадратная».

Используется оператор цикла с параметром (for…).

При суммировании сначала переменную s нужно обнулить, чтобы не изменилось ее истинное значение.

3.3 Анализ данных

Ввод количества строк (m), столбцов (n) и значения элементов массива (a[i, j]) осуществляется с клавиатуры пользователем.

Индексы строк (i), столбцов (j), количество строк (m) и столбцов (n) должны быть целыми числами, поэтому используется тип integer.

S — результат вычислений вещественного типа, так как может содержать дробную часть.

3.4 Решение задачи

Program zadanie3;

Var A: array [1. 15,1. 15] of real;

s: real; i, j, m, n: integer;

Begin

writeln ('Введите количество строк m'); read (m);

writeln ('Введите количество столбцов n'); read (n);

for i: =1 to m do for j: =1 to n do

begin

write ('Введи а[', i,',', j,']='); readln (a[i, j]);

end;

s: =0;

begin

for i: =1 to m do for j: =1 to n do

s: =s+A[i, j];

writeln ('Сумма всех элементов=', s: 10:3);

end;

if m< >n then writeln ('У матрицы нет главной диагонали') else

begin

for i: =1 to m do for j: =1 to n do

if i=j then a[i, j]: =0;

writeln ('Массив A');

for i: =1 to m do

begin

for j: =1 to n do

write (A[i, j]: 10:3); writeln;

end;

end;

End.

3.5 Скриншот программы

Заключение

В своей работе я представил алгоритмы решения задач в виде блок-схем и тексты программ решения на языке программирования Pascal. Блок-схемы выполнены, опираясь на соответствующие ГОСТы. Программы отлажены, могут решать типовые задачи с разными данными, задающимися пользователем, дают верный и точный конечный результат.

Использованные источники

1) А. В. Могилев «Информатика»

2) ГОСТ 19. 701−90. «Схемы алгоритмов, программ, данных и систем»; ГОСТ 19. 003−80. «Схемы алгоритмов и программ. Обозначения условные графические»

ПоказатьСвернуть
Заполнить форму текущей работой