
ПОМОГИТЕ ПОЖАЛУЙСТА!!!СРОЧНО!!!!!ПАСКАЛЬ! 1) Среди 14 действительных чисел, введённых с
клавиатуры, подсчитать количество элементов, равных предпоследнему, и выдать их номера на экран.2) Дан массив из 16 целых чисел, случайно заданных в диапазоне от 0 до 90 .Получить MAX (a1-a16, a2-a15, …, a8-a9).3) Дан массив из 12 целых чисел, введённых с клавиатуры. Вычислить среднее геометрическое чётных элементов массива.

Ответы на вопрос

PascalABC.NET 3.4.2, сборка 1884 от 24.11.2018
Внимание! Если программа не работает, обновите версию!
1)
begin
var n := 14;
var a := ReadArrReal(n);
var p := a[n - 2];
var s := a.IndexesOf(t -> t = p);
s.Select(i -> i + 1).Println.Count.Println // индексы,потом кол-во
end.
Пример
1 4.5 4 -0.3 -0.5 4.2 -1.1 4.4 -3.1 -3.4 4.2 -1.2 -1.1 1.1
7 13
2
2)
begin
var n := 16;
var a := ArrRandom(n, 0, 90);
a.Println;
var max := -1;
for var i := 0 to n div 2 - 1 do
begin
var t := a[i] - a[n - i - 1];
if max < t then max := t
end;
max.Println
end.
Пример
79 73 62 60 29 3 71 21 64 9 53 32 15 24 16 28
62
3)
begin
var a := ReadArrInteger(12);
var s := a.Where(t -> t.IsEven);
var k := s.Count;
if k > 1 then ((s.Aggregate(1.0, (p, q)-> p * q)) ** (1 / k)).Println
else
if k = 0 then Println(0)
else s.First.Println
end.
Пример
63 96 84 43 19 56 41 36 8 46 1 57
42.6070511534269



Конечно, вот решения ваших задач на языке программирования Pascal:
- Подсчет количества элементов, равных предпоследнему, и выдача их номеров на экран:
pascalprogram Task1; var i, count, prevLast, n: integer; begin count := 0; prevLast := 0; writeln('Введите 14 действительных чисел:'); for i := 1 to 14 do begin read(n); if i = 13 then prevLast := n else if n = prevLast then begin writeln('Элемент ', i, ' равен предпоследнему'); count := count + 1; end; end; writeln('Количество элементов, равных предпоследнему: ', count); end.
- Получение максимальной разницы между элементами:
pascalprogram Task2; var arr: array[1..16] of integer; i, maxDifference: integer; begin writeln('Введите 16 целых чисел от 0 до 90:'); for i := 1 to 16 do begin read(arr[i]); end; maxDifference := abs(arr[1] - arr[16]); for i := 2 to 8 do begin if abs(arr[i] - arr[17 - i]) > maxDifference then maxDifference := abs(arr[i] - arr[17 - i]); end; writeln('Максимальная разница между элементами: ', maxDifference); end.
- Вычисление среднего геометрического четных элементов массива:
pascalprogram Task3; var arr: array[1..12] of integer; i, count, product: integer; geometricMean: real; begin count := 0; product := 1; writeln('Введите 12 целых чисел:'); for i := 1 to 12 do begin read(arr[i]); if arr[i] mod 2 = 0 then begin count := count + 1; product := product * arr[i]; end; end; if count = 0 then writeln('В массиве нет четных элементов') else begin geometricMean := power(product, 1 / count); writeln('Среднее геометрическое четных элементов: ', geometricMean:0:2); end; end.
Скопируйте код каждой задачи в свою среду разработки Pascal и запустите программы для выполнения каждой из задач.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili