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

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

Содержание:

ВВЕДЕНИЕ

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

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

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

Теория алгоритмов оказала влияние на теоретическое программирование.

Понятие алгоритма - одно из фундаментальных понятий информатики. Алгоритмизация наряду с моделированием выступает в качестве общего метода информатики. К реализации определенных алгоритмов сводятся процессы управления в различных системах, что делает понятие алгоритма близким и кибернетике. [1]

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

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

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

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

В течение всего периода преподавания информатики в школе актуальность темы «Алгоритмизация и программирование» претерпела значительные изменения.

В силу некоторых обстоятельств: наличия теоретической базы предмета и технического обеспечение кабинета информатики, значимость преподавания темы в период с 2005 года по 2010 год значительно снизилась. Точнее надо сказать, уменьшилось количество уроков, отводимых на изучение этой темы в старших классах.

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

Объект данной курсовой работы – это алгоритмическая содержательная линия информатики.

Предмет – это особенности алгоритма непосредственно в базовом курсе информатики.

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

Для решения поставленной цели решается ряд задач:

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

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

Работа состоит из введения, заключения, 4 глав и списка использованных источников.

1. ПОНЯТИЕ АЛГОРИТМА И ЕГО СВОЙСТВА

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

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

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

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

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

  1. Дискретность (прерывность-противоположность непрерывности) - свойство алгоритма, характеризующее его структуру: каждый алгоритм состоит из отдельных завершенных действий (разбитых на шаги).
  2. Массовая применимость алгоритма ко всем задачам рассматриваемого типа, при любых исходных данных.
  3. Определенность (детерминизм, точность) - свойство алгоритма, указывающее на то, что каждый шаг алгоритма должен быть строго определен и не допускать различных интерпретаций; также должен быть строго определен порядок выполнения отдельных шагов.
  4. Эффективность - это свойство, которое любой алгоритм должен быть завершен за конечное (возможно, очень большое) число шагов. Вопрос о рассмотрении бесконечных алгоритмов остается за пределами теории алгоритмов.
  5. Формальность - это свойство указывает на то, что любой исполнитель, способный воспринимать и выполнять инструкции алгоритма, действует формально, т. е. отвлекается от содержания задачи и только строго выполняет инструкции.

2. СПОСОБЫ ОПИСАНИЯ АЛГОРИТМОВ

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

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

Нет никаких правил для составления словесного описания. Алгоритм написан в любой форме на естественном, например, русском языке. Данный метод описания не находит широкого применения, так как не является строго формализованным (формальным - означает, что описание является абсолютно полным и учитывает все возможные ситуации, которые могут возникнуть в процессе принятия решения); допускает неоднозначность толкования при описании некоторых действий; страдает многословием [13].

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

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

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

Рассмотрим некоторые из основных конструкций, используемых для построения блок-схем (рисунок 1-10).

Рисунок 1. Блок, характеризующий начало/конец алгоритма (для подпрограмм - вызов/возврат)

Рисунок 2. Блок - процесс, предназначенный для описания

отдельных действий

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

Рисунок 4. Блок - ввода/вывода с неопределенного носителя

Рисунок 5. Блок - ввод с клавиатуры

Рисунок 6. Блок - вывод на монитор

Рисунок 7. Блок - вывод на печатающее устройство

Рисунок 8. Блок - решение (проверка условия или условный блок)

Рисунок 9. Блок, описывающий цикл с параметром

Рисунок 10. Блок - границы цикла, описывающий циклические

процессы типа: «цикл с предусловием», «цикл

с постусловием»

Таким образом, описания алгоритма в вербальной форме, на псевдокоде или в виде блок-схемы допускают некоторую произвольность в изображении команд. В то же время она настолько достаточна, что позволяет человеку понять суть дела и выполнить алгоритм. На практике исполнителями алгоритмов являются компьютеры. Поэтому алгоритм, предназначенный для выполнения на компьютере, должен быть написан на «понятном» ему языке, такой формализованный язык называется языком программирования. Программа-описание структуры алгоритма на языке алгоритмического программирования.

3. ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ

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

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

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

На рисунке 11 показан пример линейного алгоритма, определяющего процесс вычисления арифметического выражения y=(b2-A*C) / (a+C).

Разветвляющейся (или ветвящейся) называется алгоритмическая конструкция, обеспечивающая выбор между двумя альтернативами в зависимости от значения входных данных. При каждом конкретном наборе входных данных разветвляющийся алгоритм сводится к линейному. Различают неполное (если - то) и полное (если - то - иначе) ветвления [8]. Полное ветвление позволяет организовать две ветви в алгоритме (то или иначе), каждая из которых ведет к общей точке их слияния, так что выполнение алгоритма продолжается независимо от того, какой путь был выбран (рисунок 12).

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

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

Рисунок 12. Полное ветвление

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

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

Рисунок 13. Неполное ветвление

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

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

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

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

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

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

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

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

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

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

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

Все циклические процессы по признаку определения количества повторений разделяются на два класса [7].

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

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

На приведенных ниже рисунках показаны примеры циклических процессов (рисунок 14, 15).

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

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

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

4. ОБЗОР ПРОГРАММНЫХ СРЕДСТВ АЛГОРИТМИРОВАНИЯ

Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования. Смысл появления такого языка – оснащенный набор вычислительных формул дополнительной информации, превращает данный набор в алгоритм [2].

Язык программирования служит двум связанным между собой целям: он дает программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать. Первой цели идеально отвечает язык, который настолько «близок к машине», что всеми основными машинными аспектами можно легко и просто оперировать достаточно очевидным для программиста образом. Второй цели идеально отвечает язык, который настолько «близок к решаемой задаче», чтобы концепции ее решения можно было выражать прямо и коротко [5].

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

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

Персональные компьютеры IBM используют машинный язык микропроцессоров семейства 8086, т.к. их аппаратная часть основывается именно на данных микропроцессорах [3].

Можно писать программы непосредственно на машинном языке, хотя это и сложно. На заре компьютеризации (в начале 1950-х г.г.), машинный язык был единственным языком, большего человек к тому времени не придумал [13]. Для спасения программистов от сурового машинного языка программирования, были созданы языки высокого уровня (т.е. немашинные языки), которые стали своеобразным связующим мостом между человеком и машинным языком компьютера. Языки высокого уровня работают через трансляционные программы, которые вводят «исходный код» (гибрид английских слов и математических выражений, который считывает машина), и в конечном итоге заставляет компьютер выполнять соответствующие команды, которые даются на машинном языке. Существует два основных вида трансляторов:

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

Интерпретаторы

Одно, часто упоминаемое преимущество интерпретаторной реализации состоит в том, что она допускает «непосредственный режим». Непосредственный режим позволяет вам задавать компьютеру задачу вроде PRINT 3.14159*3/2.1 и возвращает вам ответ, как только вы нажмете клавишу ENTER (это позволяет использовать компьютер стоимостью 3000 долларов в качестве калькулятора стоимостью 10 долларов). Кроме того, интерпретаторы имеют специальные атрибуты, которые упрощают отладку. Можно, например, прервать обработку интерпретаторной программы, отобразить содержимое определенных переменных, бегло просмотреть программу, а затем продолжить исполнение [21].

Больше всего программистам нравится в интерпретаторах возможность получения быстрого ответа. Здесь нет необходимости в компилировании, так как интерпретатор всегда готов для вмешательства в вашу программу. Введите RUN и результат вашего самого последнего изменения оказывается на экране.

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

Слабо различимым недостатком интерпретаторов является то, что они имеют тенденцию отбивать охоту к хорошему стилю программирования. Поскольку комментарии и другие формализуемые детали занимают значительное место программной памяти, люди стремятся ими не пользоваться. Хуже всего то, что интерпретаторы тихоходны. Ими затрачивается слишком много времени на разгадывание того, что делать, вместо того чтобы заниматься действительно делом [17].

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

Компиляторы

Компилятор-это транслятор текста на машинный язык, который считывает исходный текст. Он оценивает его в соответствии с синтаксической конструкцией языка и переводит на машинный язык. Другими словами, компилятор не исполняет программы, он их строит. Интерпретаторы невозможно отделить от программ, которые ими прогоняются, компиляторы делают свое дело и уходят со сцены. При работе с компилирующим языком, таким как Турбо-Бейсик, вы придете к необходимости мыслить о ваших программах в признаках двух главных фаз их жизни: периода компилирования и периода прогона. Большинство программ будут прогоняться в четыре — десять раз быстрее их интерпретаторных эквивалентов. Если вы поработаете над улучшением, то сможете достичь 100-кратного повышения быстродействия. Оборотная сторона монеты состоит в том, что программы, расходующие большую часть времени на возню с файлами на дисках или ожидание ввода, не смогут продемонстрировать какое-то впечатляющее увеличение скорости [21].

Алгоритмический язык Pascal

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

Паскаль был создан Никлаусом Виртом в 1968-69 годах после его участия в работе Комитета по разработке языковых стандартов ALGOL-68. Он был опубликован в 1970 году фирмой Wirth как небольшой и эффективный язык для продвижения хорошего стиля программирования, использования структурированного программирования и структурированных данных [16].

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

Компилятор Паскаля был написан на самом Паскале, используя метод продвижения.

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

Однако изначально язык имел ряд ограничений: невозможность передачи массивов переменной длины в функции, отсутствие обычных средств работы с динамической памятью, ограниченность библиотеки ввода-вывода, отсутствие средств подключения функций, написанных на других языках, отсутствие отдельных средств компиляции и др. Подробный анализ недостатков языка Паскаль того времени был выполнен Брайаном Керниганом в статье «Почему Паскаль не является моим любимым языком программирования» (эта статья была опубликована в начале 1980-х годов, когда уже существовал язык Modula-2, потомок Паскаля, освобожденный от большинства его пороков, а также более развитых диалектов Паскаля). Некоторые недостатки Pascal были исправлены в стандарте ISO 1982 года, в частности, в языке появились открытые массивы, что позволило использовать одни и те же процедуры для обработки одномерных массивов разных размеров [22].

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

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

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

Описание каждого элемента языка определяется его синтаксисом и семантикой. Синтаксические определения задают правила построения языковых элементов. Семантика определяет смысл и правила употребления тех элементов языка, для которых даны синтаксические определения. Паскаль в своей первоначальной форме является чисто процедурным языком и включает в себя множество структур и конструкций с зарезервированными словами, такими как if, then, else, while, for и т. д. Однако Pascal также содержит большое количество возможностей для структурирования информации и абстракций, которые отсутствуют в оригинальном ALGOL-60, таких как определения типов, записи, указатели, перечисления и наборы.

Электронные таблицы Excel

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

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

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

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

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

В Microsoft Excel и предназначена для работы с таблицами данных, преимущественно числовых. При формировании таблицы вводите, редактируйте и форматируйте текстовые и числовые данные, а также Формулы. Наличие средств автоматизации облегчает эти операции. Созданную таблицу можно распечатать [5].

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

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

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

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

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

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

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

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

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

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

Система Mathcad

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

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

В соответствии с реальными проблемами математики должны решить одну или несколько из следующих задач:

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

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

  • математические выражения и текст вводятся с помощью редактора формул Mathcad, который является таким же мощным и простым в использовании, как, например, редактор формул, встроенный в Microsoft Word;
  • математические расчеты производятся немедленно, в соответствии с введенными формулами;
  • диаграммы различных типов (по выбору пользователя) с расширенными параметрами форматирования вставляются непосредственно в документы;
  • имеется возможность ввода и вывода данных в файлы различных форматов;
  • документы могут быть напечатаны непосредственно в Mathcad в том виде, который пользователь видит на экране компьютера, или сохранены в формате RTF для последующего редактирования в более мощных текстовых редакторах (таких как Microsoft Word);
  • возможно полноценное сохранение документов Mathcad 11 в формате Web-страницы (автоматическая генерация вспомогательных графических файлов);
  • есть возможность объединить разрабатываемые вами документы в электронные книги, которые, с одной стороны, позволяют удобно хранить математическую информацию, а с другой-являются полноценными Mathcad-программами, способными выполнять вычисления;
  • символьные вычисления позволяют осуществлять аналитические преобразования, а также мгновенный доступ к разнообразной математической справочной информации

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

ЗАКЛЮЧЕНИЕ

Изобретение языка программирования высшего уровня позволило нам общаться с машиной, понимать её (если конечно знаком используемый язык), как понимает американец немного знакомый с русским языком древнюю азбуку Кириллицы. Проще говоря, мы в нашем развитии науки программирования пока что с ЭВМ на «вы». Но если мы обратим внимание на темпы роста и развития новейших технологий в области программирования, то можно предположить, что в ближайшем будущем, человеческие познания в этой сфере, помогут произвести на свет языки, умеющие принимать, обрабатывать и передавать информации в виде мысли, слова, звука или жеста. Так и хочется назвать это детище компьютеризированного будущего: «языки программирования «высочайшего» уровня». Возможно, концепция решения этого вопроса проста, а ближайшее будущее этого проекта уже не за горами.

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

Единственный способ изучать новый язык программирования – писать на нём программы.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Бериан, Б. Программирование на языке ассемблера системы IBM/370. Упрощенный подход / Б. Бериан. - М.: Мир, 2016. - 640 c.
  2. Буч, Г. Язык UML. Руководство пользователя / Г. Буч. - М.: Книга по Требованию, 2015. - 494 c.
  3. Вальковский, В. А. Распараллеливание алгоритмов и программ. Структурный подход / В.А. Вальковский. - М.: Радио и связь, 2018. - 176 c.
  4. Вирт, Никлаус Алгоритмы и структуры данных (+ CD-ROM) / Никлаус Вирт. - М.: ДМК Пресс, 2015. - 272 c.
  5. Гласс, Роберт Креативное программирование 2.0 / Роберт Гласс. - М.: Символ-плюс, 2018. - 248 c.
  6. Гёлль, П. Компьютер в качестве программатора / П. Гёлль. - М.: Книга по Требованию, 2016. - 168 c.
  7. Дипак, Алур Образцы J2EE. Лучшие решения и стратегии проектирования / Алур Дипак. - М.: ЛОРИ, 2018. - 397 c.
  8. Карабутов, Н. Н. Адаптивная идентификация систем. Информационный синтез / Н.Н. Карабутов. - Москва: Огни, 2018. - 384 c.
  9. Кауфман, В. Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. - М.: ДМК Пресс, 2015. - 861 c.
  10. Кетков, Ю. Мастер Matlab 7 / Ю. Кетков. - М.: БХВ-Петербург, 2018. - 708 c.
  11. Кнут, Д. Искусство программирования. Том 1. Основные алгоритмы / Д. Кнут. - М.: Диалектика / Вильямс, 2016. - 548 c.
  12. Культин, Н. Delphi в задачах и примерах / Н. Культин. - М.: Книга по Требованию, 2017. - 286 c.
  13. Курейчик, В. М. Поисковая адаптация / В.М. Курейчик, Б.К. Лебедев, О.Б. Лебедев. - М.: ФИЗМАТЛИТ, 2018. - 272 c.
  14. Леви, Жан-Жак Введение в теорию языков программирования / Жан-Жак Леви. - М.: ДМК Пресс, 2019. - 664 c.
  15. Максим, Д. С++ / Д. Максим. - М.: БХВ-Петербург, 2015. - 358 c.
  16. Медникс, З. Программирование под Android / З. Медникс. - М.: Питер, 2017. - 596 c.
  17. Половко, А. М. Интерполяция. Методы и компьютерные технологии их реализации / А.М. Половко, П.Н. Бутусов. - М.: БХВ-Петербург, 2019. - 320 c.
  18. Программирование алгоритмов обработки данных. - М.: БХВ-Петербург, 2018. - 192 c.
  19. Программирование на параллельных вычислительных системах. - М.: Мир, 2016. - 376 c.
  20. Сенкевич, Глеб Искусство восстановления данных / Глеб Сенкевич. - М.: БХВ-Петербург, 2016. - 304 c.
  21. Спольски, Джоэл Джоэл. И снова о программировании / Джоэл Спольски. - М.: Символ-плюс, 2015. - 471 c.
  22. Стивенс, Р. Delphi. Готовые алгоритмы / Р. Стивенс. - М.: Книга по Требованию, 2017. - 379 c.
  23. Фридл, Дж. Регулярные выражения / Дж. Фридл. - М.: Символ-плюс, 2016. - 958 c.