АЛУ содержит следующие функциональные узлы:
Первое, что стоит отметить это сумматор, он предназначен для выполнения суммирования и других действий над кодами операндов;
Далее не менее важны регистры для хранения кодов операндов на время выполнения действий над ними;
Сдвигатели для сдвига кода на один или несколько разрядов вправо или влево;
Преобразователи для преобразования прямого кода числа в обратный или дополнительный код;
Комбинационные схемы для реализации логических операций, мультиплексирования данных, управляемой передачи информации, формирования признаков результата и т.д.
Регистры и в некоторых случаях сумматоры имеют цепи управления приемом, выдачей и сбросом кодов операндов. Логические операции, операции сдвига и преобразования кодов могут выполняться не только специальными устройствами, но и с помощью дополнительных связей регистров и сумматора. В зависимости от типов используемых для суммирования базовых элементов различают комбинационные и накапливающие сумматоры.
Мог вас неправильно понять, может Вам нудны все узлы вместе с АЛУ?
Так как действия по изготовлению ручек должны выполняться последовательно, то общее время вычисляется так: 20+20+10*20 = 240 мин.
Можно это показать схематично:
- - - - - - - - - - действия Васи
- - - - - - - - - - действия Пети
- - - - - - - - - - действия Маши
<h3>PascalABC.NET 3.4.2, сборка 1884 от 24.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
var (m, n) := ReadInteger2('Количество строк и столбцов в массиве:');
Writeln('*** Исходный массив ***');
var a := MatrRandom(m, n, -99, 99);
a.Println(4);
Writeln(4 * a.ColCount * '-');
var nCol := ReadInteger('В каком столбце ищем?');
var C := ReadInteger('На кратность чему проверить?');
if a.Col(nCol - 1).Any(t -> t mod C = 0) then
Writeln('Есть такие элементы')
else Writeln('Таких элементов нет')
end.
Using System;
class Program
{
public static void Main()
{
double x,y;
for (x = 0; x <= 12; x++)
{
y = Math.Sqrt(Math.Log(x*x-3*x+2));
Console.WriteLine("x = {0}, y = {1}", x, y);
}
Console.ReadKey();
}
}
Результат:
<span>x = 0, y = 0.832554611157698
x = 1, y = NaN
x = 2, y = NaN
x = 3, y = 0.832554611157698
x = 4, y = 1.33856619904585
x = 5, y = 1.57635866787606
x = 6, y = 1.73081838260229
x = 7, y = 1.84423354856758
x = 8, y = 1.93330536084794
x = 9, y = 2.00632791206601
x = 10, y = 2.06801018348945
x = 11, y = 2.1212754819519
x = 12, y = 2.16805912414593
PS. NaN - функцию невозможно вычислить при данном значении аргумента.</span>