当前位置:文档之家› VBNET 好入门个人推荐

VBNET 好入门个人推荐

VBNET 好入门个人推荐
VBNET 好入门个人推荐

https://www.doczj.com/doc/316383023.html, 入门教程

摘要:《Visual Basic .NET 入门指南》介绍了Visual Basic 语言的几种新功能,从而能充分利用 .NET 平台。下面的示例应用程序示范了如何构建一个实现QuickSort 算法的简单Visual Basic .NET 项目来。

下载Quicksort_Visual_Basic_.NET.exe。

简介

Visual Basic .NET 将许多新的功能引入Visual Basic 语言,使之能够充分利用 .NET 平台。以前版本的程序员将需要稍作调整才能转到 .NET 版本上。

下面的示例应用程序示范了如何构建一个实现QuickSort 算法的简单Visual Basic .NET 项目来。它包括了Visual Basic .NET 程序的基本组成部分:读/写控制台和文件、创建函数和使用基本数组。

这些入门指南并不打算涵盖该编程语言的所有方面。它们只是您探索这种语言的一个起点。我们鼓励您按照本教程的说明执行,因为它包括了QuickSort 应用程序的各个不同部分。您还可以获得完整的源代码和项目文件。

建议的要求

编译此示例应用程序需要Visual https://www.doczj.com/doc/316383023.html,(测试版2 或更高版本)。关于Visual Basic 的知识是有帮助的但不是必需的。

步骤 1. 开始项目

Visual Studio 中的开发工作以解决方案的形式进行组织,每个解决方案包含一个或多个项目。在本教程中,我们创建的解决方案包含一个Visual Basic 项目。

创建一个新项目

1. 在Visual Studio .NET 环境中,从菜单中选择File | New | Project。

2. 在左侧选择Visual Basic,然后在右侧选择Console Application。

3. 指定项目的名称,然后输入创建项目的位置。Visual Studio 会自动创建项目目录。

4. 单击OK,现在就正式开始了!

Visual Basic 解决方案

Visual Studio .NET 已经创建了含有一个简单Visual Basic 项目的解决方案。该项目包含两个文件:assemblyinfo.vb 和module1.vb。

接下来的几个步骤将讨论这些不同的文件以及如何编译该项目。

步骤 2. Hello, World!

很遗憾,但我们仍然无法抵御这种诱惑……我们还是不得不完成一个经典的"Hello, World!"应用程序,这个

应用程序最初是用 C 语言编写的。

修改源代码

1. 在Solution Explorer中双击文件"module1.vb"。可以通过View菜单来显示Solution Explorer。

2. 更改预生成的模板(module1.vb),如下面以斜体突出显示的代码所示。

' Import namespaces

Imports System

Module Module1

Sub Main()

Console.WriteLine ("Hello, VISUAL BASIC .NET World!")

End Sub

End Module

3. 注意,当您键入代码时,Visual Studio 将为您提示类和函数的名称(因为 .NET 框架发布了这种类型信

息)。

编译应用程序

1. 既然您已经完成了修改,就可以通过在Build菜单中简单地选择Build来编译Visual Basic 项目。

2. 来自Visual Basic 编译器的错误和消息将显示在Output窗口中。如果没有错误,则可以通过单击

Debug菜单下的Start without Debugging 来运行Hello World 应用程序。

程序输出

在Visual Studio 环境中运行Hello World 示例应用程序时,输出的屏幕截图如下。

理解更改

System.Console类的WriteLine()函数打印传递给它的字符串,其后紧跟一行新的字符。此函数可以接

受许多其他数据类型(包括整型和浮点型)的参数。

在程序加载完成后,控制就传递给Main()函数。这就是我们在该过程中插入对WriteLine() 的调用的原

因。

步骤 3. 程序结构

既然我们已经构建了一个简单的Hello World 应用程序,那么就让我们停下来分析一下Visual Basic .NET

应用程序的基本组成部分。

源代码注释

单引号' 将行的剩余部分标记为一个注释,这样Visual Basic .NET 编译器就会忽略它。

' This line is ignored by the compiler.' This line is also ignored by Visual Basic .NET compiler.

Imports 指令

.NET 框架为开发人员提供了许多有用的类。例如,Console类处理对控制台窗口的输入和输出。这些类是按照层次树的形式组织的。Console类的全限定名实际上是System.Console。其他的类包括

System.IO.FileStream和System.Collections.Queue。

Imports指令允许您在不使用全限定名的情况下引用命名空间中的类。以斜体突出显示的代码应用了

Imports指令。

Imports System

Module Module1

Sub Main()

System.Console.WriteLine("Hello, Visual Basic .NET World!") Console.WriteLine("Hello, Visual Basic .NET World!")

End Sub

End Module

模块定义

在Visual Basic 中,所有的函数都必须封装在类或模块中。一个类可以有多个实例(带有成员变量和函数)。然而,模块只包含函数,并且不能进行实例化。就Hello World 应用程序来说,Module1 模块包含一个函

数,即Main()函数。

在本入门指南中,我们并不打算深入地介绍类或模块,但是我们将为您简要概述为什么它们是我们示例应

用程序的一部分。

Main() 函数

在应用程序加载到内存之后,Main() 过程就会接收控制,因此,应该将应用程序启动代码放在此函数中。

步骤 4. 控制台输入

现在,我们将继续编写QuickSort 应用程序。我们需要做的第一件事就是提示用户提供输入和输出文件。

修改源代码

更改Visual Basic 源文件(module1.vb),如下面以斜体突出显示的代码所示。其他的差异(如类名)可

忽略不计。

' Import namespaces

Imports System

Module Module1

Sub Main()

' Describe program function

Console.WriteLine ("QuickSort VISUAL BASIC .NET Sample Application")

Console.WriteLine ()

' Prompt user for filenames

Dim szSrcFile, szDestFile As String

Console.Write("Source: ")

szSrcFile = Console.ReadLine()

Console.Write("Output: ")

szDestFile = Console.ReadLine()

End Sub

End Module

从控制台进行读取

Console类的ReadLine() 方法提示用户输入,并返回输入的字符串。它会自动地为字符串处理内存分配,由于使用了 .NET 垃圾回收器,您不需要做任何释放内存的工作。

程序输出

从菜单中选择Debug | Start Without Debugging 来运行程序。这是到此为止来自QuickSort 应用程序

的输出的屏幕截图。

步骤 5. 使用数组

在对从输入读取的行进行排序之前,程序需要将其存储到一个数组中。我们将简要讨论可实现对象数组

的 .NET 基类的用法。

修改源代码

更改Visual Basic 源文件(module1.vb),如下面以斜体突出显示的代码所示。其他的差异(如类名)可

忽略不计。

' Import namespaces

Imports System

Imports System.Collections

Module Module1

Sub Main()

' Describe program function

Console.WriteLine ("QuickSort Visual Basic .NET Sample Application")

Console.WriteLine ()

' Prompt user for filenames

Dim szSrcFile, szDestFile As String

Console.Write("Source: ")

szSrcFile = Console.ReadLine()

Console.Write("Output: ")

szDestFile = Console.ReadLine()

' TODO: Read contents of source file

Dim szContents As ArrayList

szContents = New ArrayList()

End Sub

End Module

使用ArrayList 类

我们将导入System.Collections命名空间,这样我们就可以直接引用ArrayList。此类实现大小可动态调整的对象数组。要插入新的元素,可以简单地将对象传递到ArrayList类的Add()方法。新的数组元素将引用原始的对象,而垃圾回收器将处理它的释放。

Dim szElement As String

Dim szArray As New ArrayList ()

szElement = "insert-me"

szArray.Add (szElement)

要检索现有的元素,请将所需元素的索引传递给Item() 方法。另外,作为一种简写形式,还可以使用圆

括号operator (),它实际上映射到Item()方法。

Console.WriteLine (szArray(2))Console.WriteLine (szArray.Item (2))

ArrayList类中还有许多其他方法,但是插入和检索都是我们需要在此示例中使用的。请查阅MSDN 库

以获得完整的参考指南。

步骤 6. 文件输入/输出

现在,让我们来实现读取输入文件和写入输出文件。我们将每一行读取到一个字符串数组中,然后输出该字符串数组。在下一步中,我们将使用QuickSort 算法来对该数组进行排序。

修改源代码

更改Visual Basic 源文件(module1.vb),如下面以斜体突出显示的代码所示。其他的差异(如类名)可

忽略不计。

' Import namespaces

Imports System

Imports System.Collections

Imports System.IO

Module Module1

Sub Main()

... ... ...

' Read contents of source file

Dim szSrcLine As String

Dim szContents As ArrayList

Dim fsInput As FileStream

Dim srInput As StreamReader

szContents = New ArrayList()

fsInput = New FileStream(szSrcFile, FileMode.Open, FileAccess.Read) srInput = New StreamReader(fsInput)

szSrcLine = srInput.ReadLine()

While Not IsNothing(szSrcLine)

' Append to array

szContents.Add(szSrcLine)

szSrcLine = srInput.ReadLine()

End While

srInput.Close()

fsInput.Close()

' TODO: Pass to QuickSort function

' Write sorted lines

Dim fsOutput As FileStream

Dim srOutput As StreamWriter

Dim nIndex As Integer

fsOutput = New FileStream(szDestFile, FileMode.Create, _

FileAccess.Write)

srOutput = New StreamWriter(fsOutput)

For nIndex = 0 To szContents.Count – 1

' Write line to output file

srOutput.WriteLine(szContents(nIndex))

Next nIndex

srOutput.Close()

fsOutput.Close()

' Report program success

Console.WriteLine()

Console.WriteLine("The sorted lines have been written.")

Console.WriteLine()

End Sub

End Module

从源文件进行读取

使用FileStream类打开源文件,然后加入StreamReader类,这样我们就可以使用它的ReadLine() 方法了。现在,我们调用ReadLine() 方法,直到它返回null,这表示到达文件结尾。在循环过程中,我们将读取的行存储到字符串数组中,然后关闭这两个对象。

写入输出文件

假设已经用QuickSort 对字符串数组进行了排序,接下来要做的事情就是输出数组的内容。按照同样的方式,我们将StreamWriter对象附加到FileStream对象上。这使得我们可以使用WriteLine() 方法,该方法能够很方便地模仿Console类的行为。一旦遍历了数组,我们便可以像前面一样关闭这两个对象。

步骤7. 创建函数

最后一步就是创建一个函数来在字符串数组中运行QuickSort。我们将此函数放到应用程序类

QuickSortApp之中。

修改源代码

更改Visual Basic 源文件(module1.vb),如下面以斜体突出显示的代码所示。其他的差异(如类名)可

忽略不计。

' Import namespaces

Imports System

Imports System.Collections

Imports System.IO

Module Module1

Sub Main()

... ... ...

' Pass to QuickSort function

QuickSort(szContents, 0, szContents.Count - 1)

... ... ...

End Sub

' QuickSort implementation

Sub QuickSort(ByRef szArray As ArrayList, ByVal nLower As Integer, _

ByVal nUpper As Integer)

' Check for non-base case

If nLower < nUpper Then

' Split and sort partitions

Dim nSplit As Integer

nSplit = Partition(szArray, nLower, nUpper)

QuickSort(szArray, nLower, nSplit - 1)

QuickSort(szArray, nSplit + 1, nUpper)

End If

End Sub

' QuickSort partition implementation

Function Partition(ByRef szArray As ArrayList, _ ByVal nLower As Integer, ByVal nUpper As Integer) As Integer

' Pivot with first element

Dim szPivot As String

Dim nLeft, nRight As Integer

nLeft = nLower + 1

szPivot = szArray(nLower)

nRight = nUpper

' Partition array elements

Dim szSwap As String

While nLeft <= nRight

' Find item out of place

While nLeft <= nRight

If szArray(nLeft).CompareTo(szPivot) > 0 Then Exit While

nLeft = nLeft + 1

End While

While nLeft <= nRight

If szArray(nRight).CompareTo(szPivot) <= 0 Then Exit While

nRight = nRight – 1

End While

' Swap values if necessary

If (nLeft < nRight) Then

szSwap = szArray(nLeft)

szArray(nLeft) = szArray(nRight)

szArray(nRight) = szSwap

nLeft = nLeft + 1

nRight = nRight – 1

End If

End While

' Move pivot element

szSwap = szArray(nLower)

szArray(nLower) = szArray(nRight)

szArray(nRight) = szSwap

Return nRight

End Function

End Module

QuickSort() 函数

这个函数需要三个参数:对数组的引用、下界和上界。它调用Partition()函数来将数组分成两部分,其中一部分包含Pivot 值之前的所有字符串,另一部分包含Pivot 值之后的所有字符串。然后,它调用自身

来对每个部分进行排序。

上面修改中的注释应该说明了每个代码块的作用。唯一的新概念就是CompareTo()方法的使用,该方法

是String类的成员,并且应该是自说明的。

运行QuickSort 应用程序

这一步完成QuickSort Visual Basic .NET 示例应用程序。现在,可以构建项目并运行应用程序。需要提供一个示例文本文件,以供其进行排序。将该文件放在与EXE 文件相同的目录中。

程序输出

下面是已完成的QuickSort Visual Basic .NET 示例应用程序的输出。您可以查看示例输入文件

'example.txt' 和输出文件'output.txt'。

步骤8. 使用调试器

调试器是诊断程序问题的一个必不可少的工具。我们觉得有必要在本入门指南中对其进行介绍。这最后一步将向您展示如何走查程序和使用诸如QuickWatch 这样的功能。

设置断点

当程序在调试器中运行时,断点会暂停程序的执行,从而使开发人员能够控制调试器。要设置断点,请右键单击您想要程序暂停的行,然后单击Insert Breakpoint,如下所示。

注:带有断点的行以红色突出显示。通过再次右键单击该行并选择RemoveBreakpoint可以删除断点。

单步调试程序

既然设置了断点(最好是在前面所示的行中),就让我们在调试器中运行程序。在Debug菜单中,选择Start而不是同前面一样选择Start Without Debugging。这样就在调试器中启动了程序,并因而激活了

断点。

一旦程序遇到断点,调试器便会接收程序的控制。这时会有一个箭头指向当前执行的行。

[Caption]

要单步调试一行代码,可以选择Debug | Step Over 并观察光标是否移到下一行。Debug | Step Into 命令允许您单步执行将要调用的函数。进行两次Step Over 之后的屏幕如下所示。

如果想要程序在遇到下一个断点、遇到异常或退出之前继续执行,请从菜单中选择Debug | Continue。

检查变量值

当您可以控制调试器时,可将鼠标指针移到变量上以获得它的基本值。

您也可以右键单击变量,然后从上下文菜单中选择QuickWatch。QuickWatch将为您提供关于某些变量

(如ArrayList对象)的更多详细信息。

其他调试器工具

Visual Studio 调试器具有许多其他工具(例如Call Stack查看器)的功能,可以使用此调试器来查看到此为止调用的函数。还可以获得内存转储和关于进程中线程的信息。我们鼓励您使用这些功能强大的调试

工具。

小结

本入门指南旨在帮助您用Visual Studio 构建一个简单的Visual Basic 项目。它无法进行全面的介绍。我们鼓励您查询关于Visual Basic 和 .NET 框架的其他资源,以便更详细地学习这些技术。在完成本教程之后,您至少有了一个可用的项目,在您研究Visual Basic 时,可以从修改这些代码开始。

为了方便起见,我们提供了完整的源代码和项目文件。您可以通过本文顶部的链接获得它们。

补遗:QuickSort VISUAL BASIC .NET 的源代码

下面是QuickSort Visual Basic .NET 示例应用程序的完整源代码。您可以复制、使用和分发这些代码(无版权费)。注意,这些源代码以"原样"提供并且不作任何保证。

'

' QuickSort Visual Basic .NET Sample Application

' Copyright 2001-2002 Microsoft Corporation. All rights reserved. ' MSDN ACADEMIC ALLIANCE [https://www.doczj.com/doc/316383023.html,/academic] ' This sample is part of a vast collection of resources we developed for ' faculty members in K-12 and higher education. Visit the MSDN Academic

Alliance Web site for more!

' The source code is provided "as is" without warranty.

'

' Import namespaces

Imports System

Imports System.Collections

Imports System.IO

' Declare application class

Module QuickSortApp

' Application initialization

Sub Main()

'Print startup banner

Console.WriteLine()

Console.WriteLine("QuickSort Visual Basic .NET Sample Application") Console.WriteLine("Copyright (c)2001-2002 Microsoft Corporation. All

rights reserved.")

Console.WriteLine()

Console.WriteLine("MSDN ACADEMIC ALLIANCE

[https://www.doczj.com/doc/316383023.html,/academic]")

Console.WriteLine()

' Describe program function

Console.WriteLine("This example demonstrates the QuickSort algorithm by

reading an input file,")

Console.WriteLine("sorting its contents, and writing them to a new

file.")

Console.WriteLine()

' Prompt user for filenames

Dim szSrcFile, szDestFile As String

Console.Write("Source: ")

szSrcFile = Console.ReadLine()

Console.Write("Output: ")

szDestFile = Console.ReadLine()

' Read contents of source file

Dim szSrcLine As String

Dim szContents As ArrayList

Dim fsInput As FileStream

Dim srInput As StreamReader

szContents = New ArrayList()

fsInput = New FileStream(szSrcFile, FileMode.Open, FileAccess.Read)

srInput = New StreamReader(fsInput)

szSrcLine = srInput.ReadLine()

While Not IsNothing(szSrcLine)

' Append to array

szContents.Add(szSrcLine)

szSrcLine = srInput.ReadLine()

End While

srInput.Close()

fsInput.Close()

' Pass to QuickSort function

QuickSort(szContents, 0, szContents.Count - 1)

' Write sorted lines

Dim fsOutput As FileStream

Dim srOutput As StreamWriter

Dim nIndex As Integer

fsOutput = New FileStream(szDestFile, FileMode.Create,

FileAccess.Write)

srOutput = New StreamWriter(fsOutput)

For nIndex = 0 To szContents.Count – 1

' Write line to output file

srOutput.WriteLine(szContents(nIndex))

Next nIndex

srOutput.Close()

fsOutput.Close()

' Report program success

Console.WriteLine()

Console.WriteLine("The sorted lines have been written to the output

file.")

Console.WriteLine()

Console.WriteLine()

End Sub

' QuickSort implementation

Sub QuickSort(ByRef szArray As ArrayList, ByVal nLower As Integer, ByVal

nUpper As Integer)

' Check for non-base case

If nLower < nUpper Then

' Split and sort partitions

Dim nSplit As Integer

nSplit = Partition(szArray, nLower, nUpper)

QuickSort(szArray, nLower, nSplit - 1)

QuickSort(szArray, nSplit + 1, nUpper)

End If

End Sub

' QuickSort partition implementation

Function Partition(ByRef szArray As ArrayList, ByVal nLower As Integer, ByVal nUpper As Integer) As Integer

' Pivot with first element

Dim szPivot As String

Dim nLeft, nRight As Integer

nLeft = nLower + 1

szPivot = szArray(nLower)

nRight = nUpper

' Partition array elements

Dim szSwap As String

While nLeft <= nRight

' Find item out of place

While nLeft <= nRight

If szArray(nLeft).CompareTo(szPivot) > 0 Then Exit While

nLeft = nLeft + 1

End While

While nLeft <= nRight

If szArray(nRight).CompareTo(szPivot) <= 0 Then Exit While

nRight = nRight – 1

End While

' Swap values if necessary

If (nLeft < nRight) Then

szSwap = szArray(nLeft)

szArray(nLeft) = szArray(nRight)

szArray(nRight) = szSwap

nLeft = nLeft + 1

nRight = nRight – 1

End If

End While

' Move pivot element

szSwap = szArray(nLower)

szArray(nLower) = szArray(nRight)

szArray(nRight) = szSwap Return nRight

End Function

End Module

补遗:关于 QuickSort VISUAL BASIC .NET

为了示范 QuickSort Visual Basic .NET 示例应用程序实际是如何运行的,我

们提供了编译好的可执行文件

。您可以通过编译这些项目文件来创建自己的可执行文件。单击

Quicksort_Visual_Basic_.NET.exe,下载源

代码项目文件和可执行文件包。

使用应用程序

启动Command Prompt(从Start菜单运行"cmd.exe")。使用 CD 命令将目录

更改为可执行文件所在的目录。

然后运行"quicksort.exe"。程序将提示您提供输入和输出文件的名称。任何包

含多行的文本文件均可使用。如果

需要,可以使用记事本来创建一个此类文件。然后,该程序将对输入文件的内容

进行排序,并且将其写入输出文件。

示例程序输出

下面是来自此 QuickSort Visual Basic .NET 应用程序的一个实例的输出。此示例演示了 QuickSort 算法,方法是读取

输入文件、对文件的内容进行排序,然后将其写入新的文件。用户输入的文本以

下划线标记。

您可以查看下面的示例输入文件 'example.txt' 和输出文件 'output.txt'。

QuickSort Visual Basic .NET Sample Application

Copyright (c)2001-2002 Microsoft Corporation. All rights reserved.

MSDN ACADEMIC ALLIANCE [https://www.doczj.com/doc/316383023.html,/academic] This example demonstrates the QuickSort algorithm by reading an input

file,

sorting its contents, and writing them to a new file.

Source: example.txt

Output: output.txt

The sorted lines have been written to the output file.

查看示例输入文件"example.txt":

Visual C++

Windows Embedded

javascript

Speech API

https://www.doczj.com/doc/316383023.html,

VBScript

Windows Media

Visual Basic

.NET Framework

BizTalk Server

XML Parser

Internet Explorer

Visual C#

SQL Server

Windows XP

DirectX API

查看示例输出文件"output.txt":

.NET Framework

https://www.doczj.com/doc/316383023.html,

BizTalk Server

DirectX API

Internet Explorer

javascript

Speech API

SQL Server

VBScript

Visual Basic

Visual C#

Visual C++

Windows Embedded

Windows Media

Windows XP

XML Parser

PDMS-PML基础

PML基础王元 AVEVA中国2005.11.19

如何学习PML编程 T需要具备的基本知识 –熟悉Pdms的基本操作 –了解Pdms的运行机制,模块之间的关系 –Pdms属性的操作 –Pdms命令的操作 –Pml语法(本教程) –通过Pdms菜单查找示范程序 课程将包括... T PML介绍 –PML概念 –PML功能 –PML构成 T PML程序语言 –变量的定义及用法 –循环Do、判断If、跳转Golabel –错误处理 –文件处理 –函数Functions、方法Method –对话框Forms和菜单Menu

课程结束后... T您会具有以下知识… –PML构成及功能 –编写简单的宏 –PML变量的定义及应用 –PML函数/方法的定义及调用 –PML窗体/对象的定义及调用 PML -功能强大的语言 T P rogrammable M acro L anguage可编程宏语言 T PML2基于面向对象(Object Oriented)概念的编程语言T支持用户自定义对象类型(Object Types) T简单易学,与PDMS无缝连接 T丰富的内置函数,方法及对象 T最简单的对话框,菜单编写语言

PML构成 T Macros –Macros是包含PDMS 命令序列的ASCII文件 –Macros 在PDMS 中通过$m /FILENAME来执行 T PML –变量(Variables) –判断语句(if Constrcuct) –循环(Do loops) –错误处理(Error Handling) –文件处理(Files and Directories) T窗体和菜单 –PDMS大多数应用程序都由对话框(Forms)和菜单(Menus)来驱动 一个简单的Macro T宏是包含PDMS 命令序列的一个文本文件 T运行宏 $M /MyFile ASCII 文件 MYFILE NEW EQUIP /FRED NEW BOX XLEN 300 YLEN 400 ZLEN 600 NEW CYL DIA 400 HEI 600 CONN P1 TO P2 OF PREV

英语语法讲义

前言 第一章英语的时态 第一节一般现在时的用法 第二节一般过去时 第三节一般将来时: 第四节现在完成时 第五节过去完成时 第六节将来完成时 第七节现在进行时 第八节过去进行时 第九节将来进行时 第二章动词 第一节系动词 第二节助动词 第三节短语动词(动词短语):起动词作用的短语第四节非谓语动词(动词短语) 第三章独立主格 第四章虚拟语气 第五章感叹句 第六章从句 第一节名词性从句 名词性从句一:引导名词从句的连接词 名词性从句二:名词性that- 从句 名词性从句三:名词性wh- 从句 名词性从句四:if/whether引导的名词性从句第二节定语从句 定语从句一:关系代词引导的定语从句 定语从句二:关系副词引导的定语从句 定语从句三:限制性定语从句和非限制性定语从句 定语从句四:介词&关系词 定语从句五:as, which 非限定性定语从句 定语从句六:关系代词that 的用法 第三节状语从句 状语从句一:地点状语从句 状语从句二:方式状语从句 状语从句三:原因状语从句 状语从句四:目的状语从句 状语从句五:结果状语从句 状语从句六:条件状语从句 状语从句七:让步状语从句 第七章形容词和副词 第一节形容词: 第二节副词 第八章主谓一致 结束语

前言 首先,我们简要讨论一下要不要学习英语语法的问题。 中国目前现阶段主张英语语法可以不学的人往往这样说:“我们中国人,如果智力正常,从小就会说汉语,能遣词造句,没见过哪个小孩先学语法再学话的。再说,英语讲得多了,有了语感,语法还不是水到渠成的事。” 本人个人认为这种实践出真知的说法具有一定的科学正确性,不可完全否认。但我仍主张学一点英语语法理论。 语法,实际上就是给你语言整体上的语感(规则),学习语法的目的,不仅仅是要获得解释语言现象的鱼,更重要的是要让你知道如何用语感去钓语言深层的鱼。 就目前而言,我认为通过学习英语语法,求得对英语的整体感觉非常重要。以前初高中我们只是学习一些语言点,语言现象,最高级的也只是学习了一些独立成块的构词造句,而从没有在空中俯瞰英语语法的脉络和走向,从而造成了盲人摸象,重复记忆,使学生在各个细微的语法现象间迷了路! 英语语法书很多,学习英语语法的方法也不少。但是学好一样东西,根本没有绝对好的方法。如果号称包治百病的医生,要么是庸医,要么是骗子。事实上,每个人可以根据自己的实际情况,在不断尝试中摸索出适合自己的方法。 归根结底,语言就是规律和例外的组合!!如果两三年内你能把所有的语言规范和所见的语言特例都积累下来,你就是语法精通者! 第一讲英语的时态 在这里我先声明一点,有许多同学都要问,也有许多老师问我,时态是基于动词用来表达英语里的基本时间逻辑概念的高级语法,时态的基础-动词你都没有讲,更别说构成英语句子的名词,形容词,代词,副词了,你讲什么时态?怎么讲?岂不是无米之炊? 在这里大家先明确一点,就是在座的各位都已经不是英语的初级学者,而现阶段存在主要问题不是什么细节问题,而是有没有一个良好的,过硬的基础框架问题! 英语语法里的时态,是随口就说,动笔就有的东西,如果这种基础都不过硬,不管你掌握了多么高深的词汇,多么华丽的句式,都会因为把漂亮的砖瓦错误地放置在了没有根基的建筑结构上,最终都会变成一堆废料! 这就好像盖一栋楼,没有哪个人会说我们先要漂亮的砖瓦,在要稳固百年的混凝土结构!因为都知道,结构不牢固,砖瓦会塌下来砸人!而结构牢固,添置漂亮的砖瓦只是时间和积累的问题! 明白了这层关系以后,我们就正式开始我们的语法课程:英语时态。 在开始讲解之前,我想先问大家一个问题:英语一共有几种时态? 英语一共有16种时态:(见表)

《语法讲义》读书笔记

《语法讲义》读书笔记 第一章语法单位 【主要内容】 一、语素 1、语素的定义。 语法系统里的基本符号是语素。语素可以定义为:最小的有意义的语言成分。汉语的语素绝大部分都是单音节的。象“琵琶、葡萄、蜈蚣、马达、沙发、罗嗦、萨其马、乌鲁木齐”等多音节的语素是很少的。 2、自由语素与粘着语素 能单独成句的语素叫做自由语素,不能单独成句的语素叫做粘着语素。 3、定位语素与不定位语素 位置固定的语素叫做定位语素,位置不固定的语素叫不定位语素。前置定位语素永远不在句子末尾出现,后置定位语素永远不在句子的开头出现。前置定位语素后头不能有停顿,后置定位语素前头不能有停顿。自由语素都是不定位语素,粘着语素有的是定位语素,有的是不定位语素。 4、汉字与语素的关系 汉字和语素并不是一一对应的,有的时候,一个汉字代表几个不同的语素,例如: (音)乐≠(快)乐 (开)会≠(不)会 盘(子)≠盘(货) 有的时候,同一个语素用不同的汉字来代表。例如: 吧=罢 算=祘 脉=脈 此外,有的汉字本身没有意义,不代表任何语素,例如“葡、萄、馄饨、蜈、蚣”。有的汉字本身虽有意义,但是在多音节单纯词里,它们只代表没有意义的音节,不代表语素,例如“马达”里的“马”和“达”,“沙发”里的“沙”和“发”。

二、词 1、语素是最基本的语法单位。比语素高一级的单位是词。所有的词都可以看成是由语素组成的。 2、由一个语素形成的词叫单纯词,由两个或更多的语素形成的词叫合成词。 3、能够单独成词的语素成为成词语素,不能单独成词的语素称为不成词语素。 三、词组 1、语素和语素组合成词(合成词),词和词组合成词组,最简单的词组是由两个词组成的,词组可以独立成句,也可以是句子的一部分。 2、根据词组内部组成成分之间的语法关系,可以吧词组分成以下几种类型:偏正结构、述宾结构、述补结构、主谓结构、联合结构、连谓结构。 3、层次分析法与中心词分析法。 4、词的结构类与功能类。 四、句子 1、句子是前后都有停顿并且带着一定的句调对完整的意义的语言形式。如果一个语言形式的前头或后头没有停顿,那就不是一个句子。 2、从结构上看,句子可以分成主谓句和非主谓句两类。主谓句是由主谓结构形成的句子,非主谓句是由主谓结构以外的构或是单个的词形成的句子。 3、从功能上看,句子可以分成陈述句、疑问句、祈使句、称呼句、感叹句五类。 【主要问题】 1、朱德熙先生依据能否单独成句,将语素分为自由语素与粘着语素。但语素最基本的功能是构词,而不是构成短语或句子,语素可以跨越自身的构词功能,而直接成为短语或句子的组成成分吗? 2、朱德熙先生还提出了定位语素与不定位语素的概念:“有些语素和别的语素结合时,位置是不固定的,有时在前,又是在后,位置固定的语素交定位语素,位置不固定的语素叫不定位语素。”同样,因为语素和语素只能组成合成词,或者是一个语素直接成词(成词语素)。但语素和语素决不能组合成词以上的语

一阶语法讲义定稿

基础语法 基本句型:简单句&并列句 1.简单句的构成 . . 主语谓语宾语定语状语表语补语 简单句的五种形式: (1)主语+谓语 (不及物动词); (2)主语+谓语(及物动词)+宾语;(3)主语+谓语+宾语+补语;(4)主语+谓语+间接宾语+直接宾语;(5)主语+系动词+表语。 谓语 实义动词 ①及物动词 , ②不及物动词 系动词①动词; ②一些实义动词用作系动词:, , 等; . . . . . 2.并列句两个简单句并列在一起,中间用一些连接词连接起来的句子。 并列句不能只用逗号隔开,而要用连接词连接。连接词: (1)并列关系句型:连接词有, ……,……, …… : I . , .

(2)转折概念并列句型:转折词有 : , . (3)对比关系的并列句型: : , I . 简单句和并列句是复合句的基础。主语——施动者或动作的主体宾语——受动者 通常主语和宾语由名词或代词构成I . (一)名词 1. 可数名词 有单复数之分,若名词为单数,通常前面要加冠词、进行限定;若名词为复数,可以加上,或者直接用复数名词,或者加上数词来进行限定。 ①不定冠词:,通常表示一,但是不强调数目,翻译时注意; : a . ②定冠词:表示特定或特指 : ? 定冠词还可以使用于一些比较独特的语言现象:如指代地球或宇宙这种独一无二的事物名词:表示全部或者整体 :?用于乐器或专有名词前,如、 2.不可数名词: 通常是物质名词或者抽象名词, 其前可以不加任何东西,若有特指,可以加 . 前面可以加单位词,进行分类:常见单位词: ①a ②a 、、 名词在翻译中遇到的问题:(1)不可数名词和可数名词间的转换形式: :&(水域、海洋),&(沙滩),&(树林), (商品),和(废墟) (2)名词的格:’s 以及 逻辑语义: :I’m ’s 's 's .

中国急性早幼粒细胞白血病诊疗指南(全文版)

中国急性早幼粒细胞白血病诊疗指南(全文版) 急性早幼粒细胞白血病(APL)是一种特殊类型的急性髓系白血病(AML),绝大多数患者具有特异性染色体易位t(15;17)(q22;q12),形成PML-RARα融合基因,其蛋白产物导致细胞分化阻滞和凋亡不足,是APL发生的主要分子机制[1,2]。APL易见于中青年人,平均发病年龄为44岁,APL占同期AML的10%~15%,发病率约0.23/10万[1]。APL 临床表现凶险,起病及诱导治疗过程中容易发生出血和栓塞而引起死亡。近三十年来,由于全反式维甲酸(ATRA)及砷剂的规范化临床应用,APL 已成为基本不用进行造血干细胞移植即可治愈的白血病[3,4]。 一、初诊患者入院评估 1.病史和体检 2.血液检查:血常规、血型,外周血涂片,生化,DIC相关指标检查,输血前有关传染性病原学检查。 3.骨髓检查: (1)细胞形态学和组织化学: 以异常的颗粒增多的早幼粒细胞增生为主,且细胞形态较一致,胞质中有大小不均的颗粒,常见呈柴梱状的Auer小体。FAB分型根据颗粒的大小将APL分为:①M3a(粗颗粒型);②M3b(细颗粒型);③M3c(微颗粒型):较少见,易与其他类型AML混淆。细胞化学:APL的典型特征表现为过氧化酶强阳性、非特异性酯酶强阳性且不被氟化钠抑制、碱性磷酸酶和糖原染色(PAS)呈阴性或弱阳性。

(2)免疫分型: 免疫分型在APL诊断中起到辅助作用。其典型表现:表达CD13、CD33、CD117和MPO,不表达或弱表达CD34、HLA-DR、CD11b、CD14、CD64、CD56。少数表达CD56患者提示预后较差。 (3)细胞遗传学: 典型APL表现为t(15;17)(q22;q12)。变异型APL占2%,如t (11;17)(11q23;q12)、t(5;17)(5q35;q12)、t(11;17)(q13;q21)、der(17)、t(17;17)(q24;q12)、t(4;17)(q12;q21)、t(X;17)(p11;q21)、t(2;17)(q32;q21)、t(3;17)(q26;q21)、t(7;17)(q11;q21)、t(1;17)(q42;q21)等。5%的APL患者核型正常。常规染色体检测有时还可发现除t(15;17)以外的附加染色体异常。 (4)分子生物学: ①PML-RARα融合基因:98%以上的APL患者存在PML-RARα融合基因,另有低于2%的APL患者为其他类型融合基因(见以下变异型APL 诊断标准),检测PML-RARα融合基因是诊断APL的最特异、敏感的方法之一,也是APL治疗方案选择、疗效评价、预后分析和复发预测最可靠的指标。实时定量PCR(RQ-PCR)可在99%的典型APL患者中检出PML-RARα融合基因,但仍有1%的APL患者可出现假阴性。②基因突变:部分APL患者可伴有FLT3-ITD突变。 4.其他检查:心电图,超声心动图(必要时),胸片,腹部B超或CT(必要时)。

2014年大学英语四级基础语法讲义档

2014年大学英语四级基础语法讲义8 My shoes are worn out. My shoes are worn out.我的鞋穿破了。 Be worn out 表示“穿破了”,这个词组看起来是被动形式,但并不强调被动,强调的是状态或者情况,可以理解为形容词短语。例如: My clothes are worn out and I have to mend them. 我的衣服穿破了,我得补一下。 You see,this glass is broken. 你瞧,这个杯子破了。 ★You'd better buy a new pair. You'd better buy a new pair.你最好买一双新的。 A pair of…表示“一对”,“一双”,指一起使用的两个相同的东西。例如: Have you bought a pair of shoes? 你买了一双鞋吗? This pair of glasses is very good for me. . . . .

这副眼镜我戴很好。 ★That's a bit expensive. That's a bit expensive.价钱有点贵。 A bit 表示“一点儿”,“有些”,在句中作定语或者状语,相当形容词或者副词。与a little 是同义词。例如: It's a bit cold today;you'd better put on more clothes. 今天有点冷,你最好多些穿衣服。 If you study a bit hard,you can pass the exam. 如果你多一点努力学习,你就能考试及格。 Please give me a little water. 请给我一点儿水。 ★The shop was quite new,for it had opened only the week before. The shop was quite new,for it had opened only the week before.因上周才开的,所以商店很新。 For 表示“因为”,相当于because 和as.表明原因,三个词中,because语气最强,for 语气最弱。For 表明的原因要写在后面。例如: I want to go to bed,for I feel tired. 我想去睡觉,因为我感到累了。 . . . .

物联网中的通信语言PML

The Communicating Language in EPCglobal: PML 物联网中的通信语言:PML PML:物体标记语言 摘要:随着RFID 的大规模应用,EPC 物联网也得到了很大的发展。在此物联网络中,相互通信的公共语言是PML。PML是在XML的基础上扩展而来,用于描述自然物体、处理过程及环境情况。本文详细地讲述了PML 语言的概念、组成、设计,并给出了其应用实例。EPC的6个组成部件: EPC编码标准 EPC标签 阅读器 Savant ONS EPC信息服务器(EPCIS,旧称PML服务器) PML设计 现实生活中的产品丰富多样,难以用一个统一的语言来客观的描述每一个物体。然而,自然物体都有着共同的特性,如体积、重量;企业、个人交易时有着时间、空间上的共性。例如,苹果、橙子、统一鲜橙多,它们三者都属于食品饮料,而苹果、橙子同属于农作物,鲜橙多又是橙子加工后的商品;人们交易一箱苹果的时间、地点又是相同的。但是,自然物体的一些相关信息(如生产地、保质期)不会变化。同时,EPC物联网是建立在现有的互联网上的。为此,作为描述物体信息载体的PML 语言,其设计有着独特的要求。 (1)开发技术 PML 首先使用现有的标准(如XML、TCP/IP)来规范语法和数据传输,并利用现有工具来设计编制PML 应用程序。PML 需提供一种简单的规范,通过通用默认的方案,使方案无需进行转换,即能可靠传输和翻译。PML 对所有的数据元素提供单一的表示方法,如有多个对数据类型编码的方法,PML 仅选择其中一种,如日期编码。 (2)数据存储和管理 PML 只是用在信息发送时对信息区分的方法,实际内容可以任意格式存放在服务器(SQL 数据库或数据表)中,即不必一定以PML 格式存储信息。企业应用程序将以现有的格式和程序来维护数据,如Aaplet 可以从互联网上通过ONS来选取必需的数据,为便于传输,数据将按照PML 规范重新进行格式化。这个过程与DHTML 相似,也是按照用户的输入将一个HTML 页面重新格式。此外,一个PML“文件”可能是多个不同来源的文件和传送过程的集合,因为物理环境所固有的分布式特点,使得PML“文件”可以在实际中从不同位置整合多个PML片断。 (3 )设计策略 现将PML 分为PML Core(PML 核)与PML Extension(PML扩展)两个主要部分进行研究,如图3 所示。

现代汉语语法基础知识讲义

第一节概说 现代汉语语法基本知识,包括语素、词、短语、句子、句群等五个方面。 语素是汉语中最小的语音语义结合体,也是汉语的一级语言单位。学好它对于我们把握词语的构成、辨析近义词和同义词有很大的帮助。 词是汉语的二级语言单位。词的知识包括词的构成、词类等。 短语是汉语的三级语言单位,对于短语结构的熟练把握,有助于我们分析语言结构,从而使我们能够更好地理解语言的意义。短语知识主要包括短语的类型、短语的结构。 句子是汉语的四级语言单位,这是高考必考的内容,而且是难点、重点。句子知识主要包括句子的分类、句子的结构、复句类型以及单复句辨析、多重复句等。 句群是汉语的五级语言单位,这个语言单位与语段的层次结构非常相似,只需要了解一下即可。 第二节语素 一、语素的概念 人类的语言是有声音、有意义的,是语音和语义的结合体,这便是语法单位的基本特征。语素是最小的语法单位,因此语素就是最小的语音、语义结合体。它是汉语的一级语法单位。“最小的语音、语义结合体”是指一个语素在具备语音最小的同时还必须具备语义也最小的特点,二者缺一不可。 我们来看下边这个句子: 他坐在沙发里看书。 这是一个最大的语法单位,我们把它尽量小的切分,就成了: 他│坐│在│沙发│里│看│书。 切下来的每个部分都有意义,都不能再切分了,是一个一个的语素了。这里的“沙发”语音上

[歌诀]学语素,好处多,理解词义更深刻! 语素练习题 一、请按要求把下列词语进行归类,只填写序号。 ①恍惚②流苏③滥觞④佳丽⑤歇斯底里⑥法西斯⑦仓皇⑧婵媛⑨氤氲⑩啾啾 一个语素的有: 两个语素的有: 二、用横线画出下列句子中的语素 1、奥林匹克运动会。 2、我很爱吃巧克力。 3、园中的葡萄熟了。 4、学生在山上植树。 三、用语素知识做下面词语填空题 1、依次填入下列各句横线处的词语,恰当的一项是: (1)为把我国软件推向世界,这家公司的总裁把全部精力到多媒体智能软件的研究中。(2)海峡两岸的统一是人心所向,如长江黄河的滚滚东流,不可。 (3)《五国联合公告》在亿万爱好和平的人们心中了一座光明和希望的灯塔。 A 灌注遏制树起 B 灌注遏止竖起 C 贯注遏止树起 D 贯注遏制竖起 2、依次填入下列横线处的词语,恰当的一组是: (1)人脑是人的思想器官,这个器官和其他人体器官一样,愈用愈发达,不用则。(2)以往,在语文学习中,课文是精确无误的典范,学生只有迷信的义务,很少有的权利。 (3)九届全国人大一次会议以来,人大在立法、监督等方面认真履行宪法赋予的,做了很多新的工作。 A 退化质疑职能 B 蜕化置疑职能 C 蜕化质疑职责 D 退化置疑职责

pml基础手册与总结

PML开发介绍与总结 1 pml语言简介 (2) 1.1 pml变量 (2) 1.2 变量类型 (2) 1.3 自定义变量类型 (3) 1.4 定义变量 (3) 1.5 函数(Function)和方法(Method) (4) 1.6 使用ANY类型的变量作为函数参数 (5) 1.7 变量的方法 (6) 1.8 自定义变量类型的方法 (7) 1.9 方法的重载 (8) 1.10 Unset和Undefined (9) 1.11 删除变量 (10) 2 Pml的一些特点 (10) 3 Pml表达式 (11) 4 pml流程控制 (11) 4.1选择结构 (12) 4.2 do循环 (13) 4.3 GoLabel跳转语句 (14) 5 pml数组 (15) 5.1 定义数组 (15) 5.2 数组的赋值 (15) 5.3 多维数组 (15) 5.4 数组的方法 (16) 5.5 利用数组进行字符串处理 (17) 5.6 数组排序 (18) 5.7 Do values循环和Do indices循环访问数组变量 (19) 6 pml宏文件概念及其运行 (19) 6.1 概念 (19) 6.2 带参数的宏文件 (20)

语言简介介 1pml语言简 pml是用于pdms二次开发的面向对象的编程语言,它的面向对象属性是与其他脚本语言的最大区别,也是现代高级语言的基本特征。pml提供了编辑窗体和菜单的功能,且语法简单方便,使得pml能实现高级语言的大部分功能,用户可以开发自己的菜单窗体,完成需求定制。 pml提供了大量的变量类型(object type)及与变量类型相对应的方法(method)。pml 提供的方法实用,具有针对性。比如数组(Array object)可以存放不同的数据类型,可以进行排序、清空没有赋值的元素、查找、删除等等方法,这是大多数高级语言没有提供的功能。 1.1pml变量 对于pml语言,每个变量即是一个object,对应一个变量类型object type。不同类型的变量只能保存对应类型的数据。pml变量的特点: 变量名称唯一,且不能重复。 每个object type即是一个类(class),有属于类的通用的方法和属性。因此每个pml 的变量(object)都可以调用所属类的方法。 每个变量对应一个变量类型,在定义变量前,对应的变量类型必须存在。 1.2变量类型 Pml的变量类型比较多,可以分为三类,built-in、system-defined、user-defined。 Built-in变量类型包括以下几种: 字符串 实数 布尔 数组 system-defined变量类型包括Direction,Position,Orientation等多种类型,详细信息可以参考手册。 user-defined变量类型是指用户自定义的类型。

《语法讲义》读书笔记

《语法讲义》读书笔记 “语法”二字听起来就颇有难度,小学开始学英语语法,到大学两年学了现代汉语和词汇学,虽仍有种种困惑,但小有收获。大三年级有幸跟随老师学习《现代汉语语法学》,让我对这一课程的内容有了更清楚的认识,汉语语法也由朦胧逐渐清晰明了起来。结合本学期所学,拜读了朱德熙先生的《语法讲义》,其内容对我之语法学的理解很有帮助。本篇读书笔记,将结合黄廖本《现代汉语》、朱德熙先生的《语法问答》及吕叔湘先生的《汉语语法分析问题》两本小册子谈一谈浅薄的几点收获。 一、总体分析 这本书是朱德熙先生1961至1962年在北京大学讲授现代汉语语法的讲义,至今已五十余年,却仍是汉语方向同学应必读的一本书。先生是从物理专业转入语言研究的,作为一名重要的语法学家,他既有理科生的逻辑思维,又有文科生扎实的知识功底。本书总体上是总分结构,最主要的两部分是词类和结构。 据我所读所感,内容上最突出的特点第一就是每一部分的讲解都非常仔细,每一章都划分为四至十九个小节不等,大部分知识在课上已经接触过,但是也有一部分是初次会面,例如系位构造、系位组合等。第二,书中具体词语的辨析和讲解占据了相当一部分,比如“别人和人家”、“大家和大伙儿”、“跟和同”等,都进行了详解。第三,书中常有组与组之间的对比,有时是相近的两组,比如讲存现宾语时对列举的A、B两组进行了对比,或者是变形对比,讲性质形容词和状态形容词时,把性质形容词做变形,换成跟它对应的状态形容词,从而得出二者的不同。 二、收获 通读全书后,发现书中有一些观点是熟知的,但是也有一些不太了解或者是内容相同,其概念和归属有了一些变化,在这里谈几点思考的问题。 ①粘合式结构和组合式结构 我发现书中有三处提到了粘合式结构和组合式结构,分别在述宾结构、述补结构和偏正结构,于是我把这三处放在一起研究了一下。总的来说,粘合式就是前后两部分直接粘附,而组合式有的会加上“的”“得”或补语等。 述宾结构就是述语是单独的动词,宾语时单独的名词,二者直接粘合。“上

pml基础语法简明教程

第一部分: 基础知识 PML基本概念 Programmable Macro Language 可编程宏语言. 通常的PML开发包括两部分, 一部分是PML宏,脚本语言; 另一部分是PML2,面向对象的编程语言. 1.PML宏(Macro) 宏, 就是一系列pml命令的集合. 通过$m执行. 格式为: $m filename [param1 param2 ….] (举例) 其中param1为参数, 宏可以参数化. (举例) 2.面向对象的PML2 PML支持对象(Object),对话框(Form)和菜单(Menu). (举例) 一.变量,函数和方法 1. 变量的定义及用法 在PML2中, 每一个变量都是对象. 变量名以!或者!!开头,例如!weight. !开头的变量为局部变量, !!开头的为全局变量. PML内置了常用的变量类型. (1)Real 实属类型. 提供基本的四则运算操作. 例如 !a = 10 !b = 10 !a = !a + !b $p $!a --输出变量a的值 (2)String 字符串类型. 例如 !strName = ‘/EQUI-TEST-1’ (3)Boolean 用于逻辑表达式. 值只能是true/false (4)Array 数组 (5)Position (6)Direction 3.变量的创建, 删除, 查看 变量可以用赋值来创建. 例如 !str = ‘abc’ 也可以用类型标识来创建. !str= string() !str= ‘abc’ 删除: !str.delete() 查看:通常使用q var!str也可以用$p $!str 4.方法(method) 和函数(Function) Method是一个对象的子程序. 只有当对象存在,才可以调用对象的方法. 例如

英语语法讲义摘要

1 关于语法的一般知识要点 1 语法=词法+句法 语法是语言结构的组织规则体系,包括词法和句法两部分。 词法是对词的分类、构成、及各类词的形态变化规则和句法功能的描述。 句法则是对管约句子生成的规则系统的描述。 2 语法在外语教学中的地位 2.1 语法在母语习得几乎没有什么作用 母语习得是在自然的语言环境中通过使用语言无意识地学会使用某一语言并掌握关于该语言的知识的过程。 母语习得中存在着语法的习得顺序:B C F D A E;当儿童的语言体系还未发展到可以吸收某个语言点(语法项)的阶段,提前教此语言点并不能使 他受益。当儿童的语言体系发展到能够吸收该语言点的时候,先前在该点上所出 现的错误会自动消失。 2.2 外语学习的本质决定了语法教学具有重要作用 外语学习是在非自然的环境(如学校)中有意识地学习一种语言的规则和形式的过程。 外语学习中也存在着语法的习得顺序问题:H J L K N I 正确对待学生所犯的语法错误问题: 错误是必然的;要分析区别对待:系统性错误和偶然性错误 学生所犯的系统性语法错误不应被看作是应该批评的东西,它们向教师显示学生的目的语的发展进程。 2.3 交际法在理论上并不排斥语法教学,我们的中学英语教学大纲也并未抛开语法教学 英语教学实践中在运用交际法之际排斥语法教学,是人们片面理解交际教学法、忽视外语学习的本质所产生的病态结果;外语教师完全有理由堂而皇之、自信从 容地进行语法教学!但有一点要明确:语法教学的目的不是为了掌握语法知识本 身,而是为了促进学会使用目的语。 3 语法的性质

3.1 规定性语法(prescriptive grammar): 规定性语法主要建立在书面语言基础之上,旨在规定一系列的语法规则,并且把这些语法规则强加给语言使用者。一切符合规定规则的被认为是“正确的”,否则 就被冠为“错误的”。(Who is it? It?s me 和It?s I 的争论。)传统的英语语法就是规 定性的。 3.2 描写性语法(descriptive grammar) 描述性语法是现代语言学发展的产物,是对人们的语用实际进行客观的描述与分析的结果。描写性语法重在描述,诚如其是地向人们展示语言事实并从中抽象归 纳出规律,而不像规定性语法那样对语言的使用做出强制性的规定。 3.3 教学语法应该是上述两者的结合 2 英语的语法单位 语言(language)是人类用来交际的有声符号体系。每一个符号都是一个音义结合体,声音是语言的传播媒介,是语义的物质载体。说语言是一个体系是因为语言成分的组合不是随意的,也不是杂乱无章的,而是有规则管约的。这管约着语言成分的组合的一整套规则(rules)就是语法(grammar);是语法赋予了语言以系统性。作为一个整体,语言是一个“音—形(结构组合)—义”结合的统一体;在研究语言时,语言的复杂性使得语言学家不可能从整体上一下子全面完成对它的描述,为了研究的方便,也为了使自己的描述具有科学性,人们一般从“音、形、义”这三个方面来分别把握语言,尽管语言的这三个方面并不能彼此独立分割出来。 语言在结构组织上,也就是在语法上,具有层次性。从最底层向上依次是:词素(morpheme)、词(word)、短语(phrase)、分句(clause)、句子(sentence)。词素可以组合构成词,词可以组合构成短语,短语可以组合构成分句,分句可以组合构成句子。这每一层次上的结构都是一个语法单位(grammatical unit)。我们由此可以说,词素是最小的语法单位,句子是最大的语法单位。语言的语法单位的层次性可以用以下列表来表示:

PDMS 12.0 编程基础ABC

下面是PDMS编程介绍 一个简单的Macro NEW EQUIP /FRED NEW BOX XLEN 300 YLEN 400 ZLEN 600 NEW CYL DIA 400 HEI 600 CONN P1 TO P2 OF PREV 参数化宏Parameterized Macro NEW EQUIP /$1 NEW BOX XLEN $2 YLEN $3 ZLEN $4 NEW CYL DIA $3 HEI $4 CONN P1 TO P2 OF PREV 变量给属性赋值 New Pipe Desc 'My Description' Temp 100 Pspec /A3B Purp PIPI !desc = desc !temp = temp !pspec = pspec !purp = purp New Pipe Desc '$!desc' Temp $!temp !pspec $!pspec !purp $!purp 字符串方法实例 !line = 'hello how are you' !newline = !line.after('hello').trim().upcase()

q var !newline !newline = !newline.replace('how', 'where').replace('you', 'you?') 定义函数 define function !!Area( !Length is REAL, !Width is REAL ) is REAL !Area = !Length * !Width return !Area $*函数!!Area有两个参数一个返回值Endfunction 练习-新建函数计算园的面积,测试函数 define function !!circleArea( !radius is REAL) is REAL !Area = PI * pow(!radius,2) return !Area Endfunction 条件判断语句(If Construct) !Type = Type !OwnType = Type of Owner IF (!Type eq 'BRAN') THEN $P CE is Branch. ELSEIF (!OwnType eq 'BRAN') THEN $P CE is Branch member. ELSE $P CE is $!Type,Pls select Branch. ENDIF 练习-条件判断 !n = 0 !type = type if(!type eq 'BRAN') then !href = href !tref = tref if(!href.set()) then !n = !n + 1 add href endif if(!tref.set()) then !n = !n + 1 add tref

语法讲义:第一章 语法概说

第一章语法概说 一、语法和语法学 (一)语法 1.语法的含义及其作用 (1)语法的含义 语法,是语言中的词、短语、句子的构造规律。 语言有三个要素,语音、词汇和语法。其中,语音是由人的发音器官发出的、表达一定意义的声音,是语言的物质外壳。词汇,是语言中的语素、词和固定短语以及现成话的集合,是语言的建筑材料。而语法则是语言“建筑体”的建筑法则。 西方传统语言学认为,语法包括两个大的方面:词法和句法。 词法,主要涉及词的构成、词的分类和词形变化等内容。 句法,主要讨论短语和句子的构造规律。 不过,这个分类对于汉语语法来说,不完全合适。 首先,汉语的词法部分相对空虚:词没有完全的形态变化、语素构成词的方式不影响词的语法表现,词的分类也依据特定的句法环境来操作。所以,汉语的词法内容基本上比较单薄。 也正由于汉语的词的分类定性都必须依靠特定的句法环境来实现,所以,汉语语法有关词类问题的讨论总是要放到句法当中去进行,这样汉语的句法就比西方传统意义上的句法范围要宽一些。 上述两点,正是汉语语法诸多不同于西方语言之处的亮点之一。 (2)语法的作用 研究语法,讲语法,那么语法的作用是什么?研究表明,语法的作用起码包括以下几个方面。 a.从说和写的角度来看,语法规定着人们怎样用词造句。 比如,汉语的“我看书”从排列的角度来看,可以有六种顺序, 我看书 书我看 我书看 看我书 书看我 看我书 但只有“我看书”是常态的,而“书我看”的出现是有条件的,是变式。其余几种排列方式都是不合法的。而这种排列顺序上的规则正是汉语语法规则的一个重要体现,可见,语法的法则在无形中制约了语言的使用。 b.从听、读、写的角度来看,语法指示人们怎样正确理解汉语的意义。 句子的意义是词按照一定的语法规则组合起来所表达的,而不是词所表达的概念的简单相加之和,因而,要正确理解句子的意思,除了要懂得句子中的词语的意思之外,还要懂得词语组合的语法手段对于句子语义内容表达的影响──在很多情况下,词语组合的语法手段(如汉语的语序和添加虚词)左右着句子语义内容的表述。 如: ①人类需要动物。 动物需要人类。 ②这本书看了三天。

四级基础语法讲义

基础语法讲义 一、简单句和并列句 1. 简单句的五种形式: (1)主语+谓语(不及物动词); (2)主语+谓语(及物动词)+宾语; (3)主语+谓语+宾语+补语; (4)主语+谓语+间接宾语+直接宾语; (5)主语+系动词+表语。 两类系动词:①be动词; ②一些实义动词用作系动词:feel, taste, smell等; 2. 并列句:一个句子当中包含两个或更多互不相依存的主谓结构,中间用一些连接词连接起来的句子。 并列句不能只用逗号隔开,而要用连接词连接。 连接词: (1)并列关系句型:连接词有and, as well as, either…or…,neither…nor…,not only…but also… eg: Last year I met kate and we became friends. Either my uncle can do it, or my aunt can do it. (2)转折概念并列句型:转折词有but eg: It has no mouth,but it can talk. (3)对比关系的并列句型: eg: He liked sports,while I would rather collect stamps. 练习:2009年6月阅读 Cerling’s team collected tap water samples from 600 cities and constructed a mop of the regional differences.(简单句) Most hydrogen and oxygen atoms in water are stable , but traces of both elements are also present as heavier isotopes . (并列句) 简单句和并列句是复合句的基础。 二、句子成分 句子六大成分:主谓宾、定状表。 主语、宾语和表语:通常由代词或者名词构成, 定语:修饰名词; 状语:修饰形容词或者动词; 表语:接在系动词后面; (一).代词:人称代词、物主代词、反身代词、指示代词、不定代词。 1人称代词:第一、二、三人称,主格、宾格、所有格; I,you ,he,she, it, me, you, him, her, it, my, your, his, her, its. 2 物主代词 ①形容词性物主代词:my, your, his, her, our, their,后面加名词; ②名词性物主代词:mine, yours, his, hers, ours, theirs,后面不能加名词。 eg: May I borrow your pen? Mine is missing. 3反身代词:通过反身代词指代主语,使动作发出者把动作在形式上反射到发出者本人。

pymol基本教学教程

简介&安装 Pymol是一个开放源码,由使用者赞助的分子三维结构显示软件,由Warren Lyford DeLano编写,并且由DeLano Scientific LLC负责商业发行。Pymol被用来创作高品质的分子(特别是生物大分子如蛋白质)三维结构。据软件作者宣称,在所有正式发表的科学论文中的蛋白质结构图像中,有四分之一是使用Pymol来制作的。 Pymol名字的来源:“Py”表示该软件基于python这个计算机语言,“Mol”则是英文分子(molucule)的缩写,表示该软件用来显示分子结构。 由于实验需要,本人正在学习该软件,在这里把学习过程记录下来,希望对有需要的朋友有所帮助。今天先来说说安装吧。 自2006年8月1日起,DeLano Scientific 对事先编译好的PyMOL执行程序(包括beta版)采取限定下载的措施。目前,只有付费用户可以取得。不过源代码目前还是可以免费下载,供使用者编译。如果你和我一样,不想为此花钱的话: 1.如果你是Windows用户,首先下载Pymol的源代码。 然后安装CygWin,并且确保正确安装以下模块: ?C++ (gcc or g++ package name) ?Python ?OpenGL ?PNG 然后在源代码目录里面依次运行:

2.如果你是Linux用户,首先确保以下东东已安装: ?Python ?Pmw ?OpenGL driver(我用的是NVdia) ?libpng ?Subversion client(下载源代码需要) 然后下载Pymol的源代码 $ mkdir pymol-src $ svn co https://https://www.doczj.com/doc/316383023.html,/svnroot/pymol/trunk/pymol pymol-src 然后进入源代码目录 # cd pymol-src 开始依次编译 # python setup.py install # python setup2.py install 拷贝执行脚本到某个$PATH,安装就搞定了 # cp ./pymol /usr/bin

高中英语语法讲义 ——简单句

高中英语语法讲义简单句 简单句四句话 一陈述句(肯、否)五种 1,主谓SVi (不及物动词)You are listening (to me) . I’ve come (to Bangde) 2,主系表SVP *系动词:be动词,You are cute/ a girl. 感官动词feel/look/sound/smell/taste. You look young. 成为动词become/get/turn/go/fall等, *become a teacher= turn teacher turn +颜色get +温度go +好坏fall +ill/asleep. 保持:keep,stay, remain 等. You should remain quiet. 似乎:seem(表可能)/appear(实则否) (to be)+adj 结果是:prove /turn out (to be)+adj 3,主谓宾SVO I hit you (on the head/ in the face) 4,主谓宾宾SVOO 人+ 物= 物to +人I gave you a pen= I gave a pen to you . 但make, buy, cook, find, get, order, sing, spare, fetch等用for+人 5,主谓宾宾补SVOOc *find, think, elect, name, call, appoint, consider, make, leave等+O+名词 They all call me Wangwang. *keep, get, make, leave, find, paint, set, turn, drive, call, cut, consider等+O+adj We should keep our room tidy. *keep, find ,catch, leave等+O+ doing. He found a purse lying on the ground. *ask/tell/want/wish/order/request/demand等+O+(not)to do I wish you to learn English well. *feel / hear, listen to / let, make, have / look at, see, watch, notice, observe +O +do/doing. 注意let, make不能接doing. 但be seen/made…+to do. Jim saw a girl go upstairs / playing under the tree. * think, find, consider等+it+Oc+to do. I think it useful to learn English. 变否定句:在be/情态/助动词后+not。不同的时态有不同的助动词,但一般现在时和一般过去时无助动词。一般现在时需加don’t/doesn’t+V. 一般过去时需加didn’t+V 附动词时态表(16种时态32种谓语结构) 时:现在过去将来过去将来

相关主题
文本预览
相关文档 最新文档