Математические методы и средства решения задачи
Курсовая работа по дисциплине «Информатика».
На тему «Разработка программы на алгоритмическом языке Pascal».
Выполнил студент группы С03-201-1
Фёдоров Константин
Проверила к. п. н.,
доцент кафедры «Радиотехника»
Сидорина В. А.
Ижевск 2012
Содержание
Введение ....…………………………………………………………………….…….3
1. Постановка задачи ...………………………………………………………………...4
2. Математические методы и средства решения задачи……..…….………………...5
3. Описание данных...……………………….……………….......................................12
4. Алгоритмы и блок схема………………...…………………………………………14
5. Программа на языке Pascal………………….……………………………………..19
6. Тестовый пример………….………………………………………………………..24
7. Руководство пользователя для работы с программой………………………...…25
Заключение…..……………………………………………………………………...26
Список литературы..………………………………………………………………..27
Введение
Цель данной курсовой работы:
Создание программы калькулятора для вычисления математических примеров. Закрепление и демонстрация знаний, полученных при изучении курса «Информатика». Выполнение работы требует творческого подхода и всестороннего исследования поставленной задачи.
Тема данной курсовой работы:
«Разработка программы на алгоритмическом языке программирования Паскаль».
Актуальность данной курсовой работы:
Актуальность связана, прежде всего, с тем, что в современном мире требуется очень высокая скорость обработки информации. Вследствие чего я пытался создать программу, облегчающую нагрузку на мозговую деятельность и уменьшающую время обработки информации.
Основные этапы:
1. Анализ поставленной задачи;
2. Выбор обоснованный и изложенный на основе метода поставленной задачи;
3. Построение алгоритма решения задачи;
4. Создание и отладка программы;
5. Разработка комплекса тестов для проверки правильности работы программы;
6. Защита курсовой работы.
Постановка задачи
Выполнение курсовой работы надо начать с четкого уяснения поставленной задачи. Необходимо ответить на вопросы: “Что задано?”, “Какой должен быть получен результат?”, “Как получить результат?”
В данной курсовой работе описывается программа, написанная в соответствии с постановкой задачи: «Калькулятор, работающий с целыми числами».
При решении задач этой группы необходимо:
· разработать пользовательское меню, которое будет содержать пункты «справка», «запуск программы», «выход»;
· разработать программу для вычисления примера;
· ответ должен быть получен достаточно быстро и предельно точно.
Условие задачи:
«Калькулятор»; разработать калькулятор, работающий с целыми числами. Он должен позволять вводить целые числа, складывать, вычитать, умножать, делить нацело, находить остаток от деления, возводить в целую степень.
При решении задач этой группы необходимо разработать пользовательское меню, которое будет содержать пункты «Программа», «Справка», «Выход из программы».
Математические методы и средства решения задачи.
Данную задачу будем решать на алгоритмическом языке программирования Паскаль.
В данной курсовой работе метод решения опирается на некоторый математический аппарат. Математические методы, модели и алгоритмы являются тем базисом, который положен в основу проектирования и изготовления любого программного или технического средства в силу их исключительной сложности и, как следствие, невозможности умозрительного подхода к созданию.
Для разработки математической модели используются простейшие математические операции над целыми числами.
Наиболее эффективно математическую модель можно реализовать на компьютере в виде алгоритмической модели. Для этого может быть использован язык блок-схем или какой-нибудь псевдокод, например учебный алгоритмический язык. Разработка алгоритма включает в себя выбор метода проектирования алгоритма; выбор формы записи алгоритма (блок-схемы, псевдокод и др.); выбор тестов и метода тестирования; проектирование самого алгоритма. Тогда, средством решения задачи является алгоритмический язык Pascal.
Арифме́тика — раздел математики, изучающий числа, их отношения и свойства. Предметом элементарной арифметики являются простейшие виды чисел (натуральные, целые и рациональные), измерения и вычислительные операции(сложение, вычитание, умножение, деление, возведение в степень и взятие корня). Некоторые современные учёные вслед за Гауссом относят к арифметике более сложные аспекты[1], включая комплексные числа и логарифмирование. Изучением индивидуальных свойств целых чисел занимается высшая арифметика, или теория чисел. Теоретическая арифметика занимается на определении и анализе понятия числа, в то время как формальная арифметика оперирует логическими построениями предикатов и аксиом арифметики. Арифметика является одной из основных математических наук, она тесно связана с алгеброй и теорией чисел.
Причиной возникновения арифметики стала практическая потребность в счёте, простейших измерениях и вычислениях. Наука развивалась вместе с усложнением задач и требований. Большой вклад в развитие арифметики внесли греческие математики, в частности пифагорейцы, которые пытались с помощью чисел определить все закономерности мира. В Индии появилась десятичная позиционная система счисления, которая благодаря математикам Востока распространилась по миру, в частности в Европу и Северную Африку. Появлением десятичных дробей мир обязан арабскому учёному ал-Каши, который дал определение дробей и правила операций в начале XV века. Многие поколения учёных пытались построить теоретическое обоснование арифметики, систему аксиом и правил арифметических действий. Современное аксиоматическое построение привёл Пеано в XIX веке. Непротиворечивость данного формального построения арифметики была показана Генценом в 1936 году.
Арифметика является одним из Семи свободных искусств, то есть учебных наук, достойных свободного человека и не требующих физического труда.
Основными операциями в арифметике являются сложение, умножение, вычитание, деление. Некоторые учёные как древности, так и современности добавляют к ним возведение в степень, взятие корня, поиск суммы членов арифметической прогрессии, реже поиск суммы членов геометрической прогрессии. Непер в своей книге «Логистическое искусство» разделил арифметические действия по ступеням. На низшей ступени находятся сложение и вычитание, на следующей — умножение и деление, далее — возведение в степень и извлечение корней.
Теория множеств рассматривает арифметические действия как особые отношения между тройками элементов, в которых один элемент определяется через два других, или алгебраические операции.
Сложение
При объединении двух наборов, содержащих некоторое количество предметов, новый набор будет иметь столько предметов, сколько было в первых двух наборах в сумме. Если первый набор содержал предметов, а второй — предметов, то их сумма будет содержать предметов. Указанное действие носит название сложение, определяется символом «+» и является простейшей бинарной операцией. Из данного определения очевидным образом следуют коммутативный и ассоциативный законы сложения. При аддитивной системе нумерации не обязательно знать таблицу сложения, достаточно осуществить пересчёт.
В 1810 году чешский математик Больцано определил действие сложения для натуральных чисел следующим образом: . Независимо от него подобное определение дали немецкие математики Грассман в 1861 году и Ганкель в 1869 году. В «Энциклопедии элементарной математики» даётся следующее определение сложения натуральных чисел:
Определение. Сложением натуральных чисел называется такое соответствие, которое каждой паре натуральных чисел и сопоставляет одно и только одно натуральное число , обладающее следующими свойствами:
§ для любого ,
§ для любых и .
Сложение натуральных чисел всегда выполнимо и однозначно.
Умножение
Последовательное сложение элементов нескольких одинаковых множеств не зависит от порядка этих множеств, что позволило определить другую бинарную операцию — умножение. Очевидно, что для умножения выполняется коммутативный закон. Помимо умножения в древности существовало отдельное арифметическое действие — удвоение, или умножение на два.
Умножение, как и сложение, определили независимо Больцано, Грассман и Ганкель. Умножение натуральных чисел выполняется по следующей формуле: . В Энциклопедии элементарной математики даётся следующее определение умножения натуральных чисел:
Определение. Умножением натуральных чисел называется такое соответствие, которое каждой паре натуральных чисел и сопоставляет одно и только одно натуральное число ( ), обладающее следующими свойствами:
§ для любого ,
§ для любых и .
Умножение натуральных чисел всегда выполнимо и однозначно. Для него выполняются законы дистрибутивности (левый и правый), коммутативности и ассоциативности.
Вычитание
Вычитание является операцией обратной сложению. Иными словами, результатом разности двух чисел и является корень уравнения . Для разности натуральных чисел результат не всегда является натуральным числом. При выполнении операции применялось два приёма: отсчитывание от уменьшаемого числа единиц вычитаемого, или прибавление к вычитаемому такого числа, чтобы получилось уменьшаемое.
Термин лат. «subtractio», или вычитание, появился ещё у Боэция, термины вычитаемое и уменьшаемое ввёл в обиход Вольф в 1716 году}, лат. «differentia», или разность, — Видман в 1489 году. В Энциклопедии элементарной математики даётся следующее определение вычитания натуральных чисел:
Определение. Вычитанием натуральных чисел называется такое соответствие, которое каждой паре натуральных чисел и сопоставляет число , обладающее следующим свойством:
▪ .
Разность натуральных чисел выполнима только когда и единственна. Расширение натуральных чисел за счёт свойств сложения и вычитания приводит к понятию целых чисел.
Деление
Первое определение деления — это поиск числа, которое содержится в делимом столько раз, сколько единиц содержится в делителе. Такое определение дано в учебниках арифметики XIV века. Деление считалось очень сложной и громоздкой операцией. Современный способ деления, использующий частичные произведения делителя на отдельный разряды частного, представлен в итальянском манускрипте 1460 года. В «Энциклопедии элементарной математики» даётся следующее определение деления натуральных чисел:
Определение. Делением натуральных чисел называется такое соответствие, которое каждой паре натуральных чисел и сопоставляет число , обладающее следующим свойством:
▪ .
Деление натуральных чисел выполнимо только когда , если частное существует, то оно единственно. Расширение целых чисел за счёт понятий умножения и деления приводит к определению рациональных чисел.
Возведение в степень. Возвести число (основание степени) в целую степень (показатель степени) – значит повторить его сомножителем столько раз, каков показатель степени. Результат называется степенью. Запись возведения в степень:
3 5 = 3 · 3 · 3 · 3 · 3 = 243 .
Здесь 3 – основание степени, 5 – показатель степени, 243 – степень.
Вторая степень любого числа называется квадратом, третья – кубом. Первой степенью любого числа является само это число.
Pascal — это императивный язык программирования, разработанный Никлаусом Виртом в 1970 в качестве языка обучения структурному программированию. Название языку дано в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля. Первоначально язык компилировался в байт-код, подобно языку Java.
Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Н. Вирта, язык должен способствовать дисциплинированию программирования, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис интуитивно понятен даже при первом знакомстве с языком.
Тем не менее, первоначально язык обладал множеством недостатков: невозможность передачи функциям массивов переменной длины, отсутствие нормальных средств работы с динамической памятью, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций написанных на других языках, отсутствие средств раздельной компиляции и т. п.
Структура программы.
В программе, написанной на языке Pascal, могут быть следующие разделы:
* заголовок программы: program имя;
* список используемых модулей: uses cписок используемых модулей;
* раздел объявления переменных: var
* раздел объявления процедур и функций: procedure, function,
* тело программы: begin, end.
Заголовок программы состоит из зарезервированного слова program и имени программы (со списком параметров, заключенных в круглые скобки). Завершается заголовок точкой с запятой.
Порядок размещения разделов произвольный. Разделы могут отсутствовать.
Тело программы начинается словом begin , а заканчивается словом end с точкой, которая является признаком конца программы.
const имя: тип=значение;
Обычные константы могут быть целого, вещественного, символьного, логического типа и типа string, типизированные константы- любого типа, кроме типа файл.
Раздел переменных:
В этом разделе должны быть описаны все переменные, встречающиеся в программе:
var список1:тип_1;
список2:тип_2;
список_1,список_2-перечень переменных через запятую. Тип переменной можно задать двумя способами :
а) указать имя типа из раздела type,
б) описать сам тип.
Раздел процедур и функций содержит описание процедур и функций, вызываемых в теле программы.
Тело программы содержит операторы языка Pascal.
В данной программе используются простейшие математически действия. Такие как сложение, вычитание, умножение, деление, а так же возведение в степень.
Деление производится на цело с выделением целой части и остатка, параллельно выдаётся ответ в десятичной дроби.
Описание данных.
Данные делятся на входные, выходные и промежуточные. Выбираются имена и типы данных, даются смысловые описания данных.
Разработка любой программы, от несложной учебной задачи до профессионального программного продукта, может быть разбита на ряд этапов. Кратко опишем и охарактеризуем их:
Определение входных и выходных данных, требований к программе – что дано и что требуется получить, каков будет способ взаимодействия (интерфейса) программы с пользователем, на каком языке и в какой системе программирования она будет разрабатываться, каковы требования к аппаратному и системному программному обеспечению компьютеров, на которых будет работать программа.
Разработка алгоритма – определение последовательности действий, ведущих к решению задачи и запись их в одной из указанных выше форм.
Кодирование (программирование) – перевод алгоритма на один из языков программирования и создание исходного текста программы в одной из систем программирования. Программа на любом языке состоит из операторов – так называются отдельные действия, разрешенные в языке. Число операторов в любом языке ограничено, и правила их написания жестко заданы.
Паскаль строятся по следующим правилам:
· имена могут включать латинские буквы, цифры и знак подчеркивания (для простоты опустим некоторые другие символы, разрешенные в именах);
· имя состоит из одного слова; если требуется пробел в имени, он заменяется на подчеркивание: так, My_1 будет правильным идентификатором, а My 1 – нет;
· имя всегда начинается с буквы: допустим объект с именем A1, но не 1A; прописные и строчные буквы в именах не различаются Паскалем: x1 и X1 – это одна и та же величина;
· имена не могут совпадать с зарезервированными в языке служебными словами, обозначающими определенные в языке операции над данными: например, нельзя назвать Begin или BEGIN ни одну величину в программе, так как begin – зарезервированное служебное слово, а прописные и строчные буквы в служебных словах также не различаются. Познакомиться с большинством служебных слов мы сможем в процессе изучения языка.
Константой называют величину, значение которой не меняется в процессе выполнения программы.
Название в задаче | Имя переменной или константы в программе, тип | Смысловое описание |
Входные | ||
сумма, разность, произведение, частное | a,b, integer | Переменные для вычисления |
i: char | Переменная которой присваивается код нажатой клавиши | |
Промежуточные | ||
возведение в степень | s,n: integer | Переменные для работы с массивами |
Выходные | ||
done: boolean | Проверка правильности ввода | |
ответ | c,d: integer | Вывод целого числа |
ответ | r: real | Вывод вещественного числа |