Практика программирования показала необходимость научно обоснованной методологии разработки и документирования алгоритмов и программ. Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством. Создание алгоритма, пусть даже самого простого, — процесс творческий. Он доступен исключительно живым существам. Эта методология должна касаться анализа исходной задачи, разделения ее на достаточно самостоятельные части и программирования этих частей по возможности независимо друг от друга.
Введение.
Разработка алгоритмов.
Понятие алгоритма и его свойства.
Виды представления алгоритмов.
Линейные алгоритмы.
Ветвящиеся алгоритмы.
Циклические алгоритмы.
Используемые программные средства.
Pascal.
Excel.
Система MathCad.
Решение задач.
Задание № 1.
Задание № 2.
Задание № 3.
Задание № 4.
Задание № 5.
Задание № 6.
Задание № 7.
Задание № 8.
Задание № 9.
АЛГОРИТМЫ в ПРОГРАММИРОВАНИИ для новичков | Левенштейн, Фибоначчи, Факториал и т.д.
Задание № 10.
Задание № 11.
Задание № 12.
Заключение.
Список литературы.
Работа содержит 1 файл
Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
«Воронежский государственный технический университет» (ГОУВПО «ВГТУ»)
Факультет вечернего и заочного обучения
Кафедра “Компьютерные интеллектуальные технологии проектирования”
Курсовая работа
по дисциплине «Информатика»
Тема «Разработка алгоритмов различной структуры
с помощью программных средств »
Выполнил студент группы АМ-102 ___________________ Ключанских Ю.В.
Руководитель ___________________ Малышева И.С.
Защищена ___________________ Оценка________________________
ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИСТЕТ
Кафедра «Компьютерные интеллектуальные технологии проектирования»
Задание на курсовую работу
по дисциплине «Информатика»
Тема проекта: «Разработка алгоритмов различной структуры с помощью программных средств »
Выполнил студент группы АМ-102 ___________________ Ключанских Ю.В.
Технические условия: Intel Celeron CPU 2.6GHz; ПО Microsoft Windows 7 (Win32 x64);
Среда разработки Turbo Pascal v7.0, Mathcad version 14, Microsoft Excel 2010.
Руководитель _________________________ Малышева И.С.
Задание принял студент _______________________ Ключанских Ю.В.
Замечания руководителя
- Разработка алгоритмов. . . .
- Понятие алгоритма и его свойства. . .
- Виды представления алгоритмов. . .
- Линейные алгоритмы. . . .
- Ветвящиеся алгоритмы. . . .
- Циклические алгоритмы. . . .
- Pascal. . . .
- Excel. . . .
- Система MathCad. . . .
- Задание № 1. . . .
- Задание № 2. . . .
- Задание № 3. . . .
- Задание № 4. . . .
- Задание № 5. . . .
- Задание № 6. . . .
- Задание № 7. . . .
- Задание № 8. . . .
- Задание № 9. . . .
- Задание № 10. . . .
- Задание № 11. . . .
- Задание № 12. . . .
Термин информатика возник в 60-х гг. во Франции для названия области, занимающейся автоматизированной обработкой информации с помощью электронных вычислительных машин. Французский термин informatigue (информатика) образован путем слияния слов information (информация) и automatigue (автоматика) и означает «информационная автоматика или автоматизированная переработка информации». В англоязычных странах этому термину соответствует синоним computer science (наука о компьютерной технике).
Информатика в широком смысле представляет собой единство разнообразных отраслей науки, техники и производства, связанных с переработкой информации главным образом с помощью компьютеров и телекоммуникационных средств связи во всех сферах человеческой деятельности.
Информатику в узком смысле можно представить как состоящую из трех взаимосвязанных частей — технических средств (hardware), программных средств (software), алгоритмических средств (brainware). В свою очередь, информатику, как в целом, так и каждую ее часть обычно рассматривают с разных позиций: как отрасль народного хозяйства, как фундаментальную науку, как прикладную дисциплину.
Информатика как прикладная дисциплина занимается:
— изучением закономерностей в информационных процессах ( накопление, переработка, распространение);
— созданием информационных моделей коммуникаций в различных областях человеческой деятельности;
— разработкой информационных систем и технологий в конкретных областях и выработкой рекомендаций относительно их жизненного цикла: для этапов проектирования и разработки систем, их производства, функционирования и т.д. Главная функция информатики заключается в разработке методов и средств преобразования информации и их использовании в организации технологического процесса переработки информации.
Задачи информатики состоят в следующем:
— исследование информационных процессов любой природы;
— разработка информационной техники и создание новейшей технологии переработки информации на базе полученных результатов исследования информационных процессов;
— решение научных и инженерных проблем создания, внедрения и обеспечения эффективного использования компьютерной техники и технологии во всех сферах общественной жизни.
В настоящее время во всех информационных процессах: представлении, накоплении, обработке и передаче, существенную роль играют алгоритм и компьютер (ЭВМ), поэтому чрезвычайно важно уметь программировать, т.е. составлять программы для автоматической обработки информации с помощью компьютера.
Миллионы людей занимаются математическими расчетами, иногда в силу влечения к таинствам математики и ее внутренней красоте, а чаще в силу профессиональной или иной необходимости, не говоря уже об учебе. Ни одна серьезная разработка в любой отрасли науки и производства не обходится без трудоемких математических расчетов.
Программа Microsoft Excel предназначена для подготовки и обработки электронных таблиц под управлением операционной системой Windows. Microsoft Excel – это многофункциональный, мощный редактор электронных таблиц. Он предоставляет возможность производить различные расчеты, составлять списки, сметы и что немаловажно, строить наглядные графики и диаграммы.
В 1 разделе рассказывается о разработке алгоритмов, этапах подготовки и решениях задач на ЭВМ, о понятии алгоритма, его свойствах и формах записи, о базовых алгоритмических структурах, об алгоритмических языках для ПК. Во 2 разделе рассказывается о прикладных программах Microsoft Excel, Pascal и MathCad. В 3 разделе показана на примерах алгоритмизация задач и применение Microsoft Excel, MathCad для решения математических задач.
Практика программирования показала необходимость научно обоснованной методологии разработки и документирования алгоритмов и программ. Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством. Создание алгоритма, пусть даже самого простого, — процесс творческий. Он доступен исключительно живым существам. Эта методология должна касаться анализа исходной задачи, разделения ее на достаточно самостоятельные части и программирования этих частей по возможности независимо друг от друга.
Компьютер преобразует информацию по определенным правилам. Эти правила (операции, команды) заранее занесены в память компьютера. В совокупности эти правила преобразования информации называются алгоритмом. Данные, которые поступают в компьютер, называются входными данными. Результат работы компьютера – выходные данные.
1. Разработка алгоритмов.
Алгоритм — конечный набор правил или команд (указаний), позволяющий исполнителю решать любую конкретную задачу из некоторого класса однотипных задач.
Исполнителем может быть человек, группа людей, станок, компьютер и др. С учетом особенностей исполнителя составленный алгоритм может быть представлен различными способами: с помощью графического или словесного описания, в виде таблицы, последовательностью формул, записанных на алгоритмическом языке (языке программирования) и др.
Язык – знаковая система (множество символов и правил) любой физической природы, выполняющая познавательную и коммуникативную (общение) функции в процессе человеческой деятельности.
Язык может быть естественным и искусственным. Естественный язык – форма выражения мыслей и средство общения между людьми. Искусственный язык – вспомогательный, созданный на базе естественного языка людьми для каких-либо частных целей.
Первоначально для записи алгоритмов пользовались средствами естественного языка.
Словесный алгоритм – описание последовательных этапов обработки данных на естественном языке.
Основными свойствами алгоритма являются:
- Массовость алгоритма. Подразумевается, что алгоритм позволяет решать не одну конкретную задачу, а некоторый класс задач данного типа. В простейшем случае массовость обеспечивает возможность изменения исходных данных в определенных пределах.
- Детерминированность алгоритма. Процесс применения правил к исходным данным (путь решения задачи) однозначно определен.
- Результативность алгоритма. На каждом шаге процесса применения правил известно, что считать результатом этого процесса, а сам процесс должен прекратиться за конечное число шагов.
- Понятность для исполнителя — т.е. исполнитель алгоритма должен знать, как его выполнять.
- Дискретность (прерывность, раздельность) — алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов (этапов). Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего.
Источник: www.stud24.ru
Методы разработки алгоритмов.
Структурное программирование — одна из популярных методик. Фундаментом структурного программирования является доказанная Бемом и Джекопини теорема о структурировании. Эта теорема устанавливает, что как бы сложна ни была задача, блок- соответствующего алгоритма всегда может быть представлена с использованием весьма ограниченного числа элементарных управляющих структур.
Главная идея доказательства этой теоремы состоит в преобразовании каждой части алгоритма в одну из трех основных структур или их комбинацию так, чтобы неструктурированная часть алгоритма уменьшилась. После достаточного числа таких преобразований оставшаяся неструктурированной часть либо исчезнет, либо станет ненужной. Доказывается, что в результате получится алгоритм, эквивалентный исходному и использующий лишь упомянутые управляющие структуры.
Цель структурного программирования — выбор структуры программы путем расчленения исходной задачи на подзадачи. Программы должны иметь простую структуру. Сложные, запутанные программы, как правило, являются неработоспособными, а их тестирование требует больших затрат.
Дальнейшим развитием, расширением структурного программирования является модульное программирование, идея которого состоит в том, что алгоритм может быть представлен в виде системы, совокупности отдельных модулей. Каждый модуль рассматривается как самостоятельная, относительно независимая программа, которая может содержать набор данных и функций, доступных только из этого модуля.
Модульное программирование позволяет значительно ускорить процесс засчет привлечения к работе нескольких специалистов сразу, доверив каждому разработку отдельного модуля. Кроме того, модульное программирование предполагает возможность использования заранее разработанных стандартных программ
Возможно, самым важным и наиболее широко применимым методом проектирования эффективных алгоритмов является метод, называемый методом декомпозиции (или метод «разделяй и властвуй», или метод разбиения). Этот метод предполагает такую декомпозицию (разбиение) задачи размера n на более мелкие задачи, что на основе решений этих более мелких задач можно легко получить решение исходной задачи.
Метод подъема. Его суть заключается в следующей процедуре. Алгоритм начинается с принятия начального предположения или построения начального решения задачи. Затем начинается (насколько возможно) быстрое движение «вверх» от начального условия по направлению к лучшим решениям. Когда алгоритм достигает точки, из которой больше не возможно двигаться «наверх», он останавливается.
25. Элементы информационных технологий. Общая характеристика.
Информацио́нные техноло́гии — широкий класс дисциплин и областей деятельности, относящихся к технологиям создания, сохранения, управления и обработки данных, в том числе с применением вычислительной техники. В последнее время под информационными технологиями чаще всего понимают компьютерные технологии. В частности, ИТ имеют дело с использованием компьютеров и программного обеспечения для создания, хранения, обработки, ограничения к передаче и получению информации
Базы данных.
Базы данных — основное средство накопления больших объемов информации. Это специальная форма представления и организации данных в ПК, допускающая поиск информации по запросам. Для организации баз данных используются специальные программы, которые называются системами управления базами данных. Информация в базах данных может быть организована несколькими способами. Наиболее простая и распространенная — реляционная или табличная форма.
Отличие баз данных на ПК от информационно- поисковых систем в Интернет состоит в следующем.Информационно- поисковые системы допускают только поиск информации. В базах данных можно выполнять не только поиск, но и обновление информации.
Элементы математической логики.Принципы поиска и обработки информации основываются на законах математической логики, т.к. компьютеры — это устройства, принципы работы которых базируются на элементарных законах двоичной логики.
Математическая логика — это математическая дисциплина, изучающая технику доказательств. Компьютеры требуют точности и строгости в определениях и описаниях, чем и отличаются от людей.Вычислительные операции и математические суждения всегда предполагают однозначную интерпретацию.Все сложные логические элементы и блоки вычислительных машин конструируются из простейших логических элементов с помощью логических операций «и», «или» и «не».
.Принципы логического вывода.Могут ли компьютеры думать? Да — если удастся создать такие диалоговые программы, которые смогут отвечать на вопросы так же, как и люди.Проблема создания искусственного интеллекта привела к огромному потоку исследований, в результате которых были созданы программы для ЭВМ имитирующие интеллектуальную деятельность людей — игру в шахматы решение задач и доказательство теорем.
26. Классификация программного обеспечения (ПО). Общая характеристика
Программные продукты можно классифицировать по различным признакам. Программное обеспечение принято по назначению подразделять на системное, прикладное и инструментальное.
Системное программное обеспечение – совокупность программ и программных комплексов для обеспечения работы компьютера и сетей ЭВМ, направленное:
— на создание операционной среды функционирования других программ;
— обеспечение надежной и эффективной работы самого компьютера и вычислительной сети;
— проведение диагностики и профилактики аппаратуры компьютера и вычислительных сетей;
— выполнение вспомогательных технологических процессов (копирование, архивирование, восстановление файлов программ и баз данных
Методы разработки и анализа алгоритмов
Нисходящим проектированием методов, проектированием методов сверху вниз либо способом последовательной (пошаговой) нисходящей разработки методов именуется таковой способ составления методов, в то время, когда исходная задача (метод) разбивается на последовательность запасных подзадач (подалгоритмов), формулируемых и решаемых в терминах более несложных и элементарных операций (процедур). Последние, со своей стороны, снова разбиваются на более простые и элементарные, и без того до тех пор, пока не дойдём до команд исполнителя. В терминах этих команд возможно представить и выполнить полученные на последнем шаге разбиений подалгоритмы (команд совокупности команд исполнителя).
Восходящий способ, напротив, опираясь на некий, заблаговременно определяемый корректный комплект подалгоритмов, сооружает функционально завершенные подзадачи более неспециализированного назначения, от них переходит к более неспециализированным, и без того потом, до тех пор, пока не дойдем до отметки, на котором возможно записать ответ поставленной задачи. Данный способ известен как способ проектирования снизу вверх.
Структурные правила алгоритмизации (структурные способы алгоритмизации) – это правила формирования методов из базисных структурных алгоритмических единиц (следование, ветвление, повторение), применяя их последовательное соединение либо вложение приятель в приятеля с соблюдением определённых правил, обеспечивающих читабельность и исполняемость метода сверху вниз и последовательно.
Структурированный метод – это метод, представленный как вложения и следования базисных алгоритмических структур. У структурированного метода статическое состояние (до актуализации метода) и динамическое состояние (по окончании актуализации) имеют однообразную логическую структуру, которая прослеживается сверху вниз (как читается, так и исполняется). При структурированной разработке методов правильность метода возможно проследить на каждом этапе его выполнения и построения.
Теорема (о структурировании). Любой метод возможно эквивалентно представлен структурированным методом, складывающимся из базисных алгоритмических структур.
Одним из обширно применяемых разработки алгоритмов и методов проектирования (программ) есть модульный способ (модульная разработка).
Модуль – это некий метод либо некий его блок, имеющий конкретное наименование, по которому его возможно выделить и актуализировать. Время от времени модуль именуется запасным методом, не смотря на то, что все методы вспомогателен . Это наименование имеет суть, в то время, когда рассматривается динамическое состояние метода; в этом случае возможно назвать запасным любой метод, применяемый данным в качестве блока (составной части) тела этого динамического метода. Применяют и второе наименование модуля – подалгоритм. В программировании употребляются синонимы – процедура, подпрограмма.
— завершённость и функциональная целостность (любой модуль реализует одну функцию, но реализует прекрасно и всецело);
— независимость и автономность от вторых модулей (независимость работы модуля-преемника от работы модуля-предшественника; наряду с этим их сообщение осуществляется лишь на уровне управления/приема и передачи параметров);
— открытость для разработчиков и пользователей (для использования и модернизации);
— надёжность и корректность;
— ссылка на тело модуля происходит лишь по имени модуля, другими словами актуализация и вызов модуля вероятны лишь через его заголовок.
Свойства (преимущества) модульного проектирования методов:
— возможность разработки метода громадного количества (алгоритмического комплекса) разными исполнителями;
— ведения библиотеки и возможность создания чаще всего применяемых методов (подалгоритмов);
— обоснования тестирования и облегчение алгоритмов их правильности ;
— модификации алгоритмов и упрощение проектирования ;
— уменьшение сложности разработки (проектирования) методов (либо комплексов методов);
— наблюдаемость вычислительного процесса при реализации методов.
Тестирование метода – это проверка правильности либо неправильности работы метода на намерено заданных тестах либо тестовых примерах – задачах с известными входными данными и результатами (время от времени достаточны их приближения). Тестовый комплект должен быть минимальным и полным, другими словами снабжающим диагностику каждого отдельного типа комплектов входных данных, в особенности необыкновенных случаев.
Пример. Для задачи ответа квадратного уравнения ax2 + bx + c = 0 такими необыкновенными случаями, к примеру, будут:
2) a = 0, b, c – хороши от нуля;
3) D = b2 – 4ac 0 и др.
Тестирование метода не имеет возможности дать полной (100%-ой) гарантии правильности метода для всех вероятных комплектов входных данных, в особенности для достаточно сложных методов.
Полную гарантию правильности метода может дать описание результатов и работы метода посредством правил вывода и системы аксиом либо верификация метода.
Пример. Разработаем метод нахождения числа всех разных бинарных сообщений (бинарных последовательностей) длины n битов, применяя наряду с этим не более одной операции умножения, и докажем правильность этого метода.
Сначала отыщем число всех таких сообщений. Число бинарных сообщений длины 1 равняется 2 = 21 (это 0 и 1), длины 2 равняется 4 = 22 (00, 01, 10, 11). Отправляясь от этих частных фактов, способом математической индукции докажем, что число разных сообщений длины n равняется 2n. Данный индуктивный вывод докажет правильность метода.
Пускай это отечественное утверждение правильно для n = k. Тогда для n = k + 1 приобретаем, что добавление каждого бита (0 либо 1) к любому из 2k сообщений длины k приведет к повышению числа сообщений в 2 раза, другими словами их число будет равняется 2 ? 2k = 2k+1, что и обосновывает отечественное индуктивное предположение.
Разработаем сейчас метод вычисления числа x = 2n с применением операции умножения лишь один раз.
Прологарифмируем последнее равенство. Возьмём ln(x) = ln(2n) = n ln(2) .
Применяя равенство exp(ln(x)) = x, возьмём, что exp(ln(x)) = x = exp(n ln(2)).
Остается сейчас, лишь, записать несложный метод вычисления числа x.
Rem Вычисление количества сообщенийclsInput “Введите длину сообщения в битах”; nx=exp(n*log(2))print “Количество сообщений равняется ”; int(x)end
1. структуры и Алгоритмы данных. Введение | Технострим
Похожие статьи:
- Методы анализа документов
- Анализ и аналитический метод в экономическом исследовании
- Методы анализа кризиса
Источник: in-inch.ru