Решите 1 составьте блок-схему для фрагмента алгоритма: если условия y1 то серия команд s1 пока условия y2 повторить нц серия команд s2 кц иначе пока условие y3 повторить нц серия команд s3 кц кв 2. объясните понятие алгоритмической структуры «ветвление» и ее значение. 3. напишите программу на
паскале для решения следующей . даны два числа x и y, не равные друг другу. меньшее из этих чисел замените половиной их суммы, а большее – их удвоенным произведением.
{
Debug.Assert(a.Length > 1 && a.Any(x => x > 0) && a.Any(x => x < 0)); // это просто проверка, можно удалить или закоментировать
if (a.Length == 2)
return a;
var max_i = -1;
var min_i = -1;
for (var i = 0; i < a.Length; i++)
{
if (a[i] < 0 && (max_i < 0 || a[max_i] < a[i]))
max_i = i;
if (a[i] > 0 && (min_i < 0 || a[min_i] > a[i]))
min_i = i;
}
var result = new int[a.Length - Math.Abs(max_i - min_i) + 1];
var j = 0;
for (var i = 0; i < a.Length; i++)
{
if (i <= Math.Min(max_i, min_i) || i >= Math.Max(max_i, min_i))
result[j++] = a[i];
}
return result;
}
На всякий случай в заголовках
using System;
using System.Diagnostics;
using System.Linq;