Решить задачу с массивами
Паскаль
Составить программу, Строящую массив,в котором все отрицательные элементы предшествует всем не отрицательным в линейном массиве
Приложения:

Ответы
Ответ дал:
0
// PascalABC.NET 3.3, сборка 1573 от 04.11.2017
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
a:=(a.Where(t->t<0)+a.Where(t->t>=0)).ToArray; a.Println
end.
Пример
n= 13
-32 46 4 17 -45 1 -4 -24 32 -7 43 27 36
-32 -45 -4 -24 -7 46 4 17 1 32 43 27 36
А вот так примерно учат писать эту же программу в большинстве школ:
const
nn=100;
type
V=array[1..nn] of integer;
var
a,b:V;
i,n,j:byte;
begin
Randomize;
Write('n= '); Read(n);
for i:=1 to n do begin
a[i]:=Random(101)-50;
Write(a[i],' ')
end;
Writeln;
j:=0;
for i:=1 to n do
if a[i]<0 then begin
j:=j+1; b[j]:=a[i]
end;
for i:=1 to n do
if a[i]>0 then begin
j:=j+1; b[j]:=a[i]
end;
for i:=1 to n do
Write(b[i],' ');
Writeln
end.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
a:=(a.Where(t->t<0)+a.Where(t->t>=0)).ToArray; a.Println
end.
Пример
n= 13
-32 46 4 17 -45 1 -4 -24 32 -7 43 27 36
-32 -45 -4 -24 -7 46 4 17 1 32 43 27 36
А вот так примерно учат писать эту же программу в большинстве школ:
const
nn=100;
type
V=array[1..nn] of integer;
var
a,b:V;
i,n,j:byte;
begin
Randomize;
Write('n= '); Read(n);
for i:=1 to n do begin
a[i]:=Random(101)-50;
Write(a[i],' ')
end;
Writeln;
j:=0;
for i:=1 to n do
if a[i]<0 then begin
j:=j+1; b[j]:=a[i]
end;
for i:=1 to n do
if a[i]>0 then begin
j:=j+1; b[j]:=a[i]
end;
for i:=1 to n do
Write(b[i],' ');
Writeln
end.
Ответ дал:
0
Не удивительно, что большинство детей писать программы не умеют. Сравните варианты - где нужно больше изучить материала и умудриться не понаделать ошибок? Первый, современный вариант, приучает мыслить и писать программы в стиле "Что надо сделать?", а школьный - "Как это сделать?".
Ответ дал:
0
Но ведь и в жизни мы всегда предпочитаем говорить "Что?", а не "Как?". -Пойди вымой руки! - Сходи в магазин за хлебом! - Поставь чайник на кухне!
Ответ дал:
0
Вывод: школьное преподавание информатики безнадежно отстало от реальной жизни.
Ответ дал:
0
Можно возразить: школа должна научить знаниям не только "Что?", но и "Как?". Не должна, если речь о программировании, поскольку при одном уроке информатики в неделю на базовом уровне это НЕВОЗМОЖНО. Школа готовит пользователей компьютера, а не программистов!
Вас заинтересует
2 года назад
2 года назад
9 лет назад
9 лет назад
9 лет назад