при написании программ необходимо использовать рекурсию. условие выхода необходимо определить исходя из аналитического выражения. для вычисления суммы ряда нужно вывести рекуррентное соотношение.
// PascalABC.NET 3.0, сборка 1076 begin var n:=ReadInteger('Число элементов массива='); var a:=ArrRandom(n,-25,25); Write('Исходный массив: '); a.Println; var k:=a.Where(x->sqr(x)>sqr(a[0])).Count; if k>0 then Writeln ('Найдено ',k,' элементов, квадрат которых больше квадрата первого') else Writeln ('Нет ни одного элемента, квадрат которого больше квадрата первого') end.
Тестовое решение: Число элементов массива=15 Исходный массив: 11 12 -11 -3 -16 -22 22 4 -4 -1 -16 -9 -19 4 16 Найдено 7 элементов, квадрат которых больше квадрата первого
CLS DIM n AS INTEGER INPUT "Введите кол-во студентов:", n
DIM studentYearsOld(1 TO n) AS INTEGER DIM studentName(1 TO n) AS STRING
FOR i = 1 TO n INPUT "Введите имя студента:", studentName(i) INPUT "Введите год рождения студента:", studentYearsOld(i) NEXT i PRINT FOR i = 1 TO n PRINT "Студент "; studentName(i) studentYrs = 2016 - studentYearsOld(i) IF studentYrs < 18 THEN PRINT "Лет до права голоса:"; 18 - studentYrs ELSEIF studentYrs >= 18 THEN PRINT "Студент уже имеет право голоса!" PRINT END IF studentYrs = 0 NEXT i
Код валидный, если допустил ошибку во время переписывания - сообщите.
begin
var n:=ReadInteger('Число элементов массива=');
var a:=ArrRandom(n,-25,25);
Write('Исходный массив: '); a.Println;
var k:=a.Where(x->sqr(x)>sqr(a[0])).Count;
if k>0 then Writeln
('Найдено ',k,' элементов, квадрат которых больше квадрата первого')
else Writeln
('Нет ни одного элемента, квадрат которого больше квадрата первого')
end.
Тестовое решение:
Число элементов массива=15
Исходный массив: 11 12 -11 -3 -16 -22 22 4 -4 -1 -16 -9 -19 4 16
Найдено 7 элементов, квадрат которых больше квадрата первого
DIM n AS INTEGER
INPUT "Введите кол-во студентов:", n
DIM studentYearsOld(1 TO n) AS INTEGER
DIM studentName(1 TO n) AS STRING
FOR i = 1 TO n
INPUT "Введите имя студента:", studentName(i)
INPUT "Введите год рождения студента:", studentYearsOld(i)
NEXT i
PRINT
FOR i = 1 TO n
PRINT "Студент "; studentName(i)
studentYrs = 2016 - studentYearsOld(i)
IF studentYrs < 18 THEN
PRINT "Лет до права голоса:"; 18 - studentYrs
ELSEIF studentYrs >= 18 THEN
PRINT "Студент уже имеет право голоса!"
PRINT
END IF
studentYrs = 0
NEXT i
Код валидный, если допустил ошибку во время переписывания - сообщите.