Автор: Пользователь скрыл имя, 18 Января 2012 в 15:30, курсовая работа
Практика программирования показала необходимость научно обоснованной методологии разработки и документирования алгоритмов и программ. Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством. Создание алгоритма, пусть даже самого простого, - процесс творческий. Он доступен исключительно живым существам. Эта методология должна касаться анализа исходной задачи, разделения ее на достаточно самостоятельные части и программирования этих частей по возможности независимо друг от друга.
Введение.......................................................................................................................
Разработка алгоритмов...........................................................................................
Понятие алгоритма и его свойства..................................................................
Виды представления алгоритмов....................................................................
Линейные алгоритмы.......................................................................................
Ветвящиеся алгоритмы....................................................................................
Циклические алгоритмы..................................................................................
Используемые программные средства..................................................................
Pascal..................................................................................................................
Excel...................................................................................................................
Система MathCad..............................................................................................
Решение задач.........................................................................................................
Задание № 1.......................................................................................................
Задание № 2.......................................................................................................
Задание № 3.......................................................................................................
Задание № 4.......................................................................................................
Задание № 5.......................................................................................................
Задание № 6.......................................................................................................
Задание № 7.......................................................................................................
Задание № 8.......................................................................................................
Задание № 9.......................................................................................................
Задание № 10..................................................................................................
Задание № 11..................................................................................................
Задание № 12..................................................................................................
Заключение...................................................................................................................
Список литературы.................................
а) если a <0, то вычисляем;
б) в противном случае ;
4) Выводим вычисленное ;
5) Конец.
х, у
a < 0
Вывод f(a)
Конец
Да
Нет
Рисунок
7. Блок-схема к задаче №3
Этап 5. Составление программы.
• выбор языка программирования;
• уточнение способов организации данных;
• запись алгоритма на выбранном языке программирования.
Код программы:
Program Zadacha3;
uses crt;
var a, f: real;
begin
textbackgroun
textcolor(16)
clrscr;
write(‘
readln(a);
if (a<0) then
f:=-a
else
f:=a*a;
writeln(‘f(a)
readln;
end.
Этап 6. Отладка программы.
Рисунок
8. Результат работы программы “Zadacha3”.
Этап 7. Анализ результатов.
Анализ
результатов решения задачи и
уточнение в случае необходимости
математической модели с повторным
выполнением этапов 2-5.
Этап 1. Постановка задачи.
В
данной действительной квадратной матрице
порядка n найти сумму элементов
строки, в которой расположен элемент
с наименьшим значением. Предполагается,
что такой элемент единственный.
Этап 2. Формирование математической модели задачи.
Входные данные – число n (порядок квадратной матрицы).
Выходные данные – произвольно заполненная матрица, наименьшее число в данной матрице, строка, в которой оно находится и сумма элементов этой строки.
Необходимо
сначала заполнить нашу матрицу
произвольными числами. Теперь нужно
найти наименьшее число в этой
матрице. Воспользуемся сравнением
соседних чисел, при этом найдем номер
строки, в которой находится искомое
число. Дальнейшим действием будет
непосредственное решение поставленной
задачи – нахождение суммы элементов
строки, в которой находится наименьший
элемент.
Этап 3. Выбор и обоснование метода решения.
В
данной задаче используется структура
вложенных циклов, так как производится
обработка данных матрицы – двумерного
массива. Кроме того, используется структура
ветвление для проверки состояния
значений элементов матрицы, так
как от них зависит формирование
всех необходимых по условию значений
элементов.
Этап 4. Алгоритмизация вычислительного процесса.
1) Начало;
2)
Вывод сообщения: «Введите
3) Ввод n;
4)
Задаем значение переменной-
5) Проверяем, если i <= n, то ПУ на 6), иначе на 12);
6) Задаем значение переменной-счетчику по столбцам j=1;
7) Проверяем, если j <= n, то ПУ на 8), иначе на 11);
8) Заполнение матрицы через операцию random: a[i,j]=random(100)+4;
9) Вывод a[i,j];
10) j = j +1; ПУ на 7);
11)
i = i +1; ПУ на 5);
12) Инициализируем min = a[i,j];
13) Задаем значение переменной-счетчику по строкам i=1;
14) Проверяем, если i <= n, то ПУ на 15), иначе на 20);
15) Задаем значение переменной-счетчику по столбцам j=1;
16) Проверяем, если j <= n, то ПУ на 17), иначе на 19);
17) Проверяем, если a[i,j] < min, то min = a[i,j] и str_i = i ;
18) j = j +1; ПУ на 16);
19) i = i +1; ПУ на 14);
20) Вывод сообщения: «Минимальный элемент, равный ’min’,находится в ’str_i’ строке »;
21) Инициализируем sum = 0;
22) Задаем значение переменной-счетчику по столбцам j=1;
23) Проверяем, если j <= n, то ПУ на 24), иначе на 26);
24) sum = sum + a[str_i,j];
25) j = j +1; ПУ на 23);
26) Вывод сообщения: «Сумма элементов ’str_i’ строки равна ’sum’»
27) Конец.
Нет
Да
Начало
n
a[i, j]<min
Вывод a[i, j]
Конец
min = a[i, j]
sum = 0
sum = sum + a[str_i, j]
min = a[i, j]
str_i = i
Вывод
‘Сумма «str_i» строки равна «sum»’
i = 1..n
j = 1..n
i = 1..n
j = 1..n
Вывод
‘Минимальный элемент, равный «min», находится в «str_i» строке’
j = 1..n
Рисунок 9. Блок-схема
к задаче №4
Этап 5.Составление программы.
• выбор языка программирования;
• уточнение способов организации данных;
• запись алгоритма на выбранном языке программирования.
Код программы:
Program Zadacha4;
uses crt;
var a: array[1..100,1..100] of integer;
i, j, n, str_i, min, sum: integer;
begin
textbackgroun
textcolor(8);
clrscr;
randomize;
write (‘Vvedite poryadok matrici ot 2 do 10: ‘);
readln (n);
writeln;
for i:= 1 to n do begin
for j:= 1 to n do begin
a
w
end;
writeln;
end;
writeln;
min:= a[i,j];
for i:= 1 to n do
f
writeln(‘Min element, ravnii ‘,min,’, nahoditsya v ‘,str_i,’ stroke’ );
sum:= 0;
for j:= 1 to n do
sum:= sum + a[str_i,j];
writeln(‘
readln;
end.
Этап 6.Отладка программы.
Рисунок
10. Результат работы программы “Zadacha4”.
Этап 7. Анализ полученных результатов.
Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2-5.
Этап
1. Постановка задачи.
Получить
квадратную матрицу порядка n.
Рисунок
11. Задание № 5.
Этап
2. Формирование математической
модели задачи.
Входные данные – n, размерность квадратной матрицы М.
Выходные данные – целочисленная квадратная матрица M[i,j] порядка n.
В
данной задаче необходимо правильно
сформировать массив. Так как матрица
– двумерный массив, при равных
номерах строки и столбца массив
будет принимать значение n-1.
Для этого введем дополнительную переменную
temp.
Этап 3. Выбор и обоснование метода решения.
В
этой задаче используется структура
вложенных циклов, так как
матрица – двумерный массив и
структура ветвления необходима
для определения положения
Этап 4. Алгоритмизация вычислительного процесса.
1) Начало;
2) Введем n;
3) temp:=n и a[1,1]:=n;
4)
Задаем значение переменной-
5) Проверяем, если i <=n, то ПУ на 6), иначе на 13);
6)
Задаем значение переменной-
7) Проверяем, если j <=n, то ПУ на 8), иначе на 10);
8) Проверяем, если j=i, тогда ПУ на 9), иначе на 10);
9) Проверяем, если j>1, тогда temp:=temp-1 и a[i,j]:=temp, иначе на 10);
Информация о работе Разработка алгоритмов различной структуры с помощью программных средств