Квáнтовий комп'ю́тер — фізичний обчислювальний пристрій, функціонування якого ґрунтується на принципах квантової механіки, зокрема, принципі суперпозиції та явищі квантової заплутаності. Такий пристрій відрізняється від звичайного транзисторного комп'ютера зокрема тим, що класичний комп'ютер оперує даними, закодованими у двійкових розрядах (бітах), кожен з яких завжди перебуває в одному з двох станів (0 або 1), коли квантовий комп'ютер використовує квантові біти (кубіти), які можуть знаходитися у суперпозиції станів. Інформатико-теоретичною моделлю такого обчислювального пристрою є квантова машина Тюрінга, або універсальний квантовий комп'ютер, яка була розроблена Девідом Дойчем у 1985 році[1]. Квантовий комп'ютер має низку спільних ознак із недетермінованим та ймовірнісним комп'ютерами, але ці пристрої не є тотожними. Вважається, що вперше ідею використання принципів квантової механіки для виконання обчислень висловили Манін Юрій Іванович у книзі «Обчислювальне і необчислювальне» у 1980 році[2] та Річард Фейнман у лекції на Першій конференції з фізики обчислень у МТІ в 1981 році[3][4], хоча пропозиції використання напівцілих спінів як найпростіших обчислювальних елементів лунали і раніше[
На Паскале:
Объяснение:
var a, b, c, d, x : real;
begin
Write('Введите значение A: '); ReadLn(a);
Write('Введите значение B: '); ReadLn(b);
Write('Введите значение C: '); ReadLn(c);
WriteLn;
d := sqr(b) - 4 * a * c;
if (a = 0) and (b = 0) and (c = 0) then
begin
WriteLn('X - любое число.');
end else if (a = 0) and (b = 0) then
begin
WriteLn('Заданное уравнение не имеет решений!');
end else if (a = 0) then
begin
WriteLn('Старший коэффициент не может равняться нулю.');
WriteLn('В этом случае уравнение преобразуется в линейное.');
x := (-c) / b;
WriteLn('X = ',x:2:2);
end else if ((a <> 0) and (b <> 0)) then
begin
if (d > 0) then
begin
WriteLn('D = ',d:2:2);
WriteLn('Корень D = ',sqrt(d):2:2);
x := ((-b) + sqrt(d)) / (2 * a);
WriteLn('X1 = ',x:2:2);
x := ((-b) - sqrt(d)) / (2 * a);
WriteLn('X2 = ',x:2:2);
end else if (d < 0) then
begin
WriteLn('D = ',d:2:2);
WriteLn('D < 0, поэтому уравнение не имеет решений!');
end else if (d = 0) then
begin
x := (-b) / (2 * a);
WriteLn('D = ',d:2:2);
WriteLn('X = ',x:2:2);
end;
end;
end.