Program spiski;
type
ListElement = ^TListElement;
TListElement = record
Data: integer;
Next, Previous: ListElement;
end;
var
first, current, last: ListElement;
i: integer;
procedure Delete(var element: ListElement);
var
x: ListElement;
begin
while element <> nil do
begin
if (element^.Data = 0) and (element^.Next <> nil) then begin
x := element^.Next; {следующий элемент который надо удалить}
{сшиваем дырку которая образуется после удаления х}
element^.Next := x^.Next;
if (x^.Next <> nil) then
x^.Next^.Previous := element;
Dispose(x);
end;
element := element^.Next;
end;
end;
procedure Print(first: ListElement);
begin
if first = nil then
begin
writeln('Список пуст.');
exit;
end;
while first <> nil do
begin
Write(first^.Data, ' ');
first := first^.Next
end;
writeln;
end;
begin
for i := 1 to 11 do
begin
if first = nil then
begin
new(first);
first^.Next := nil;
first^.Previous := nil;
last := first;
end
else
begin
new(last^.Next);
last^.Next^.Previous := last;
last := last^.Next;
last^.Next := nil;
end;
last^.Data := random(8 + 5) - 5;
end;
current := first;
Print(first);
Delete(current);
Print(first);
end.
10 минут= 600 секунд
1 Кбайт= 1024 байта
1024 * 8 =8192 бита
8192/600=13 бит/с
Интерфейс: поля ввода для трёх годов, после вывода результата, подписи, поля для отображения рисунка
Код программы: чтение переменных, использование формул, вывод результата
Ответ: Компилятор PascalABC.NET
1) var a,v: integer;
begin
writeln('a'); readln(a); v:=a*a;
writeln(v); end.
2) var a,b,c, v: real;
begin
writeln('a'); readln(a);writeln('b'); readln(b);writeln('c'); readln(c);
v:=(a+b+c)/3;
writeln(v); end.
3)var v,y: integer;
begin
writeln('y'); readln(y); v:=8*y;
writeln(v); end.