
- •ВоПрос 2
- •Вопрос 3
- •2. Общие признаки и свойства моделей.
- •Вопрос 4
- •Вопрос 5
- •Вопрос 6 Первая теорема подобия
- •Вопрос 8
- •Вопрос 10
- •4.1. Абсолютные и относительные погрешности
- •Вопрос 11
- •Вопрос 12 Метод прямоугольников
- •Метод трапеций
- •Вопрос 13
- •Вопрос 14
- •Вопрос 19
- •Вопрос 20
- •Вопрос 21
- •Вопрос 15 по 19
- •Непрерывно-детерминированные модели d – схемы
- •Дискретно – детерминированные модели f – схемы
- •Дискретно – стохастические модели p – схемы
- •Непрерывно-стохастические модели q-схемы
- •27 Нелинейное программирование
- •Виды алгоритмов[править | править исходный текст]
- •31 Разветвляющийся вычислительный процесс и условный оператор
- •7.1. Логические выражения
- •Типы вычислительных процессов и примеры их алгоритмизации.
- •Программирование. Языки Программирования
- •13.1 Что такое Программирование?
- •13.2 Программирование на "низком уровне".
- •13.3 Программирование на "высоком уровне"
- •13.3.1 Трансляция и компиляция
- •13.3.2 Эволюция языков программирования
- •13.4 Некоторые языки программирования
- •Вопрос 32, 33, 34,
- •Сетевые модели n-схемы
- •Комбинированные модели (а-схемы)
31 Разветвляющийся вычислительный процесс и условный оператор
Главное, чего недостает нашим первым программам -- гибкости и умения принимать решения. Ведь уже несложный алгоритм решения квадратного уравнения предусматривает два варианта расчета, реальные же алгоритмы могут выдавать результаты, зависящие от десятков и сотен условий.
Разветвляющийся вычислительный процесс (РВП) реализуется по одному из нескольких направлений вычисления (ветвей алгоритма). Выбор одной из ветвей зависит от истинности или ложности некоторого условия (логического выражения), включенного в состав условного оператора. Программа должна учитывать все возможные ветви вычислений. При запуске программы, в зависимости от данных, выполняется только одна из возможных ветвей.
7.1. Логические выражения
Логические выражения (ЛВ) строятся из АВ, операций отношения, логических операций и круглых скобок.
Результатом вычисления ЛВ является одно из двух значений: true или false.
32
Типы вычислительных процессов и примеры их алгоритмизации.
Все вычислительные процессы, используемые для решения разного рода задач, делятся на 3 типа: линейные, ветвящиеся, циклические. Эти типы образуют так называемые управляющие канонические структуры: - линейной композиции (последовательности); - выбора решений (проверки условия); - повторения (цикла). Любая программа любого уровня сложности может быть написана с использованием этих трех типов управляющих структур. Канонические структуры имеют одну точку входа и одну точку выхода. Любой из составляющих элементов достижим из точки входа. Программа, построенная по такому принципу, называется регулярной. Определение. Линейным называется такой вычислительный процесс, в котором самостоятельные этапы вычислений выполняются в линейной последовательности их записи, то есть в естественном порядке. Их характерной особенностью является то, что направления вычислений не зависят от исходных данных или промежуточных результатов. Линейные процессы, в силу их простоты, встречаются на практике в чистом виде крайне редко.
Определение. Вычислительный процесс называется ветвящимся, если в зависимости от исходных условий или промежуточных результатов он реализуется по одному из нескольких, заранее предусмотренных возможных направлений алгоритма. Каждое отдельное направление вычислений называется ветвью.
35
Программирование. Языки Программирования
13.1 Что такое Программирование?
Программирование – это не что иное, как процесс создания компьютерных программ. А компьютерная программа, в свою очередь – это последовательность команд процессора и данные, необходимые для выполнения этой последовательности, записанные в один или несколько файлов. Таким образом, программирование – это задание последовательности команд процессора.
Существуют два варианта программирования. Программирование непосредственно команд процессора (так называемое "низкоуровневое" программирование), и программирование с использованием языков программирования ("высокоуровневое программирование").
13.2 Программирование на "низком уровне".
Зарождалось программирование довольно интересно. Первые компьютеры программировались с помощью перфокарт. На перфокарте в соответствующих местах пробивались дырки. Подготовленная таким образом перфокарта вставлялась в компьютер, и компьютер выполнял закодированную последовательность действий.
Следующим шагом стало программирование в машинных кодах. От предыдущего варианта оно отличалось только отсутствием перфокарт. Программист в данном случае просто создавал файл, состоящий из кодов процессора. Естественно, такое программирование не самое удобное. Кроме самой трудности кодирования, нужно было еще помнить огромное количество кодов команд процессора.
Проблему с запоминанием большого количества кодов решил язык ассемблера (assemble – собирать, assembler - сборщик). На ассемблере программист мог писать не коды команд, а их мнемонические имена. А затем, с помощью специальной программы эта последовательность имен команд превращалась собственно в программу. Примеры мнемонических имен: ADD – сложение, SUB – вычитание, MOV – копирование одной ячейки памяти в другую.
Но "низкоуровневое" программирование заставляет программиста мыслить на уровне процессора. А при решении большинства задач программисту нужно больше думать о предметной области, а не о работе процессора. Поэтому и стали появляться языки программирования "высокого уровня", которые позволяли сосредоточиться больше на решении задач предметной области, нежели на работе с процессором.