编译原理1.3习题 程序设计语言的发展历程

编译原理1.3习题 程序设计语言的发展历程_第1张图片

图源:文心一言

编译原理习题整理~

作为初学者的我,这些习题主要用于自我巩固。由于是自学,答案难免有误,非常欢迎各位小伙伴指正与讨论!

  • 第1版:自己的解题,与AI老师的判卷~

编辑:梅头脑 

审核:文心一言

题源:龙书《编译原理》 Alfre V.Aho 等著  赵建华 等译


目录

目录

本篇参考答案

练习1.3.1

题目

答题

结语


本篇参考答案

——

练习1.3.1

题目

指出下面的术语:

1)强制式的;2)声明式的;3)冯.诺依曼式的;4)面向对象的;

5)函数式的;6)第三代;7)第四代;8)脚本语言;

可以用于描述下面的哪些语言:

1)C;2)C++;3)Cobol;4)Fortran;5)JAVA;

6)Lisp;7)ML;8)Perl;9)Python;10)VB;

答题

阿梅答题

首先,我只知道1)2)5)9)10),而且仅限于知道,5)和10)甚至都没用过,呃——

  • 第一代语言是:机器语言;
  • 第二代语言是:汇编语言;
  • 第三代语言是:高级程序设计语言,那应该包括1)C;2)C++;3)Cobol;4)Fortran;5)JAVA;6)Lisp;9)Python;
  • 第四代语言是:为特定应用程序设计的语言,如生成报告的NOMAD,用于数据库查询的SQL,和用于文本排版的Postscript;那应该包括为数学而生的7)ML语言;为文本处理而生的7)perl ;以及为图形开发而生的10)​​​​​​​Visual Basic;
  • 第五代语言是:基于逻辑和约束的语言,比如Prolog和OPS5.
  • 强制式语言:程序中指明如何完成一个计算任务的语言,在我的理解应该第三代语言吧;
  • 声明式语言:程序中指明要进行哪些计算的语言称为声明式语言,在我的理解应该第四代和第五代语言吧;
  • 冯.诺依曼语言:1)C;4)Fortran;
  • 面向对象语言:2)C++;5)JAVA;
  • 脚本语言:具有高层次运算符的解释型语言,通常被用于把多个计算过程粘合在一起:8)Perl;9)Python;JavaScript;PHP; 

就算是开卷也实在是编不下去了,就这样吧—— 

AI审核

AI回复详细版本:

  • 您的回答中有些部分是不准确的,我将尝试纠正并提供更清晰的解释。首先,我们需要明确每个术语的含义,然后将其应用于给定的编程语言。

    • 强制式语言(Imperative Language):这类语言明确地告诉计算机如何执行任务。大多数流行的编程语言,如C、C++、Java,都是强制式的。
    • 声明式语言(Declarative Language):与强制式语言不同,声明式语言告诉计算机需要做什么,而不是如何做。SQL和Haskell是声明式语言的例子。
    • 冯·诺依曼式的(Von Neumann Architecture Language):这并不是一个用于描述编程语言的术语。冯·诺依曼架构是指一种计算机硬件设计,其中程序和数据都存储在同一个内存中。但是,像Fortran和C这样的早期语言,在设计时考虑到了这种架构的特点。
    • 面向对象的(Object-Oriented):面向对象的语言支持类和对象的概念,如C++、Java和Python。
    • 函数式的(Functional):函数式语言强调函数的计算而不是状态的变化。Lisp和ML是函数式语言的例子。
    • 第三代语言(3GL):这是高级编程语言的另一个名称,包括C、C++、Cobol、Fortran、Java等。
    • 第四代语言(4GL):这些语言是为特定应用而设计的,通常更易于使用。您提到的NOMAD、SQL和Postscript并不直接对应于编程语言,而是特定领域的工具或语言。不过,可以说4GL的目的是让非程序员也能更容易地开发应用程序。您列出的ML、Perl和VB并不完全符合这个分类。
    • 脚本语言(Scripting Language):脚本语言通常用于自动化任务,它们是解释执行的,不需要预先编译。Perl和Python都是脚本语言的例子。
  • 现在,让我们将上述术语应用于给定的编程语言:

    • C:强制式、第三代
    • C++:强制式、面向对象、第三代
    • Cobol:强制式、第三代(主要用于商业应用)
    • Fortran:强制式、第三代(主要用于科学计算)
    • Java:强制式、面向对象、第三代
    • Lisp:函数式(也可以是声明式的)、第三代
    • ML:函数式、第三代
    • Perl:强制式(尽管有声明式元素)、脚本语言
    • Python:强制式(但有声明式元素,如列表推导)、面向对象、脚本语言、第三代
    • VB (Visual Basic):强制式、面向对象、第四代(但通常被视为第三代语言的一个变种)
  • 请注意,某些语言可能具有多个分类的特点。例如,Python既可以是强制式的,也可以具有声明式的特点。同样,一些现代语言(如Python和Java)通常被归类为第三代语言,尽管它们具有第四代语言的某些特点(如易用性和面向特定应用)。

参考答案

——


结语

博文到此结束,写得模糊或者有误之处,欢迎小伙伴留言讨论与批评,督促博主优化内容{例如有错误、难理解、不简洁、缺功能}等,博主会顶锅前来修改~~‍️‍️

我是梅头脑,本片博文若有帮助,欢迎小伙伴动动可爱的小手默默给个赞支持一下,感谢点赞小伙伴对于博主的支持~~

同系列的博文:编译原理_梅头脑_的博客-CSDN博客

同博主的博文:随笔03 笔记整理-CSDN博客

你可能感兴趣的:(#,编译原理,编译原理,考研,笔记)