М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
sashak73
sashak73
19.08.2020 20:30 •  Информатика

Заменить первый отрицательный элемент нулём. паскаль абц. обязательно нужно использовать команду рандомайз. ниже пример не является верным. в нём не хватает команды рандомайз var a: array[1..10] of integer; i,t: integer; begin for i : = 1 to 10 do read(a[i]); for i : = 1 to 10 do begin if (a[i]< 0) and t=0 then begin a[i]: =0; t: =1; end; writeln(a[i]); end; end.

👇
Ответ:
pkulanina
pkulanina
19.08.2020
Const
  n=10;
var
  a:array[1..n] of integer;
  i:integer;
  t:boolean;

begin
  Randomize;
  Writeln('Исходный массив');
  for i := 1 to n do
  begin
    a[i]:=Random(51)-25;
    Write(a[i]:4)
  end;
  Writeln;
  t:=false; i:=1;
  repeat
    t:=(a[i]<0);
    if t then a[i]:=0;
    Inc(i)
  until t;
  Writeln('Результирующий массив');
  for i := 1 to n do Write(a[i]:4)
end.

Тестовое решение:
Исходный массив
  13  12 -19 -23  12 -11 -22 -13  23  -1
Результирующий массив
  13  12   0 -23  12 -11 -22 -13  23  -1
4,4(27 оценок)
Открыть все ответы
Ответ:
smosnin
smosnin
19.08.2020
Итак зацикливание в программировании - это ситуация, когда цикл написан таким образом ,что условия выхода из него не выполняется. Рассмотрим зацикливание в операторах цикла for,while и repeat . Справедливости ради все варианты будут рассмотрены в Turbo Pascal и PascalABC. Также будет добавлен оператор write для вывода результатов.
Зацикливание в for
Вообще идея зацикливания проста : необходимо всего-то в каждом шаге цикла уменьшать оператор шага на 1 (i:=i-1;) . Однако именно такая реализация возможна не везде. Рассмотрим простой пример.
for i:=1 to 5 do begin
i:=i-1;
write(i);
end.
Казалось бы все просто,да не тут то было.В то время как в Turbo Pascal все проходит на ура,в PascalABC такое не возможно и для зацикливания необходимо использовать оператор goto.
label m;
var i:integer;
begin
m:
for i:=1 to 5 do begin
write(i);
if i=2 then goto m;
end;
end.
Зацикливание в while
Напомню,что в операторе while шаг цикла необходимо добавлять самостоятельно. Поэтому произвести зацикливание проще всего : нужно только убрать шаг цикла
var i:integer;
begin
i:=0;
while i<>1 do
write(i);
end.
Оба компилятора адекватно реагируют на пропуск шага.
Зацикливание в repeat
Для создание бесконечного цикла в этом случае, как и предыдущем, достаточно не указывать шаг цикла
var i:integer;
begin
i:=0;
repeat
write(i);
until i=1;
end.
тут вам приведены различные варианты для создание бесконечного цикла. Однако запомните,что зацикливание создает нагрузку и вообще редко используется. Гораздо чаще применяют неполное зацикливание при котором выход из цикла все же совершается.
4,8(76 оценок)
Ответ:
Малика20091
Малика20091
19.08.2020
Как-то так var a,b,c,h,p,s:real; var ch:char; var f:boolean;
begin
repeat
write('Êàê ñ÷èòàåì ïëîùàäü? 1-Ïî Ãåðîíó, 2-÷åðåç ïîëîâèíó ïðîèçâåäåíèÿ îñíîâàíèÿ íà âûñîòó: ');
readln(ch);
if ch='1' then begin
write('a='); read(a); write('b='); read(b); write('c='); read(c);
p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln('Ïëîùàäü ðàâíà ',s); f:=true;
end
else if ch='2' then begin
write('a='); read(a); write('h='); read(h);
writeln('Ïëîùàäü ðàâíà ',0.5*h*a);
f:=true;
end
else begin cls; writeln('Îòâåò ôèãîâûé! Åùå ðàçîê: 1-Ïî Ãåðîíó, 2-÷åðåç ïîëîâèíó ïðîèçâåäåíèÿ îñíîâàíèÿ íà âûñîòó: '); end;
until f;
end.
4,4(50 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ