Процесс решения задач на эвм. Этапы решения задачи. Классификация задач. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Процесс решения задач на эвм. Этапы решения задачи. Классификация задач.



Процесс решения задач на ЭВМ. Этапы решения задачи. Классификация задач.

На ЭВМ могут решаться задачи различного характера, например: научно-инженерные; разработки системного программного обеспечения; обучения; управления производственными процессами и т. д.

1. Постановка задачи: сбор информации о задаче; формулировка условия задачи; определение конечных целей решения задачи; определение формы выдачи результатов; описание данных (их типов, диапазонов величин, структуры и т. п.).

 

2. Анализ и исследование задачи, модели: анализ существующих аналогов; анализ технических и программных средств; разработка математической модели; разработка структур данных.

 

3. Разработка алгоритма: выбор метода проектирования алгоритма; выбор формы записи алгоритма (блок-схемы, псевдокод и др.); выбор тестов и метода тестирования; проектирование алгоритма.

 

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

 

5. Тестирование и отладка: синтаксическая отладка; отладка семантики и логической структуры; тестовые расчеты и анализ результатов тестирования; совершенствование программы.

 

6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2-5.

 

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

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

 

Математическая модель. Компоновка. Компиляция.

Математическая постановка задачи – это формулировка нашей задачи как задачи некоторого раздела математики. На этом этапе также рассматриваются вопросы: Что дано? Что найти? Как найти? Однако это формулируется на языке математики.

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

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

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

 

 

Структурный подход в программировании. Объектный подход.

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

 

Основные элементы программирования.

Программирование - это написание инструкций компьютеру, подчинение его ресурсов своим нуждам.

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

1). Как ввести информацию в память (ввод);

2). Как хранить информацию в памяти (данные);

3). Как указать правильные команды для обработки данных (операции);

4). Как передать обратно данные из программы пользователю (вывод);

5). Уметь упорядочить команды таким образом, чтобы:

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

Другие выполнялись повторно некоторое число раз (циклы);

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

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

 

Ввод означает считывание значений, поступающих с клавиатуры, с диска или из порта ввода-вывода.

Данные – это константы, переменные и структуры, содержащие числа (целые и вещественные), текст (символы и строки) или адреса (переменных и структур).

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

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

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

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

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

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

 

Элементарные конструкции. Выражения. Операторы. Операнды.

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

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

Арифметическим называется выражение, содержащее операнды только арифметического (вещественного и/или целого) типа и знаки математических операций.

Специальные логические операции. Операнды этих операций могут иметь только логический тип.

Строковое (текстовое) выражение может содержать операнды только символьного (текстового или строкового) типа. В языках программирования, в том числе и в VBA, имеется только одна строковая операция, которая носит название конкатенация или слияние под-строк в строку.

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

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

 

Синтаксис и семантика языка программирования.

Описание каждого элемента языка задается его СИНТАКСИСОМ и СЕМАНТИКОЙ. Синтаксические определения устанавливают правила построения элементов языка. Семантика определяет смысл и правила использования тех элементов языка, для которых были даны синтаксические определения.

Структура программы VBA.

Visual Basic for Applications (VBA) - это инструмент разработки приложений. Подобно другим средствам программирования, VBA позволяет создать полностью автоматизированные программные продукты, которые можно использовать, например, для подготовки документов или анализа данных электронных таблиц. VBA - уникальное приложение, поскольку оно встраивается в другое приложение и расширяет его функциональные возможности.

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

Sub имя_процедуры ([аргументы])

Инструкции

End Sub

Ключевые слова Sub и End Sub используются в описании любой процедуры. Параметр имя_процедуры определяет имя создаваемой процедуры. Необязательные параметры аргументы позволяют передать в процедуру требуемые значения.

 

Типы данных VBA.

Тип Date -для хранения дат и времени.

При работе с этим типом данных следует иметь ввиду, что VBA-типы Date не являются такими же типами, как в рабочих листах Excel, хотя во многом и схожи с ними. Например, базовой датой для VBA-типа Date является 30 декабря 1899 года, а в Excel - 1 января 1900 года.

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

 

Числа- VBA имеет шесть различных численных типов данных: Byte, Integer, Long, Single, Double, Currency.

Целые числа: Integer - это целое число без дробной части (целые числа никогда не содержат десятичного знака, даже если десятичная часть равна нулю). VBA предоставляет три типа целых данных: Byte, Integer, Long.

Byte - наименьший из трех типов целых данных, предназначен для хранения числе от 0 до 255. Этот тип обычно используют для хранения двоичных данных.

Integer использует диапазон целых чисел от -32768 до 32767.

Long использует диапазон целых чисел от -2147483648 до 2147483647.

 

Числа с плавающей точкой: Числа с плавающей точкой могут иметь любое число цифр до или после десятичной точки (в пределах границ конкретного типа данных). Иногда их называют действительными числами. Этот тип данных используют тогда, когда требуется хранить числа, имеющие дробную часть. VBA имеет два типа данных с плавающей точкой: Single, Double.

Single используется для хранения:

отрицательных чисел от -3,402823*1038 до -1,401298*10-45

и положительных от 1,401298*10-45 до 3,402823*1038.

Числа, хранимые с использованием типа Single, называются числами одинарной точности.

Double используется для хранения:

отрицательных чисел от -1,79769313486232*10308 до -4,94065645841247*10-324

и положительных от 4,94065645841247*10-324 до 1,79769313486232*10308.

Числа, хранимые с использованием типа Double, называются числами двойной точности.

 

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

Currency хранит числа в диапазоне от -922337203685477,5808 до 922337203685477,5807.

 

Тип данных Variant-Это особый тип данных, который может сохранять любые типы, за исключением типа Object. VBA использует этот тип данных для всех переменных, если только они не объявлены явно.

 

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

 

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

Константы и переменные. Свойства переменных.. Время жизни переменной.

Синтаксис функции InputBox.

InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])

Аргументы Prompt (единственный обязательный аргумент), Title, HelpFile, Context

Аргумент Default - строковое выражение, использующееся как значение по умолчанию для пользовательского ввода.

Аргументы XPos, YPos - любые численные выражения. Эти аргументы задают координаты вывода диалогового окна на экране монитора. XPos - горизонтальное расстояние от левого края окна. YPos - вертикальное расстояние от верхнего края окна. Оба расстояния измеряются в твипах (1 твип = 1/20 точки = 0,0007 дюйма). Следует быть внимательным при использовании этих аргументов, т.к. при их больших значениях диалоговое окно может "уехать" за пределы экрана монитора.

Синтаксис функции MsgBox.

MsgBox (Prompt [, Buttons] [, Title] [, HelpFile, Context])

Единственным обязательным аргументом является аргумент Prompt, который может быть любым строковым выражением и содержит информацию, которая выводится в диалоговом окне. Все остальные аргументы - необязательные.

Аргумент Title - строка для заголовка диалогового окна.

Аргумент HelpFile - строковое выражение, содержащее имя справочного файла Windows (который уже должен быть создан).

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

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

 

Способы записи чисел в VBA.

Арифметические операторы.

Оператор присваивания (=)

Оператор присваивания используется для присваивания результата выражения переменной.

Операция присваивания имеет две синтаксические формы:

1 Let varname = expression

2 varname = expression; varname - любая переменная VBA, expression - любое выражение VBA

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

Оператор сложения (+)

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

 

 

Оператор умножения (*)

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

VBA следует тем же правилам для определения типа данных результата выражения умножения, что и для выражений, использующих оператор сложения. В выражениях умножения все переменные Variant, которые содержат значения типа Date, преобразуются в численные значения.

Оператор деления (/)

Оператор деления с плавающей точкой выполняет обычное арифметическое деление своих операндов.

В выражениях деления первый операнд делится на второй операнд - результатом деления является частное.

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

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

Типом данных операции деления с плавающей точкой является Double, за исключением:

Оба операнда в выражении деления имеют тип Integer или Single - результат Single;

Если результат выражения не переполняет диапазон значений для типа Single.

Целочисленное деление (\)

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

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

Деление по модулю (Mod)

Деление по модулю как бы дополняет целочисленное деление. В делении по модулю выражение возвращает только остаток операции деления как целое.

22 Mod 5 = 2

24 Mod 5 = 4

25 Mod 5 = 0

Остальные свойства деления по модулю идентичны целочисленному делению.

Возведение в степень (^)

Оператор возведения в степень возводит число в степень.

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

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

Результат выражения имеет тип Double.

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

 

Логические операторы.

Логический оператор AND

Синтаксис: Операнд_1 AND Операнд_2

Оператор AND выполняет логическую конъюнкцию.

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

Оператор AND можно использовать для нескольких операндов: (5<7) AND (4>3) AND (5=6) результатом будет False

Логический оператор OR

Синтаксис: Операнд_1 OR Операнд_2

Оператор OR выполняет логическую дизъюнкцию.

Результатом данной операции является значение True, если хотя бы один из операндов имеет значение True, иначе - False.

Оператор OR можно использовать для нескольких операндов:(5<7) OR (4>3) OR (5=6) результатом будет True

Логический оператор NOT

Синтаксис:NOT Операнд

Оператор NOT выполняет логическое отрицание. Оператор NOT использует только один операнд.

Операторы AND OR NOT можно комбинировать: ((5<7) AND (4>3)) OR NOT (5=6) результатом будет True

Логический оператор XOR

Синтаксис:Операнд_1 XOR Операнд_2

Оператор XOR выполняет логическое исключение.

Результатом данной операции является значение True, если операнды имеют разные значения, иначе - False.

((5<7) AND (4>3)) OR NOT (5=6) XOR (5=5) результатом будет False

Логический оператор EQV

Синтаксис:Операнд_1 EQV Операнд_2

Оператор EQV - это оператор логической эквивалентности.

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

((5<7) AND (4>3)) OR NOT (5=6) EQV (5=5) результатом будет True

Логический оператор IMP

Синтаксис: Операнд_1 IMP Операнд_2

Оператор IMP выполняет логическую операцию импликации.

((5<7) AND (4>3)) OR NOT (5=6) IMP (5=5) результатом будет True

 

Оператор условия. Синтаксис и семантика. Привести пример на VBA.

IF < условие > THEN < оператор (код) >

Позволяет выполнить один или несколько операторов, если условие истинно. Можно использовать однострочный или блочный вариант. Если необходимо выполнить более одной строки кода, нужно использовать блочный вариант с оператором End IF

Синтаксис: IF < условие > Then < оператор (код) >

IF < условие > Then

< блок кода >

End IF

IF <условие> THEN <оператор 1> ELSE <оператор 2> End IF

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

В блоке IF допускается любое количество предложений ElseIF, но ни одно не может находиться после предложения Else.

 

Оператор выбора. Синтаксис и семантика. Select case.

При выборе для выполнения одного из нескольких операторов (блоков операторов) целесообразно и удобно использовать инструкцию Select Case.

Синтаксис: Select Case <переменная или выражение>

Case <значение 1>

<оператор (блок операторов) 1>

Case <значение 2>

<оператор (блок операторов) 2>

Case <значение 3>

<оператор (блок операторов) 3>

End Select

Операторы цикла. Оператор цикла с предусловием. Привести пример на VBA.

Операторы цикла. Оператор цикла с постусловием.

Существует также цикл с постусловием, когда сначала выполняется тело цикла, а после проверяется условие продолжения цикла. Этот цикл в любом случае выполниться ХОТЯ БЫ ОДИН РАЗ.

Синтаксис: Do

операторы

[Exit Do]

операторы

Loop While (Until) условие

Циклы. Синтаксис for…next. Привести пример на VBA.

Синтаксис

For counter = Start To End [Step StepSize]

Statements

Next [counter]

Counter - любая численная переменная VBA

Start - любое численное выражение, определяет начальное значение для переменной counter

End - численное выражение, определяет конечное значение для переменной counter

Statements - один, несколько или ни одного оператора VBA (тело цикла).

 

По умолчанию VBA увеличивает переменную counter на 1 каждый раз при выполнении операторов в цикле. Можно задать другое значение (SterSize - любое численное выражение), на которое будет изменяться counter.

Ключевое слово Next сообщает VBA о том, что достигнут конец цикла. Необязательная переменная counter после ключевого слова Next должна быть той же самой переменной counter, которая была задана после ключевого слова For в начале структуры цикла.

Циклы. Синтаксис Do …loop.

Цикл Do...Loop, уточняемый оператором While, выполняется до тех пор, пока верно условие, задаваемое в цикле. Если же конструкция цикла уточняется оператором Until, то цикл выполняется до тех пор, пока заданное условие ложно.

Синтаксис: Do While (Until) условие

операторы

[Exit Do]

операторы

Loop

 

Данный тип цикла называется циклом с предусловием, т.к. сначала проверяется условие, а после, если оно верно (ложно), выполняются операторы. Этот цикл может и не выполниться ни одного раза, если условие ложно (верно) при первой же проверке.

 

Операторы цикла. Оператор цикла с параметром (FOR). Графическая и программная формы записи.

Процесс решения задач на ЭВМ. Этапы решения задачи. Классификация задач.

На ЭВМ могут решаться задачи различного характера, например: научно-инженерные; разработки системного программного обеспечения; обучения; управления производственными процессами и т. д.

1. Постановка задачи: сбор информации о задаче; формулировка условия задачи; определение конечных целей решения задачи; определение формы выдачи результатов; описание данных (их типов, диапазонов величин, структуры и т. п.).

 

2. Анализ и исследование задачи, модели: анализ существующих аналогов; анализ технических и программных средств; разработка математической модели; разработка структур данных.

 

3. Разработка алгоритма: выбор метода проектирования алгоритма; выбор формы записи алгоритма (блок-схемы, псевдокод и др.); выбор тестов и метода тестирования; проектирование алгоритма.

 

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

 

5. Тестирование и отладка: синтаксическая отладка; отладка семантики и логической структуры; тестовые расчеты и анализ результатов тестирования; совершенствование программы.

 

6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2-5.

 

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

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

 



Поделиться:


Последнее изменение этой страницы: 2016-04-21; просмотров: 2849; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.107.90 (0.122 с.)