ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия Реферат

Алгоритмическая конструкция “ветвление”

Из жизненного опыта нам известно, что даже элементарные бытовые действия мы выполняем после определенных размышлений.
1234x600
Аналогичным образом, требуется прерывать линейное выполнение алгоритма для того, чтобы принять решение в каком направлении выполнять дальнейшие вычисления. В этом случае применяется специальная алгоритмическая конструкция, которая называется “ветвлением“. Ветвление обеспечивает выполнение одной или более инструкций алгоритма, при условии истинности некоторого логического выражения. В виде блок-схемы эта конструкция изображается в следующем виде:
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия
Аналогичным образом, требуется прерывать линейное выполнение алгоритма для того, чтобы принять решение в каком направлении выполнять дальнейшие вычисления. В этом случае применяется специальная алгоритмическая конструкция, которая называется “ветвлением“. Ветвление обеспечивает выполнение одной или более инструкций алгоритма, при условии истинности некоторого логического выражения. В виде блок-схемы эта конструкция изображается в следующем виде:
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Здесь изображена так называемая полная форма ветвления, которая предполагает две ветви: на истину и ложь. Но существует и другой тип ветвления называемый “неполным ветвлением“. Такая форма ветвления содержит только одну ветвь инструкций, которые будут выполнены, если условие принимает значение “истинно”.
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия
Пример реализации программы с ветвлением в виде блок-схемы приведен ниже.
Задача 1. Даны два числа A и B. Вывести большее из них.
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия
Пример реализации программы с ветвлением в виде блок-схемы приведен ниже.
Задача 1. Даны два числа A и B. Вывести большее из них.
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Поскольку ветвление предполагает максимум два пути решения, то часто приходится вставлять одно ветвление внутрь другого, то есть применять вложенные ветвления. Частным случаем вложенного ветвления является переключатель (switch-case). Пример задачи, которая может быть решена с помощью переключателя.
Задача 2. Дано числовое представление дня недели: – воскресенье, 1 – понедельник, 2 – вторник и т. д. Вывести, соответствующее ему, текстовое значение.
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия
Переключатель (switch) работает следующим образом. Выражению-селектор в заголовке switch передается значение целочисленного объекта. Это значение по очередности сопоставляется со всеми значениями блоков case переключателя. Если значение какого-либо блока case окажется равным значению селектора, то выполняется инструкция этого блока и выход из switch. В противном случае (если будут пропущены все блоки case), выполняется блок по умолчанию (default), а если и он отсутствует, то switch передает управление в программу.
В различных языках программирования ветвления реализованы похожим образом, в виде инструкции управления if - else или swith - case (для переключателя).

Виджеты (плазмоиды)

Плазмоид или виджет – это небольшие приложения KDE Plasma 5. Они полностью интегрированы в среду и используются на рабочем столе как элементы GUI. Все, что находится на рабочем столе является виджетом, включая сам рабочий стол. Виджеты можно размещать на рабочем столе и удалять их с него, но рабочий стол удалить нельзя. По умолчанию на рабочем столе размещается виджет панель и виджеты, которые размещаются на самой панели: меню приложений, системный лоток, который группирует несколько плазмоидов (цифровые часы, громкость, системные уведомления и др.).
На самом деле, есть еще один, скрытый виджет – KRunner. Это универсальный инструмент поиска в виде строки для ввода текста. С его помощью можно запускать приложения, открывать сайты, переходить по закладкам, искать файлы и данные, решать короткие уравнения и многое другое. Для вызова этого элемента начните ввод текста с клавиатуры. Для вызова этого элемента с помощью сочетания клавиш, необходимо настроить глобальные комбинации клавиш. Перейдите Рабочая среда > Комбинации клавиш > Глобальные комбинации клавиш > Приложения > Открыть строку поиска. Установите неконфликтное сочетание, например Meta F2 (по умолчанию Alt Пробел / Alt F2, но м. б. отключено).
Плазмоиды можно размещать на панели или на рабочем столе (т. е. и то, и другое является контейнером для других виджетов). Если виджеты имеют сходный функционал (например, меню), то они могут быть взаимозаменяемы. Чтобы заменить один виджет на другой нужно из контекстного меню над виджетом выбрать подходящую замену.
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Взаимозаменяемые виджеты для Меню

Оформление виджетов строго подчиняется выбранному оформлению рабочего стола, которое, в свою очередь, наследует оформление глобальной темы (look and feel), поэтому виджеты воспринимаются как неотъемлемая часть визуальной среды. Для того, чтобы получить виджет необходимо вызвать контекстное меню на рабочем столе и выбрать пункт “Добавить виджеты”. В левой части экрана появится боковая панель с виджетами.
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Некоторые виджеты на рабочем столе и панель виджетов

Панель виджетов имеет строку поиска и кнопку для загрузки новых веджетов. Установка виджетов на рабочем столе осуществляется простым перетаскиванием курсором мыши. Один и тот же виджет может размещаться в нескольких местах (например, на панели и в рабочей области). Использование виджета отображается в виде счетчика на иконке виджета в панели веджетов. Чтобы изменить размеры виджета, настроить внешний вид, удалить виджет или переместить в другую область экрана необходимо навести курсор мыши на виджет и удержать ЛКМ несколько секунд.
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Виртуальные рабочие столы и комнаты plasma

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

Изначально в системе существует только один рабочий стол (некоторое время назад практиковалось использование нескольких виртуальных рабочих столов). Для добавления еще нескольких столов перейдите Поведение рабочей среды > Рабочие столы.

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

Работа с комнатами и рабочими столами
Комбинация клавишОписание
Meta Q / Alt D,Alt AОткрывает панель управления комнатами
Meta TabПереключает в следующую комнату
Meta Shift TabПереключает в предыдущую комнату
Ctrl F1Переключает на рабочий стол 1
Ctrl F2Переключает на рабочий стол 2
Ctrl F3Переключает на рабочий стол 3
Ctrl F4Переключает на рабочий стол 4

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

Между рабочими столами и комнатами Plasma существует одно значительное различие. Виртуальные рабочие столы служат для группировки и упорядочения окон, а комнаты Plasma группируют и упорядочивают виджеты Plasma. В комнатах можно изменить обои рабочего стола, использовать на рабочем столе свой набор виджетов их расположение, но нельзя изменить глобальную тему. Для создания комнаты вызовите контекстное меню на рабочем столе и выберите пункт Комнаты (или воспользуйтесь указанным выше сочетанием клавиш). Слевой стороны экрана появится панель диспетчера комнат – Комнаты. Комнаты создаются с помощью кнопки Создать комнату (в нижней части панели), а также в разделе Поведение рабочей среды > Комнаты.
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Панель “Комнаты” и виджет “Переключение комнат”

Комната с другим набором виджетов и формлением

Вложенные инструкции if

В тех случаях, когда в программе двух ветвей условной инструкции недостаточно, прибегают к вложенным ветвлениям. Вложенное ветвление реализуется условной инструкцией, которая в одной (или в обеих) из ветвей содержит другую условную инструкцию. Приведем пример.
Задача 6. Дана точка A с координатами (x;y). Определить, какой координатной четверти принадлежит т. A.
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Программа 8.7.6

#include <iostream>
using namespace std;

int main() {
    double x, y;
    cout << "x = "; cin >> x;
    cout << "y = "; cin >> y;
    cout << "Точка находится ";
    if (x > 0)
        if (y > 0)
            cout << "в I четверти.";
        else
            cout << "в IV четверти.";
    else
        if (y > 0)
            cout << "во II четверти.";
        else
            cout << "в III четверти.";
    cout << endl;
    return 0;
}

Блок-схема
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия
Обратите внимание, что блок вложенной инструкции if (англ. – nested conditional) содержит дополнительный отступ. Эту программу можно оформить иначе, с помощью логической операции and.

Программа 8.7.7

#include <iostream>
using namespace std;

int main() {
    double x, y;
    cout << "x = "; cin >> x;
    cout << "y = "; cin >> y;
    cout << "Точка находится ";
    if (x > 0 && y > 0)
		cout << "в I";
    else if (x < 0 && y > 0)
		cout << "в II";
    else if (x < 0 && y < 0)
		cout << "в III";
    else
		cout << "в IV";
    cout << " четверти." << endl;
    return 0;
}

Задача 5 могла быть реализована подобным образом, но, в таком случае, код станет очень громоздким и будет восприниматься плохо. Глубина вложенности одной условной инструкции в другую не имеет границ. Но, не взирая на то, что наличие отступов делает программный код понятным, слишком большая глубина вложенности значительно усложняет его чтение, поэтому ее величина редко бывает более 4.

Большую глубину вложенности можно избежать использованием логических операций или разбиением вложенной структуры на несколько последовательных условных инструкций, как в задании ниже.Задача 7. Даны три целых числа. Найти количество положительных чисел в исходном наборе.

Программа 8.7.8

#include <iostream>
using namespace std;

int main() {
    int a, b, c;
    cout << "a = "; cin >> a;
    cout << "b = "; cin >> b;
    cout << "c = "; cin >> c;
    int i = 0;    
    if (a > 0)   i;
    if (b > 0)   i;
    if (c > 0)   i;
    if (i) 
        cout << "Количество положительных "
                "чисел равно " << i << endl;
    if (!i) 
        cout << "Положительных чисел - нет!" << endl; 
    return 0;
}

Обсуждение. Если счетчик i не изменит своего значения после прохождения каскада инструкций if, то его значение так и останется нулевым. Результат операции !i – true, если значение i == 0 (логическое отрицание).

(Блок-схема аналогична заданию 5).Рассмотрим классический пример вложенных if – нахождение корней квадратного уравнения.Задача 8. Даны коэффициенты a, b и c. Найдите вещественные корни квадратного уравнения, если вещественных корней нет – сообщите об этом.

Программа 8.7.9

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    double a, b, c, x1, x2;
    cout << "a = "; cin >> a;
    cout << "b = "; cin >> b;
    cout << "c = "; cin >> c;
    double d = b * b - 4 * a * c;
    if (d > 0) {
        x1 = (-b - sqrt(d))/2/a;
        x2 = (-b   sqrt(d))/2/a;
        cout << "x1 = "   << x1
             << "nx2 = " << x2
             << endl;
    } else {
        if (d < 0) {
            x1 = -b/2/a;
            cout << "x = " 
                 << x1 
                 << endl;
        } else {
            cout << "Уравнение не имеет корней."
                 << endl;
        }
    }
    return 0;
}

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

Программирование разветвляющихся алгоритмов — киберпедия

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

Рефераты:  Реферат: Компьютерные технологии -

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Рис. 4.1. Фрагмент разветвляющегося алгоритма

Если условие истинно, то выполняется оператор 1, если ложно – оператор 2.

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

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Рис. 4.2. Панель инструментов Логический

Операция отношения принимает одно из двух значений: 1 (истина) — если заданное отношение выполняется или 0 (ложь) – в противном случае.

В MathCAD’e можно в одном выражении проверять несколько условий. Результат вычисления операций отношения:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

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

В MathCAD используются четыре логические операции: логическое отрицание (Ø), логическое И (Ù), логическое ИЛИ (Ú) и логическое исключающее ИЛИ (Å).

Логическое выражение принимает только одно из значений: 1 (ИСТИНА) или 0 (ЛОЖЬ) и вычисляется с учетом приоритета операций, входящих в выражение. Самый высокий приоритет из логических операций имеет операция логическое отрицание, затем по убыванию: И, ИЛИ и исключающее ИЛИ (имеют одинаковый приоритет).

Операция логическое отрицание дает результат, противоположный значению операнда: отрицание ИСТИНЫ дает ЛОЖЬ и наоборот.

Результатом операции И будет значение ИСТИНА только в том случае, когда значение ИСТИНА имеют оба её операнда.

Операция ИЛИ имеет значение ИСТИНА, когда значение ИСТИНА имеет хотя бы один из операндов.

Операция исключающее ИЛИ имеет значение ИСТИНА, когда значение ИСТИНА имеет только один из операндов.

Для обозначения логических операций И и ИЛИ можно использовать знаки “*” (в тексте это точка) и “ ” соответственно:

Определение значений логических выражений:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Для программирования разветвляющихся алгоритмов в Mathcad используется условная функция и условный оператор.

Условная функция if

Эта функция записывается в виде (символы if вводятся с клавиатуры):

if (<логич. выраж.>, <выражение1>, <выражение2>)

Функция принимает значение выражения 1, если логическое выражение равно 1 и значение выражения 2, если логическое выражение равно 0.

Например: X← if (A > B, Y, Z) или if (A > B, X Y, X Z)

Пример 4.1.Вычислить значение переменной y..

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Описание программы-функции и обращение к ней:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Можно использовать и такой вариант решения примера:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Условный оператор if

Структура условного оператора: <выражение> if <условие>

Действие оператора if начинается с проверки условия. Если оно истинно (равно 1), то возвращается значение выражения слева от оператора if. Это соответствует условной структуре, называемой ЕСЛИ – ТО.

Для вставки условного оператора в программу необходимо (рис. 4.3):

— ввести имя программы-функции со списком формальных параметров и символ “:”;

— щелкнуть кнопку Add line панели Программирование ина ней кнопку условного оператора if;

— справа от оператора if ввести условие, слева от if выражение, которое будет выполняться, если условие истинно; если в программе предусматриваются дополнительные условия, следует повторно нажать кнопку Add Line и ввести их аналогично, используя оператор ifили otherwise.

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Рис. 4.3. Вставка условного оператора

Для получения условной структуры ЕСЛИ–ТО–ИНАЧЕ используется оператор otherwise, который выполняется в том случае, если условие оператора if ложное.Для вставки оператора otherwise необходимо выделить поле, стоящее после оператора if, щелкнуть на кнопке otherwise панели Программирование и в поле оператора otherwise ввести соответствующее выражение.

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Решим пример 4.1, используя в программе условный оператор if.

Блок-схема алгоритма:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Описание программы-функции и обращение к ней:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Пример 4.2. Вычислить значения полинома M(x) в зависимости от значения переменной y при x = 0,7.

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Блок-схема алгоритма решения примера:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Описание программы-функции и обращение к ней имеет вид:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

При программировании сложных разветвляющихся алгоритмов возникает необходимость выполнить несколько операторов и при выполнении и при невыполнении условия в операторе if. В этом случае для добавления дополнительных строк необходимо выделить поле 1 условного оператора и/или поле слева от оператора otherwise и щелкнуть повторно на кнопке Add line панели Программирование.

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Пример 4.3.Даны числа a, b, c.Удвоить эти числа, если a≥b≥c и заменить их абсолютными значениями, если это не так.

Блок-схема алгоритма решения примера:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Описание и вызов программы-функции приведены на рис. 4.4. Входными параметрами являются переменные a, b, и с. Выходным параметром является вектор v, элементы которого содержат новые значения переменных a, b, c.

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Рис. 4.4. Реализация алгоритма примера 4.5

Пример 4.4. Даны произвольные числа a, b, c. Если нельзя построить треугольник с такими длинами сторон, то вывести об этом сообщение, иначе вывести сообщение о виде треугольника.

Описание программы-функции и обращение к ней:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

§

Цикл — это последовательность операторов, которая может выполняться один или более раз. Циклический алгоритм — это алгоритм, содержащий один или несколько циклов. Последовательность операторов, которые выполняются в цикле, называется телом цикла. Параметр цикла – переменная, управляющая работой цикла. Параметр цикла изменяет свое значение при каждом проходе тела цикла. Каждый «проход» цикла называется итерацией. В Mathcad’e применяются два типа циклических алгоритмов: цикл с параметром for и цикл с предусловием while.

Цикл с параметром FOR

Оператор цикла for служит для организации циклов с заданным числом повторений. Параметр такого цикла задается дискретной переменной (называемой также ранжированной переменной).

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Рис. 5.1. Блок-схема цикла for

Последовательность действий для вставки оператора цикла for:

— ввести имя программы-функции, список формальных параметров и символ “:”;

— щелкнуть на кнопке for панели Программирование. На экране появятся поля для ввода, изображенные на рис. 5.2:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Рис. 5.2. Вставка оператора цикла for

— в первое поле ввести имя параметра цикла, например i;

— во второе поле диапазон значений параметра цикла, например: i1.. i2 (двоеточие между i1 и i2 набирается клавишей точка с запятой);

— в нижнее третье поле вводятся операторы тела цикла. Для добавления дополнительных операторов в тело цикла щелкните на кнопке Add line.

Операторы тела цикла, будут выполняться столько раз, сколько переменная i изменяет своё значение от i1 до i2 с шагом step. Если значение i1 step не задано, то шаг изменения переменной, по умолчанию равен 1:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Пример 5.1.Вычислить: ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Блок-схема алгоритма решения примера:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Описание и вызов программы-функции:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Пример 5.2. Вычислить: ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Описание и вызов программы-функции:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Пример 5.3. Дана последовательность ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия где i=1, 2, …, n. Подсчитать число четных элементов и число отрицательных элементов последовательности.

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Пример 5.4. Вычислить значения функции ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия при изменении аргумента х от -1 до 2 с шагом 0.5 и сформировать из этих значений вектор y.

Блок-схема алгоритма решения примера:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Описание программы-функции и обращение к ней имеет вид:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Формальные параметры программы-функции Func используются для задания диапазона и шага изменения переменной x. Переменная i определяет текущее значение индекса элемента вектора y.

Цикл с предусловием WHILE

Цикл while называется с предусловием, т. к. проверка условия осуществляется перед каждым выполнением тела цикла. Используется, если число повторений цикла заранее неизвестно.

Выполнение оператора цикла while начинается с проверки условия. Если оно истинно, то выполняются операторы тела цикла, затем вновь проверятся условие и т. д. Как только на очередном шаге окажется, что условие ложное, то выполнение цикла завершится. Цикл while может ни разу не выполниться, если условие в самом начале ложное.

В блок-схеме цикл while изображается так, как показано на рис. 5.3.

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Рис. 5.3. Блок-схема цикла while

Ввод оператора цикла while осуществляется аналогично вводу цикла for, после нажатия кнопки while панели Программирование на экране появляются элементы, показанные на рис. 5.4. В первое поле введите условие выполнения цикла, и в нижнее поле операторы тела цикла. Если в теле цикла более одного оператора, то нужно воспользоваться кнопкой Add Line для добавления дополнительных операторов в тело цикла.

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Рис. 5.4. Вставка оператора цикла while

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

Пример 5.4. Найти первый отрицательный член последовательности ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Блок-схема алгоритма решения примера:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Описание и вызов программы-функции:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Пример 5.5. Вычислить значения функции ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия при изменении аргумента х от -1 до 3 с шагом 0.5 и сформировать из этих значений вектор y.

Эта задача уже была рассмотрена, но с использованием цикла For, решим ее с циклом While.

Описание и вызов программы-функции:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Пример 5.6.Найти количество и сумму цифр заданного натурального числа.Описание и вызов программы-функции:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

В данной программе используются две функции:

· mod – выдаёт остаток при делении x на y.

· trunc – выдает целую часть z, удаляя дробную часть.

Пример 5.7. Составить программу для вычисления суммы членов бесконечного ряда с точностью до члена ряда ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия .

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

При этом вычисление текущего члена ряда выполнить по формуле:ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедияПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия-текущий член ряда,ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия— предыдущий член ряда.

Итерационным называется вычислительный процесс, в котором для определения последующего значения переменной используется её предыдущее значение. При использовании итерационных процессов реализуется метод последовательных приближений. Циклом управляет заданная погрешность вычислений e. Если на очередной итерации погрешность ≥e, то цикл продолжается для вычисления последующего приближённого значения результата, иначе происходит выход из цикла.

Описание и вызов программы-функции:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Вложенные циклы

Если телом цикла является циклическая структура, то такой цикл называется вложенным или сложным. Алгоритм со структурой вложенных циклов – это алгоритм, содержащий цикл, внутри которого размещены один или несколько других циклов.

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

Простейший случай вложенных циклов – двойной. В этом случае один цикл помещается внутри другого. Различные варианты вложенных циклов:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Пример 6.1. Вычислить ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия .

Описание и вызов программы-функции:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

Работа вложенного цикла заключается в следующем: сначала задаётся первое значение параметра внешнего цикла i, затем управление передаётся внутреннему циклу и параметр внутреннего цикла j принимает по очереди все значения. Когда выполнение внутреннего цикла окончено, задаётся второе значение параметра внешнего цикла и вновь полностью выполняется внутренний цикл. Процесс повторяется до тех пор, пока параметр внешнего цикла не примет все значения.

§

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

Рассмотрим применение оператора return на следующем примере: даны два целых числа x и y, если х<y найти произведение этих чисел; если x>y найти сумму этих чисел; в случае их равенства – вывести сообщение “x=y”.

Описание и вызов программы-функции, реализующий алгоритм решения этого примера:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

В этом случае при выполнении указанного условия (x=y) сообщение, введенное после return, возвращается в качестве результата, а никакие другие операторы больше не выполняется.

Программирование в MathCAD’e позволяет осуществлять дополнительную обработку ошибок. Если пользователь предполагает, что выполнение какого-либо оператора программы может вызвать ошибку (например, деление на ноль), то эту ошибку можно перехватить с помощью оператора on error.

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

Рефераты:  ПСИХОЛОГИЧЕСКАЯ ХАРАКТЕРИСТИКА РАННЕГО ВОЗРАСТА | Статья на тему: | Образовательная социальная сеть

<выражение 1> on error <выражение 2>

Если при выполнении <выражение 2> возникает ошибка, выполняется <выражение 1>, если ошибки нет – <выражение 2>.

Для вставки оператора on error в программу, надо поместить курсор в нужное место и нажать кнопку on error на панели Программирование:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

В правое поле следует ввести выражение 2, в левое – выражение 1.

Оператор on error удобно применять в комбинации со встроенной функцией error(s). Используется для вывода диагностических сообщений при возникновении в вычислениях ошибки и записывается в виде:

error («< диагностическое сообщение пользователя >»)

Рассмотрим применение оператора on error и функции error для предотвращения появления ошибки «деление на ноль»:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

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

ЗАДАНИЯ ПО ЛАБОРАТОРНОЙ РАБОТЕ

Линейные алгоритмы

1. Составить программу для вычисления периметра и площади прямоугольного треугольника по длинам двух катетов.

2. Заданы координаты трех вершин треугольника (x1, y1), (х2, y2), (x3, y3). Составить программу для вычисления площади и периметра треугольника.

3. Составить программу для вычисления площади треуголь­ника по длинам двух сторон треугольника и углу между ними.

4. Дана длина ребра куба. Составить программу для вычисления объема куба и площади его боковой поверхности.

5. Даны катеты прямоугольного треугольника. Составить программу для вычисления гипо­тенузы и площади прямоугольного треугольника.

6. Смешано V1 литров воды температуры t1 c V2 литрами воды температуры t2. Составить программу для вычисления объема и температуры образовавшейся смеси.

7. Дана сторона равностороннего треугольника. Составить программу для вычисления пло­щади этого треугольника.

8. Дана гипотенуза и катет прямоугольного треугольника. Составить программу для вычисления второго катета и радиуса вписанной окружности.

9. Известна длина окружности. Составить программу для вычисления площади круга, ограни­ченного этой окружностью.

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

11. Составить программу вычисления поверхности и объёма усечённого конуса.

12. Составить программу для вычисления медиан треугольника со сторонами a, b, с.

13. Составить программу для вычисления площади равностороннего треугольника, пери­метр которого равен P.

14. Дан радиус круга R. Составить программу для вычисления разности площадей квад­рата и круга, который вписан в данный квадрат.

15. Составить программу для вычисления площади прямоугольника со сторонами a, b и площадь ромба, если его диагонали равны соответственно a и b.

16. Составить программу для вычисления площади равнобедренной трапеции по заданным величинам оснований, и угла при большем основании.

17. Составить программу для вычисления объёма пирамиды, основанием которой является треугольник со сторонами a, b, с.

18. Даны два числа x и y. Составить программу для вычисления полусуммы этих чисел и произведения модулей этих чисел.

19. Даны два неотрицательных числа a и b. Составить программу для вычисления среднего арифметического и среднего геометрического этих чисел.

20. Треугольник задан величинами своих углов и радиусом описанной окружности. Составить программу для вычисления сторон треугольника.

21. Составить программу для вычисления высоты треугольника со сторонами а, b, с.

22. Составить программу для вычисления площади круга, вписанного в треугольник с заданными сторонами а, b, с.

23. Составить программу вычисления объема цилиндра и конуса, которые имеют одинаковую высоту h и одинаковый радиус основания r.

Разветвляющиеся алгоритмы

1. Даны целое число k и вещественные числа a, b, c. Составить программу вычисления переменной y в зависимости от значения k:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

2. Даны целое число t и вещественное число x. Составить программу вычисления переменной P в зависимости от значения t:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

3. Даны целое число a и вещественные числа b, c, x. Составить программу вычисления переменной y в зависимости от значения а:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

4. Даны целое число a и вещественные числа b, c, x. Составить программу вычисления переменной y в зависимости от значения а:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

5. Даны целые числа a и i. Составить программу вычисления переменной y по формуле в зависимости от значения а:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

6. Даны целые числа a и i. Составить программу вычисления переменной y по формуле в зависимости от значения а:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

7. Даны целое число t и вещественное число x. Составить программу вычисления переменной P по формуле в зависимости от значения t:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

8. Даны целое число k и вещественные числа a, b, c. Составить программу вычисления переменной y в зависимости от значения k:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

9. Даны три целых числа a, b, c. Возвести в квадрат отрицательные числа и в третью степень — положительные.

10. Даны вещественные числа a, b, c. Получить: min(a, b, c).

11. Значения переменных x, y, z поменять местами так, чтобы они оказались упорядоченными по возрастанию.

12. Даны две переменные целого типа a и b. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения.

13. Даны две переменные целого типа a и b. Если их значения не равны, то присвоить каждой переменной максимальное из этих значений, а если равны, то присвоить переменным нулевые значения.

14. Даны три переменные x, y, z. Если их значения упорядочены по убыванию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное.

15. Даны три целых числа x, y, z. Найти среднее из них. Средним назовём число, которое больше наименьшего из данных чисел, но меньше наибольшего.

16. Составьте программу нахождения произведения двух наибольших из трёх введённых с клавиатуры чисел x, y, z.

17. Даны вещественные числа x, y (x ¹y). Меньшее из этих двух чисел заменить их полусуммой, а большее – их удвоенным произведением.

18. Даны три вещественных числа x, y, z. Возвести в квадрат те из них, значения которых неотрицательны.

19. Даны целые числа x и y. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны, то заменить числа нулями.

20. Заданы три целых числа x, y, z. Если x<0, то определить р как максимальное из трёх чисел. Если x³0, то определить р как минимальное из трёх чисел.

21. Найти произведение двух наибольших из трех заданных чисел, используя при этом не более двух сравнений.

22. Составить программу, вычисляющую произведение двух наибольших из четырех заданных чисел.

23. Для заданных значений x, e, z, t вычислить значение переменной V:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия .

Циклические алгоритмы

1. Вычислить первое значение функции ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия , удовлетворяющее неравенству ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия при изменении x от 1 с шагом 0,01. Определить, на каком шаге это произойдет.

2. Найти и напечатать максимальное значение функции ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия на отрезке [0, 7] для x, изменяющегося с шагом 0,12.

3. Вычислить десятое значение функции ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия при изменении аргумента от 1 с шагом 0,1, которое было получено после достижения условия ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия .

4. Рассчитать значения функции ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия на отрезке [-1,1] с шагом 0,01. Предусмотреть блокировку от деления на 0.

5. Рассчитать первое значение функции ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия , удовлетворяющее условию ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия , где a — заданная величина, x изменяется от –1 с шагом 0,3.

6. Составить программу вычисления функции ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия на отрезке

[-10, 10] с шагом 0,12.

7. Подсчитать сумму положительных значений функции ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедияпри изменении x на отрезке [-5,5] с шагом 0,2.

8. Вычислить третье значение функции ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия , удовлетворяющее условию Y<10-3 при изменении x от 5 с шагом 1.

9. Рассчитать функцию ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия на отрезке [1,10] c шагом h. Определить сумму значений y, больших значения С.

10. Найти сумму значений функции ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия , где x изменяется от –1,2 с шагом 1,1. Суммирование прекратить при выполнении условия ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия .

11. Дано натуральное число. Найти сумму цифр этого числа, верно ли, что число начинается и заканчивается одной и той же цифрой.

12. Дано натуральное число. Найти произведение цифр этого числа, верно ли, что в данном числе нет цифры А.

13. Дано натуральное число. Найти количество цифр этого числа, верно ли, что данное число заканчивается на нечётную цифру.

14. Дано натуральное число. Найти количество чётных цифр этого числа, верно ли, что данная цифра А встречается в числе более двух раз.

15. Дано натуральное число. Найти первую и последнюю цифру числа, верно ли, что сумма цифр данного числа равна А.

16. Дано натуральное число. Сколько раз данная цифра А встречается в данном числе, верно ли, что в данном числе сумма цифр больше В, а само число делится на В.

17. Дано число. Посчитать сумму цифр, стоящих на чётных местах числа.

18. Дано число. Посчитать произведение цифр числа, которые кратны 3.

19. Дано число. Посчитать разность между первым и последним числом.

20. Определить количество трёхзначных натуральных чисел, сумма цифр которых равна n (1≤ n ≤27).

21. Дано натуральное число n. Составить программу для вычисления суммы чисел вида ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия (i=1, 2,…, n), которые являются нечетными числами.

22. Найти сумму первых n членов ряда ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия .

23. Найти произведение десяти членов ряда ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия . ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

24. Найти сумму первых n членов ряда ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия где x – любое число.

25. Вычислить сумму элементов ряда с точностью до заданного e=0,001.

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

26. Даны действительное число a и натуральное число n. Вычислить:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

27. Даны два числа m и n. Если m2>n2, вычислить и напечатать сумму ряда чисел: ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия с точностью 10-3, иначе отпечатать m и n.

28. Найти сумму первых n членов ряда: ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

29. Дано натуральное число n. Вычислить: ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

30. Вычислить: ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

31. Дано вещественное число a. Найти среди чисел ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия первое, большее а.

32. Вычислить сумму n элементов ряда:

ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

33. Дано c и d. Если ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия , вычислить значения функции ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия , где x изменяется на отрезке от –2 до 2 с шагом 0,25. Если ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия , вычислить переменную ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия .

34. Вычислить ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия .

ЛИТЕРАТУРА

1. Ю.Е. Воскобойников, В.Ф. Очков Программирование и решение задач в пакете MathCAD. Учебное пособие. – Новосибирск: НГАСУ, 2002, 136 с.

2. Ю. Е. Воскобойников, Т. Н. Воскобойникова Программирование в математическом пакете MathCAD. Методические указания. – Новосибирск: НГАСУ, 1999 г.

3. Д. Гурский, Е. Турбина Вычисления в Mathcad – 12. – СПб.: Питер, 2006, 544 с.

4. http://www.mathcading.com/Glava6/index6.html

Учебное издание

Светлана Владимировна Белова

Программирование разветвляющихся алгоритмов. условный оператор.

Остров Разминка

Итак, наша первая остановка на Острове Разминка.

Предлагаю вам небольшой

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

1. Какая геометрическая фигура обозначает в блок-схеме начало?

a. ромб

b. овал

c. круг

d. прямоугольник

2. Какая геометрическая фигура обозначает в блок-схеме вывод результата?

a. ромб

b. квадрат

c. параллелограмм

d. прямоугольник

3. Какой оператор описывает в программе на Паскале вывод результата?

a. readln

b. written

c. вывод

d. writeln

4. Назовите операторы ветвления в алгоритмическом языке

a. если то иначе все

b. если бы то

c. условие то иначе

d. если иначе то все

5. Какой оператор описывает в программе на Паскале ввод данных?

a. readln

b. listen

c. вввод

d. writeln

6. Какая геометрическая фигура обозначает в блок-схеме проверку условия?

a. круг

b. квадрат

c. ромб

d. прямоугольник

7. Какой оператор описывает в программе задание переменных?

a. begin

b. end

c. var

d. for

8. Какой оператор определяет целочисленную переменную на Паскале?

a. integer

b. real

c. int

d. longint

9. Какой оператор описывает в программе конец?

a. конец

b. the end

c. end

d. все

10. Какой оператор определяет в Паскале вещественные переменные?

a. comp

b. word

c. integer

d. real

11. Операция, вычисляющая результат деления нацело первого аргумента на второй?

a. mod

b. div

c. for

d. var

12. Операция, вычисляющая остаток от деления первого аргумента на второй?

a. mod

b. div

c. for

d. var

13. sqr(a) – это

a. оператор квадрата

b. оператор корня

c. оператор модуля

d. оператор ветвления

91-100% — 3 балла

От 70-90% — 2 балла

От 50-69% — 1 балл

Оцените свою работу на данном этапе

Раскрасьте блок Остров Разминка соответствующим цветом

Средства обучения

Учебники и учебные пособия

  • Поляков К. Ю. Программирование. Python. C . Часть 1,2,3,4: учебное пособие / К. Ю. Поляков. – М.: БИНОМ. Лаборатория знаний, 2021
  • Поляков К. Ю. Информатика. 10 класс (базовый и углубленный уровени) (в 2 частях) : учебник. Ч.1 и Ч.2 / К.Ю. Поляков, Е.А. Еремин. – М.: БИНОМ. Лаборатория знаний, 2020
  • Поляков К. Ю. Информатика. 11 класс (базовый и углубленный уровени) (в 2 частях) : учебник. Ч.1 и Ч.2 / К.Ю. Поляков, Е.А. Еремин. – М.: БИНОМ. Лаборатория знаний, 2020
  • Поляков К.Ю. Информатика. 7 класс : в 2 ч. Ч.1 и Ч.2 / К.Ю. Поляков, Е. А. Еремин. — М. : БИНОМ. Лаборатория знаний, 2021
  • Поляков К. Ю. Информатика. 8 класс / К.Ю. Поляков, Е. А. Еремин. — М.: БИНОМ. Лаборатория знаний, 2021
  • Поляков К.Ю. Информатика. 9 класс / К. Ю. Поляков, Е. А. Еремин. — М. : БИНОМ. Лаборатория знаний, 2021
  • Приложение к учебнику “К.Ю. Поляков, Е.А. Еремин. Информатика. 10-11. Базовый и углубленный уровень”. Язык C
  • Приложение к учебнику “К.Ю. Поляков, Е.А. Еремин. Информатика. 7-9. Базовый и углубленный уровень”. Язык C
  • Программирование на языке С в среде Qt Creator: / Е. Р. Алексеев, Г. Г. Злобин, Д. А. Костюк,О. В. Чеснокова, А. С. Чмыхало — М. : ALT Linux, 2021. — 448 с. : ил. — (Биб- лиотека ALT Linux).

Задачники

  • Информатика и ИКТ. Задачник-практикум в 2 т. Том 1,2 / Л. А. Залогова, М. А. Плаксин , С. В. Русаков и др. ; под ред. И. Г. Семакина, Е. К. Хеннера. – М.: БИНОМ. Лаборатория знаний, 2009.
  • Златопольский Д. М. Сборник задач по программированию. — 3-е изд., перераб. и доп. — Спб.: БХВ-Петербург, 2021.
  • М. Э. Абрамян 1000 задач по программированию. Часть I. Скалярные типы данных, управляющие операторы, процедуры и функции
  • М. Э. Абрамян 1000 задач по программированию. Часть II. Минимумы и максимумы, одномерные и двумерные массивы, символы и строки, двоичные файлы
  • М. Э. Абрамян 1000 задач по программированию. Часть III. Текстовые файлы, составные типы данных в процедурах и функциях, рекурсия, указатели и динамические структуры

Рекомендуемая литература

  • Джосаттис Н.М. Стандартная библиотека C . Справочное руководство. Вильямс, 2021
  • Конова Е. А., Поллак Г. А. Алгоритмы и программы. Язык С : Учебное пособие. — 2-е изд., стер. — СПб.: Издательство «Лань», 2021
  • Липпман Б. Стенли, Жози Лажойе, Барбара Э. Му. Язык программирования С . Базовый курс. Изд. 5-е. М: ООО “И. Д. Вильямс”, 2021
  • Прата, Стивен. Язык программирования C . Лекции и упражнения, 6-е изд.: Пер. с англ. — М.: ООО “И.Д. Вильяме”, 2021
  • Хайнеман, Джордж, Пояяис, Гэри, Сеяков, Стэнли. Алгоритмы. Справочник с примерами на С, C , Java и Python, 2-е изд.: Пер. с англ. — СПб .: ООО “Альфа-книга”, 2021
  • Шлее М. Qt 5.10. Профессиональное программирование на С . – БХВ-Петербург, 2021
  • Доусон М. Изучаем С через программирование игр. – СПб.: Питер, 2021
  • Васильев А. Н. Самоучитель С с примерами и задачами. 4-е издание (переработанное). Книга виртуальный CD. — СПб.: Наука и Техника, 2021.
  • Скиена С. Алгоритмы. Руководство по разработке. СПб.: БХВ-Петербург, 2021
  • Хайнеман, Джордж, Пояяис, Гэри, Сеяков, Стэнли. Алгоритмы. Справочник с примерами на С, C , Java и Python, 2-е изд.: Пер. с англ. — С пБ .: ООО “Альфа-книга”, 2021
  • Сиддхартха Рао. Освой самостоятельно C за 21 день, 7-е изд. Вильямс, 2021
Рефераты:  Реферат на тему : История создания и развития вычислительной техники — Мегаобучалка

Урок программирование разветвляющихся алгоритмов. простой и составной условные операторы | презентация к уроку по информатике и икт (8 класс): | образовательная социальная сеть

Слайд 1

Начала программирования Программирование разветвляющихся алгоритмов. Простой и составной условные операторы

Слайд 2

Линейные алгоритмы Линейным называется алгоритм, в котором используется всего одна конструкция – следование. Он состоит из операторов, з аписанных последовательно в порядке их исполнения.

Слайд 3

Типы данных в языке Pascal Типы данных Числовые: byte; integer ; r eal . Символьный : char . Строковый: string . Логический: boolean .

Слайд 5

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

Слайд 6

Блок-схема разветвляющегося алгоритма Условие Ветвь 1 Ветвь 2 Да Нет

Слайд 7

Запись разветвляющегося а лгоритма в языке Pascal Формы записи условного оператора Сокращённая: if < условие > then < оператор 1 > ; Полная: else < оператор 2 > if < условие > then < оператор 1 > ;

Слайд 8

Составной условный оператор If < условие > then else begin < оператор 1 >; < оператор 2>; … end begin < оператор 3 >; < оператор 4 >; … e nd ; if < условие 2 > then < оператор 1 > else < оператор 2 >; Вложенный условный оператор

Слайд 9

Задача Три отрезка заданы своими длинами. Определить , образуют ли эти отрезки треугольник , и если образуют, то какой: остроугольный , прямоугольный или тупоугольный. a b c с < a b

Слайд 10

Задача Три отрезка заданы своими длинами. Определить , образуют ли эти отрезки треугольник, и если образуют, то какой: остроугольный , прямоугольный или тупоугольный. Прямоугольный треугольник = 90 º a b c с 2 = a 2 b 2 Тупоугольный треугольник > 90 º a b c с 2 > a 2 b 2 Остроугольный треугольник < 90 º a b c с 2 < a 2 b 2

Слайд 11

Блок-схема алгоритма: Начало a, b , с a > b a > c b > c p:= с c :=a a :=p p:= с c :=b b:=p Да Да Да Нет Нет Нет

Слайд 12

Блок-схема алгоритма: Да Нет c < a b c 2 = a 2 b 2 c 2 > a 2 b 2 Заданные отрезки образуют прямоугольный треугольник Заданные отрезки образуют тупоугольный треугольник Заданные отрезки образуют остроугольный треугольник Заданные отрезки не образуют треугольник Конец Да Да Нет Нет

Слайд 14

Написание программы program treugolnik ; var a, b, c, p: real ; begin writeln ( ‘Программа проверки того, образуют ли 3 заданных отрезка треугольник. Введите длины отрезков.’ ); readln (a, b, c); if a>b then if a>c then begin p:=c; c:=a; a:=p; end else if b>c then begin p :=c; c:=b; b:=p; end; if c< a b then if sqr (c)= sqr (a) sqr (b) then write ( ‘Заданные отрезки образуют прямоугольный треугольник.’ ) else if sqr (c)> sqr (a) sqr (b) then write ( ‘Заданные отрезки образуют тупоугольный треугольник.’ ) else write ( ‘Заданные отрезки образуют остроугольный треугольник.’ ) else write ( ‘Заданные отрезки не образуют треугольник.’ ); end . Исходный код программы

Слайд 15

Программирование разветвляющихся алгоритмов. Простой и составной условные операторы В разветвляющемся алгоритме используются ветвления. Ветвление – это алгоритмическая конструкция, в которой при определённом условии выполняется одна из двух последовательностей действий или ветвей. Запись условного оператора: if < условие > then < оператор 1 > else < оператор 2> ; Краткая форма записи условного оператора: if < условие > then < оператор 1 > ; Составной оператор: begin e nd

Слайд 16

Д.З. № 182, 184, 185,186.

Условная инструкция

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

if (выражение_1)
{
    // Инструкции_1, если выражение в условии
    // принимает значение "истинно" или не равно 0 
}
[else
{
    // Инструкции_2, если выражение в условии
    // принимает значение "ложь" или равно 0   
}]

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

Если логическое выражение_1 возвращает значение true (или оно не нулевое), то выполняется инструкция или группа инструкций (блок) в следующей строке (Инструкции_1). Если значение логического выражения_1 будет вычислено как false (или будет равно 0), то программа перейдет к вычислению блока Инструкции_2 после else.

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

#include <iostream>

int main() {
    if (true) {
    	int x = 12;
    }
    cout << x << endl;
    return 0;
}

Такая программа содержит одну ошибку (попытка использования неопределенного объекта) и одно предупреждение (переменная x не используется). Иными словами, переменная x, объявленная в блоке if, не видна вне этого блока.

if (...) {
    //...
} else {
    //...
}

Для хорошей читаемости программного кода принято блок выделять отступом (в отличие от python, в C отступы не являются частью синтаксиса). Размер отступа, традиционно, принимается равным 4 пробелам или однократной табуляции.

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

Приведем несколько примеров в которых задача решается с помощью ветвления. Начнем с неполного ветвления.Задача 3. Определить является ли число N кратным числу K.

Программа 8.7.2

#include <iostream>
using namespace std;

int main() {
    int N, K;
    cout << "N = "; cin >> N;
    cout << "K = "; cin >> K;
	if (N % K == 0)
		cout << N << " кратно "
			 << K << endl;
    return 0;
}

Блок-схема
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия
Задача 1 может быть реализована следующим образом

Программа 8.7.3

#include <iostream>
using namespace std;

int main() {
    int x, y;
    cout << "x = "; cin >> x;
    cout << "y = "; cin >> y;
	if (x > y)
		cout << x;
	else
		cout << y;
	cout << endl;
    return 0;
}

Задача 4. Составьте программу в которой черепаха рисует красный круг по часовой стрелке, а любого другого цвета (заданным в виде строки) – против часовой.

Программа 8.7.4

import turtle as t
t.reset()
C = input('Введите цвет круга: ')
t.begin_fill()
t.color(C, C)
if C == 'red':
    t.circle(-200)
else:
    t.circle(200)
t.end_fill()
t.mainloop()

Решим ещё одну задачу.Задача 5. Даны три переменных целого типа a, b и c. Определить и вывести максимальное из трех значений.

Программа 8.7.5

#include <iostream>
using namespace std;

int main() {
    int a, b, c;
    cout << "a = "; cin >> a;
    cout << "b = "; cin >> b;
    cout << "c = "; cin >> c;
    int max = a; // Предположим, что max -> a
	if (b > max)
		max = b; // тогда max -> b
	if (c > max)
		max = c; // тогда max -> c
	cout << max << endl;
    return 0;
}

Блок-схема
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия
Идея алгоритма заключается в следующем. Предположим, что переменная a содержит максимальное значение, тогда остается сравнить max со значениями других переменных. В итоге, переменная max будет содержать максимальное значение.

Установка программ в kde

Основной и необходимый комплект программ KDE устанавливается с дистрибутивом. С KDE поставляется несколько сборок дистрибутива Fedora (например, спины Fedora KDE Plasma Desctop и Fedora Astronomy). Получить загрузочных флэш-накопитель можно с помощью утилиты Fedora Media Writer. Дополнительное программное обеспечение можно устанавливать или удалять с помощью стандартного средства установки и удаления пакетов Центр программ Discaver. Запуск Discaver осуществляется из стандартного меню среды KDE:
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия
Преимуществом приложения является управление обновлением не только приложений, но и различных дополнений компонентов KDE, таких как цветовое оформление окон, эффекты, внешний вид и т.п. Разумеется, Discaver позволяет удалить установленные расширения и установить новые. Внешниний вид приложения:
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия
Преимуществом приложения является управление обновлением не только приложений, но и различных дополнений компонентов KDE, таких как цветовое оформление окон, эффекты, внешний вид и т.п. Разумеется, Discaver позволяет удалить установленные расширения и установить новые. Внешниний вид приложения:
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия

В этой программе вы можете управлять репозиториями (источниками) пакетов, отключая или включая их, по необходимости.
ПРОГРАММИРОВАНИЕ РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ — КиберПедия
Discaver не единственный способ установки приложений. Discaver имеет существенный недостаток – он не предоставляет доступ ко всей пакетной базе. Для более удобной работы с пакетной базой предназначены менеджеры dnfdragora (стандартный менеджер пакетов дистрибутива Fedora) и apper (менеджер пакетов KDE). Подробно об установке ПО в Fedora Linux см. в этом разделе: Установка ПО в Linux

Оцените статью
Реферат Зона
Добавить комментарий