Seid-ZadeNadezhda1769
?>

Выбери период и название устройств / машин, соответствующий механическому этапу развития вычислительной техники. Период развития вычислительной техники:Названия устройств, машин: мне​

Информатика

Ответы

myataplatinumb348

С 90х годов. :=&9*0*=#(#772

megaromeo
Твой код не проверял. Недавно кому-то делал на Delphi. Переделал на Pascal. 

Приложил картинкой, если запутаешься. Если что-то не так работает, я поправлю.

//Pascal
var
  a, b, c, d, x1, x2: real;
begin
  write('Введите a = '); readln(a);
  write('Введите b = '); readln(b);
  write('Введите c = '); readln(c);
  if ((a = 0) and (b = 0) and (c = 0)) then
    writeln('X любое')
  else
  if a <> 0 then
  begin
       d := sqr(b) - 4 * a * c;
       if (d > 0) then
       begin
            x1 := (-b+sqrt(d))/(2*a);
            x2 := (-b-sqrt(d))/(2*a);
            writeln('x1 = ', x1);
            writeln('x2 = ', x2);
       end
       else
       if d = 0 then
       begin
            x1:=-b/(2*a);
            x2:=x1;
            writeln('x1 = ', x1);
            //writeln('x2 = ', x2);
       end
       else
       if d < 0 then
          writeln('Корней нет.');
  end
  else
  if (a = 0) and (b = 0) then
    writeln('Решений нет.')
  else
  if (a = 0) then
  begin
    x1 := (-c)/b;
    writeln('x = ', x1);
  end;
end.

Кто разбирается в паскале? отредактируйте . к слову это квадратное уравнение вида ax^{2}+bx+c progra
Klyucharyova
1) Решение методом рекурсии.
Программа проста в понимании, но неэффективна при больших значениях
var
  n: integer;
function f(i: integer): longint;
begin
  if i < 2 then
    f := 1
  else
    f := f(i - 1) + f(i - 2);
end;
begin
  read(n);
  writeln(f(n));
end.

2) Решение методом динамического программирования. Намного быстрее метода с рекурсией.
var
  i, n: integer;
  f: array[0..50] of longint;
begin
  read(n);
  f[0] := 1;
  f[1] := 1;
  for i := 2 to n do
    f[i] := f[i - 1] + f[i - 2];
  writeln(f[n]);
end.

3) Решение методом моделирования. Использует меньше памяти.
var
  n, a, b, i: integer;
begin
  read(n);
  if n < 2 then
    a := 1
  else
  begin
    a := 0;
    b := 1;
    for i := 0 to n do
    begin
      b := a + b;
      a := b - a;
    end;
  end;
  writeln(a);
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Выбери период и название устройств / машин, соответствующий механическому этапу развития вычислительной техники. Период развития вычислительной техники:Названия устройств, машин: мне​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

atlantika7
Андрей_Станиславовна
oskina3
ribcage52
kun1969
AndrukhovichKonovalov
bessalaias
kirieskamod262
zybin41iz81
yliana
rstas
cipfarm484
Richbro7
iracaenko153
MislitskiiSergei1403