85 баллов! Написать три программы в паскале!

0 голосов
27 просмотров

85 баллов! Написать три программы в паскале!


image

Информатика (1.8k баллов) | 27 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Так во многих школах еще не умеют решать сами учителя, но зато в других школах уже легко решают и школьники...
Быть может, кому-то пока это покажется непонятным, но краткость (а следовательно и быстрота написания, легкость в отладке и снижение количества ошибок) говорит сама за себя - будущее обучения не за нынешним школьным паскалем, базирующимся на версии TurboPascal 7, от поддержки которой разработчики отказались в далеком 1994 году.

// PascalABC.NET 3.2, сборка 1363 от 17.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ReadArrInteger('Вводите массив:',ReadInteger('n='));
  a.Select(x->-x).Println
end.

Пример
n= 6
Вводите массив: 5 -8 7 -9 4 3
-5 8 -7 9 -4 -3

// PascalABC.NET 3.2, сборка 1363 от 17.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('n=');
  var a:=ReadArrReal('Вводите массив:',n);
  a.Select((x,i)->i<(n+1)div 2?2*x:x/2).Println<br>end.

Пример
n= 6
Вводите массив: 12 -8 35 -14 61 -72
24 -16 70 -7 30.5 -36

// PascalABC.NET 3.2, сборка 1363 от 17.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ReadArrInteger('Вводите 1й массив:',ReadInteger('n='));
  var b:=ReadArrInteger('Вводите 2й массив:',ReadInteger('n='));
  var c:=a.Concat(b).ToArray; c.Println
end.

Пример
n= 6
Вводите 1й массив: 12 65 48 30 81 27
n= 5
Вводите 2й массив: 54 60 19 73 16
12 65 48 30 81 27 54 60 19 73 16

(150k баллов)
0 голосов

1)
const n=6;
var a:array[1..n] of integer;
i:integer;
begin
writeln('Введите ',n,' элементов массива:');
for i:=1 to n do read(a[i]);
writeln('Измененный массив:');
for i:=1 to n do
 begin
 a[i]:=-a[i];
 write(a[i],' ');
 end;
writeln;
end.

Пример:
Введите 6 элементов массива:
5 -8 7 -9 4 3
Измененный массив:
-5 8 -7 9 -4 -3 

2)
const n=6;
var a:array[1..n] of real;
i:integer;
begin
writeln('Введите ',n,' элементов массива:');
for i:=1 to n do read(a[i]);
for i:=1 to n div 2 do a[i]:=2*a[i];
for i:=n div 2+1 to n do a[i]:=a[i]/2;
writeln('Измененный массив:');
for i:=1 to n do write(a[i],' ');
end.

Введите 6 элементов массива:
12 -8 35 -14 61 -72
Измененный массив:
24 -16 70 -7 30.5 -36 

3)
const n=6; m=5;
var 
a:array[1..n] of integer;
b:array[1..m] of integer;
c:array[1..n+m] of integer;
i:integer;
begin
writeln('Введите ',n,' элементов массива a:');
for i:=1 to n do read(a[i]);
writeln('Введите ',m,' элементов массива b:');
for i:=1 to m do read(b[i]);
for i:=1 to n do c[i]:=a[i];
for i:=1 to m do c[n+i]:=b[i];
writeln('Новый массив:');
for i:=1 to n+m do write(c[i],' ');
writeln;
end.

Пример:
Введите 6 элементов массива a:
12 65 48 30 81 27
Введите 5 элементов массива b:
54 60 19 73 16
Новый массив:
12 65 48 30 81 27 54 60 19 73 16

(194k баллов)
0

Огромнейшее Вам спасибо!!!