Никита_Тузов
?>

Программист торопился и допустил ошибки. Исправьте их

Информатика

Ответы

gumirovane2294

Program n6_250;

Const n=10;

var a: array [1..n] of integer;

s, i: Integer;

begin

s:=0;

for i:=1 to n do

begin

readln(a[i]);

if i>a[i] then s:=s+a[i];

end;

write (s);

end.

informalla
Ты в условном операторе не указал что должно проверяться... И к тому же нет begin и end;. Также переменную t: string; сделай, так как иначе не выйдет.

У тебя:
readln; <- к тому же не указал что надо писать.
if t then <- что это такое? Ошибка.
writeln('Введите коеффициент "a"');
readln (a);
writeln('Введите коeффициент "b"');
readln (b);
writeln('Введите коeффициент "c"');
readln (c);
d := b*b-4*a*c;

Должно быть:

program Pr1;

const 
H = 'Здравствуйте, ';
var
a,b,c,d: real;
name, t: string;

Begin
writeln('Введите свое имя:');
readln(name);
writeln(H, name, ', вас приветствует программа-калькулятор квадратного уравнения' );
writeln('Введите коеффициент "a"');
readln (a);
writeln('Введите коeффициент "b"');
readln (b);
writeln('Введите коeффициент "c"');
readln (c);
d := b*b-4*a*c;
if d=0 then
begin
writeln ('X1,X2 =', (-b+sqrt(d)/(2*a)));
end;
if d<0 then
begin
writeln ('D<0, корней нет');
end;
if d>0 then
begin
writeln('D = ', b*b-4*a*c);
writeln ('X1 =', (-b+sqrt(d)/(2*a)));
writeln ('X2 =', (-b-sqrt(d)/(2*a)));
end;
writeln ('Хотите воспользоваться калькулятором еще раз? Введите T(Да)\F(Нет)');
readln(t);

t := t.ToLower;

if t = 'да' then
begin
writeln('Введите коеффициент "a"');
readln (a);
writeln('Введите коeффициент "b"');
readln (b);
writeln('Введите коeффициент "c"');
readln (c);
d := b*b-4*a*c;
end
else
за использование!');

if d=0 then
begin
writeln ('X1,X2 =', (-b+sqrt(d)/(2*a)));
end;

if d<0 then
begin
writeln ('D<0, корней нет');
end;

if d>0 then
begin
writeln('D = ', b*b-4*a*c);
writeln ('X1 =', (-b+sqrt(d)/(2*a)));
writeln ('X2 =', (-b-sqrt(d)/(2*a)));
end;
end.
ribcage52
PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018
Внимание! Если программа не работает, обновите версию!

type
  tQ=queue<integer>;

procedure ЗаполнениеОчереди(q:tQ; n:integer);
begin
  Randomize;
  loop n do begin
    var k:=Random(-20,40);
    q.Enqueue(k)
    end;
end;

procedure СуммаНужныхЭлементов(q:tQ; var s:integer);
begin
  var ko,k:integer;
  for var i:=1 to q.Count do begin
    k:=q.Dequeue; q.Enqueue(k);
    if k.IsOdd then ko:=k;
    if i=3 then s:=k
    end;
  s+=ko  
end;

procedure УдалитьЭлемент(q:tQ; p:integer);
begin
  for var i:=1 to q.Count do begin
    var k:=q.Dequeue;
    if i<>p then q.Enqueue(k)
    end
end;

begin
  var MyQ:=new tQ;
  var n:=ReadInteger('Кол-во элементов (не менее 4):');
  ЗаполнениеОчереди(MyQ,n);
  MyQ.Println;
  var s:integer;
  СуммаНужныхЭлементов(MyQ,s);
  MyQ.Enqueue(s); // искомая сумма помещена в очередь
  MyQ.Println;
  УдалитьЭлемент(MyQ,4);
  MyQ.Println
end.

Пример
Кол-во элементов (не менее 4): 13
-7 12 -18 4 23 -1 15 -11 9 12 5 3 2
-7 12 -18 4 23 -1 15 -11 9 12 5 3 2 -15
-7 12 -18 23 -1 15 -11 9 12 5 3 2 -15

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

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

Программист торопился и допустил ошибки. Исправьте их
Ваше имя (никнейм)*
Email*
Комментарий*