Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Математические методы и средства решения задач

Постановка Задачи

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

Даны два целых числа: А. В. Проверить истинность высказывания: "Ровно одно из чисел А и В нечетное".

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

верно\ правда\ да

неверно\ ложь\ нет

Для решения данной задачи с помощью компьютера нам необходимо выбрать такой язык, чтоб техника нас поняла, так как компьютер не понимает человеческий язык. Поэтому, с целью обеспечения связи человека с техникой, разработаны языки программирования. Язык программирования - это система обозначений, служащая для точного б описания программ или алгоритмов для ЭВМ. Языки программирования являются I искусственными языками. от естественных языков они отличаются ограниченным I числом "слов" и очень строгими правилами записи команд (операторов). Поэтому при применении их по назначению они не допускают свободного толкования выражений, характерного для естественного языка. Любой алгоритм, есть последовательность предписании, выполнив которые можно за конечное число шагов перейти от исходных данных к результату. В зависимости от степени детализации предписаний обычно определяется уровень языка программирования чем меньше детализация, тем выше уровень языка. По этому критерию можно выделить следующие уровни языков программирования: машинные;

машинно-ориентированные (ассемблеры);

машинно-независимые (языки высокого уровня).

 

 

 

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

Эти языки более удобны для человека. Мы используем алгоритмический язык С++ - язык программирования к высокого уровня, созданный Бьярном Страустрапом на базе языка Си. Является его расширенной версией, реализующей принципы объектно-ориентированного программирования. Используется для создания сложных программ. Для tBM РС наиболее популярной является система Turbo С++ фирмы Borland (США).

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

Современность включает в себя те, управляющие конструкции, которые

Рекомендуются теоретическим и практическим программированиям.

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

 

 

Математические методы и средства решения задач

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

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

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

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

Средствами решения задачи является алгоритмический язык Си и его элементы

директива препроцессора (#include)

функция (main(); scanО; printQf; getch())

оператор (вызова, выбора)

тип данных (int-целые числа)

библиотека (для ввода-вывода- <stdio.h>; работы с экраном -<conio.h>)

 

Самый успешный язык программирования - язык Си и связанная с ним линия объектно-ориентированных языков: С-Н-. Зауа. Он впервые позволил реально 1 избавиться от Ассемблера при создании операционных систем. Например, практически весь текст операционной системы Unix написан на языке Си и, таким I образом, не зависит от конкретного компьютера Главным достоинством Си является его простота и отсутствие псевдонаучных решений (таких, как вложенность блоков программ друг в друга: в Си функция не может содержать внутри себя другую функцию, а переменные четко разделяются на глобальные и локальные - не так, как Алголе, где локальные переменные подпрограммы являются глобальными для всех вложенных в нее подпрограмм). Просто и ясно описан механизм передачи параметров в функцию (только по значению). Программист, создающий программу на Си, всегда четко понимает, как эта программа будет выполняться. Понятие указателя, статические и автоматические (стековые) переменные языка Си I максимально близко отражают устройство любого современного компьютера, поэтому программы на Си эффективны и удобны для отладки.

В настоящее время подавляющая часть программ пишется на языках Си и С++. I Интерфейс любой операционной системы (так называемый API е Application Program Interface), т.е. набор системных вызовов, предназначенных дня разработчиков прикладных программ, как правило, представляет собой набор функций на языке Си. Наконец, современные объектно-ориентированных языки также основаны на языке Си. Это язык С++, занимающий промежуточное положение между традиционными и объектно-ориентированными языками.

 

Описание данных

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

 

Рис. 1. Схема работы компьютера с информацией

Компьютер преобразует информацию по определенным правилам. Эти правила (операции, команды) заранее занесены в память компьютера. В совокупности эти правила преобразования информации называются алгоритмом. данные, которые поступают в компьютер, называются входными данными. Промежуточные данные формируются в ходе исполнения программы и, чаще всего, пользователю недоступны; они не отображаются на устройствах вывода, но существуют в ОТ! или на ВЗУ. Идентификаторы промежуточным данным присваивает разработчик программы или задает сама программа по заложенным в нее правилам. Выходные данные являются результатом работы программы -ради них и производится обработка входных. Выходные данные, предназначенные для человека, представляются в требуемой для него форме (тексты, рисунки, звуки); при хранении выходных данных на носителях или передаче по сетям8 сохраняется двоичный компьютерный формат их представления. Таким образом, работу программы можно рассматривать как действия по

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

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

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

 

 

 

Алгоритм и блок – схемы

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

- дискретность - свойство алгоритма, характеризующее его структуру, т. к. каждый алгоритм состоит из отдельных действий.

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

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

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

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

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

4.1. Словесное описание. В этом случае запись алгоритма осуществляется в произвольной форме на естественном языке. Рассмотрим этот способ в нашем случае: Даны два целых числа: А, В. Проверить истинность высказывания: "Ровно одно из чисел А и В и С положительное". Решение:

1) Введите числа - А, В,С

2) Ровно одно из чисел А,В,С положительное

3) В остальных случаях высказывание ложно

4) Конец

 

 

4.2. Блок-схема. Описание структуры алгоритма с помощью геометрических фигур с использованием линий связи, показывающих порядок выполнения. Данный способ по сравнению с другими способами записи алгоритма имеет ряд преимуществ. Он наиболее нагляден: каждая операция вычислительного процесса изображается отдельной геометрической фигурой. Кроме того, графическое изображение алгоритма наглядно показывает разветвления путей резвлетления задачи в Зависимости от различных условий, повторение отдельных этапов вычислительного процесса и другие детали

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

 

 

 

 

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

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

Решение:

1) Алг/ровно одно из чисел A B C положительное

2) Дано/ А,В,С-любые числа

3) Надо/ровно одно из чисел А,В,С положительное

4) Начало/введите числа А,В,С

5) Если/ A>0 или В>0 или С>0

6) То/ вывод 1

7) Если / вывод 0

8) Конец

 

 

 

5. Программа на алгметрическом языке С++

Программа _- способ описания алгоритма на языка алгоритмического тiрограл1лti1рЮнгзнтня.„: Язык Для записи алгоритмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке программой для компьютера. Программный способ записи алгоритма позволяет на основе строго определенных правил сформировать последовательность предписаний, однозначно отражающих смысл 11 содержание алгоритма, с целью его последующего исполнения на компьютере. Рассмотрим этот способ на нашем примере.

#include <stdio.h>
#include <conio.h>
main()

{int A,B,C;
printf(" A,B,C");
scanf("%i%i%i",&A,&B,&C);//ввод чисел
if(A>0&&B<0&&C<0 or A<0&&B>0&&C<0 or A>0&&B<0&&C>0)printf("True");
else printf ("False");
getch();
}

 

Б. Тестовый пример

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

 

 

 

 

 

 

 

Руководство пользователя

Программа написана на языке С++ в интегрированной среде Вог1апа С++ у3.1. Для её выполнения требуется транслятор с этого языка и ОС. Для того, чтобы Процессор мог выполнить программу, программа и данные должны быть загружены в оперативную память (ОП). Необходимо, чтобы в ОП была размещена программа - транслятор, автоматически переводящий с языка программирования в машинные коды. Трансляторы бывают двух типов: интерпретаторы - программа, которая обеспечивает последовательный перевод операторов программы с одновременным их выполнением, и компиляторы переводят весь текст программы на машинный язык и сохраняет его в исполнимом файле (обычно с расширением.ехе). Достоинством интерпретатора является удобство отладки (поиск ошибок), недостаток - сравнительно малая скорость выполнения. После запуска программы выводится окно с приглашением к вводу данных, введя данные, получаем результат. В противном случае появится сообщение об ошибке, после исправления, которой тоже получим результат. Компилятор и интегрированная среда включает в себя специальные инструменты, которые упрощают разработку больших приложений, а также специальные библиотеки, которые повышают производительность. Использование этих инструментов и является визуальным программированием.

 

 

Заключение

 

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

 

 

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

1. Джарод Холингвэрт, Дэн Баттерфилд, Боб Сворт, Джэйми Оллсоп C++Builder 5. Руководство разработчика.

2. Borland C++ Builder 5. Энциклопедия программиста. Калверт Ч., Рейсдорф К., "ДиаСофт" - 2001, 944 стр.

3. Галерея «ПЕТРОПОЛЬ». Неформальное введение в C++ и TURBO VISION. 1992г.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...