Файл: Основные структуры алгоритмов: сравнительный анализ и примеры их использования (Теоретические понятия алгоритмов).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 64

Скачиваний: 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.

Заключение

В данной курсовой работе была проведена систематизация и обобщение основных понятий базовых структур алгоритмов.

Были решены следующие задачи:

  • проведен литературный обзор по основным понятиям алгоритмов;
  • рассмотрены и проанализированы базовые структуры алгоритмов;
  • приведены примеры использования базовых структур алгоритмов.

В качестве базовых структур алгоритмов были выявлены: линейная, разветвляющаяся, циклическая. Каждая структура обладает специфическими свойствами, однако возможны их взаимопроникающие комбинации, например, разветвляющейся и циклической.

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

Создание базовой структуры алгоритма - это очень удобная и творческая система решения задачи, в результате которой представляется возможным просчитать каждый свой шаг и не сделать ошибку. Алгоритм просто необходим в жизни современного человека. Каждый из нас хотя бы раз в жизни действовал по алгоритму, отсюда ещё раз можно сделать вывод насколько важно применение алгоритма в жизни современного человека.