Примеры задач
Одномерные массивы
1. Задание: пусть даны вещественные числа А(1), …, А(25). Требуеться умножить все члены последовательности А(1), …, А(25) на квадрат её наименьшего члена, если А(i) > = 0, и на квадрат её наибольшего члена, если A(i) < 0. Методика решения
Например:
A=[-1,5; 3,8; 0,0; -2,5]. Наименьший член: -2,5; Наибольший член: 3,8.
A’=[-21,66; 23,75; 0,0; -36,1].Например:
A – массив вещественных чисел; I – переменная, для задавания циклов; Max, min – переменные, содержащие значения наибольшего и наименьшего элемента последовательности соответственно.В цикле считываем с экрана элементы последовательности и выводим получившуюся последовательность на экран. Нахождение минимального элемента: присвоим min значение первого элемента, затем сравниваем его с остальными элементами массива, если найдется элемент, меньший min , то min присваиваем значение этого элемента, вывод min на экран Аналогично находим максимальный элемент и выводим его на экран; Далее, по условию, необходимо умножить все члены последовательности на квадрат её наименьшего члена, если А(i) > = 0 , и на квадрат её наибольшего члена, если A(i) < 0 . Для этого в цикле перебираем все элементы последовательности и проверяем условие: если А[i] > = 0 , то A[i]:=A[i]*(min*min) ; в противном случае – A[i]:=A[i]*(max*max) . Выводим полученную последовательность на экран.
Program ex2_8; Uses crt; Var a:Array[1..25] of real; max,min:real; i:integer; BEGIN clrscr; WriteLn('введите цифры'); For i:=1 to 25 do Read(a[i]); writeln; For i:=1 to 25 do write(a[i]:4); writeln; min:=a[1]; For i:=2 to 25 do if a[i] max:=a[1]; For i:=2 to 25 do if a[i]>max then max:=a[i]; for i:=1 to 25 do if a[i]>=0 then a[i]:=a[i]*(min*min) else a[i]:=a[i]*(max*max); For i:=1 to 25 do write(a[i]:4); writeln; readkey; END.