您当前的位置:首页 > 发表论文>论文发表

fortran语言论文

2023-12-08 01:57 来源:学术参考网 作者:未知

fortran语言论文

公路工程地质信息

(一)强夯法处理液化地基的施工管理

江苏北部(如徐州、宿迁等)地区广泛分布废黄河泛滥沉积物,一般以亚砂土、亚粘土—细砂为主,埋层浅,地下水位高,天然地基承载力低,在地震作用下易产生液化现象。地基液化是引起构筑物破坏的主要形式,同时该地区又受到我省主要的地震危险带—郯庐地震带的影响,因此在该地区国道主干线京福、徐宿、连徐、宁宿徐、沂淮等高速公路建设中不可避免的遇到大面积液化地基处理问题。根据《公路工程抗震设计规范》(JTJ004—89),对高速公路必须进行液化地基处理,这是减轻地震灾害的根本性措施。因此,如何控制和管理好处理液化地基的施工,做到既经济有效又安全可靠,对保证高速公路建成后的正常运营、减轻地震灾害具有重大现实意义。

1 液化地基的国内外研究概况

地基液化分析与处理一直是土动力学的主要研究课题之一。液化一词最早见于1920年Hazen.A的《动力冲填坝》用来说明卡拉弗拉斯冲填坝的毁坏。1936年Casagrande首先给出了砂土液化的判别方法——临界孔隙比法。上世纪50年代,各国学者对砂土液化进行了广泛研究,主要包括:砂土液化的机理,砂土液化的预估方法,砂土液化的地基处理等。

所谓液化是指由于孔隙水压增加及有效应力降低而引起粒状材料(砂土、粉土甚至包括砾石)由固态转变成液态的过程。影响液化的因素有:①颗粒级配,包括粘粒、粉粒含量,平均粒径d50;②透水性能;③相对密度;④结构;⑤饱和度;⑥动荷载,包括振幅、持时等。

我国《工业与民用建筑抗震设计规范》(TJ11—78)根据1971年以前8次大地震的数据,参考美国、日本的有关研究成果给出了以临界标准贯入击数为指标的砂土液化判别公式。现行规范《建筑抗震设计规范》(GBJ11—89)通过对海城、唐山地震的系统研究,结合国外大量资料,对原规范进行了修改,采用了两步评判原则,并对临界标贯击数公式进行了修改,使之更符合实际。在国标《岩土工程勘察规范》(GB50021—94)中,对此又进行了补充,给出了液化比贯入阻力临界值和液化剪切波速临界值公式,用来进行液化判别。在公路工程中,基本上沿用上术两步评判原则,采用了临界标贯击数判别方法,并根据公路工程中的研究成果,给出了临界标贯击数的计算公式。这些规范在我国工程界得到了广泛应用。

2 高等级公路可液化地基处理方案的确定。

液化地基处理恰当与否,关系到整个工程的质量、投资和进度。因此其重要性已越来越多地被人们所认识。对于高速公路这样大面积处理可液化土而言,强夯法和干振碎石桩法是首选的处理手段。当全液化地基路段较长,需处理面积大,公路沿线外缘较近范围内无村庄,无重要构造物时,强夯法是比较理想的地基处理方法。

强夯法处理地基是20世纪60年代末Menard技术公司首先创立的,该方法将80…400kN重锤从落距6—40m处自由落下,给地基以冲击和振动,从而提高地基土的强度并降低其压缩性。强夯法常用来加固碎石、砂土、粘性土、杂填土、湿隐性黄土等各类地基土。由于其具有设备简单、施工速度快、适用范围广、节约三材、经济可行、效果显著等优点,经过20多年来的应用与发展,强夯法处理地基受到各国工程界的重视,并得以迅速推广,取得了较大的经济效益和社会效益。

由于强夯处理的对象(即地基土)非常复杂,一般认为不可能建立对各类地基土均适合的具有普遍意义的理论,但对地基处理中经常遇到的几种类型土,还是有规律可循的。实践证明,用强夯法加固地基,一定要根据现场的地质条件和工程作用要求,正确选用强夯参数,一般通过试验来确定以下强夯参数:

(1)有效加固深度:有效加固深度既是选择地基处理方法的重要依据,又反映了处理效果。

(2)单击夯击能:单击夯击能等于锤重×落距。

(3)最佳夯击能:从理论上讲,在最佳夯击能作用下,地基土中出现的孔隙水压力达到土的自重压力,这样的夯击能称最佳夯击能。因此可根据孔隙水压力的叠加值来确定最佳夯击能。在砂性土中,孔隙水压力增长及消散过程仅为几分钟,因此孔隙水压力不能随夯击能增加而叠加,可根据最大孔隙水压力增量与夯击次数关系来确定最佳夯击能。

夯点的夯击次数,可按现场试夯得到的夯击次数和夯沉量关系曲线确定,应同时满足下列条件:(①夯坑周围地面不应发生过大隆起;②不因夯坑过深而发生起锤困难;③每击夯沉量不能过小,过小无加固作用。夯击次数也可参照夯坑周围土体隆起的情况予以确定,就是当夯坑的竖向压缩量最大,而周围土体的隆起最小时的夯击数。对于饱和细粒土,击数可根据孔隙水压力的增长和消散来决定,当被加固的土层将发生液化时的击数即为该遍击数,以后各遍击数也可按此确定。

(4)夯击遍数:夯击遍数应根据地基土的性质确定,地基土渗透系数低,含水量高,需分3—4遍夯击,反之可分两遍夯击,最后再以低能量“搭夯”一遍,其目的是将松动的表层土夯实。

(5)间歇时间:所谓间歇时间,是指相邻夯击两遍之间的时间间隔。Menard指出,一旦孔隙水压力消散,即可进行新的夯击作业。

(6)夯点布置和夯点间距:为了使夯后地基比较均匀,对于较大面积的强夯处理,夯击点一般可按等边三角形或正主形布置夯击点,这样布置比较规整,也便于强夯施工。由于基础的应力扩散作用,强夯处理范围应大于基础范围,其具体放大范围,可根据构筑物类型和重要性等因素考虑确定。

夯点间距可根据所要求加固的地基土性质和要求处理深度而定。当土质差、软土层厚时应适当增大夯点间距,当软土层较薄而又有砂类土夹层或土夹石填土等时,可适当减少夯距。夯距太小,相邻夯点的加固效应将在浅处叠加而形成硬层,影响夯击能向深部传递。

3 强夯法处理液化地基的质量控制与管理

3.1 施工单位选择

对参与施工的强夯施工单位,各施工标段中标单位要先审查其施工资质、信誉和业绩,并附有前业主对该单位的书面评价报告;任何单位不得将强夯分包给个人施工。各中标单位将经初步筛选合格的施工队伍形成书面推荐报告,经驻地监理审核后,上报主管部门,经批准后方可进场。进场后不得再分包或转包,否则,驻地监理工程师将责令分包单位立即退场,损失自负。

3.2 施工准备

编写施工组织设计,经驻地监理组审查,监理组提出书面审查意见,报总监代表审批同意方可施工。

3.3 施工管理

(1)施工单位要按设计图要求编制夯点编号图,编号图要清晰、规范、科学。

(2)施工单位必须制定严格的安全管理措施,现场操作人员必须戴安全帽,并对施工机械定期作安全检查。在强夯区四周要设置醒目的危险警告标志和安全管理措施,不允许行人和非施工车辆进入强夯区,以确保操作员、过往行人和车辆的安全。

(3)施工单位要对强夯机械进行编号,每台强夯机械必须持有监理组发放的《施工许可证》方可进行强夯施工。

(4)施工单位除在强夯机械上挂《施工许可证》外,还必须挂有《机械操作主要人员》和《施工技术参数》两块醒目的牌子,进行机械操作的主要人员必须挂牌上岗。

(5)施工单位要制定施工要点供现场人员执行。

(6)铺设垫层前要对原地面进行清表并整平,且要按每20米一个断面,每个断面5个规定测点,测量清表后标高。

(7)用水准仪测量垫层铺设前、后的对应测点标高,初步确定垫层厚度,每20米一个断面,每个断面5个规定测点,再按每断面挖1处深坑,进一步确定垫层厚度(控坑必须在测点位置上)。

(8)垫层宽度按每20米一处用钢尺丈量。

(9)按设计要求进行夯点布置,夯点定位布置用钢尺按100%的频率丈量。

(10)夯锤必须过磅称重。夯击能在强夯施工前必须检测,并满足设计要求。每夯击100次,用钢尺量一次夯锤落距。

(11)施工单位必须及时排出夯坑内积水。

(12)主、副、满夯的间隙时间要根据现场情况作必要的调整,但间隙时间必须满足72小时。需要调整间隙时间由现场监理工程师确定。

(13)遇到不需拆迁的高压电线时,施工单位必须安排集中施工的方案,市高指向供电部门申请临时停电。

(14)施工人员要认真做好强夯施工记录,记录要求清楚、真实。

(15)施工人员必须注意观察已处理路段,发现异常情况及时报告驻地监理组和有关部门。

(16)在强夯区内的构造物必须在强夯完成后,才能进行构造物的下部施工。

4 用强夯法处理砂土液化地基的质量检验评定

4.1 基本要求

碎石垫层的碎石规格和质量必须符合设计要求。强夯施工必须按夯击点确定的技术参数进行。以各个夯击点的夯击数作为施工控制数值。

4.2 实测项目表

表1 强夯法处理砂土液化地基实测项目表

项次
检查
项目规定值

或允许偏差
检查方法和频率
规定分

1
夯击能
不小于设计
1次/工点查施工记录
15

2
夯击次数
符合设计
查施工记录
15

3
垫层厚度
不小于设计
4处/200m
15

4
垫层宽度
不小于设计
4处/200m
15

5
标贯击数
符合设计
2处/工点
20

6
瑞利波
≥200m/s
1处/工点
20

注:(1)标准贯入试验,按需3点/5000�且不少于3点进行。孔位随机

布置。特殊地段适当加密。

(2)瑞利波法(SSW)按1点/40m,在中心线两侧各15m处交叉布点。

4.3 外观鉴定

(1)填筑碎石垫层前必须清表、整平,无明显凸凹点,整平不符合要求扣2分。

(2)夯坑内积水应及时排除,不符合要求扣2分。

(3)夯后场地应平整,无局部隆起,不符合要求扣2分。

4.4 分项工程质量等级评定

(1)分项工程评分在85分及以上者为优良;70~85分者为合格;70分以下者为不合格。

(2)若标贯击数、瑞利波不合格时,则该分项工程不合格,可进行加固处理,再重新评定其质量等级。

5 结语

在京福、徐宿、宁宿徐等高速公路液化地基强夯加固的施工实践中,由于建设、监理及施工单位的高度重视,严格按有关质量要求和“施工指导意见”进行控制,尤其对强夯参数的确定都是经反复试验论证后,选择合适的参数指导施工,使强夯法处理液化地基段达到了设计要求,从已建成的高速公路处理路段的工后路基沉降观测看,处理段液化地基强夯加固达到了预期目的。

Nature:从FortranAlexNet代码改变了科学界

选自Nature

作者:Jeffrey M. Perkel

机器之心编译

机器之心编辑部

2019 年,「事件视界望远镜」团队拍下了第一张黑洞照片。这张照片并非传统意义上的照片,而是计算得来的——将美国、墨西哥、智利、西班牙和南极多台射电望远镜捕捉到的数据进行数学转换。该团队公开了所用代码,使科学社区可以看到,并基于此做进一步的 探索 。

而这逐渐成为一种普遍模式。从天文学到动物学,每一个伟大的现代科学发现背后都有计算机的身影。斯坦福大学计算生物学家、2013 年诺贝尔化学奖获得主 Michael Levitt 表示,现在的笔记本电脑在内存和时钟速度方面是 1967 年其实验室计算机的一万倍。「今天,我们拥有大量算力。但问题是,这仍然需要人类的思考。」

如果没有能够处理研究问题的软件以及知道如何编写和使用软件的研究人员,计算机再强大也是无用。「现在的研究与软件紧密相关,软件已经渗透到科研的方方面面。」软件可持续性研究所(Software Sustainability Institute)负责人 Neil Chue Hong 如是说。

最近,Nature 上的一篇文章试图揭示科学发现背后的重要代码,正是它们在过去几十年中改变了科研领域。这篇文章介绍了对科学界带来重大影响的十个软件工具,其中就包括与人工智能领域密切相关的 Fortran 编译器、arXiv、IPython Notebook、AlexNet 等。

语言先驱:Fortran 编译器(1957)

首批出现的现代计算机对用户并不友好。编程实际上是由手工完成的,通过电线连接一排排电路。后来的机器语言和汇编语言允许用户使用代码进行计算机编程,但这两种语言依然要求使用者对计算机架构有深入了解,导致很多科学家无法使用它们。

20 世纪 50 年代,随着符号语言的发展,尤其是「公式翻译」语言 Fortran 的出现,上述境况发生了改变。Fortran 语言由 IBM 的约翰 · 巴科斯(John Backus)团队开发。借助 Fortran,用户可以使用 x = 3 + 5 等人类可读的指令进行计算机编程,之后编译器将这类指令转化为快速高效的机器码。

这台使用 Fortran 编译器编程的 CDC 3600 计算机于 1963 年移送至美国国家大气研究中心。(图源:美国大气科学研究大学联盟 / 科学图片库。)

在早期,编程人员使用穿孔卡片(punch card)输入代码,复杂的模拟可能需要数万张穿孔卡片。不过,Fortran 使得并非计算机科学家的研究者也能够进行编程。普林斯顿大学气候学家 Syukuro Manabe 表示:「我们第一次靠自己进行编程。」他和同事使用 Fortran 语言开发了首批成功的气候模型之一。

60 多年过去了,Fortran 依然广泛应用于气候建模、流体动力学、计算机化学,以及其他涉及复杂线性代数并需要强大计算机快速处理数字的学科。Fortran 代码运行速度很快,仍然有很多编程人员知道如何写 Fortran。古老的 Fortran 代码库依然活跃在世界各地的实验室和超级计算机上。

信号处理器:快速傅里叶变换(1965)

当天文学家扫描天空时,他们捕捉到了随时间变化的复杂信号的杂音。为了理解这些无线电波的性质,他们需要观察这些信号作为频率函数的样子。一种被称为傅里叶变换(Fourier transform)的数学过程允许科学家实现这一点。但问题在于傅里叶变换并不高效,对大小为 N 的数据集它需要进行 N 次运算。

1965 年,美国数学家 James Cooley 和 John Tukey 开发了一种加速傅里叶变换过程的方法。借助递归(recursion)这种「分而治之」的编程方法(其中算法可以实现重复地再运用),快速傅里叶变换(fast Fourier transform, FFT)将计算傅里叶变换问题简化为 N log_2(N) 个步骤。速度也随着 N 的增加而提升。对于 1000 个点,速度提升约 100 倍;对于 100 万个点,速度提升约 5 万倍。

牛津大学数学家 Nick Trefethen 表示,FFT 的发现实际上是一种「再发现」,因为德国数学家卡尔 · 弗里德里希 · 高斯在 1805 年就完成了该发现,不过从未发表。但是,James Cooley 和 John Tukey 开启了 FFT 在数字信号处理、图像分析和结构生物学等领域中的应用。Trefethen 认为 FFT「是应用数学与工程领域伟大的发现之一。」FFT 已经在代码中实现了很多次,其中一种流行的变体是 FFTW(「西方最快的傅里叶变换」)。

默奇森天文望远镜,使用快速傅里叶变换来收集数据。

劳伦斯伯克利国家实验室(Lawrence Berkeley National Laboratory)分子生物物理学和综合生物成像部门主任 Paul Adams 回忆称,当他在 1995 年改进细菌蛋白 GroEL 的结构时,即使使用 FFT 和一台超级计算机,也需要「很多很多个小时,甚至是几天」的计算。但要没有 FFT,很难想象这件事要怎么做,花的时间将难以估量。

线性代数运算标准接口:BLAS(1979)

科学计算通常涉及使用向量和矩阵的数学运算,这些运算相对简单,但计算量大。20 世纪 70 年代,学界并没有出现一套普遍认可的执行此类运算的工具。因此,科研工作者不得不花费时间设计高效的代码来做基础的数学运算,导致无法专注于科学问题本身。

编程世界需要一个标准。1979 年,基础线性代数子程序库(Basic Linear Algebra Subprograms, BLAS)应运而生。直到 1990 年,该标准仍然在发展变化,定义了数十条涵盖向量和矩阵运算的基本程序。

田纳西州大学计算机科学家、BLAS 开发团队成员之一 Jack Dongarra 表示,BLAS 实际上将矩阵和向量运算简化成了像加减法一样的基础计算单元。

Cray-1 超级计算机。(图源:科学 历史 图像 / Alamy)

德州大学奥斯汀分校计算机科学家 Robert van de Geijn 表示:「BLAS 可能是为科学计算而定义的最重要接口。」除了为常用函数提供标准名称之外,研究者可以确保基于 BLAS 的代码能够以相同的方式在任何计算机上运行。该标准也使得计算机制造商能够优化 BLAS 实现,以实现硬件上的快速运行。

40 多年来,BLAS 代表了科学计算堆栈的核心,使得科学软件持续发展。乔治华盛顿大学机械与航空航天工程师 Lorena Barba 将 BLAS 称为「五层代码内的核心机制」。

预印本平台:arXiv.org(1991)

20 世纪 80 年代末,高能物理领域的研究者往往会把自己提交的论文邮寄给同行审阅,这是一种礼仪,但只邮寄给少数几个人。「那些处于食物链底端的人依赖于顶端人的施舍,这往往会把非精英机构中有抱负的研究者完全排除在特权圈之外,」物理学家 Paul Ginsparg 曾在 2011 年的一篇文章中写道。

1991 年,洛斯阿拉莫斯国家实验室(Los Alamos National Laboratory)的 Ginsparg 写了一个电子邮件自动回复器,以建立公平的竞争环境。邮件订阅者每天都会收到一份预印本列表,每份论文都带有标识符。如此一来,世界各地的用户都可以通过一封电子邮件提交或检索来自上述实验室计算机系统的论文。

Ginsparg 原本计划将文章保留三个月,将范围限制在高能物理社区,但他的同事劝他去掉了这些限制。「就是在那一刻,它从布告栏转变成了档案库,」Ginsparg 表示。在这之后,大批论文开始涌入,其学科之广远远超出了 Ginsparg 的预期。1993 年,Ginsparg 把这个系统移植到互联网上。1998 年,他正式将该系统命名为 arXiv.org。

如今,30 岁的 arXiv 收录了 180 万份预印本文章,且全部免费阅读,其每月论文提交量超过 15000 份,每月下载量高达 3000 万次。「不难看出 arXiv 为何如此受欢迎,」Nature Photonics 的编辑曾表示,「该系统为研究者提供了一种快捷、方便的科研方式,可以告诉大家你在做什么、什么时间做的,省去了传统期刊同行评审的繁琐。」

该网站的成功还对生物学、医学、 社会 学等其他学科类似存储库的建立起到了助推作用,成千上万份新冠病毒相关研究预印本的发布就是一个例证。

数据 探索 器:IPython Notebook (2011)

Fernando Pérez 在 2001 年决定「探寻拖延症」,当时他是一名研究生,决定采用 Python 的核心组件。

Python 是一种解释型语言,意味着程序会一行一行地执行。编程人员可以使用一种被称为「读取 - 求值 - 输出循环(REPL)」的计算型调用和响应(call-and-response)工具,他们可以键入代码,然后由解释器执行代码。REPL 允许快速 探索 和迭代,但 Pérez 指出 Python 并不是为科学构建的。例如,它不允许用户轻松地预加载代码模块或保持数据可视化的打开状态。因此 Pérez 创建了自己的版本。

2001 年 12 月,Pérez 发布了交互式 Python 解释器 IPython,它共有 259 行代码。10 年后,Pérez 和物理学家 Brian Granger、数学家 Evan Patterson 合作,将该工具迁移到 Web 浏览器,创建了 IPython Notebook,掀起了一场数据科学的革命。

和其他计算型 notebook 一样,IPython Notebook 将代码、结果、图形和文本组合到了单个文档中。但与其他此类型项目不同的是,IPython Notebook 是开源的,欢迎广大社区开发者为其发展做出贡献,并且支持 Python 这种科学家常用的语言。2014 年,IPython 演变成 Project Jupyter,支持约 100 种语言,并允许用户像在自己计算机上一样轻松地在远程超级计算机上 探索 数据。

Nature 在 2018 年指出:「对数据科学家而言,Jupyter 已经成为一种实际标准」。那时,GitHub 上已经有 250 万个 Jupyter notebook,如今已有近一千万个,其中包括 2016 年发现引力波和 2019 年黑洞成像的记录。Pérez 表示:「我们能为这些项目做出一点贡献也是非常有意义的」。

快速学习器:AlexNet(2012)

人工智能(AI)可分为两类,一类使用编码规则,另一类让计算机通过模拟大脑的神经结构来「学习」。多伦多大学计算机科学家、图灵奖获得者 Geoffrey Hinton 表示:「几十年来,人工智能研究者一直将第二种研究方法视为『荒谬』」。2012 年,Hinton 的研究生 Alex Krizhevsky 和 Ilya Sutskever 证明了事实并非如此。

在当年的 ImageNet 的年度竞赛上,研究者们被要求在包含 100 万张日常物品图像的数据库上训练 AI,然后在另一个图像集上测试算法。Hinton 表示:「在当时,最佳算法会在 1/4 的图像上出现分类错误」。Krizhevsky 和 Sutskever 开发的 AlexNet 是一种基于神经网络的深度学习算法,该算法将误差率降至 16%。Hinton 表示:「我们几乎将误差率降低了一半」。

Hinton 认为,该团队在 2012 年的成功反映出足够大的训练数据集、出色的编程和图形处理单元(最初为了提高计算机视频性能的处理器)新力量的结合。他表示:「突然之间,我们就能够将该算法的速度提高 30 倍,或者说可以学习 30 倍的数据」。

Hinton 表示真正的算法突破实际上发生在 3 年前。当时他的实验室创建了一个比几十年来不断完善的传统 AI 更能准确识别语音的神经网络。虽然准确率只稍微提升了一点,但已值得被记住。

AlexNet 及相关研究的成功带来了实验室、临床等多个领域深度学习的兴起。它让手机能够理解语音查询,也让图像分析工具能够轻松地从显微照片中挑选出细胞。这就是 AlexNet 在改变科学、改变世界的工具中占有一席之地的原因。

FORTRAN语言程序

输出的数是这样的

1   2

3   4

5   6

(1X,2I4)意思是,每一次输出一个空格,然后是两个占4位的整数.然后就该换行了

因此一共生成三行数据,6/2=3

输出的值是J,J的大小是1到6,因此生成的记录数应该是A  6个

求一篇《计算机发展史》文献综述(和论文稍有区别),2000~3000字拜托各位了 3Q

1946年2月,第一台电子计算机ENIAC在美国加州问世,ENIAC用了18000个电子管和86000个其它电子元件,有两个教室那么大,运算速度却只有每秒300次各种运算或5000次加法,耗资100万美元以上。尽管ENIAC有许多不足之处,但它毕竟是计算机的始祖,揭开了计算机时代的序幕。 计算机的发展到目前为止共经历了四个时代,从1946年到1959年这段时期我们称之为“电子管计算机时代”。第一代计算机的内部元件使用的是电子管。由于一部计算机需要几千个电子管,每个电子管都会散发大量的热量,因此,如何散热是一个令人头痛的问题。电子管的寿命最长只有3000小时,计算机运行时常常发生由于电子管被烧坏而使计算机死机的现象。第一代计算机主要用于科学研究和工程计算。 从1960年到1964年,由于在计算机中采用了比电子管更先进的晶体管,所以我们将这段时期称为“晶体管计算机时代”。晶体管比电子管小得多,不需要暖机时间,消耗能量较少,处理更迅速、更可靠。第二代计算机的程序语言从机器语言发展到汇编语言。接着,高级语言FORTRAN语言和cOBOL语言相继开发出来并被广泛使用。这时,开始使用磁盘和磁带作为辅助存储器。第二代计算机的体积和价格都下降了,使用的人也多起来了,计算机工业迅速发展。第二代计算机主要用于商业、大学教学和政府机关。 从1965年到1970年,集成电路被应用到计算机中来,因此这段时期被称为“中小规模集成电路计算机时代”。集成电路(Integrated Circuit,简称r)是做在晶片上的一个完整的电子电路,这个晶片比手指甲还小,却包含了几千个晶体管元件。第三代计算机的特点是体积更小、价格更低、可靠性更高、计算速度更快。第三代计算机的代表是IBM公司花了50亿美元开发的IBM 360系列。 从1971年到现在,被称之为“大规模集成电路计算机时代”。第四代计算机使用的元件依然是集成电路,不过,这种集成电路已经大大改善,它包含着几十万到上百万个晶体管,人们称之为大规模集成电路(LargeScale lntegrated Circuit,简称LSI)和超大规模集成电路(Very Large Scale lntegrated Circuit,简称VLSI)。1975年,美国1BM公司推出了个人计算机PC(PersonaI Computer),从此,人们对计算机不再陌生,计算机开始深入到人类生活的各个方面 .

计算机导论论文

  大学计算机科学导论论文
  计算机科学与技术这一门科学深深的吸引着我们这些同学们,原先不管是国内还是国外都喜欢把这个系分为计算机软件理论、计算机系统、计算机技术与应用。后来又合到一起,变成了现在的计算机科学与技术。我一直认为计算机科学与技术这门专业,在本科阶段是不可能切分成计算机科学和计算机技术的,因为计算机科学需要相当多的实践,而实践需要技术;每一个人(包括非计算机专业),掌握简单的计算机技术都很容易(包括原先Major们自以为得意的程序设计),但计算机专业的优势是:我们掌握许多其他专业并不"深究"的东西,例如,算法,体系结构,等等。非计算机专业的人可以很容易地做一个芯片,写一段程序,但他们做不出计算机专业能够做出来的大型系统。今天我想专门谈一谈计算机科学,并将重点放在计算理论上。

  1)计算机语言
  随着20世纪40年代第一台存储程序式通用电子计算机的研制成功,进入20世纪50年代后,计算机的发展步入了实用化的阶段。然而,在最初的应用中,人们普遍感到使用机器指令编制程序不仅效率低下,而且十分别扭,也不利于交流和软件维护,复杂程序查找错误尤其困难,因此,软件开发急需一种高级的类似于自然语言那样的程序设计语言。1952年,第一个程序设计语言Short Code出现。两年后,Fortran问世。作为一种面向科学计算的高级程序设计语言,Fortran的最大功绩在于牢固地树立了高级语言的地位,并使之成为世界通用的程序设计语言。Algol60的诞生是计算机语言的研究成为一门科学的标志。该语言的文本中提出了一整套的新概念,如变量的类型说明和作用域规则、过程的递归性及参数传递机制等。而且,它是第一个用严格的语法规则——巴科斯范式(BNF)定义语言文法的高级语言。程序设计语言的研究与发展在产生了一批成功的高级语言之后,其进一步的发展开始受到程序设计思想、方法和技术的影响,也开始受到程序理论、软件工程、人工智能等许多方面特别是实用化方面的影响。在“软件危机”的争论日渐平息的同时,一些设计准则开始为大多数人所接受,并在后续出现的各种高级语言中得到体现。例如,用于支持结构化程序设计的PASCAL语言,适合于军队各方面应用的大型通用程序设计语言ADA,支持并发程序设计的MODULA-2,支持逻辑程序设计的PROLOG语言,支持人工智能程序设计的LISP语言,支持面积对象程序变换的SMALLTALK、C等。而且,伴随着这些语言的出现和发展,产生了一大批为解决语言的编译和应用中所出现的问题而发展的理论、方法和技术。有大量的学术论文可以证明,由高级语言的发展派生的各种思想、方法、理论和技术触及到了计算机科学的大多数学科方向,但内容上仍相对集中在语言、计算模型和软件开发方法学方面。

  (2)计算机模型与软件开发方法
  20世纪80年代是计算机网络、分布式处理和多媒体大发展的时期。在各种高级程序设计语言中增加并发机构以支持分布式程序设计,在语言中通过扩展绘图子程序以支持计算机图形学程序设计成为当时程序设计语言的一种时尚。之后,在模数/数模转换等接口技术和数据库技术的支持下,通过扩展高级语言的程序库又实现了多媒体程序设计的构想。进入20世纪90年代之后,并行计算机和分布式大规模异质计算机网络的发展又将并行程序设计语言、并行编译程序、并行操作系统、并行与分布式数据库系统等试行软件的开发的关键技术依然与高级语言和计算模型密切相关,如各种并行、并发程序设计语言,进程代数,PETRI网等,它们正是软件开发方法和技术的研究中支持不同阶段软件开发的程序设计语言和支持这些软件开发方法和技术的理论基础——计算模型。
  (3)计算机应用

  用计算机来代替人进行计算,就得首先研究计算方法和相应的计算机算法,进而编制计算机程序。由于早期计算机的应用主要集中在科学计算领域,因此,数值计算方法就成为最早的应用数学分支与计算机应用建立了联系。最初的时候,由于计算机的存储器容量很小,速度也不快,为了计算一些稍稍大一点的题目,人们常常要挖空心思研究怎样节省存储单元,怎样减少不需要的操作。为此,发展了像稀疏矩阵计算理论来进行方程组的求解;发展了杂凑函数来动态地存储、访问数据;发展了虚拟程序设计思想和程序覆盖技术在内存较小的计算机上运行较大的程序;在子程序和程序包的概念提出之后,许多人开始将数学中的一些通用计算公式和计算方法写成子程序,并进一步开发成程序包,通过简洁的调用命令向用户开放。子程序的提出是今日软件重用思想的开端。

  在计算机应用领域,科学计算是一个长久不衰的方向。该方向主要依赖于应用数学中的数值计算的发展,而数值计算的发展也受到来自计算机系统结构的影响。早期,科学计算主要在单机上进行,经历了从小规模数值分析到中大规模数值分析的阶段。随着并行计算机和分布式并行计算机的出现,并行数值计算开始成为科学计算的热点,处理的问题也从中大规模数值分析进入到中大规模复杂问题的计算。所谓中大规模复杂问题并不是由于数据的增大而使计算变得困难,使问题变得复杂,而主要是由于计算中考虑的因素太多,特别是一些因素具有不确定性而使计算变得困难,使问题变得复杂,其结果往往是在算法的研究中精度与复杂性的矛盾难于克服。

  几何是数学的一个分支,它实现了人类思维方式中的数形结合。在计算机发明之后,人们自然很容易联想到了用计算机来处理图形的问题,由此产生了计算机图形学。计算机图形学是使用计算机辅助产生图形并对图形进行处理的科学。并由此推动了计算机辅助设计(CAD)、计算机辅助教学(CAI)、计算机辅助信息处理、计算机辅助测试(CAT)等方向的发展。

  在各种实际应用系统的开发中,有一个重要的方向值得注意,即实时系统的开发。

  利用计算机证明数学定理被认为是人工智能的一个方向。人工智能的另一个方向是研究一种不依赖于任何领域的通用解题程序或通用解题系统,称为GPS。特别值得一提的是在专家系统的开发中发展了一批新的技术,如知识表示方法、不精确性推理技术等,积累了经验,加深了对人工智能的认识。20世纪70年代末期,一部分学者认识到了人工智能过去研究工作基础的薄弱,开始转而重视人工智能的逻辑基础研究,试图从总结和研究人类推理思维的一般规律出发去研究机器思维,并于1980年在《Artificial Intelligence》发表了一组非单调逻辑的研究论文。他们的工作立即得到一大批计算机科学家的响应,非单调逻辑的研究很快热火朝天地开展起来,人工智能的逻辑基础成为人工智能方向发展的主流。

  数据库技术、多媒体技术、图形学技术等的发展产生了两个新方向,即计算可视化技术与虚拟现实技术。
  随着计算机网络的发展,分布在全世界的各种计算机正在以惊人的速度相互连接起来。网络上每天都在进行着大量政治、经济、军事、外交、商贸、科学研究与艺术信息的交换与交流。网络上大量信息的频繁交换,虽然缩短了地域之间的距离,然而同时也使各种上网的信息资源处在一种很难设防的状态之中。于是,计算机信息安全受到各国政府的高度重视。除了下大力气研究对付计算机病毒的软硬件技术外,由于各种工作中保密的需要,计算机密码学的研究更多地受到各国政府的重视。
  实际上,在计算机科学中计算机模型和计算机理论与实现技术同样重要。但现在许多学生往往只注重某些计算机操作技术,而忽略了基础理论的学习,并因为自己是“操作高手”而沾沾自喜,这不仅限制了自己将研究工作不断推向深入,而且有可能使自己在学科发展中处于被动地位。例如,在20世纪50年代和20世纪60年代,我国随着计算机研制工作和软件开发工作的发展,陆续培养了在计算机制造和维护中对计算机某一方面设备十分精通的专家,他们能准确地弄清楚磁芯存储器、磁鼓、运算器、控制器,以及整机线路中哪一部分有问题并进行修理和故障排除,能够编制出使用最少存储单元而运算速度很快的程序,对机器代码相当熟悉。但是,当容量小的磁芯存储器、磁鼓、速度慢的运算器械、控制器很快被集成电路替代时,当程序设计和软件开发广泛使用高级语言、软件开发工具和新型软件开发方法后,这批技术精湛的专家,除少量具有坚实的数学基础、在工作中已有针对性地将研究工作转向其他方向的人之外,相当一部分专家伴随着新技术的出现,在替代原有技术的发展过程中而被淘汰。因此,在计算机科学中,计算比实现计算的技术更重要。只有打下坚实的理论基础,特别是数学基础,学习计算机科学技术才能事半功倍,只有建立在高起点理论基础之上的计算机科学技术,才有巨大的潜力和发展前景。

  计算机理论的一个核心问题

  我国计算机科学系里的传统是培养做学术研究,尤其是理论研究的人(方向不见得有多大的问题,但是做得不是那么尽如人意)。而计算机的理论研究,说到底了,如网络安全学,图形图像学,视频音频处理,哪个方向都与数学有着很大的关系,虽然也许是正统数学家眼里非主流的数学。这里我还想阐明我的一个观点:我们都知道,数学是从实际生活当中抽象出来的理论,人们之所以要将实际抽象成理论,目的就在于想用抽象出来的理论去更好的指导实践,有些数学研究工作者喜欢用一些现存的理论知识去推导若干条推论,殊不知其一:问题考虑不全很可能是个错误的推论,其二:他的推论在现实生活中找不到原型,不能指导实践。严格的说,我并不是一个理想主义者,政治课上学的理论联系实际一直是指导我学习科学文化知识的航标(至少我认为搞计算机科学与技术的应当本着这个方向)。
  我个人的浅见是:计算机系的学生,对数学的要求固然跟数学系不同,跟物理类差别则更大。通常非数学专业的所?高等数学",无非是把数学分析中较困难的理论部分删去,强调套用公式计算而已。而对计算机系来说,数学分析里用处最大的恰恰是被删去的理论部分。记上一堆曲面积分的公式,难道就能算懂了数学?那倒不如现用现查,何必费事记呢?再不然直接用Mathematica或是Matlab好了。退一万步。华罗庚在数学上的造诣不用我去多说,但是他这光辉的一生做得我认为对我们来说,最重要的几件事情:首先是它筹建了中国科学院计算技术研究所,这是我们国家计算机科学的摇篮。在有就是他把很多的高等数学理论都交给了做工业生产的技术人员,推动了中国工业的进步。第三件就是他一生写过很多书,但是对高校师生价值更大的就是他在病期间在病床上和他的爱徒王元写了《高等数学引论》(王元与其说是他的爱徒不如说是他的同事,是中科院数学所的老一辈研究员,对歌德巴赫猜想的贡献全世界仅次于陈景润)这书在我们的图书馆里居然找得到,说实话,当时那个书上已经长了虫子,别人走到那里都会闪开,但我却格外感兴趣,上下两册看了个遍,我的最大收获并不在于理论的阐述,而是在于他的理论完全的实例化,在生活中去找模型。这也是我为什么比较喜欢具体数学的原因,正如我在上文中提到的,理论脱离了实践就失去了它存在的意义。正因为理论是从实践当中抽象出来的,所以理论的研究才能够更好的指导实践,不用于指导实践的理论可以说是毫无价值的。

  正如上面所论述的,计算机系的学生学习高等数学:知其然更要知其所以然。你学习的目的应该是:将抽象的理论再应用于实践,不但要掌握题目的解题方法,更要掌握解题思想,对于定理的学习:不是简单的应用,而是掌握证明过程即掌握定理的由来,训练自己的推理能力。只有这样才达到了学习这门科学的目的,同时也缩小了我们与数学系的同学之间思维上的差距。

  关于计算机技术的学习我想是这样的:学校开设的任何一门科学都有其滞后性,不要总认为自己掌握的某门技术就已经是天下无敌手了,虽然现在Java,VB,C,C++用的都很多,怎能保证没有被淘汰的一天,我想.NET平台的诞生和X#语言的初见端倪完全可以说明问题。换言之,在我们掌握一门新技术的同时就又有更新的技术产生,身为当代的大学生应当有紧跟科学发展的素质。举个例子,就像有些同学总说,我做网页设计就喜欢直接写html,不愿意用什么Frontpage,Dreamweaver。能用语言写网页固然很好,但有高效的手段你为什么不使呢?仅仅是为了显示自己的水平高,unique? 我看真正水平高的是能够以最快的速度接受新事物的人。高级程序设计语言的发展日新月异,今后的程序设计就像人们在说话一样,我想大家从xml中应是有所体会了。难道我们真就写个什么都要用汇编,以显示自己的水平高,真是这样倒不如直接用机器语言写算了。反过来说,想要以最快的速度接受并利用新技术关键还是在于你对计算机科学地把握程度。

  总的来说,从教育角度来讲,国内高校的课程安排不是很合理,强调理论,又不愿意在理论上深入教育,无力接受新技术,想避开新技术又无法避得一干二净。我觉得关键问题就是国内的高校难于突破现状,条条框框限制着怎么求发展。我们虽然认识得到国外教育的优越性,但为什么迟迟不能采取行动?哪怕是去粗取精的取那么一点点。

相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页