русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Урок 37-49. Решение задач

При обработке массивов решения многих задач основываются на следующих задачах: вычисление суммы (произведения) элементов массива, нахождение наибольшего (наименьшего) элемента массива, упорядочивание элементов по возрастанию (убыванию) и т. п.

Пример 1: Вычисление суммы элементов массива.

program SummaElementov;

const n=7;

var A: array [1..n] of integer;

S, i: integer;

begin

writeln (‘Введите элементы массива А’);

for i:=1 to n do readln (a[i]);

s:=0;

for i:=1 to n do s:=s+a[i];

write (‘Сумма элементов массива =’,s);

end.

Если требуется выполнить какое-либо действие над всеми элементами массива, то это действие выполняется со всеми элементами массива по очереди, т. е. в цикле.

Пример 2: Программа формирует одномерный массив случайными числами, выполняет поиск наибольшего элемента массива, а затем выводит на экран его значение и порядковый номер.

program Max_Element;

var M: array [1..20] of byte;

max, i, n: byte;

begin

randomize;

for i:=1 to 20 do

begin

m[i]:=random(40);

write (m[i],’ ‘);

end;

writeln;

max:=m[1]; {считать 1-й элемент максимальным}

n:=1; {запомнить номер максимального элемента}

for i:=2 to 20 do {проверить все элементы, начиная со второго}

begin

if m[i]>max then {если очередной (i-й) элемент массива больше чем max}

begin

max:=m[i]; {то считать максимальным i-й элемент}

n:=i; {и запомнить его порядковый номер}

end;

end;

writeln (‘Максимальный элемент: ‘,max);

writeln (‘Он расположен на ‘,n,’ месте‘)

end.

Пример 3: Упорядочивание массива.

Имеется последовательность чисел, которую надо упорядочить по возрастанию. Зафиксируем первый элемент и будем последовательно сравнивать его со стоящим справа. Если какой-то из элементов справа окажется меньше первого, то этот элемент меняется местами с первым и т. д. В результате такого перебора на первом месте окажется минимальный элемент. Далее фиксируем второй элемент последовательности и просмотр повторяется.

i – индекс фиксируемого элемента; изменяется от 1 до (n-1);

j – индекс элементов, стоящих справа от фиксируемого и их всегда на 1 больше; изменяется от (i+1) до n;

с – переменная, используемая при перестановке двух элементов.

program Sortirovka;

const n=30;

var T: array [1..n] of integer;

c, i, j: integer;

begin

randomize;

for i:=1 to n do

begin

t[i]:=random(50);

write (t[i],’ ‘);

end;

writeln;

for i:=1 to n-1 do

for j:=i+1 to n do

if t[i]>t[j] then

begin

c:=t[i];

t[i]:=t[j];

t[j]:=c;

end;

write (‘Упорядоченный массив: ‘);

for i:=1 to n do write (t[i],’ ‘);

end.

Пример 4: В баскетбольную команду могут быть приняты ученики, рост которых превышает 170 см. Вывести на экран список учеников, принятых в команду.

program Bascetball;

var Name: array [1..30] of string;

h: array [1..30] of word;

Cand: array [1..30] of string;

i, k: integer;

begin

writeln (‘Введите фамилии и рост учеников‘);

for i:=1 to 30 do

begin

write (i,’. ‘);readln (Name[i]);

write (‘Рост: ‘); readln (h[i]);

end;

k:=0;

for i:=1 to 30 do

if h[i]>170 then

begin

k:=k+1;

Cand[k]:=Name[i];

end;

if k=0 then writeln (‘Кандидатов нет‘)

else

begin

writeln (‘Кандидаты в команду:‘);

for k:=1 to k do writeln (Cand[k])

end

end.

1. В массиве С(14) найти сумму отрицательных и среднее арифметическое положительных элементов.

2. В массиве Т(15) найти количество положительных, отрицательных и нулевых элементов.

3. Определите, есть ли в массиве элементы с одинаковыми значениями.

4. В массиве Х(13) положительные элементы уменьшить вдвое, а отрицательные увеличить на 5. Вывести на экран полученный массив. В полученном массиве найти наименьший элемент.

5. В массиве А(20) найти сумму наибольшего и наименьшего элементов.

6. В массиве У(n) найдите количество элементов кратных 6 и их произведение.

7. Даны два массива: А(10) и В(10). Образуйте массив С, состоящий из сумм корней соответствующих элементов массивов А и В.

8. В одномерном массиве найти количество четных и нечетных элементов.

9. Вычислите сумму квадратов всех элементов массива, исключая элементы кратные 5.

10. Программа находит количество элементов одномерного массива, больших числа х (вводится с клавиатуры), и вычисляет среднее арифметическое найденных элементов.

11. Массив R состоит из 20 целых положительных чисел. Образуйте массив R1 из четных элементов массива R, а массив R2 из нечетных элементов массива R.

12. Дан массив Х(15). Образуйте массив У, в котором сначала идут отрицательные элементы, затем нулевые и затем положительные элементы из массива Х.

13. Даны два массива А(10) и В(10). Создать массив С, в котором элементы из массива А стоят на четных местах, а элементы из массива В на нечетных местах.

14. Вычислите сумму элементов массива, индексы которых составляют в сумме заданное число К.

15. Ведомость по заработной плате содержит фамилии работников и их зарплату за текущий месяц. Выведите на экран список работников, чья заработная плата выше среднего, и фамилию работника, чья заработная плата является наименьшей.

16. Дан список из 15 футбольных команд и количество очков, набранных каждой командой. Нет команд с равным количеством очков. Требуется:

а) вывести список команд, набравших более 15 очков;

б) вывести название команды-чемпиона;

в) вывести название команды-аутсайдера.

17. Дан список класса и отметки каждого за контрольную работу. Требуется:

а) подсчитать количество работ, выполненных на «5», и вывести список этих учащихся;

б) подсчитать количество работ, выполненных на «4», и вывести список этих учащихся;

в) подсчитать количество работ, выполненных на «3», и вывести список этих учащихся;

г) подсчитать количество работ, выполненных на «2», и вывести список этих учащихся;

д) подсчитать успеваемость по формуле: .

18. Найти и напечатать номера элементов и элементы массива М(12), большие переменной R, вводимой с клавиатуры. Массив заполнить числами 33, 45, 12, 47, 21, 78, 43, 67, 26, 94, 80, 16

19. Заполнить массив Р(15) с клавиатуры. Составить программу, которая:

а) печатает положительные элементы массива;

б) печатает номера положительных элементов массива;

в) заменит все отрицательные элементы нулями;

г) разделит на 5 все элементы массива;

д) удвоит элементы, меньшие 7.

20. Имеется два массива: X и Y. Упорядочить их по убыванию и объединить в один массив Z.

21. Сортировать массив: список участников соревнований ранятся в двух массивах FIO(10), REZ(10). Расположить участников в соответствии с занятыми местами.

22. Вводится массив – список участников конференции. Расположить фамилии участников в алфавитном порядке.

23. Результаты переписи населения хранятся в массивах F и GR. Составьте программу для вывода на экран фамилий людей, старше 50 лет. Для проверки работоспособности программы использовать 10 вымышленных фамилий. Годы рождения указать следующие: 1989, 1978, 1955, 1976, 1951, 1990, 1980, 1974, 1953, 1960.

24. Составьте программу для вычисления функции:

z (x, y)=(2x2+3),

если ряду значений х: 0,003; 0,51; 1,39; 2,99; 3,05 соответствует ряд значений у: 0,63; 5,81; 4,79; 0,55; 1,01. Результат вывести на экран в виде таблицы соответствия значений переменных значению функции.

25. Составьте программу, которая формирует одномерный массив вводом с клавиатуры, находит в массиве элементы, заданные пользователем, подсчитывает их количество и выводит на экран номер первого найденного элемента.

Просмотров: 541


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.