问答题


阅读以下说明和流程图,回答问题1至问题3,将解答写在对应栏内。

【说明】
(1)流程图描述某大型商店商品销售的数据处理流程。
(2)商店设有若干柜台,同一种商品可能在几个柜台上销售,各柜台每天提供一组日销售数据,其格式如下:
日期、柜台号、商品代码、销售数量、商品代码、销售数量……
(3)数据处理系统每日产生一份反映各柜台当日销售金额和商店日销售金额的“日销售金额报告”,必要时还产生一份“商品请购报告”,给出那些低于最低库存量的商品代码、商品名称、最低库存量和实际库存量。处理过程中产生存档的“日销售文件”和临时工作文件“日销售量文件”和“旧销售金额文件”。
(4)系统中所用到的数据均来自数据文件。
(5)流程图中的商品库存文件的记录已按关键字“商品代码”排序。
【问题2】
简要叙述处理6的主要内容。

【参考答案】

①更新商品库存文件中的实际库存量。 ②当实际库存量小于最低库存量时产生商品请购清单。
热门 试题

问答题
【说明】下面是一个用C编写的快速排序算法。为了避免最坏情况,取基准记录pivot时,采用从left、right和mid=[(left+right) 2]中取中间值,并交换到right位置的办法。数组a存放待排序的一组记录,数据类型为T,left和right是待排序子区间的最左端点和最右端点。void quicksort (int a[], int left, int right) {int temp;if (left<right) {hat pivot = median3 (a, left, right); 三者取中子程序int i = left, j = right-1;for(;;){while (i <j && a[i] < pivot) i++;while (i <j && pivot < a[j]) j--;if(i<j){temp = a[i]; a[j] = a[i]; a[i] = temp;i++; j--;}else break;}if (a[i] > pivot){temp = a[i]; a[i] = a[right]; a[right] = temp;}quicksort( (1) ); 递归排序左子区间quieksort(a,i+1 ,right); 递归排序右子区间}}void median3 (int a[], int left, int right){ int mid= (2) ;int k = left;if(a[mid] < a[k])k = mid;if(a[high] < a[k]) k = high; 选最小记录int temp = a[k]; a[k] = a[left]; a[left] = temp; 最小者交换到 leftif(a[mid] < a[right]){temp=a[mid]; a[mid]=a[right]; a[right]=temp;}}消去第二个递归调用 quicksort (a,i+1,right)。 采用循环的办法:void quicksort (int a[], int left, int right) {int temp; int i,j;(3) {int pivot = median3(a, left, right); 三者取中子程序i = left; j = righi-1;for (;; ){while (i<j && a[i] < pivot)i++;while (i<j && pivot <a[j]) j--;if(i <j) {temp = a[i]; a[j]; = a[i]; a[i]=temp;i++; j--;}else break;}if(a[i]>pivot){ (4) ;a[i]=pivot;}quicksoft ( (5) ); 递归排序左子区间left = i+1;}}