Файл: Основные структуры алгоритмов: сравнительный анализ и примеры их использования (Реализация циклического алгоритма).pdf
Добавлен: 28.03.2023
Просмотров: 128
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1 Теоретические основы структуры алгоритмов
1.1 Понятие алгоритма и его свойства
1.2 Основные алгоритмические конструкции
Алгоритмическая конструкция «Цикл»
1.3 Обзор программных и аппаратных средств
Глава 2 Практическое применение алгоритмов
2.1 Реализация циклического алгоритма
2.2 Реализация ветвящегося алгоритма
begin
write('Xn = ' );
readln(Xn);
write('Xk = ');
readln(Xk);
write('dx = ');
readln(dx);
write('a = ');
readln(a);
if (Xk < Xn) then
begin
tmp:= Xk;
Xk:= Xn;
Xn:= tmp;
end;
x:= Xn;
proizveden:= 0;
summa:= 0;
count:= 0;
allsumma:= 0;
first:= true;
while (x<=Xk) do
begin
tmp:= z(x);
if (tmp < 0) then if first then
begin
proizveden:= tmp;
first:= false;
end
else
proizveden:= proizveden * tmp
else summa:= summa + tmp;
allsumma:= allsumma + tmp;
Count:= Count + 1;
x:= x + dx;
end;
F:= proizveden + summa;
writeln;
writeln('F = ', F:0:5);
writeln('summa znachenij z = ', allsumma:0:5);
writeln('proizvedenie otricatelnih z = ', proizveden:0:5);
writeln('kolichestvo vicheslitelnih z = ', Count);
readln;
end.
2.3 Реализация линейного алгоритма
Дано: а=5 da=-0.5. Z вычислять по формуле:, где q=a2-a. Считать до тех пор, пока q>0. Определить k-количество вычисленных Z. Вывести на экран a, q, Z, k.
Постановка задачи
Входные данные - а=5 da=-0.5.
Выходные данне – a, q, Z, k.
Цель реализации алгоритма: ввести значение а=5 da=-0.5-константы и при этих значениях вычислить по приведенным фомулам Z и вывести на экран a, q, Z, k.
Исходя из анализа этапа постановки задачи и математического метода решения из условия, мы приходим к выводу, что решение этой задачи будем производить с помощью линейного алгоритма.
Словесное описание алгоритма:
Начало
- A = 5, da = -0.5
- q = a^2 – a
- пока q > 0 делать
- z = q + 1/(q+1)
- увеличиваем К (кол-во вычислений) на 1
- a = a + da
- q = a^2 - a
- выводим на экран a, q, Z, k
Конец
Текст программы
var
k: integer;
a,da,z,q: double;
sd: array of integer;
begin
a:=5;
da:=-0.5;
k:=0;
q:=sqr(a) - a;
while(q > 0) do
begin
z:= q + 1/(q+1);
k:= k + 1;
a:= a + da;
q:=sqr(a) - a;
end;
writeln('a = ', a:0:5);
writeln('q = ', q:0:5);
writeln('Z = ', z:0:5);
writeln('k = ', k);
readln;
end.
Название учебного центра |
Количество неаттестованных учащихся |
|||||
2012 |
2013 |
2014 |
2015 |
2016 |
2017 |
|
Softline |
14 |
32 |
31 |
26 |
12 |
40 |
Интерком |
12 |
24 |
32 |
15 |
18 |
20 |
Найти:
-
- Общее число неаттестованных учащихся за каждый год.
- Среднее число неаттестованных учащихся за каждый год по каждому учебному центру.
- Учебный центр, в котором наибольшее количество неаттестованных учащихся (за год).
- Построить гистограмму неаттестации за каждый год.
1 этап: ввод исходных данных в MS Excel.
Рисунок 1- Ввод данных
2 этап: вычисления.
При выполнении данного задания используются следующие функции:
1. Математические:
СУММ - сумма аргументов
2. Статистические:
- СРЗНАЧ - среднее арифметическое аргументов
- МАКС - максимальное значение из списка аргументов
- МИН - минимальное значение из списка аргументов
Рисунок 2 – Результаты
Рисунок 2.1 – Результаты
Этап 3:Построение гистограммы. Выделяем таблицу, выполняем команду Вставка – Гистограмма и выбираем простую гистограмму.
Результат показан на рисунке
Рисунок 2.2- Гистограмма
Построить график функции f(x) в Excel.
- Определение функции f(x). Для этого в ячейки B2:B19 вводим значение аргумента при помощи автозаполнения, в данном случае с шагом 0,1. В ячейку С3 вводится значение функции, вычисляемое по формуле = 4*B3^3+3*B3^2-8*B3-2/2-3*B3^2. Ячейки С4:С19 заполняются копированием формулы из ячейки С3.
- Построение графика: выделяем диапазон В2:С19, вызываем «Мастер диаграмм». Для построения графика функции лучше выбрать точечную диаграмму, со значениями, соединенными сглаживающими линиями без маркеров. Чтобы график получился выразительным, можно определить промежуток изменения аргумента, увеличить толщину линий, выделить оси координат, нанести на них соответствующие деления, сделать подписи на осях и вывести заголовок.
Рисунок 3 - Построение графика функции
Аналогично делаем для задания б. Разница только в том, что в одной координатной плоскости будет два графика.
Рисунок 3.1 - Построение графика функции
Заключение
Алгоритм точно ограничен, система и правила описаны на некотором языке, который определяет содержание и порядок операций некоторых объектов, строгая реализация которых дает решение поставленной задачи.
Слово "алгоритм" появляется в Средние века, когда европейцы познакомились с способами выполнения вычислений в десятичной системе, описал Узбекистан математик Мухаммад бин Аль-Хорезм ("Аль-Хорезм" - человек из города Хорезм; ныне город Хива Узбекистан в Хорезмской области Узбекистана). Алгоритм слова является результатом европейского произношения слов Аль-Хорезми. Изначально алгоритм должен был понимать, как выполнять арифметические операции над десятичными числами. В дальнейшем это понятие использовалось для обозначения любой последовательности действий, ведущих к решению проблемы.
Ни один из алгоритмов не существует сам по себе, а предназначен для определенного исполнителя (человека, робота, компьютера, языка программирования и т. д.).
Сам алгоритм описан в команде executor, которая его реализует. Объекты, которые исполнитель может выполнять операции, образуют так называемые возникающие в окружающей среде. Исходные данные и результаты любого алгоритма всегда принадлежат среде происходит, какой алгоритм предназначен.
Алгоритм характеризуется следующими свойствами: дискретность, массовость, определенность, результативность, формальность.
Определенность (детерминизм, точность) - свойство алгоритма, показывающее, что каждый шаг алгоритма должен быть определен точно, и избегать различных интерпретаций; также должен быть строго определен порядок отдельных инструкций.
Список использованной литературы
- Агафонов, В.Н. Логическое программирование / В.Н. Агафонов. - М.: [не указано], 2016. - 471 c.
- Алгоритмизация и программирование (+ CD-ROM) / И.Н. Фалина и др. - М.: КУДИЦ-Пресс, 2012. - 280 c.
- Ашманов, С.А. Линейное программирование / С.А. Ашманов. - М.: [не указано], 2015. - 537 c.
- Бартеньев, О. 1С: Предприятие. Программирование для всех / О. Бартеньев. - М.: Диалог МИФИ, 2012. - 464 c.
- Валеева-Сулейманова, Г.Ф. Декоративно-прикладное искусство казанских татар / Г.Ф. Валеева-Сулейманова, Р.Г. Шагеева. - М.: Советский художник, 2016. - 216 c.
- Голуб, А.И. Веревка достаточной длины, чтобы... выстрелить себе в ногу. Правила программирования на Си и Си++ / А.И. Голуб. - М.: [не указано], 2017. - 309 c.
- Де Моран История декоративно-прикладного искусства / Де Моран, Анри. - М.: Искусство, 2016. - 578 c.
- Долгов, А. И. Алгоритмизация прикладных задач / А.И. Долгов. - М.: Флинта, 2013. - 136 c.
- Заковряшин, А. И. Алгоритмизация и программирование вычислительных задач / А.И. Заковряшин. - М.: Science Press, 2013. - 164 c.
- Информатика и программирование. Алгоритмизация и программирование / Н.И. Парфилова и др. - М.: Academia, 2012. - 336 c.
- Канцедал, С. А. Алгоритмизация и программирование / С.А. Канцедал. - М.: Инфра-М, Форум, 2012. - 352 c.
- Канцедал, С. А. Алгоритмизация и программирование / С.А. Канцедал. - М.: Форум, Инфра-М, 2014. - 352 c.
- Карманов, В.Г. Математическое программирование / В.Г. Карманов. - М.: [не указано], 2017. - 832 c.
- Кнут, Д.Э. Искусство программирования (Том 1. Основные алгоритмы) / Д.Э. Кнут. - М.: [не указано], 2017. - 855 c.
- Кнут, Д.Э. Искусство программирования (Том 2. Получисленные алгоритмы) / Д.Э. Кнут. - М.: [не указано], 2016. - 147 c.
- Кнут, Д.Э. Искусство программирования (том 3) / Д.Э. Кнут. - М.: [не указано], 2013. - 407 c.
- Кофман, А. Методы и модели исследования операций. (том 3) Целочисленное программирование. / А. Кофман, А. Анри-Лабордер. - М.: [не указано], 2015. - 369 c.
- Левенталь, Л. Введение в микропроцессоры: Программное обеспечение, аппаратные средства, программирование / Л. Левенталь. - М.: Энергоатомиздат, 2012. - 464 c.
- Мартынов, Н. Н. Алгоритмизация и основы объектно-ориентированного программирования на JavaScript. Информатика и ИКТ. Профильный уровень. 10 класс / Н.Н. Мартынов. - Москва: ИЛ, 2013. - 272 c.
- Ощенко Азбука программирования в 1С: Предприятие 7.7.: моногр. / Ощенко, Игорь. - М.: БХВ-Петербург, 2016. - 520 c.
- Пинтер Visual FoxPro: уроки программирования / Пинтер, Пинтер Лес; , Джон. - М.: Русская Редакция, 2017. - 480 c.
- Розенталь, Р. История прикладного искусства нового времени / Р. Розенталь, Х. Ратцка. - М.: Искусство, 2017. - 240 c.
- Романенко, А. Музей прикладного искусства и быта XVII века. 22 открытки / А. Романенко. - М.: Изобразительное искусство, 2016. - 668 c.
- Сигал, И. Х. Введение в прикладное дискретное программирование / И.Х. Сигал, А.П. Иванова. - М.: ФИЗМАТЛИТ, 2016. - 304 c.
- Трояновский, В.М. Информационно-управляющие системы и прикладная теория случайных процессов / В.М. Трояновский. - М.: Гелиос АРВ, 2014. - 304 c.
- Урман Oracle 8. Программирование на языке PL/SQL. Руководство для программистов Oracle / Урман, Скотт. - М.: ЛОРИ, 2013. - 610 c.
- Федоровский, Ф.Ф. Монументально-декоративное и декоративно-прикладное искусство / Ф.Ф. Федоровский. - М.: Академия художеств СССР, 2016. - 204 c.
- Хворостов, А.С. Декоративно-прикладное искусство в школе / А.С. Хворостов. - М.: Просвещение, 2014. - 175 c.
- Хювёнен, Э. Мир Лиспа. Том 1. Введение в язык Лисп и функциональное программирование / Э. Хювёнен, И. Септянен. - М.: [не указано], 2012. - 780 c.
- Хювёнен, Э. Мир Лиспа. Том 2. Методы и системы программирования / Э. Хювёнен, И. Септянен. - М.: [не указано], 2017. - 956 c.