ТОР 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); Не нашли, что искали? Воспользуйтесь поиском:
|