Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на мм.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
521.8 Кб
Скачать

31 Разветвляющийся вычислительный процесс и условный оператор

 

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

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

 

7.1. Логические выражения

 

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

Результатом вычисления ЛВ является одно из двух значений: true или false.

32

Типы вычислительных процессов и примеры их алгоритмизации.

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

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

35

Программирование. Языки Программирования

13.1 Что такое Программирование?

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

Существуют два варианта программирования. Программирование непосредственно команд процессора (так называемое "низкоуровневое" программирование), и программирование с использованием языков программирования ("высокоуровневое программирование").

13.2 Программирование на "низком уровне".

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

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

Проблему с запоминанием большого количества кодов решил язык ассемблера (assemble – собирать, assembler - сборщик). На ассемблере программист мог писать не коды команд, а их мнемонические имена. А затем, с помощью специальной программы эта последовательность имен команд превращалась собственно в программу. Примеры мнемонических имен: ADD – сложение, SUB – вычитание, MOV – копирование одной ячейки памяти в другую.

Но "низкоуровневое" программирование заставляет программиста мыслить на уровне процессора. А при решении большинства задач программисту нужно больше думать о предметной области, а не о работе процессора. Поэтому и стали появляться языки программирования "высокого уровня", которые позволяли сосредоточиться больше на решении задач предметной области, нежели на работе с процессором.