Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Примеры программ обработки массивов




 

Пример 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.

 







Дата добавления: 2014-12-06; просмотров: 130. Нарушение авторских прав

Studopedia.info - Студопедия - 2014-2017 год . (0.016 сек.) русская версия | украинская версия