飞扬范文网
当前位置 首页 >作文大全 >

年国家开放大学电大《C语言A课程辅导》形成性考核答案

发布时间:2021-08-27 19:44:53 浏览数:

 C C 语言程序设计 A A 课程辅导(5 5 )

 主要内容:

 一、指针的概念

  二、指针变量

  三、指针运算

  四、指针与数组

  五、动态存储分配

  六、使用指针和动态存储分配的程序举例

 一、指针的概念

  指针:计算机内部存储器中一个存储(单元)字节的地址。该地址是一个 32 位的二进制编码,所占有的字节数(指针类型长度)与 int 类型长度相同。指针是一种特殊的数据,即不是字符和常数,而是内存单元的编码(地址)。

  指针与数据类型:在 C 语言中每个指针都与一个具体的数据类型相联系,即为内存中存储该类型的一个数据的地址,具体为数据所占用存储空间(又称为存储单元或数据单元)的首字节地址。如 int x=10。

 则 x 的地址就是一个指针,它是存储 x 的值 10的 4 个存储字节的第一个字节的地址。

  指针类型:就是它所指向的存储单元中所存数据的类型。如一个指针指向一个整型数(即所指向的存储单元中存储的是整数),则称为整型指针;若指向一个字符,则成为字符指针。

  数据地址的表示:在一个变量前加上&字符,就表示取该变量的地址,该地址(指针)的类型就是该数据的类型。如 int x。

 &x 就表示 x 的地址,其类型为 int 指针类型,可表示为 int*。

   空指针:其值为 0 的指针称为空指针。空指针不指向任何数据,在 stdio.h 头文件中已经把 NULL 定义为 0,所以符号常量 NULL也表示为空指针。

 二、指针变量

 能够保存存储单元地址的变量。一般变量保存的是字符或常数。

  定义格式:

  <类型关键字> * <指针变量名>[=<指针表达式>],...。

 与一般变量定义语句格式基本相同,只要在变量标识符前加上*即为指针变量。

  格式举例:

  (1) int x, *p。

  //定义 x 为 int 型一般变量,p 为 int*型指针变量

 (2) int a=10, *pa=&a。

 //定义 int 变量 a 并初始化 10,同时定义 pa 为

  //int*类型的指针变量,并初始化为 a 的地址,即整数变量的地址

 (3) char *p1=0, *p2="pointer"。

 //p1 为空,p2 指向字符串"pointer"

  //把"pointer"的第 1 个字符的地址赋给指针变量 p2,类型为 char*

 (4) char *d[5]={0}。

  //字符数组 d[5]中每个元素均为指针变量,其值为空

 (5) int x=5, *px=&x, **pp=&px。

 //px: int*类型,pp: int**类型

 pp

  px

  x

 &px&x

  5

 //px 的地址具有 int**类型

 (6) char * rp[3]={"front","middle","rear"}。

 //定义指针数组和初始化

 (7) int a[10], *ps=a。

  //数组名 a 的值是第 1 个元素的地址,

 //即 a[0]元素的地址&a[0],类型为int*

  输出一般指针和输出字符指针所指向的字符串:

 输出一般指针时使用的格式符为"%p",输出字符指针所指向的字符串时使用的格式符为"%s"。例如:

 #include<stdio.h>

 void main()

 {

 int a=30。

  char *cp。

  //能够保存一个字符变量或数组元素的地址

 cp="output"。

 //cp 指向字符串常量"output"

 printf("%p %p\n",&a,cp)。

 //输出指针,分别为 a 和"o"的地址

 printf("%d %s\n",a,cp)。

  //输出 a 的值和 cp 所指向的字符串

 }

 运行结果:

 0013FF7C0042002C

  //十六进制 8 位

 30 output

  向字符指针输入字符串:

  char a[30]。

 scanf("%s",a)。

 //gets(a)。

 char a[30], *p=a。

 scanf("%s",p)。

 //gets(p)。

  利用 typedef 语句定义指针数据类型:

 (1)typedef int* inPointer。

 //定义 inPointer 为 int*类型,

 //若用 inPointer s1=NULL。

 等价于 int* s1=NULL。

 (2)typedef char* chPointer。

 //定义 chPointer 为 char*类型

 (3)typedef char *AA[10]。

 //定义 AA 为 char*[10]指针数组类型,

 //若用 AA aa。

 等价于 char* aa[10]。

  三、指针运算包括赋值、取地址、间接访问、增减 1 等。

  赋值(=)

  双目运算,把赋值号右边的指针(地址)值赋给左边的同类型的指针变量。

 int x=30, *px, *py。

 px=&x。

 py=px。

  //把 x 的地址赋给 px,把 px 值赋给 py,它们均指向 x

  取地址(&)

  单目运算,使用在一般变量的前面,表示取变量的地址。

 char ch="+", *p=&ch。

 //取 ch 变量的地址赋给 p,p 指向ch

 char s[30]="Apple", *ps=s。

 //字符数组 s 的地址赋给ps,ps 指向 s,

  //s 和 ps 的值均为 s 数组中第 1 个元素"A"的存储地址

  间接访问(*)

  在指针前面使用*运算符能够访问到指针所指向的对象。

 如:int x=12, *px=&x。

 //px 指向 x,px 所指向的对象 x的值为 12

 printf("%d\n",*px+10)。

  //22,使用*px+10 等同于 x+10

 *px+=15。

 //27,使用*px+=15 等同于 x+=15,*px 即 x的值变为 27

  增 1(++)和减 1(--)

  单目运算,可使用在指针变量的前面或后面,使指针变量的值增 1 或减 1。

 int a[5]={10,15,20,25,30}, x,y。

 int *p=a。

  //p 指向 a[0]元素,即 p 的值为 a[0]的地址

 x=*p++。

  //x 的值为 10,p 加 1 后赋给 p,p 指向下一个元素 a[1]

 x=*++p。

  //x 的值为 20,p 指向元素 a[2]

 y=(*p)++。

 //y 的值为 20,a[2]被加 1 后赋给 a[2],a[2]的值变 21

 p--。

 //运算前 p 指向 a[2],运算后 p 指向 a[1]

 printf("%d\n", *p--)。

 //输出 a[1]的值 15,然后 p 减 1 后指向 a[0]

 p=&a[3]。

 printf("%d\n",--*p)。

 //*p 的值 25,输出减 1 后的 a[3]的值 24

 注意:当指针变量 p 指向数组中的一个元素时,p++或++p 则使p 指向其下一个元素,p—或—p 则使 p 指向其前一个元素。若 p 指向 a[i],则进行 p++或++p 运算后,p 指向 a[i+1];若 p 指向a[i],则进行 p--或--p 运算后,p 指向 a[i-1]。

  加(+)和减(-)

  双目运算,使指针向后或向前移动若干个数据位置。

 int b[6]={1, 3, 5, 7, 9, 11}。

 int *p=b, *q=p+5。

 //p 指向 b[0],q 指向 b[5],p+5 等同于 b+5

 printf("%d\n", *(q-3))。

 //输出 b[2]的值 5

 p=b+6。

  //p 指向 b[6]数组后面的一个数据单元,即 b[5]后的位置

 *--p。

 //取 b[5]元素的值 11

  加赋值(+=)和减赋值(-=)

  双目运算,左边的指针变量加上或减去右边相应的值。

 char a[20]="wbcdefghi"。

 char *p=a。

 //p 指向 a[0],即字符 w

 p+=7。

 //运算后 p 指向 a[7],即字符 h

 p-=4。

 //运算后 p 指向 a[3],即字符 d

 *p-=3。

 //运算后使 a[3]的值减 3,由 100(d 的 ASCII 码)变为97(a 的码)

  比较(==,!=,<,<=,>,>=)

  双目运算,比较左右两个指针(地址)的大小。数组中后面元素的指针大于前面元素的指针,即&a[i+1]>&a[i]。

 int a[5]={20,15,32,48,46}。

 int *p。

 for(p=a。

 p<a+5。

 p++)printf("%d ", *p)。

 //依次输出 a 中每个元素值

 for(p=a+4。

 p>=a。

 p--)printf("%d ", *p)。

 //逆序输出 a 中每个元素值

  这一讲就到这里,同学们再见!

 四、指针与数组

 1. 指针与一维数组

   一维数组名是指向该数组第一个元素的指针常量

  int a[7]={12,25,18,30,63,44,50}。

  0

  1

  2

 3

  4

 5

 6

  a

  *a 表示 a[0]元素,*a 的值即为 a[0]的值。

 a 的值等于&a[0],类型 int*。

 a 为指针常量,即其值不可修改,所以使用 a++是错误的。道理很简单,如果允许修改数组名的值,以后就无法访问该数组了。

  数组元素的下标和指针访问方式

  a[i]等价于*(a+i),分别为下标和指针访问方式。

 *a 与 a[0],*(a+1)与 a[1]等价。

 假定 int *p=a+i。

 则 *p 与 a[i],*p++与 a[i++]等价。

 for(i=0。

 i<7。

 i++) printf("%5d\n",a[i])。

 //下标方式

 等价于:for(i=0。

 i<7。

 i++) printf("%5d\n",*(a+i))。

 //指针方式

 等价于:for(p=a。

 p<a+7。

 p++) printf("%5d\n",*p)。

 //指针方式

 12

 25

 18

 30

 63

 44

 50

 等价于:for(p=a,i=0。

 i<7。

 i++) printf("%5d\n",p[i])。//下标方式

 //p 初始指向数组 a 中第 1 个元素,p[i]与 a[i]等价,均为*(a+i)

 2. 指针与二维数组

   二维数组名是指向该数组第一行元素的指针常量,其值为整个二维数组空间的首地址

  int b[3][4]={{1,2,3,4},{2,4,6,8},{3,6,9,12}}。

 b 为指向 b[0]行 4 个元素的指针常量,其值为&b[0],亦即&b[0][0]的值,但类型为 int(*)[4],而不是 int*。

 b[i]为 i 行元素(一维数组)的数组名,b[i]的值为 b[i][0]元素的地址。它们的类型均为 int*。

 而&b[i]的值虽然也等于 b[i][0]元素的地址,但类型为int(*)[4],因为它是该行元素的首地址。

 同一维数组名一样,不允许修改二维数组名的值,如进行 b++操作是错误的。

  二维数组名的值可以赋给同类型的指针变量

  int (*pb)[4]=b。

 //把 b 的值赋给同类型的指针变量 pb,pb也指向此数组,

  //此后 pb 也可以作为数组名使用,访问任何元素

 pb[2][3]等价与 b[2][3],值为 12。

 注意:int (*pb)[4]与 int (*pb)[5]不同,因为 pb 所指向的元素个数不同。

 若 int *pb[4]的则定义 pb 为含有 4 个元素的整型指针数组,而不是定义指向含有 4 个整型元素的数组的指针。

  二维数组元素的下标和指针访问方式

  b[i][j]

 (*(b+i))[j]

 或

 *(b[i]+j)

 或

 *(*(b+i)+j)

 //均等价

 for(i=0。

 i<3。

 i++) {

 for(j=0。

 j<4。

 j++) printf("%d ", b[i][j])。

 //*(*(b+i)+j)

 printf("\n")。

 }

  使用指针和数组的程序举例

  例 1:#include<stdio.h>

 void main() {

 int a[8]={3,5,7,9,11,13,15,17}。

  int i,*p=a。

 //p 的值为&a[0]

 for(i=0。i<8。i++) {

 printf("%5d ",*p++)。

  //先*p,后 p 的值加 1

 if((i+1)%4==0) printf("\n")。

 //输出 4 个元素后换行

 }

 }

 输出结果:

 3

 5

 7

 9

 11

  13

  15

  17

  例 2:#include<stdio.h>

  void main()

 {

 int a[8]={46,38,72,55,24,63,50,37}。

 int max=*a, min=*a。

  //a[0]的值赋给 max 和 min

 int *p。

 for(p=a+1。

 p<a+8。

 p++) {//扫描整个数组

 if(*p>max) max=*p。

 //大放 max

 if(*p<min) min=*p。

 //小放 min

 }

 printf("%5d %5d\n", max,min)。

 //输出最大和最小值

 }

 输出结果:72 24

  五、动态存储分配

 1. 动态存储分配的概念

  变量和数组在计算机内存中都有对应的存储空间,该存储空间的分配时机有两种:一种在编译阶段,或者说在程序运行前;另一

 种在程序运行之中。前者称为静态存储分配方式,后者称为动态存储分配方式。

  变量的静态存储分配方式

  通过一般的变量定义语句定义的变量,采用的是静态存储分配方式。如:

 int x,y。

 //x 和 y 分别对应的 4 个字节的存储空间是静态分配的

 int a[10]。

  //数组 a 所需要的 40 个字节的存储空间是静态分配的

 char b[20],*p=b。

 //数组 b 的 20 个字节和指针变量 p 的 4字节是静态分配的

 double c[M][N]={{0}}。

 //数组 c 的 M*N*8 个字节的存储空间是静态分配的

  变量的动态存储分配方式

  变量的动态存储分配需要调用在系统头文件 stdlib.h 中声明的动态存储分配函数来实现,这些函数为 malloc()、calloc()和realloc()三种。

 2. 动态存储分配函数的原型格式和功能

   malloc()函数原型格式

  void* malloc(unsigned int k)。

 功能:调用它时能够分配 k 个字节的存储空间,并把第 1 个字节的地址返回,该返回值具有 void*类型,可以赋给任一具体类型的指针变量。

  calloc()函数原型格式

  void* calloc(unsigned int n, unsigned int k)。

  功能:调用它时能够分配 n*k 个字节的存储空间,并把第 1 个字节的地址返回,该返回值具有 void*类型,可以赋给任一具体类型的指针变量。通常用 n 表示数组长度,k 表示元素类型的长度。

  realloc()函数原型格式

  void* realloc(void* ptr, unsigned int k)。

  功能:调用它时能够分配 k 个字节的存储空间,接着把 ptr 已经指向的动态分配的存储空间的内容复制到新分配的存储空间中,最后把新分配的存储空间的第 1 个字节的地址返回。由于该返回值具有void*类型,所以能够赋给任一具体类型的指针变量,通常仍赋给ptr 所对应的实参指针变量,使得通过该调用后增加或缩小动态存储空间。

 3. 动态存储分配的调用格式举例

  (1) int *pn=malloc(sizeof(int))。

 //分配一个整数存储空间由指针变量 pn 所指向,此动态分配的变量

 //为*px,可用它保存一个整数,如:*px=25。

 *px+=30。

 //其值为 55

 (2) double *pa=calloc(10,sizeof(double))。

 //分配一个具有 10 个双精度元素的一维数组空间,由指针变量 pa

 //所指向,pa 也就是该动态数组的数组名(但有区别,它是变不是常),

 //通过它可以访问该数组中的任何元素。如:*pa=12。把12 赋给

 // pa[0]元素;又如:pa[i]<pa[j]进行两元素大小的比较

 (3) pa=realloc(pa,20*sizeof(double))。

 //增加 pa 指针所指向的存储空间的大小,由 10 个双精度元素变为

 //20 个双精度元素,同时原有的存储内容被复制过来。

 (4) int **top=calloc(M+1,sizeof(int*))。

 //top 动态数组含有 M+1 个元素,每个元素能够存储一个整数的地址。

  4. 动态存储分配的优点

  允许在程序运行过程中随时确定待使用的存储空间的大小,不必象静态分配那样需要事先确定。

 一般定义一个数组时,必须确切给出数组的每一维的尺寸,如:

 int a[10], b[M][N]。

 //M 和 N 必须是已经定义的符号常量

 动态分配定义一个数组时,所分配的存储空间的大小可以是常量,也可以是变量。如:

 (1) int a=calloc(10,4)。

 //两个参数都为常量

 (2) int a=calloc(x,4)。

 //第 1 个参数为变量,分配 x 个整数元素的空间

 (3) char b=malloc(n1+n2)。

 //n1 和 n2 为变量,分配 n1+n2个字节的空间

 (4) char c=malloc(sizeof(d))。

 //根据另一个对象 d 的大小分配空间

 5. 动态存储空间的释放

 释放动态存储空间的 free()函数的原型格式

 void free(void* ptr)。

  功能:调用它时能够把指针变量 ptr 所指向的动态存储空间释放掉,即归还给操作系统。

 free()函数原型声明也包含在 stdlib.h 系统头文件中

 当动态存储空间保存的内容不再使用时,可调用该 free()函数及时释放掉,若没有调用它,则一直到程序运行结束时该动态存储空间才被自动释放给操作系统。

 对于一般静态分配的变量,其占有的存储空间只能由 C 语言系统在运行时自动释放,其时机为所在的模块(复合语句)刚执行完毕。

 下面看一个程序例子

 #include<stdio.h>

  //支持调用标准输入和输出操作的函数

 #include<stdlib.h>

 //支持调用动态存储分配和释放函数

 void main()

 {

 int *a=calloc(10,sizeof(int))。

 //动态分配得到 a[10]数组,

 //为 40 字节的存储空间,同时静态分配得到 a 指针变量,4 字节

 int i。

  //静态分配得到 i 整数变量,4 字节

 for(i=0。

 i<10。

 i++) a[i]=i*i。

 //给 a 数组中每个元素赋值

 for(i=0。

 i<10。

 i++) printf("%d ",a[i])。

 //输出 a 中每个元素值

 printf("\n")。

 //输出一个换行符

 free(a)。

 //a[10]数组的 40 个字节的动态存储空间被交还给操作系统

 }

 //此主函数执行结束时,自动把 a 和 i 各占有的 4 字节交还给操作系统

 程序运行结果:

  0 1 4 9 16 25 36 49 64 81

  六、使用指针和动态存储分配的程序举例

 例 1:以指针方式访问数组元素的例子

 #include<stdio.h>

 #include<stdlib.h>

 void main() {

  int a[5]={3,6,9,12,15}。

  int *p=a。

  //把数组 a 的首地址赋给指针变量 p

  int i。

  for(i=0。i<5。i++) printf("%5d",*p++)。

  //指针方式访问数组 a

  printf("\n")。

  //换行

 for(p=a+4。

 p>=a。

 p--) printf("%5d",*p)。//从后向前访问数组元素

  printf("\n")。

  //换行

 }

 输出结果:

  3

 6

 9

  12

  15

  15

  12

 9

 6

 3

  例 2:进行简单变量动态存储分配的例子

 #include<stdio.h>

 #include<stdlib.h>

 void main()

 {

  int x=23,y=40,z。

  int *p1=malloc(sizeof(int))。

 //为*p1 动态分配 4字节存储空间

  int *p2=malloc(sizeof(int))。

  //为*p2 动态分配 4 字节存储空间

  *p1=x。

 *p2=y。

 //分别把 x 值 23 和 y 值 40 赋给动态变量*p1 和*p2

  printf("%d %d\n",*p1,*p2)。

 //输出*p1 和*p2 的值为 2340

  z=*p1。

 *p1=*p2。

 *p2=z。

  //交换*p1 和*p2 所保存的值

  printf("%d %d\n",*p1,*p2)。

 //输出*p1 和*p2 的值为 4023

  free(p1)。

 free(p2)。

  //释放 p1 和 p2 各自所指向的动态存储空间

 }

 程序运行结果:

  23 40

 40 23

 例 3:动态存储分配任意大小的一维数组的例子

 #include<stdio.h>

 #include<stdlib.h>

 void main()

 {

 int n,i,sum=0。

 int *a。

  printf("从键盘给 n 输入一个正整数(1-10): ")。

  while(1) {scanf("%d",&n)。

 //输入 1-10 之间的数到 n 中

  if(n>=1 && n<=10) break。

 else printf("重输: ")。

 }

  a=calloc(n,sizeof(int))。

 //动态分配 a[n]数组空间,n 是变量

 a[0]=0。

 a[1]=1。

  //给 a 数组的前 2 个元素赋值

 for(i=2。

 i<n。

 i++) a[i]=a[i-1]+a[i-2]。

  //从元素 a[2]起,每个元素值等于前 2 个元素值之和

  //0+1=1, 1+1=2, 1+2=3, 2+3=5,…

 for(i=0。

 i<n。

 i++) {

  sum+=a[i]。

  //计算出 n 个元素之和

  printf("%5d",a[i])。

 //依次输出每个元素值

  }

 printf("\n

 sum=%5d\n", sum)。

 //输出 sum 的提示信息和值

 free(a)。

 }

 程序运行结果:

 从键盘给 n 输入一个正整数(1-10): 12

 重输: 8

 0

 1

 1

 2

 3

 5

 8

  13

 sum=

  33

  例 4:

 动态存储分配二维数组的例子。

  #include<stdio.h>

 #include<stdlib.h>

 void main()

 {

  int i,j。

  int row,col。

  int** ab。

  //定义 2 阶整型指针变量 ab,用它指向 int*类型的数据

  printf("输入一个二维表格数据的行数和列数: ")。

 scanf("%d %d", &row, &col)。

 //输入行、列数到 row 和 col 中

 ab=calloc(row, sizeof(int*))。//得到动态分配的一维指针数组ab[row]

  for(i=0。

 i<row。

 i++)

  //依次使 ab[i]指向包含 col个元素的一维数组

 ab[i]=calloc(col, sizeof(int))。

  printf("输入%d 行*%d 列的二维表格数据: \n", row, col)。

  for(i=0。

 i<row。

 i++)

  //输入数据进入二维数组ab[row][col]中

 for(j=0。

 j<col。

 j++)

  scanf("%d",&ab[i][j])。

 //等价表示: *(ab[i]+j)

  printf("\n")。

  printf("输出二维表格数据: \n")。

  for(i=0。

 i<row。

 i++) {

  //按 row 行和 col 列输出数据

 for(j=0。

 j<col。

 j++)

  printf("%5d",ab[i][j])。

 printf("\n")。

  }

  for(i=0。

 i<row。

 i++) free(ab[i])。

 //释放每个一维数组空间

  free(ab)。

 //释放 ab 所指向的一维数组空间

 }

 国家开放 大学( 中央广播电视大学) 《国家开放大学学习指南》 课程教学大纲

 第一部分

 大纲说明 一、课程性质与任务 《国家开放大学学习指南》是国家开放大学(中央广播电视大学)在本、专、一村一所有专业的一年级第一学期开设的、起到基础导学作用的一门统设必修课。

 课程任务是:以完成学习任务的过程为导向,从学习者如何完成国家开放大学规定的专业学习任务的角度,让学习者学会如何完成一门课程的学习、一个专业的学习,同时描述国家开放大学基本的学习方式,说明国家开放大学的学习环境,解释国家开放大学学习平台上基本术语的涵义,使学生能使用学习平台的基本工具辅助完成学习活动,并且了解国家开放大学学生相关事务与管理规定。使学生初步具备利用现代远程技术在国家开放大学进行学习的能力。

 二、先修课要求 无 三、课程的教学要求 理解国家开放大学课程、专业平台,熟练基本的远程技术学习操作技能,掌握远程学习的学习方法,较好利用国家开放大学资源和学习支持服务。

 四、课程的教学方法和教学形式建议

 1.本课程的特点是:网络课程完善、课程内容新、课程形式丰富、实践性强、涉及面广,因此建议通过网络,在计算机教室(或计算机多媒体教室)进行授课、答疑和讨论。讲授与实践统一考虑。

 2.为加强和落实动手能力的培养,应保证上机机时不少于本教学大纲规定的学时。

 3.对于重要概念、关键技能和方法等问题可辅以网上答疑讨论的形式。

 五、教学要求的层次 课程的教学要求大体上分为三个层次:了解、理解和掌握。

 1. 了解:能正确判别有关概念和方法。

 2. 理解:能正确表达有关概念和方法的含义。

 3. 掌握:在理解的基础上加以灵活应用。

 第二部分

 教学媒体与教学过程建议 一、课程教学总学时数、学分数 课程教学总学时数为18学时,1学分。其中网络课程为13学时,课堂练习和实验为5学时。

 二、 课程呈现方式

 课程以网络课程为主,这是学生学习的主要媒体形式,因此课程呈现方式以视频、动画为主,配以必要的文字说明,每段视频、动画不超过8分钟。视频以学习发生的场景为主,也可以是学生访谈,体现一定交互性。课程内容可以在手机、PAD、计算机、电视等多种终端上呈现。

 根据课程呈现方式,课程要做到只选取完成国家开放大学学习的必备知识,摈弃过多的理论知识,尽可能简捷。实用、方便、模块化设计,基于问题、案例形式呈现。概念清晰、条理分明、深入浅出、便于自学。在内容上要紧密围绕培养目标,突出重点、兼顾一般,反映当代最新技术及应用。

 三、主要教学媒体的使用与学时分配 章节 序号 教学内容 网络课程学时 课堂练习和 实验学时 1 认识国家开放大学 3 1 2 完成专业学习 3 1 3 完成课程学习 3 1 4 网上学习操作技能 2 1 5 学生事务服务 2 1 合计 13 5 四、考核

 本课程采用上机操作的考核方式,100%国家开放大学考核。开放教育的学生应严格执行该课程的有关考核文件。

 第三部分

 教学内容和教学要求 1 、学习活动一:认识国家开放大学(3 学时)

 【 教学内容 】:

 :

 任务一

 走进国家开放大学 (一)基本介绍 介绍国开的历史,办学模式,提供的学科门类等。

 (二)案例导入

 由国家开放大学的学生讲述参加国家开放大学学习的体会与收获(由学生讲,把国家开放大学学习的特点和优势讲出来,包括学习时间、学习方式等等。)

 (三)国家开放大学的学习环境 1.在线学习平台; 2.教师(教师群体与角色); 3.学习者(个人角色与学习小组创建); 4.学习资源(文字教材、录像、网络课程、流媒体资源、全媒体数字教材、小课件等); 5.学习活动(网上教学活动、论坛讨论); 6.支持服务(获得途径:面对面的服务、电话、短信、电子邮件、网上论坛、在线即时答疑系统);

 (四)拓展内容 报名渠道,获得学习资源,买书,有困难时候如何寻求帮助。

 任务二

  如何有效学习 习 (一)学习策略 1.纸质学习和电子学习的认知策略; 2.制定计划、自我监控与调节; 3.学习时间管理、学习资源与环境利用、互动空间与手段(QQ 群、课程论坛、学习空间)、学业求助策略。

 (二)学习方式 1.自学(自己阅读学习资源,做测试与练习); 2.听讲(听看讲课视频或音频、面授); 3.体验; 4.探究; 5.问题解决; 任务三

  学前准备 了解并完成一些学前准备工作,从学习方法、知识储备、计算机技能、学习环境等多方面了解自身的情况,为日后学习奠定基础。

 【 教学要求 】:

 :

  了解:国家开放大学的基本介绍,教学环境;  掌握:国家开放大学的学习策略与方式;  掌握:在国家开放大学进行学习的学前准备;

 2 、学习活动 二 :完成专业学习(3 学时)

 【 教学内容 】:

 :

 任务一

  走进专业 1.专业概况、 专业培养方案及实施细则,专业学习的知识、能力要求。

 2.本专业师资队伍、学生概况、毕业生风采。

 任务二

  专业学习过程和 评价 1. 本专业的学习过程及主要环节 2.该专业与社会证书或社会考试的接轨,学分互换等问题。

 任务三

  学位授予及其他

 1.申请学位相关要求。

 2.了解转专业、转学等相关政策。

 【 教学要求 】:

 :

  了解:国家开放大学的专业概况及师生概况;  掌握:国家开放大学专业学习过程及主要环节  了解:国家开放大学的学位授予资格、转学与转专业相关要求 

 3 、学习活动 三 :完成课程学习(3 学时)

 【 教学内容 】:

 :

 任务一

  选择课程

 通过学习风格测试、咨询学业顾问、体验课程学习,进一步明确个人的学习要求,找到自己需要学习的课程组合。

 1.搜索课程; 2.了解课程; 3.体验课程。

 任务二

  课程学习 从国家开放大学学习指南课程入手,完成各学习任务,制定学习计划,并最终拿到国家开放大学学习指南课程的单科结业证书。

 1.浏览与订阅资源; 2.参加面授辅导; 3.完成作业; 4.参加学习活动; 5.参加考试; 6.参加实践活动; 7.单科结业; 8.课程评价要求(如形考、终考、网考等具体要求)。

 拓展内容:非学历课程学习、面授安排、学习积分等。

 任务三

  互动与分享

 协作学习;知识分享;校友互助。

 【 教学要求 】:

 :

  了解:国家开放大学的课程及如何选择课程;  理解:如何协作学习、知识分享、校友互助;

  掌握:如何取得国家开放大学的单科课程结业; 4 、学习活动四:网上学习操作技能(2 学时)

 【 教学内容 】:

 :

 任务一

  上网基本技能 (一)基本网上技能 1.打开特定网站(网址或链接); 2.浏览网页、返回网页; 3.使用搜索引擎; 4.网上下载文件。

 (二)基本电子邮件技能 1.电子邮箱的出现、注册电子邮箱2.收取、阅读电子邮件; 3.发送电子邮件、上传附件。

 任务二

 网上学习操作 (一)学习平台 1.登陆与忘记密码 2.栏目导航与页面布局; 3.文本课件下载与浏览; 4.视频在线观看与下载; 5.提交作业; 6.参与讨论。

 (二)学生空间

 任务三

 常用工具 (一)浏览器 1.IE; 2.360; 3.QQ。

 (二)搜索引擎 1.Google; 2.Baidu; 3.Sogou。

 (三)下载及解压缩工具 1.迅雷; 2.电驴; 3.WinRAR。

 (四)文本显示、影音播放工具 1.MS Word; 2.MS Powerpoint; 3.POF; 4.Media Player; 5.KMPlayer; 6.暴风影音。

 (五)交流工具 1.QQ;

 2.微博; 3.微信; 4.论坛。

 【 教学要求 】:

 :

  了解:上网基本技能;  理解:常用的网络工具;  掌握:国家开放大学网上学习的基本操作; 5 、学习活动五:学生事务服务(2 学时)

 【 教学内容 】:

 :

 任务一

  了解开放教育学生事务服务 (一)学生事务服务的机构 1.学生工作处(部)、其他部门下设的学生科、其他形式; 2.机构的系统性、分级设立(组织结构图)。

 (二)学生事务服务的内容 1. 评优; 2. 奖助学金; 3. 学生活动; 4. 虚拟学生社区 5. 其他个性化服务 (三)学生事务服务的方式 1. 面对面的服务;

 2. 网上服务; 3. 手机服务(短信、微信、微博)。

 任务二

  如何获得奖励 (一)奖助学金 1.国家开放大学总部的奖学金 (1)奖学金的种类:国家开放大学奖学金、 “希望的田野”奖学金、残疾人教育阳光奖学金、士官奖学金。

 (2)四类奖学金的区别 (3)具备什么条件可以申请奖学金? (4)奖学金的评审过程是什么? (5)获得奖学金的学生案例展示 2. 国家开放大学总部的助学金 3. 国家开放大学分部的奖助学金 (1)总体开展情况 (2)部分奖助学金的案例介绍 (二)学生评优 1.国家开放大学总部的评优项目:优秀毕业生 (1)具备什么条件可以申请优秀毕业生? (2)优秀毕业生的评审过程是什么? (3)通过哪些渠道了解优秀毕业生的开展情况?(学校网站、海报、老师通知等)

 (4)优秀毕业生案例展示。

 2.开放大学各分部的评优项目 (1)整体介绍 (2)个别案例展示 优秀学生、优秀学生干部、优秀学习小组、网上学习之星等。

 任务三 三

  如何参加学生活动 (一)丰富多彩的学生活动 1. 国家开放大学总部的学生活动; 2. 国家开放大学分部的学生活动; (二)多样化的学生组织 1. 学生会 2. 学生社团 3. 校友会; 任务四 四

  如何寻求帮助 1.远程接待中心简介 2. 获取帮助的途径 (1)电话 (2)在线即时答疑系统 (3)短信 (4)电子邮件 (5)网上论坛 (6)其他 【 教学要求 】:

 :

  了解:开放教育学生事务服务及如何参与;  理解:国家开放大学的奖惩规定;  掌握:如何解决学习过程中的困难;

相关热词搜索: 电大 考核 辅导