Здравствуйте, помогите с заданиями по информатике!

Всё решать через массивы (array) в паскале

1. Составить программу нахождения минимального элемента и его номера в массиве вещественных чисел не более 50, задаваемых вводом с клавиатуры.
2. Сформировать массив (вывести на экран) из т случайных целых чисел на промежутке от -60 до 60, найти сумму чисел больших 20.
3. В массиве подсчитать количество элементов больших, чем 13. Элементов в массиве 14. Целочисленный массив вводится случайным образом в интервале от 3 до 30.

Ответы

Ответ дал: KnowsUser1
1

Ответ:

PascalABC.NET 3.5.1 + .NET Framework 4.7.1

#1

begin

 var l := ReadInteger('Задайте длину массива: ');

 var A := ReadArrReal(l);

 WritelnFormat('Min: {0}, Number in array: {1}', A.Min, A.IndexOf(A.Min));

end.

#2

begin

 var t := ReadInteger('Array length: ');

 var A := ArrRandom(t, -60, 60);

 A.Println;

 A.Where(p -> p > 20).Sum.Println;

end.

#3

begin

 var A := ArrRandom(14, 3, 30);

 A.Println;

 A.Where(p -> p > 13).Count.Println;

end.

Объяснение:

Функции _ReadArrReal_ и _ArrRandom_ в PascalABC.NET Возвращают массив (array of real и array of integer соответственно), по этому хоть ни в одной программе нет явного объявления массива вида A : Array of T, все три программы используют обычные массивы.


DevidBeatss: всё же, можете написать без замещений, очень поможете
KnowsUser1: В вашем случае "написать без замещений" = проделать кучу ненужной работы. Язык предоставляет удобные функции и методы для работы с массивами и коллекциями, зачем усложнять себе жизнь и наперекор здравому смыслу изобретать изобретённое самостоятельно?
DevidBeatss: такое задание. В таком виде не примут
KnowsUser1: Как вариант, вы можете тонко намекнуть своему преподавателю, что на дворе сейчас 2020 год, а не 1998. И приведённое вами (Ну, мной) решение имеет полное право на существование. По факту, программы работают и работают правильно. Ну или ждите, пока кому нибудь станет не лень изобретать велосипеды
DevidBeatss: хорошо, спасибо
Вас заинтересует