Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






ТИПОВЫЕ ЗАДАЧИ ОБРАБОТКИ МАССИВОВ




Все виды задач обработки массивов сводятся к сочетаниям циклических и разветвляющихся вычислительных процессов и представляют собой разветвления в циклах или циклы в разветвлениях.

Задачи выборок

Задачи выборок могут ставиться по разному, но в общем случае сводятся к выбору из данного массива элементов с заданными свойствами или по заданному признаку.

Пример 5.1. Дан массив mz месячных заработков сотрудников предприятия (i=1,2,...n). Пусть p – процентная ставка подоходного налога, который вычитается из суммы заработка:

при mz < z1 p = p1;

при z1 mz < z2 p = p2;

при mz z2 p = p3.

Рассчитать сумму подоходного налога sn и сумму причитающейся получки sp каждого сотрудника.

Задача, очевидно, сводится к просмотру всего массива заработков и выбору из него сумм, попадающих в пределы: < z1; от z1 до z2; > z2, после чего суммы налогов и получки вычисляются по формулам

sn = mz * p/100 и sp = mz – sn.

где p принимает значения p1, p2, p3 в зависимости от величины mz.

Соответствующий фрагмент программы в предположении, что массив mz и константы n, z1, z2, z3, p1, p2, p3 введены, может иметь вид

for i:=1 to n do

Begin

if mz[i]<z1 then p:=p1;

if mz[i]>=z1 and mz[i]<z2 then p:=p2;

if mz[i]>=z2 then p:=p3;

sn:= mz[i]*p div 100;

sp:=mz[i] – sn;

write(i:2,' Заработок ',mz[i]:6,' Налог ',sn:6,' Получка ',sp:6);

end;

Аналогично выполняется и выборка элементов двумерных массивов.

Пример 5.2. В двумерном массиве p размером 6? 8 выбрать все отрицательные числа, вывести их и подсчитать их общее количество.

Если искомое количество отрицательных элементов обозначить k, то соответствующий фрагмент программы может иметь вид:

k:=0;

for i:=1 to 6 do

Begin

for j:=1 to 8 do

Begin

if p[i,j]<0 then

Begin

k:=k+1;

write(p[i,j]);

end;

end;

end;

write(' Число отрицательных элементов k=',k);






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных