- Алгоритмическая конструкция “ветвление”
- Виджеты (плазмоиды)
- Виртуальные рабочие столы и комнаты plasma
- Вложенные инструкции if
- Программирование разветвляющихся алгоритмов — киберпедия
- Программирование разветвляющихся алгоритмов. условный оператор.
- Средства обучения
- Урок программирование разветвляющихся алгоритмов. простой и составной условные операторы | презентация к уроку по информатике и икт (8 класс): | образовательная социальная сеть
- Условная инструкция
- Установка программ в kde
Алгоритмическая конструкция “ветвление”
Из жизненного опыта нам известно, что даже элементарные бытовые действия мы выполняем после определенных размышлений.
Аналогичным образом, требуется прерывать линейное выполнение алгоритма для того, чтобы принять решение в каком направлении выполнять дальнейшие вычисления. В этом случае применяется специальная алгоритмическая конструкция, которая называется “ветвлением“. Ветвление обеспечивает выполнение одной или более инструкций алгоритма, при условии истинности некоторого логического выражения. В виде блок-схемы эта конструкция изображается в следующем виде:
Аналогичным образом, требуется прерывать линейное выполнение алгоритма для того, чтобы принять решение в каком направлении выполнять дальнейшие вычисления. В этом случае применяется специальная алгоритмическая конструкция, которая называется “ветвлением“. Ветвление обеспечивает выполнение одной или более инструкций алгоритма, при условии истинности некоторого логического выражения. В виде блок-схемы эта конструкция изображается в следующем виде:
Здесь изображена так называемая полная форма ветвления, которая предполагает две ветви: на истину и ложь. Но существует и другой тип ветвления называемый “неполным ветвлением“. Такая форма ветвления содержит только одну ветвь инструкций, которые будут выполнены, если условие принимает значение “истинно”.
Пример реализации программы с ветвлением в виде блок-схемы приведен ниже.
Задача 1. Даны два числа A и B. Вывести большее из них.
Пример реализации программы с ветвлением в виде блок-схемы приведен ниже.
Задача 1. Даны два числа A и B. Вывести большее из них.
Поскольку ветвление предполагает максимум два пути решения, то часто приходится вставлять одно ветвление внутрь другого, то есть применять вложенные ветвления. Частным случаем вложенного ветвления является переключатель (switch-case). Пример задачи, которая может быть решена с помощью переключателя.
Задача 2. Дано числовое представление дня недели: 0 – воскресенье, 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 балл
Оцените свою работу на данном этапе
Раскрасьте блок Остров Разминка соответствующим цветом
Средства обучения
Урок программирование разветвляющихся алгоритмов. простой и составной условные операторы | презентация к уроку по информатике и икт (8 класс): | образовательная социальная сеть
Начала программирования Программирование разветвляющихся алгоритмов. Простой и составной условные операторы
Линейные алгоритмы Линейным называется алгоритм, в котором используется всего одна конструкция – следование. Он состоит из операторов, з аписанных последовательно в порядке их исполнения.
Типы данных в языке Pascal Типы данных Числовые: byte; integer ; r eal . Символьный : char . Строковый: string . Логический: boolean .
Разветвляющиеся алгоритмы В разветвляющихся алгоритмах , помимо следования, используется конструкция ветвления . Ветвление – это алгоритмическая конструкция, в которой в зависимости от некоторого условия происходит исполнение одной из двух последовательностей команд ( ветвей ).
Блок-схема разветвляющегося алгоритма Условие Ветвь 1 Ветвь 2 Да Нет
Запись разветвляющегося а лгоритма в языке Pascal Формы записи условного оператора Сокращённая: if < условие > then < оператор 1 > ; Полная: else < оператор 2 > if < условие > then < оператор 1 > ;
Составной условный оператор If < условие > then else begin < оператор 1 >; < оператор 2>; … end begin < оператор 3 >; < оператор 4 >; … e nd ; if < условие 2 > then < оператор 1 > else < оператор 2 >; Вложенный условный оператор
Задача Три отрезка заданы своими длинами. Определить , образуют ли эти отрезки треугольник , и если образуют, то какой: остроугольный , прямоугольный или тупоугольный. a b c с < a b
Задача Три отрезка заданы своими длинами. Определить , образуют ли эти отрезки треугольник, и если образуют, то какой: остроугольный , прямоугольный или тупоугольный. Прямоугольный треугольник = 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
Блок-схема алгоритма: Начало a, b , с a > b a > c b > c p:= с c :=a a :=p p:= с c :=b b:=p Да Да Да Нет Нет Нет
Блок-схема алгоритма: Да Нет c < a b c 2 = a 2 b 2 c 2 > a 2 b 2 Заданные отрезки образуют прямоугольный треугольник Заданные отрезки образуют тупоугольный треугольник Заданные отрезки образуют остроугольный треугольник Заданные отрезки не образуют треугольник Конец Да Да Нет Нет
Написание программы 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 . Исходный код программы
Программирование разветвляющихся алгоритмов. Простой и составной условные операторы В разветвляющемся алгоритме используются ветвления. Ветвление – это алгоритмическая конструкция, в которой при определённом условии выполняется одна из двух последовательностей действий или ветвей. Запись условного оператора: if < условие > then < оператор 1 > else < оператор 2> ; Краткая форма записи условного оператора: if < условие > then < оператор 1 > ; Составной оператор: begin e nd
Д.З. № 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






