Разработка ветвящихся алгоритмов в Scilab Цель работы: 1. Научиться использовать в программе условный оператор. 2. Закрепить навыки работы с переменными простых типов. Краткие теоретические сведения Алгоритм ветвящейся структуры – это алгоритм, в котором выбирается один из нескольких возможных путей (вариантов) вычислительного процесса. Для программирования разветвляющихся алгоритмов в ЯП Pascal можно использовать три оператора: 1. условный оператор (оператор условного перехода); 2. оператор выбора (оператор варианта); 3. оператор безусловного перехода. Условный оператор (оператор условного перехода) Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Да Нет Формат условного оператора: IF ELSE ; где IF, ELSE - зарезервированные слова («если», «иначе») - выражение логического типа , - операторы
#include <iostream>
int main() {
const int SIZE = 10;
bool isSence = false;
int sum = 0;
int count = 0;
int arr[SIZE];
for (int i = 0; i < SIZE; i++)
{
arr[i] = rand() % 20 - 10; // "рандомно" заполняем массив от -10 до 10
std::cout << arr[i] << "\t"; // выводим массив в консоль
if (arr[i] >= 0)
isSence = true;
}
for (int i = 0; i < SIZE; i++)
{
if ((isSence) && (arr[i] > 0))
sum += arr[i]; //sum = sum + arr[i];
count++;
}
if (isSence)
std::cout << "\nсреднее арифметическое положительных чисел = " << double(sum) / count << std::endl; // явное приведение типов
else
std::cout << "\nВ массиве нету положительных чисел или нету нулей и/или отрицательных чисел" << std::endl;
return 0;
}
#include <iostream>
#include <iomanip>
#include <vector>
#include <ctime>
int main()
{
using namespace std;
const int n = 5;
int A[n][n];
int D[n][n];
vector<int> B(n);
vector<int> C(n);
vector<int> S(n); //результирующий вектор
//как-нибудь заполняем исходные матрицы и вектора
srand(time(0));
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < n; ++j)
{
A[i][j] = rand() % (n * n) - n * n / 2;
D[i][j] = rand() % (n * n) - n * 2;
}
B[i] = rand() % (n * n) - n;
C[i] = rand() % (n * n) - n * n + n;
}
//выведем исходные данные на экран
cout << "matrix A:\n";
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < n; ++j)
cout << setw(5) << A[i][j];
cout << endl;
}
cout << "\nmatrix D:\n";
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < n; ++j)
cout << setw(5) << D[i][j];
cout << endl;
}
cout << "\nvector B:\n";
for (int i = 0; i < n; ++i)
cout << setw(5) << B[i] << endl;
cout << "\nvector C:\n";
for (int i = 0; i < n; ++i)
cout << setw(5) << C[i] << endl;
//вычислим требуемое
for (int i = 0; i < n; ++i)
{
S[i] = 0;
for (int j = 0; j < n; ++j)
S[i] += D[i][j] * C[j];
S[i] += 3 * B[i];
}
//выведем результат на экран
cout << "\nvector S = D * C + 3 * B:\n";
for (int i = 0; i < n; ++i)
cout << setw(5) << S[i] << endl;
return 0;
}