Алгоритмы решения задач в виде блок-схем и тексты программ решения на языке программирования Pascal ABC
Паскаль — самый удобный язык для изучения основ профессионального программирования. Среди них вычисления и обработка информации, использование объектно-ориентированного программирования — словом, те задачи, с которыми приходится сталкиваться профессиональному программисту. Паскаль — достаточно «старый» программный продукт. Следует заметить, однако, что Паскаль — это живой язык. Известны… Читать ещё >
Алгоритмы решения задач в виде блок-схем и тексты программ решения на языке программирования Pascal ABC (реферат, курсовая, диплом, контрольная)
Паскаль — язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623−1662) и разработан в 1968;1971 гг. Никлаусом Виртом, для обучения студентов методам разработки программ, таким как «программирование сверху вниз», «структурное программирование» и т. д. Вирту не понравился не один из существующих на тот момент языков, и в 1968 году он приступил к разработке своего собственного. Первая версия языка была создана для компьютера CDC 6000. Благодаря своей четкости, логичности и другим особенностям Паскаль надолго занял свою нишу, являясь прекрасным языком для обучения программированию.
Паскаль — самый удобный язык для изучения основ профессионального программирования. Среди них вычисления и обработка информации, использование объектно-ориентированного программирования — словом, те задачи, с которыми приходится сталкиваться профессиональному программисту. Паскаль — достаточно «старый» программный продукт. Следует заметить, однако, что Паскаль — это живой язык. Известны, используются или находятся в стадии разработки компиляторы и среды разработки программ на Паскале для различных операционных систем.
Мы учимся основам программирования в Паскале ABC (Pascal ABC), который был создан на факультете математики, механики и компьютерных наук ЮФУ. Система стала удачной заменой давно устаревшей системе Турбо Паскаль (Turbo Pascal) в первоначальном обучении программированию.
В данной работе представлены алгоритмы решения этих задач в виде блок-схем, программы на языке Pascal ABC, описание задачи и анализ получившихся результатов.
Программа по имени «zadanie1» соответствует структуре программы на языке Паскаль, содержит раздел описания констант, раздел описания переменных (переменные вещественного типа), раздел операторов (используется составной оператор, оператор присваивания, оператор ввода и вывода). Данный алгоритм имеет линейный тип структуры, все действия выполняются последовательно. Ввод переменных b, x вводим с клавиатуры.
где x меняется от xн до xк с шагом дельта x.
Блок-схема программы
Листинг программы
program zadanie2; {Программа по имени zadanie2}
const pi=3.14; {Раздел описания констант}
Var {Раздел описания переменных}
Xn, Xk, dX, d, x, c, a, b, z, z1, z2: 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);
if xn
x:=xn;
while x<=xk do {Пока условие x<=xk истинно, повторять оператор в цикле}
begin
if c>d then z:=d*x*sin (c);
if c=d then z:=1.75*ln (a)/(ln (b)/ln (10))
else
begin
z1:=1+sqrt (x);
z2:=sqrt (z1);
z:=sin (z2);
end;
writeln ('при x=', x:6:3,' ', 'Z=', z:6:3); {Вывод x, B и их числового значения, занимающего 6 позиций, в т. ч. 3 цифры после запятой}
x:=x+dx; {увеличение переменной х на шаг dx}
end;
end
else
begin
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
begin
z1:=1+sqrt (x);
z2:=sqrt (z1);
z:=sin (z2);
end;
writeln ('при x=', x:6:3,' ', 'Z=', z:6:3); {Вывод x, B и их числового значения, занимающего 6 позиций, в т. ч. 3 цифры после запятой}
x:=x-dx; {уменьшение переменной х на шаг dx}
end;
end;
End. {конец раздела операторов и программы}
Алгоритм задачи содержит три типа структур: линейную (математические вычисления), разветвляющуюся (полная форма оператора if), циклическую (оператор цикла с предусловием while…). Ввод переменных d, c, a, b осуществляется с клавиатуры пользователем; начальное значение xn, конечное xk и шаг dx также задаются пользователем. Результат Z вычисляется при каждом значении.
В двумерном массиве A из m строк и n столбцов найти сумму всех элементов и заменить на нули элементы на главной диагонали.
Блок-схема программы
Листинг программы
Program zadanie3; {Программа по имени zadanie3}
Var {Раздел описания переменных}
A: array [1. 1000,1.1000] of real; {A — двумерный массив, который может содержать от 1 до 1000 элементов вещественного типа}
s: real; {Переменные k, s, p — вещественного типа}
i, j, m, n: integer; {Переменные i, j, m, n — целого типа}
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;
{замена элементов главной диагонали на 0}
if m<>n then writeln ('У матрицы нет главной диагонали') else
{если матрица квадратная, то заменить элементы главной диагонали на 0}
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. {Конец раздела операторов и программы}
паскаль программирование массив Задача с использованием двумерного массива, который еще называют матрицей. В задаче A — двумерный массив, который может содержать от 1 до 1000 элементов вещественного типа. Ввод количества строк, столбцов и значения элементов массива осуществляется с клавиатуры. У матрицы может быть главная диагональ — это ряд элементов массива, у которых равны индексы i=j. При наличии такой диагонали матрица называется квадратной. Индексы строк, столбцов, количество строк и столбцов должны быть целыми числами, поэтому используется тип integer. Используется оператор цикла с параметром (for…).
Заключение
В данной работе представлены алгоритмы решения задач в виде блок-схем и тексты программ решения на языке программирования Pascal ABC. Выполняя блок-схемы исполнялись требования ГОСТов.
Данная курсовая работа состоит из трёх заданий:
1) Задача на последовательные вычисления.
2) Задача имеет циклическую и развивающуюся структуру. Используется оператор цикла с предусловием и полная форма условного оператора.
3) Задача на работу с двумерным массивом. Сначала требуется найти сумму всех элементов матрицы, далее-заменить на нули элементы на главной диагонали.
Программы отлажены, дают верный результат, могут решать типовые задачи с разными данными, задающимися пользователем. В процессе решения поставленных задач углублены знания, полученные за время изучения курса информатики. Развиты навыки графического представления алгоритмов и составления программ, углублены знания понятий и основных определений информатики.
Таким образом, считаю основную цель работы достигнутой.
Список используемой литературы
1. ГОСТ 19.002−80 «Схемы алгоритмов и программ. Правила выполнения»
2. ГОСТ 19.003−80 «Схемы алгоритмов и программ. Обозначение условные графические»
3. В. Д. Колдаев «Основы алгоритмизации и программирования», изд. «Форум», 2006 г.
4. Абрамов В. Г., Трифонов Н. П. «Введение в язык Паскаль» — М.: Наука, 1988 г.
5. Абрамов С. А., Зима Е. В. «Начала программирования на языке Паскаль» — М.: Наука, 1987 г.