НУЖНА ОТ ЧЕЛОВЕКА, КОТОРЫЙ РАЗБИРАЕТСЯ В ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ПАСКАЛЬ. Нужно сгенерировать массив из 15 чисел случайным образом, найти минимальный элемент. Язык программирования Паскаль. Попыталась сделать, выдало ошибку.
//В числовой последовательности из N произвольных целых чисел определить количество пар соседних элементов, //сумма модулей которых равна модулю заданного числа М. function CountPair(N, m: integer; a: array of integer): integer; begin result := 0; Assert(N >= 0); for var i := 0 to a.Length - 2 do begin if abs(a[i]) + abs(a[i+1]) = abs(m) then result += 1; end; end;
begin var n := ReadInteger; var m := ReadInteger; var a: array of integer; Setlength(a, n); for var j := 0 to a.Length - 1 do begin a[j] := ReadInteger; end; Write('Количество пар = ', CountPair(n, m, a)); end.
Var mCity: array [1..10] of string := ('Москва', 'Берлин', 'Париж', 'Лондон', 'Рим', 'Мадрид', 'Стокгольм', 'Берн', 'Вена', 'Афины'); mGov: array[1..10] of string := ('Россия', 'Германия', 'Франция', 'Великобритания', 'Италия', 'Испания', 'Швеция', 'Швейцария', 'Австрия', 'Греция'); mOps: array[1..4] of char := ('+', '-', '*', '/'); p, i, n, a, b, c, d, k: integer; op: char; s: string;
begin Write('Выберите предмет: 1- Математика, 2-География -->'); Readln(p); if (p < 1) or (p > 2) then Writeln('Неверный выбор, работа завершена') else begin Randomize; k := 0; if p = 1 then { тестируем математику } for i := 1 to 3 do begin op := mOps[Random(4) + 1]; case op of '+': begin a := Random(50) + 1;b := Random(50) + 1; c := a + b;Write(a, ' + ', b, ' = ');Readln(d) end; '-': begin a := Random(99) + 1;b := Random(a) + 1; c := a - b;Write(a, ' - ', b, ' = ');Readln(d) end; '*': begin a := Random(9) + 1;b := Random(9) + 1; c := a * b;Write(a, ' x ', b, ' = ');Readln(d) end; else begin c := Random(9) + 1;b := Random(9) + 1;a := b * c; Write(a, ' : ', b, ' = ');Readln(d) end end; if c = d then Writeln('Верно') else begin Writeln('Неверно');k := k + 1 end end else { тестируем географию } for i := 1 to 3 do begin Write('Столица государства '); n := Random(10) + 1; Write(mGov[n], ' - ');Readln(s); { на всякий случай преобразуем ответ, записав первую букву в верхнем регистре, прочие - в нижнем } s := LowerCase(s);s[1] := UpperCase(s[1]); if s = mCity[n] then Writeln('Верно') else begin Writeln('Неверно');k := k + 1 end end; { Вывод результатов } Write('Ваша отметка- '); case k of 0: Write('5'); 1: Write('4'); 2: Write('3'); else write('2') end end end.
Выберите предмет: 1- Математика, 2-География -->2 Столица государства Испания - Мадрид Верно Столица государства Греция - Афины Верно Столица государства Великобритания - лондон Верно Ваша отметка- 5
//сумма модулей которых равна модулю заданного числа М.
function CountPair(N, m: integer; a: array of integer): integer;
begin
result := 0;
Assert(N >= 0);
for var i := 0 to a.Length - 2 do
begin
if abs(a[i]) + abs(a[i+1]) = abs(m) then
result += 1;
end;
end;
begin
var n := ReadInteger;
var m := ReadInteger;
var a: array of integer;
Setlength(a, n);
for var j := 0 to a.Length - 1 do
begin
a[j] := ReadInteger;
end;
Write('Количество пар = ', CountPair(n, m, a));
end.
mCity: array [1..10] of string := ('Москва', 'Берлин', 'Париж', 'Лондон', 'Рим',
'Мадрид', 'Стокгольм', 'Берн', 'Вена', 'Афины');
mGov: array[1..10] of string := ('Россия', 'Германия', 'Франция',
'Великобритания', 'Италия', 'Испания', 'Швеция', 'Швейцария', 'Австрия', 'Греция');
mOps: array[1..4] of char := ('+', '-', '*', '/');
p, i, n, a, b, c, d, k: integer;
op: char;
s: string;
begin
Write('Выберите предмет: 1- Математика, 2-География -->');
Readln(p);
if (p < 1) or (p > 2) then Writeln('Неверный выбор, работа завершена')
else begin
Randomize;
k := 0;
if p = 1 then { тестируем математику }
for i := 1 to 3 do
begin
op := mOps[Random(4) + 1];
case op of
'+':
begin
a := Random(50) + 1;b := Random(50) + 1;
c := a + b;Write(a, ' + ', b, ' = ');Readln(d)
end;
'-':
begin
a := Random(99) + 1;b := Random(a) + 1;
c := a - b;Write(a, ' - ', b, ' = ');Readln(d)
end;
'*':
begin
a := Random(9) + 1;b := Random(9) + 1;
c := a * b;Write(a, ' x ', b, ' = ');Readln(d) end;
else begin
c := Random(9) + 1;b := Random(9) + 1;a := b * c;
Write(a, ' : ', b, ' = ');Readln(d)
end
end;
if c = d then Writeln('Верно')
else begin Writeln('Неверно');k := k + 1 end
end
else { тестируем географию }
for i := 1 to 3 do
begin
Write('Столица государства ');
n := Random(10) + 1;
Write(mGov[n], ' - ');Readln(s);
{
на всякий случай преобразуем ответ, записав
первую букву в верхнем регистре, прочие - в нижнем
}
s := LowerCase(s);s[1] := UpperCase(s[1]);
if s = mCity[n] then Writeln('Верно')
else begin Writeln('Неверно');k := k + 1 end
end;
{ Вывод результатов }
Write('Ваша отметка- ');
case k of
0: Write('5');
1: Write('4');
2: Write('3');
else write('2')
end
end
end.
Тестовые решения:
Выберите предмет: 1- Математика, 2-География -->1
29 + 32 = 61
Верно
28 - 10 = 18
Верно
6 x 6 = 35
Неверно
Ваша отметка- 4
Выберите предмет: 1- Математика, 2-География -->2
Столица государства Испания - Мадрид
Верно
Столица государства Греция - Афины
Верно
Столица государства Великобритания - лондон
Верно
Ваша отметка- 5