Файл: Основные структуры алгоритмов: сравнительный анализ и примеры их использования (Теоретические понятия алгоритмов).pdf
Добавлен: 31.03.2023
Просмотров: 72
Скачиваний: 1
Рисунок 14 - Результат работы программы
Пример 6: Элементы равнобедренного прямоугольного треугольника пронумерованы следующим образом: 1 – катет (a), 2 – гипотенуза (c), 3 – высота, опущенная на гипотенузу (h), 4 – площадь (S). Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке).
В данной задаче рассматривается комбинация разветвляющейся и циклической структуры алгоритмов.
Комбинированная структура представлена на рисунке 15. Код программы на языке Паскаль АБС.NET:
program prog;
var
N:Integer;
X,a,c,h,S:Real;
begin
writeln;
Write('Введите номер элемента прямоугольного треугольника: ');
Readln(N);
Write('Введите длину элемента: ');
Readln(X);
Case N of
1: begin
a:=X;
c:=a*sqrt(2);
h:=c/2;
S:=c*h/2;
end;
2: begin
c:=X;
a:=c/sqrt(2);
h:=c/2;
S:=c*h/2;
end;
3: begin
h:=X;
c:=2*h;
a:=c/sqrt(2);
S:=c*h/2;
end;
4: begin
S:=X;
h:=Sqrt(S);
c:=2*h;
a:=c/sqrt(2);
end;
end;
Writeln('Длина катета равна: ',a,'; Гипотенуза равна: ',c,'; Высота опущенная на гипотенузу равна: ',h, 'Площадь равна',S);
end.
Рисунок 15 - Комбинированная структура разветвляющегося и циклического алгоритмов
Результат работы данной программы представлен на рисунке 16.
Рисунок 16 - Результат работы комбинации алгоритмических структур
Пример 7: Составить программу заданной обработки массива слов. В процессе обработки использовать множественных тип данных. Заполнение исходных данных – с клавиатуры. Исходный и обработанный массив выводить на экран. Дан массив из n слов произвольной длины (длина слова не превышает 80 символов). Элементами слов могут быть любые графические символы. В слове наименьшей длины удалить все гласные буквы и подсчитать их количество в этом слове.
Разветвляющая структура алгоритма решения данной задачи представлена на рисунке 17.
Рисунок 17 - Результат работы программы
Код программы на языке Паскаль АБС.NET:
program Project1;
const
//Множество гласных букв.
Da = [ //Русские. 'А', 'Е', 'Ё', 'И', 'О', 'У', 'Э', 'Ю', 'Я', 'Ы', 'а', 'е', 'ё', 'и', 'о', 'у', 'э', 'ю', 'я', 'ы', //Английские. 'A', 'E', 'I', 'O', 'U', 'Y', 'a', 'e', 'i', 'o', 'u', 'y' ];
M = 10;
var
S : String;
Arr : array[1..M] of String;
i, IMin, Cnt, LenW, LenA, CntA : Integer;
begin
writeln;
writeln(' Вариант № 11');
writeln;
repeat
Writeln('Задайте массив слов.
Ввод каждого слова завершайте нажатием');
Writeln('клавиши Enter.
Завершить ввод - пустая строка + Enter.');
Cnt := 0;
S := 'X';
while (Cnt < M) and (S <> '') do begin
Readln(S);
if S = '' then Continue;
Inc(Cnt);
Arr[Cnt] := S;
end;
if Cnt = 0 then begin
Writeln('Не введено ни одного слова.');
Writeln('Повторить - Enter.
Выход - любой символ + Enter.');
Readln(S);
Continue;
end;
IMin := 1;
LenA := Length(Arr[IMin]);
for i := 2 to Cnt do begin
LenW := Length(Arr[i]);
if LenW < LenA then begin
IMin := i;
LenA := LenW;
end;
end;
CntA := 0;
S := Arr[IMin];
for i := LenA downto 1 do begin
if S[i] in Da then begin
Inc(CntA);
Delete(S, i, 1);
end;
end;
Writeln('Самое короткое слово в массиве:');
Writeln('Слово: "', Arr[IMin], '"');
Writeln('Индекс: ', IMin);
Writeln('Длина: ', LenA);
if CntA > 0 then begin
Writeln('Количество гласных букв: ', CntA);
Writeln('В слове удалены все гласные буквы.');
end else
Writeln('В слове нет гласных букв.');
Writeln('Слово после обработки: ', S);
Writeln('Повторить - Enter. Выход - любой символ + Enter.');
Readln(S);
until S <> '';
end.
Заключение
В данной курсовой работе была проведена систематизация и обобщение основных понятий базовых структур алгоритмов.
Были решены следующие задачи:
- проведен литературный обзор по основным понятиям алгоритмов;
- рассмотрены и проанализированы базовые структуры алгоритмов;
- приведены примеры использования базовых структур алгоритмов.
В качестве базовых структур алгоритмов были выявлены: линейная, разветвляющаяся, циклическая. Каждая структура обладает специфическими свойствами, однако возможны их взаимопроникающие комбинации, например, разветвляющейся и циклической.
Рассмотренные в данной работе примеры базовых алгоритмических структур имеют широкое применение для большинства прикладных задач на практике, именно данный факт делает эту работу актуальной. Подводя итог можно сказать, что создание решать любые типы задач в не зависимости от их сложности можно с помощью создания структуры алгоритма.
Создание базовой структуры алгоритма - это очень удобная и творческая система решения задачи, в результате которой представляется возможным просчитать каждый свой шаг и не сделать ошибку. Алгоритм просто необходим в жизни современного человека. Каждый из нас хотя бы раз в жизни действовал по алгоритму, отсюда ещё раз можно сделать вывод насколько важно применение алгоритма в жизни современного человека.