Примеры программ обработки массивов
Пример 1. Ввести в ЭВМ массив, содержащий не более 100 чисел вещественных чисел. Вывести числа, стоящие на четных местах в массиве. Рrogram Wtr; Const Nmax=100; Var X: Array[1..Nmax] Of Real; i, n: Integer; Begin Writeln('Введите количество чисел'); Readln(n); Writeln('Введите массив'); For i: = 1 To n Do Read (X[i]); For I: = 1 To n div 2 Do Write (X[2*i]); End. Пример 2. Ввести в ЭВМ массив (последовательность) из n чисел (n< =100). Подсчитать количество положительных и отрицательных чисел, их суммы и средние значения. Алгоритм (общий подход). 1. Ввести числа. 2. Положить количества положительных, отрицательных чисел и суммы = 0 3. Для номера числа от 1 до n выполнить вычислить соответствующие суммы и количества 4. Вывести суммы, количества и средние. 5. Закончить.
Уточним этот алгоритм. 1.1. Ввести количество чисел n 1.2. Для номера числа (i) от 1 до n выполнить ввести числоi 2. Положить количества положительных, отрицательных чисел и их сумм =0 3. Для номера числа от 1 до n выполнить 3.1. Если числоi > 0, то а) Количество_Пол_Чисел = Количество_Пол_Чисел +1 и б) Сумма_Пол_Чисел = Сумма_Пол_Чисел + числоi иначе если числоi > 0, то а) Количество_Отр_Чисел = Количество_Отр_Чисел+1 и б) Сумма_Отр_Чисел = Сумма_Отр_Чисел + числоi 4.1 Если Количество_Пол_Чисел. > 0, то Среднее_Пол_Чисел = Сумма_Пол_Чисел / Количество_Пол_Чисел 4.2 Если Количество_Отр_Чисел > 0, то Среднее_Отр_Чисел = Сумма_Отр_Чисел / Количество_Отр_Чисел
Программа для этого алгоритма будет иметь вид
Program Count_sred; Const Nmax = 100; Var X: Array[1..Nmax] Of Real; N, I, Ko, Kp: Integer; So, Sp, Sro, Srp: Real; Begin Writeln('Введите количество чисел'); Readln(n); Writeln('Вводите элементы массива'); For i: =1 To n Do Read(X[i]); Ko: =0; Kp: =0; So: =0; Sp: =0; For i: =1 To N Do If X[i]> 0 Then Begin Kp: =Kp+1; Sp: =Sp+X[i] End Else If X[i]> 0 Then Begin Ko: =Ko+1; So: =So+ X[i] End; If Ko< > 0 Then Begin Sro: = So/Ko; Writeln('Количество отрицательных чисел = ', Ko); Writeln('Сумма отрицательных чисел = ', So: 8: 2); Writeln('Среднее отрицательных чисел = ', Sro: 8: 2); End Else Writeln('В массиве нет отрицательных чисел.'); If Kp< > 0 Then Begin Srp: = Sp/Kp; Writeln('Количество положительных чисел = ', Kp); Writeln('Сумма положительных чисел = ', Sp: 8: 2); Writeln('Среднее положительных чисел = ', Srp: 8: 2); End Else Writeln('В массиве нет положительных чисел.'); End.
11. Особенности алгоритмов и программ
Вычисление суммы и произведения нескольких чисел, а также подсчет количества в большинстве языков программирования выполняется постепенно, путем накапливания. 1) Сумма вычисляется по формуле сумма: = cумма + очередное слагаемое; Перед вычислениями начальному значению суммы нужно присвоить ноль. 2) Произведение вычисляется по формуле произведение: = произведение * очередной сомножитель Перед вычислениями начальному значению произведения нужно присвоить 1. 3) Подсчет количества выполняется по формуле, подобной формуле для вычисления суммы: количество: = количество + 1 Начальное значение количества должно быть = 0.
|