Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

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

Содержание:

Введение

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

Известно, что математическая теория алгоритмов сложилась вовсе не в связи с бурным развитием информатики и вычислительной техники, а возникла в недрах математической логики для решения её собственных проблем. Она, прежде всего, оказала большое влияние на мировоззрение математиков и на их науку.

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

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

Для реализации поставленной цели необходимо выполнить ряд задач:

- Изучить понятие алгоритма и его свойства;

- Рассмотреть основные алгоритмические конструкции;

- Провести обзор программных и аппаратных средств;

- Изучить реализацию циклического алгоритма;

- Рассмотреть реализацию линейного алгоритма и т.д.

Глава 1 Теоретические основы структуры алгоритмов

1.1 Понятие алгоритма и его свойства

Алгоритм — описанная на некотором языке точная конечная система правил, определяющая содержание и порядок действий над некоторыми объектами, строгое выполнение которых дает решение поставленной задачи.

Слово «алгоритм» появилось в средние века, когда европейцы познакомились со способами выполнения арифметических действий в десятичной системе счисления, описанными узбекским математиком Муххамедом бен Аль-Хорезми («аль-Хорезми» - человек из города Хорезми; в настоящее время город Хива в Хорезмской области Узбекистана). Слово алгоритм – есть результат европейского произношения слов аль-Хорезми. Первоначально под алгоритмом понимали способ выполнения арифметических действий над десятичными числами. В дальнейшем это понятие стали использовать для обозначения любой последовательности действий, приводящей к решению поставленной задачи.[1]

Любой алгоритм существует не сам по себе, а предназначен для определенного исполнителя (человека, робота, компьютера, языка программирования и т.д.).

Сам алгоритм описывается в командах исполнителя, который будет его реализовывать. Объекты, над которыми исполнитель может совершать действия, образуют так называемую среду исполнителя. Исходные данные и результаты любого алгоритма всегда принадлежат среде того исполнителя, для которого предназначен алгоритм.

Алгоритм характеризуется следующими свойствами: дискретность, массовость, определенность, результативность, формальность.

Дискретность (разрывность — противоположно непрерывности) - это свойство алгоритма, характеризующее его структуру: каждый алгоритм состоит из отдельных завершенных действий ("общих шагов").

Массовая применимость алгоритма для всех задач, рассматриваемых как тип, некоторые данные из источника данных.

Определенность (детерминизм, точность) - свойство алгоритма, показывающее, что каждый шаг алгоритма должен быть определен точно, и избегать различных интерпретаций; также должен быть строго определен порядок отдельных инструкций.

Эффективность-свойство любого алгоритма быть конечным (может быть очень большим) числом шагов. Вопрос учета бесконечных алгоритмов-это еще больше, чем теория и алгоритмы.[2]

Формальность-эта особенность указывает на то, что исполнитель способен воспринимать и выполнять указания алгоритма работы официально, то есть отвлекаться от содержания задания и только точно выполнять указания.

Способ описания алгоритмов

Следующие способы описания алгоритма: словесное описание, псевдокод, схема, программное обеспечение.

Словесное описание представляет структуру алгоритма на естественном языке. Например, любой прибор бытовой техники (утюг, электропила, и т. д.) является руководством, т. е. словесным описанием алгоритма, в соответствии с которым должно использоваться устройство.

Нет правил, составьте словесное описание. Алгоритм написан в любой форме, естественной, например, для России. Этот способ описания не является общей, потому что это не совсем официальная ("официальный" означает, что описание полностью подготовлен и будет учитывать все возможные ситуации, которые могут возникнуть в ходе решения); допускает неоднозначность толкования при описании некоторых действий; страдает многословностью.

В псевдокоде описания алгоритма приведена структура естественного, частично формализованного языка, позволяющая выявить основные этапы решения задачи, вплоть до точной записи языка программирования. В псевдокоде используются некоторые формальные конструкции и общепринятая математическая символика.[3]

Строгого синтаксиса для написания псевдокода не существует. Это делает его легче сохранить дизайн алгоритма и вы можете описать алгоритм, используемый с любым набором команд. Однако псевдокод обычно используется для некоторой структуры, присущей официальному языку, что облегчает переход к написанию псевдокодового алгоритма на языке программирования. Единого или формального определения псевдокода не существует, поэтому могут быть разные псевдокоды, различающиеся набором слов и используемыми структурами.

Блок-схема описание алгоритма структура с помощью геометрических фигур связей, показывающая порядок выполнения отдельных инструкций. Этот метод имеет ряд преимуществ. Из-за ясности, он предлагает "читабельность" алгоритма и ясно показывает, так что выполнение отдельных команд. В блок-схеме каждая форма конструкции соответствует определенной геометрической форме или серии фигур, которые соединены линиями.

1.2 Основные алгоритмические конструкции

Элементарные шаги алгоритма можно объединить в следующие алгоритмические конструкции: линейные (бег), разветвленные и циклические.

Разработка линейного алгоритма

Линейным называется вычислительный процесс, в котором операции выполняются последовательно, в порядке их записи. Каждое действие не зависит от каких-либо условий. Изображения в блоках, представляющих эти функции, расположены в линейном порядке.

Линейные вычислительные процессы происходят, например, при вычислении арифметических выражений, когда выполняются определенные числовые данные и соответствующие условия для деятельности задачи. На рисунке 1 приведен пример линейного алгоритма, определяющего процесс, который вычисляется в арифметическом выражении у=(b2-ас):(а+с).

http://bukvasha.ru/img/9a/dopc81431.zip

Рисунок 1 – Линейный алгоритм

Разветвляющаяся алгоритмическая конструкция

Разветвляющейся (или ветвящейся) является построение алгоритма, который предлагает выбор между различными альтернативами в зависимости от значения входных данных. Для каждого набора входных данных, алгоритм ветвления сводится к линейной. Различают неполное (если — то) и совершенное (если — то — другое) ветвления. Вся ветвь позволяет организовать две ветви алгоритма (так или иначе), каждая из которых приводит к общей точке их агрегирования, так что алгоритм будет продолжаться независимо от того, какой путь был выбран.[4]

Ложь (Нет) Истина (Да)

Рисунок 2 - Полное ветвление

Неполное ветвление предполагает наличие некоторых действий алгоритма только на одной ветви (то), вторая ветвь отсутствует, т.е. для одного из результатов проверки никаких действий выполнять не надо, управление сразу переходит к точке слияния (рис. 3).

http://bukvasha.ru/img/9a/dopc81421.zip

Истина (Да)

Ложь (Нет)

Рисунок 3 - Неполное ветвление

В зависимости от типа и числа проверяемых условий различают:

- ветвление с простым условием (условие - выражение отношения);

- ветвление с составным условием (условие - логическое выражение);

- сложное ветвление (несколько условий).

Вариант вычислений, определяемый в результате проверки условия, называется ветвью.

Алгоритмическая конструкция «Цикл»

Циклический процесс многократного повторения определенного диапазона вычислений изменяется, если содержится хотя бы одно из значений.

Повторение диапазона вычислений называется циклом. Цикл организован по определенным правилам. Циклический алгоритм состоит из времени тренировки, тела цикла, условий для продолжения цикла. Цикл обучения включает действия, связанные с набором начальных значений для параметров цикла (начальные и конечные значения, параметры шага цикла). Иногда после цикла подготовки устанавливаются исходные значения и другие значения, используемые в цикле.

Цикл выполняется, образуя тело во время. Тело цикла содержит повторяющиеся меры для расчета желаемых значений; подготовка следующего значения параметра цикла; подготовка других значений должны выполнять действия в организме во время повторного.

Достойное продолжение цикла для определения необходимости выполнения повторяющихся действий (потока тела). Если параметр loop превышает конечное значение, цикл останавливается.

При разработке алгоритма циклической структуры различаются следующие понятия: изменение значения параметра цикла, с которым связано количество циклов выполнения; начальные и конечные значения параметров цикла; значение шага цикла, при котором параметр изменяется с каждым повторением. Связь между текущими и предыдущими значениями цикла параметров определяется законом, параметры цикла изменяются.

Наркомания, предписать повторение цикла, или удалить его, условие называется во время воспроизведения.

Все циклические процессы, основанные на определении количества повторений, делятся на две категории.

Арифметика-это циклический процесс, число повторений, которые могут быть определены заранее, т. е. не зависит от результатов тела в течение.

Итеративно это циклический процесс, количество повторений которого зависит от результатов расчетов в организме цикла и не может быть определено заранее.

На следующих рисунках показаны примеры циклических процессов.

http://bukvasha.ru/img/9a/dopc81434.zip

Рисунок 4 - Блок-схема цикла с предусловием

http://bukvasha.ru/img/9a/dopc81435.zip

Рисунок 5 - Блок-схема цикла с постусловием

1.3 Обзор программных и аппаратных средств

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

Pascal был создан в 1968 году Никлаусом Виртом, после участия в работе комитета по разработке стандарта языка Алгол-68. Он был выпущен в 1970 году в небольшой и эффективный язык, чтобы способствовать хорошему стилю программирования, использовать структурное программирование и структурированные данные.[5]

Pascal был создан для обучения процедурному программированию (хотя, по мнению Вирта, язык можно рассматривать не только как индикативный, поскольку язык, который не соответствует написанию реальной программы, не должен использоваться в обучении). Название языка дано в честь выдающегося француза, математика, физика, литератора и философа Блеза Паскаля.

Компилятор Pascal был написан на самом Pascal с помощью метода продвижения.

Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых языков. По мнению Н. Вирта, язык должен способствовать дисциплине в программном планировании, так что вместе со строгой типизацией Паскаль сведет к минимуму потенциальные синтаксические неоднозначности, а синтаксис автор сам пытается сделать интуитивным, хотя и первое знакомство с языком.

В языке оригинала был, однако, ряд ограничений: невозможность панелей, различающихся по длине для ношения, отсутствие каких-либо нормальных инструментов для работы с динамической памятью, ограниченная библиотека ввода / вывода, отсутствие инструментов, сочетающих функции, написанные на других языках, отсутствие инструментов для разделения состоит и т.д. Детальный анализ недостатков языка Паскаль в это время была проведена Брайан kernig в статье "Почему Паскаль не мой любимый язык "" эта статья вышла в начале 1980-х, когда там был уже язык модуль - 2, потомок Паскаля, который был выпущен большинства его пороков, а также развитие диалектов, некоторые из Паскаля исправлены ошибки ИСО 1982 года, в частности языка, были открыты таблицы, стала возможность использовать те же методы для борьбы с одномерных массивов различных размеров.

Следует отметить, что многие из языковых ошибок не являются очевидными или даже выгоды от обучения программированию. По сравнению с наиболее важным языком программирования в академической среде 1970-х годов (Fortran, который был гораздо более существенным недостатком) Pascal был важным шагом вперед. Начало 1980-х годов академик А. П. Ершов в Советском Союзе обучал школьников основам информатики и вычислительной техники Алгол-паскалеподного "алгоритмического языка".

Наиболее известной реализацией Pascal, обеспечивающей широкое распространение и развитие языка, является Borland Turbo Pascal, который затем увеличил Object Pascal DOS (версии 5.5 и новее) и Windows и продолжил работу на Delphi, где были введены основные языковые расширения.

Диалекты Pascal, используемые в Turbo Pascal для DOS и Delphi для Windows, стали популярными из-за отклонения других успешных коммерческих реализаций.

Описание каждого элемента языка определяется его синтаксисом и семантикой. Определения синтаксиса определяют правила для создания элементов языка. Семантика определяет смысл и правила использования элементов языка, даны синтаксические определения. Паскаль представляет собой оригинальную форму чисто процедурного языка и включает в себя множество алголоподобных конструкций и построек с зарезервированными словами типа если, то, еще, пока, для и т.д. Pascal также включает в себя ряд возможностей для структурирования информации и абстракций, которые отсутствуют в оригинальном algol-60, таких как определение типов, записей, указателей, перечислений и дат. Эти структуры были частично унаследованы или вдохновлены SIMULA-67, Algol-68, созданным хозяином Nicklaus AlgolW и предложенным Hoar.

В современных диалектах (и Free Pascal) такие действия, чем перегрузить операторов и функции, доступны.

таблица Excel

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

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

Использование электронных таблиц для упрощения работы с данными, и вы можете получить результаты без ручных вычислений или программирования. Широкое применение в таблице экономических и бухгалтерских расчетов, а также научно-технических задач, которые могут быть эффективно использованы в качестве таблицы, например:

* Выполнение аналогичных расчетов для больших объемов данных;

* Автоматизация общего расчета;

* Устранение неполадок, выбор значений параметров, табулирование формул;

* Обработка результатов испытаний;

* Поиск оптимальных параметров;

* Подготовка электронных таблиц;

* Создание диаграмм и графиков на основе имеющейся информации.

Одним из самых распространенных инструментов для работы с документами, которые имеют структуру таблицы, является программа Microsoft Excel.

Microsoft Excel-это рабочая таблица, в основном числовая. При создании таблицы с текстовыми и числовыми данными и формулами их пишут, редактируют и форматируют. Наличие средств автоматизации для облегчения функционирования. Созданную таблицу можно распечатать.

Для выполнения задач, связанных с этой курсовой работой, использовались следующие функции Microsoft Excel:

Вы создали рабочую книгу .Как и Word, каждая книга создается в Excel на основе модели с именем model. По умолчанию Excel настроить новый шаблон книги с именем книги. Модель для хранения информации о форматировании ячеек, электронных таблиц и панелей инструментов.

Запись данных в ячейку .Данные вводятся непосредственно в активную ячейку, как показано в строке формулы. Данные также могут вводиться в строку формулы.

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

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

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

Автоматическое Суммирование. Кнопка кнопка Автосумма (Автосумма) может быть использована, если вы хотите автоматически создать формулу, которая суммирует соседние ячейки, которые находятся непосредственно слева от этой линии, и непосредственно выше указанном столбце. Создание диаграмм и диаграмм функций. В программе Excel термин диаграмма используется для отображения всех видов графического представления числовых данных. Создать графическое изображение на основе информации из серии. Как вы называете группу ячеек в отдельной строке или столбце. На диаграмме можно отобразить несколько рядов.

График сменный, вложенные в объект является одним из листов книги. Он может находиться в том же листе, данных или других электронных таблицах (часто для отображения диаграммы предоставляется отдельная электронная таблица). Диаграмма позволяет сохранить информацию о взаимосвязи, на которой она основана, и мгновенно изменить ее внешний вид, когда обновлять эту информацию. Если вы хотите создать диаграмму, вы обычно используете мастер диаграмм, который запускается, нажмите кнопку мастер диаграмм на стандартной панели инструментов. Часто бывает проще выбрать регион, информацию о котором вы хотите отобразить на диаграмме заранее, но вы также можете указать эту информацию во время работы мастера. Mathcad 11, в отличие от большинства других современных математических приложений, построен в соответствии с принципом WYSIWYG ("What You See Is What You Get" — "что Вы видите, то и получите").

Поэтому она очень проста в использовании, в частности, из-за отсутствия необходимости сначала писать программу, реализующую определенные математические вычисления, а затем управлять ее реализацией. Вместо этого, просто написать математическое выражение, используя встроенный редактор формул, а в форме, которая максимально приближена к стандартной, и тогда получите результат, кроме того, есть возможность распечатать копию документа или создать страницу в Интернете в том виде, который этот документ имеет на экране компьютера при работе с Mathcad Маткад создатели приложили максимум усилий, чтобы пользователь без специальных знаний программирования (а большинство из них-ученые и инженеры), он не мог полностью одобрить достижений современной информатики и информационных технологий. Для эффективной работы с редактором достаточно базовых навыков Mathcad. С другой стороны, профессионалы (как сами, так и автор этих строк) могут подобрать намного больше Mathcad, для создания различных программных решений, которые значительно расширят возможности, непосредственно присущие Mathcad.

Согласно задачам реальной жизни, математикам приходится решать одну или несколько из следующих задач:

ввод в компьютер различных математических выражений (для дальнейших расчетов или создания документов, презентаций, веб-страниц);

выполнение математических расчетов;

составление графиков расчета результатов;

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

подготовка отчетов работы в виде печатных документов;

подготовка web-страниц и публикация результатов в Интернете;

получение различной справочной информации из области математики.

Среде Mathcad успешно справляется со всеми этими (и некоторыми другими) задачами:

математические выражения и текст помечаются с помощью редактора формул Mathcad, который не уступает по возможностям и удобству использования, например, формуле-редактору, встроенному в Microsoft Word;

математические расчеты производятся немедленно, в соответствии с формулой;

графики различных типов (выбираются пользователем), богатые возможности форматирования добавляются непосредственно к документам;

возможно, что входные и выходные файлы данных в различных форматах;

документы могут быть напечатаны непосредственно в Mathcad в том виде, в котором пользователь видит на экране компьютера, или сохранить в формате RTF для последующего редактирования более мощного программного обеспечения для редактирования текста (например, Microsoft Word);

возможность сохранения документов в Mathcad 11 в виде веб-страниц (генерация вторичных файлов изображений производится автоматически);

есть возможность комбинирования документов, можно разрабатывать электронные книги, которые, с другой стороны, позволяют записывать математическую информацию удобным способом, а с другой стороны, являются полноценными Mathcad-программами, которые могут выполнять расчеты; символьные вычисления позволяют осуществлять аналитические изменения, а также мгновенный поиск различной математической справочной информации Поэтому необходимо представить, что структура Mathcad включает в себя несколько интегрированных компонентов-мощный текстовый редактор для набора и редактирования текста и формул, информационные технологии, процессор выполняет вычисления по входным формулам и символьный процессор, который, по сути, система искусственного интеллекта этих компонентов создает удобную среду обработки данных, различные математические вычисления и в то же время документирование результатов.[6]

Глава 2 Практическое применение алгоритмов

2.1 Реализация циклического алгоритма

Получить единичную квадратную матрицу порядка n.

Постановка задачи.

Входные данные – n-число строк и столбцов

Выходные данные – матрица размером n*n.

Цель реализации алгоритма: ввести значение n, создать единичную матрицу размера n*n, для этого будем использовать массив.

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

Словесное описание алгоритма:

Начало

  1. Читаем n
  2. Создаем динамический массив размерностью nxn
  3. В цикле заполняем значениями его элементы:

Если номер строки и номер столбца совпадают, то 1

Иначе 0.

  1. Выводим массив на экран.

Конец

Текст программы

program Project5;

var

A: array of array of byte;

n,i,j: integer;

begin

write('n = ');

readln(n);

SetLength(A,n);

for i:= 0 to n-1 do

SetLength(A[i],n);

for i:= 0 to n-1 do

for j:= 0 to n-1 do

if (i = j) then A[i,j]:= 1

else A[i,j]:= 0;

for i:= 0 to n-1 do

begin

writeln;

for j:= 0 to n-1 do

write(A[i,j],' ');

end;

writeln;

readln;

end.

2.2 Реализация ветвящегося алгоритма

Вычислить значения z, соответствующие каждому значению х (хn<=x<=xk шаг изменения х равен dx) по формуле .

Вычислить, сумму значений z, произведение отрицательных значений z, количество вычислительных z. Контрольный расчет провести при а=2.62, хn=-3, xk=3, dx=0.6.

Постановка задачи.

Входные данные - Xn, Xk, dx, a.

Выходные данне – Z и F.

Цель реализации алгоритма: ввести значение Xn, Xk, dx, a, и при этих значениях вычислить по приведенным фомулам Z и F.

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

Словесное описание алгоритма:

Начало

  1. Читаем Xn, Xk, dx, a
  2. x = Xn
  3. Пока x <= Xk делаем:
  4. Вычисляем z
  5. Если z >=0 то добавляем его в сумму положительных z

Иначе в произведение отрицательных

  1. Добавляем z в общую сумму
  2. Увеличиваем на 1 количество посчитанных z
  3. x = x + dx
  4. F = произведение отрицательных z + сумма положительных z
  5. Выводим полученные значения на экран

Конец

Текст программы

program Project6;

var

Xn, Xk, x, dx, a, tmp,

summa,

proizveden,

F,

allsumma : double;

Count: integer;

first: boolean;

function z(x: double): double;

begin

z:= (sqr(a*x)*exp(1/3*ln(1/sqr(a+x))) )/( a*ln(a + sqr(x)) ) ;

end;

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.

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

Словесное описание алгоритма:

Начало

  1. A = 5, da = -0.5
  2. q = a^2 – a
  3. пока q > 0 делать
  4. z = q + 1/(q+1)
  5. увеличиваем К (кол-во вычислений) на 1
  6. a = a + da
  7. q = a^2 - a
  8. выводим на экран 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. Общее число неаттестованных учащихся за каждый год.
    2. Среднее число неаттестованных учащихся за каждый год по каждому учебному центру.
    3. Учебный центр, в котором наибольшее количество неаттестованных учащихся (за год).
    4. Построить гистограмму неаттестации за каждый год.

1 этап: ввод исходных данных в MS Excel.

http://bukvasha.ru/img/9a/dopc81440.zip

Рисунок 1- Ввод данных

2 этап: вычисления.

При выполнении данного задания используются следующие функции:

1. Математические:

СУММ - сумма аргументов

2. Статистические:

  1. СРЗНАЧ - среднее арифметическое аргументов
  2. МАКС - максимальное значение из списка аргументов
  3. МИН - минимальное значение из списка аргументов

http://bukvasha.ru/img/9a/dopc81441.zip

Рисунок 2 – Результаты

http://bukvasha.ru/img/9a/dopc81442.zip

Рисунок 2.1 – Результаты

Этап 3:Построение гистограммы. Выделяем таблицу, выполняем команду Вставка – Гистограмма и выбираем простую гистограмму.

Результат показан на рисунке

http://bukvasha.ru/img/9a/dopc81443.zip

Рисунок 2.2- Гистограмма

Построить график функции f(x) в Excel.

  1. Определение функции f(x). Для этого в ячейки B2:B19 вводим значение аргумента при помощи автозаполнения, в данном случае с шагом 0,1. В ячейку С3 вводится значение функции, вычисляемое по формуле = 4*B3^3+3*B3^2-8*B3-2/2-3*B3^2. Ячейки С4:С19 заполняются копированием формулы из ячейки С3.
  2. Построение графика: выделяем диапазон В2:С19, вызываем «Мастер диаграмм». Для построения графика функции лучше выбрать точечную диаграмму, со значениями, соединенными сглаживающими линиями без маркеров. Чтобы график получился выразительным, можно определить промежуток изменения аргумента, увеличить толщину линий, выделить оси координат, нанести на них соответствующие деления, сделать подписи на осях и вывести заголовок.

http://bukvasha.ru/img/9a/dopc81444.zip

Рисунок 3 - Построение графика функции http://bukvasha.ru/img/9a/dopc81445.zip

Аналогично делаем для задания б. Разница только в том, что в одной координатной плоскости будет два графика.

http://bukvasha.ru/img/9a/dopc81446.zip

Рисунок 3.1 - Построение графика функции http://bukvasha.ru/img/9a/dopc81447.zip

Заключение

Алгоритм точно ограничен, система и правила описаны на некотором языке, который определяет содержание и порядок операций некоторых объектов, строгая реализация которых дает решение поставленной задачи.

Слово "алгоритм" появляется в Средние века, когда европейцы познакомились с способами выполнения вычислений в десятичной системе, описал Узбекистан математик Мухаммад бин Аль-Хорезм ("Аль-Хорезм" - человек из города Хорезм; ныне город Хива Узбекистан в Хорезмской области Узбекистана). Алгоритм слова является результатом европейского произношения слов Аль-Хорезми. Изначально алгоритм должен был понимать, как выполнять арифметические операции над десятичными числами. В дальнейшем это понятие использовалось для обозначения любой последовательности действий, ведущих к решению проблемы.

Ни один из алгоритмов не существует сам по себе, а предназначен для определенного исполнителя (человека, робота, компьютера, языка программирования и т. д.).

Сам алгоритм описан в команде executor, которая его реализует. Объекты, которые исполнитель может выполнять операции, образуют так называемые возникающие в окружающей среде. Исходные данные и результаты любого алгоритма всегда принадлежат среде происходит, какой алгоритм предназначен.

Алгоритм характеризуется следующими свойствами: дискретность, массовость, определенность, результативность, формальность.

Определенность (детерминизм, точность) - свойство алгоритма, показывающее, что каждый шаг алгоритма должен быть определен точно, и избегать различных интерпретаций; также должен быть строго определен порядок отдельных инструкций.

Список использованной литературы

  1. Агафонов, В.Н. Логическое программирование / В.Н. Агафонов. - М.: [не указано], 2016. - 471 c.
  2. Алгоритмизация и программирование (+ CD-ROM) / И.Н. Фалина и др. - М.: КУДИЦ-Пресс, 2012. - 280 c.
  3. Ашманов, С.А. Линейное программирование / С.А. Ашманов. - М.: [не указано], 2015. - 537 c.
  4. Бартеньев, О. 1С: Предприятие. Программирование для всех / О. Бартеньев. - М.: Диалог МИФИ, 2012. - 464 c.
  5. Валеева-Сулейманова, Г.Ф. Декоративно-прикладное искусство казанских татар / Г.Ф. Валеева-Сулейманова, Р.Г. Шагеева. - М.: Советский художник, 2016. - 216 c.
  6. Голуб, А.И. Веревка достаточной длины, чтобы... выстрелить себе в ногу. Правила программирования на Си и Си++ / А.И. Голуб. - М.: [не указано], 2017. - 309 c.
  7. Де Моран История декоративно-прикладного искусства / Де Моран, Анри. - М.: Искусство, 2016. - 578 c.
  8. Долгов, А. И. Алгоритмизация прикладных задач / А.И. Долгов. - М.: Флинта, 2013. - 136 c.
  9. Заковряшин, А. И. Алгоритмизация и программирование вычислительных задач / А.И. Заковряшин. - М.: Science Press, 2013. - 164 c.
  10. Информатика и программирование. Алгоритмизация и программирование / Н.И. Парфилова и др. - М.: Academia, 2012. - 336 c.
  11. Канцедал, С. А. Алгоритмизация и программирование / С.А. Канцедал. - М.: Инфра-М, Форум, 2012. - 352 c.
  12. Канцедал, С. А. Алгоритмизация и программирование / С.А. Канцедал. - М.: Форум, Инфра-М, 2014. - 352 c.
  13. Карманов, В.Г. Математическое программирование / В.Г. Карманов. - М.: [не указано], 2017. - 832 c.
  14. Кнут, Д.Э. Искусство программирования (Том 1. Основные алгоритмы) / Д.Э. Кнут. - М.: [не указано], 2017. - 855 c.
  15. Кнут, Д.Э. Искусство программирования (Том 2. Получисленные алгоритмы) / Д.Э. Кнут. - М.: [не указано], 2016. - 147 c.
  16. Кнут, Д.Э. Искусство программирования (том 3) / Д.Э. Кнут. - М.: [не указано], 2013. - 407 c.
  17. Кофман, А. Методы и модели исследования операций. (том 3) Целочисленное программирование. / А. Кофман, А. Анри-Лабордер. - М.: [не указано], 2015. - 369 c.
  18. Левенталь, Л. Введение в микропроцессоры: Программное обеспечение, аппаратные средства, программирование / Л. Левенталь. - М.: Энергоатомиздат, 2012. - 464 c.
  19. Мартынов, Н. Н. Алгоритмизация и основы объектно-ориентированного программирования на JavaScript. Информатика и ИКТ. Профильный уровень. 10 класс / Н.Н. Мартынов. - Москва: ИЛ, 2013. - 272 c.
  20. Ощенко Азбука программирования в 1С: Предприятие 7.7.: моногр. / Ощенко, Игорь. - М.: БХВ-Петербург, 2016. - 520 c.
  21. Пинтер Visual FoxPro: уроки программирования / Пинтер, Пинтер Лес; , Джон. - М.: Русская Редакция, 2017. - 480 c.
  22. Розенталь, Р. История прикладного искусства нового времени / Р. Розенталь, Х. Ратцка. - М.: Искусство, 2017. - 240 c.
  23. Романенко, А. Музей прикладного искусства и быта XVII века. 22 открытки / А. Романенко. - М.: Изобразительное искусство, 2016. - 668 c.
  24. Сигал, И. Х. Введение в прикладное дискретное программирование / И.Х. Сигал, А.П. Иванова. - М.: ФИЗМАТЛИТ, 2016. - 304 c.
  25. Трояновский, В.М. Информационно-управляющие системы и прикладная теория случайных процессов / В.М. Трояновский. - М.: Гелиос АРВ, 2014. - 304 c.
  26. Урман Oracle 8. Программирование на языке PL/SQL. Руководство для программистов Oracle / Урман, Скотт. - М.: ЛОРИ, 2013. - 610 c.
  27. Федоровский, Ф.Ф. Монументально-декоративное и декоративно-прикладное искусство / Ф.Ф. Федоровский. - М.: Академия художеств СССР, 2016. - 204 c.
  28. Хворостов, А.С. Декоративно-прикладное искусство в школе / А.С. Хворостов. - М.: Просвещение, 2014. - 175 c.
  29. Хювёнен, Э. Мир Лиспа. Том 1. Введение в язык Лисп и функциональное программирование / Э. Хювёнен, И. Септянен. - М.: [не указано], 2012. - 780 c.
  30. Хювёнен, Э. Мир Лиспа. Том 2. Методы и системы программирования / Э. Хювёнен, И. Септянен. - М.: [не указано], 2017. - 956 c.
  1. Бартеньев, О. 1С: Предприятие. Программирование для всех / О. Бартеньев. - М.: Диалог МИФИ, 2012. - 464 c.

  2. Мартынов, Н. Н. Алгоритмизация и основы объектно-ориентированного программирования на JavaScript. Информатика и ИКТ. Профильный уровень. 10 класс / Н.Н. Мартынов. - Москва: ИЛ, 2013. - 272 c.

  3. Голуб, А.И. Веревка достаточной длины, чтобы... выстрелить себе в ногу. Правила программирования на Си и Си++ / А.И. Голуб. - М.: [не указано], 2017. - 309 c.

  4. Розенталь, Р. История прикладного искусства нового времени / Р. Розенталь, Х. Ратцка. - М.: Искусство, 2017. - 240 c.

  5. Хювёнен, Э. Мир Лиспа. Том 2. Методы и системы программирования / Э. Хювёнен, И. Септянен. - М.: [не указано], 2017. - 956 c.

  6. Хворостов, А.С. Декоративно-прикладное искусство в школе / А.С. Хворостов. - М.: Просвещение, 2014. - 175 c.