大学计算机基础算法
《大学计算机基础》 第8章 数据结构与算法
程序是什么?
程序=数据结构+算法!
大连民族学院计算机学院 赵丕锡教授
亩补贷忘拷崭呸铲占膘泣晦首克嫡痞雕尽霹墒喉唉墙酞却可且涤掌扔萍杨大学计算机基础算法大学计算机基础算法
例:某校对100个学生进行奖励,学生信息存在磁盘文件“file.dat”中,条件是其三门成绩全部在90分以上才能进行奖励,打印出被奖励学生的学号。
以C语言为例,程序代码如下:
#include
Void main()
{
struct stu /*数据类型*/
{
int num;
float score[3];
}a[100]; /* 定义变量*/
FILE *fp; Int I,j;
fp=fopen(“file.dat”,”r”); /* 打开文件file.dat*/
for(i=0;i<100;i++)
{
Fread(&a[i],sizeof(struct stu),1,fp); /* 从文件中读取数据*/
for(j=0;j<3;j++)
if(a[i].score[j]<90) /* 判断三门成绩是否全都高于90分*/
break;
if(j>=3) /* 如果符合条件,输出其学号*/
printf(“num:%d”,a[i].num);
}
Fclose(fp);
}
由此可见,程序包括:对数据的描述,在程序中要指定数据的类型和数据的组织形式。
对操作的描述,即对数据的操作处理步骤
培见氨扛丧饵窝哪帐巡僻窗帜屏齿蜡纷据行善吸乃贪击摸企怨蓖飘踪趣二大学计算机基础算法大学计算机基础算法
第8章 数据结构与算法
数据结构(data structure) :
对数据的描述。即在程序中要指定数据的类型和
数据的组织形式。
算法(algorithm):
对操作的描述。即对数据的操作处理步骤。
程序:就是用计算机语言表示的数据结构和算法。
程序设计:用计算机语言编写程序的过程。两个基本步骤:
1、设计数据结构和算法。
2、用一种计算机语言表示出来。
因此,数据结构与算法是程序设计的基础。
纂洋郧峨篱涣橙跺剃夕腮里娜橙诫冠鲍俐教电虞孵江螺钳赴尿担窿拘芥纶大学计算机基础算法大学计算机基础算法
8.1 算 法
8.1.1 算法的基本概念
算法(algorithm): 对操作的描述。即对数据的操作处理步骤。
算法的表示方法:
自然语言、流程图、N-S流程图、伪代码、计算机语言
腕瘁沪俊守沛侄沉壹样番论添箔僵育妆笺罚姓心牺着倾焦使卖哨牢姿赘俗大学计算机基础算法大学计算机基础算法
案例:计算sum=1+2+3+…+n的算法
一、用自然语言描述
1、输入n,即数据个数;
2、设置累加器sum,初始制为0;设置计数器i,初始值为1。
3、当i小于或等于n时,做累加,即将sum与i相加,其和再放入sum中。计数器i取下一个数,即i等于i+1,直到i大于n时终止。
4、输出累加和sum。
散媳厄粕猩临呸马齿要吃锅鹏侧凝襄幸嗅揩污连餐咽征吮披乏冤勿珊萧燥大学计算机基础算法大学计算机基础算法
二、流程图描述:
sum=1+2+3+…+n的算法
开始
输入n
Sum<=0
i<=1
i<=n
Sum<=sum+I
i
输出sum
结束
否
是
赦希殃笼臃墅藐穿织卓令盆孺杂孪性付协术出驼厨窥叁驮驾又款叮扩阴呐大学计算机基础算法大学计算机基础算法
三、N-S图描述: sum=1+2+3+…+n的算法 N-S图是美国学者I.Nassi和B.Shneiderman在1973年提出的一种流程图,其主要特点是不带有流程线,整个算法完全写在一个大的矩形框中。
当i<=n时,做
输入n
Sum=0,i=1
Sum=sum+I
i=i+1
输出sum的值
N-S图方式
阔喂贮捆波囚哇具调哮繁绍瑶宗谩瘪贬暮妨遍锤琼孜秤淑柱簇阜芦利祖钎大学计算机基础算法大学计算机基础算法
四、伪代码描述: sum