程序性知识特有的表征方式是(产生式系统)。
程序性知识也叫 *** 作性知识,是指个人缺乏有意识的提取线索,只能借助于某种具体作业形式来间接推测其存在的知识。它主要是用来解决做什么和怎么做的问题。程序性知识实质上是一套关于办事的 *** 作步骤和过程,因此也称步骤性知识或过程性知识。由于程序性知识与实践 *** 作密切联系,因而具有动态的性质。
程序性知识的三个阶段
1、陈述性阶段
在程序性知识的学习过程中,首先要以陈述性知识的形式来获得,也称为习得阶段。学生首先要理解在陈述性知识阶段应掌握的有关的概念、原理、事实和行动步骤等。在这一阶段,学生学会陈述并理解某些概念与规则。
2、转化阶段
在这一阶段,新知识有知识经过各种变式练习,转化为以产生式系统表征和贮存的程序性知识。变式练习是程序性知识由第一阶段的陈述性形式向第二阶段的程序性形式转化的最重要条件。这两部分知识以不同的表征方式贮存于长时记忆中,以备日后提取使用。
3、自动化阶段
知识的应用阶段,通过进一步的练习和强化,学生最终会进入到自动化阶段。在这一阶段,学生在无意识中就能够自动完成活动步骤,不需要提取有关 *** 作步骤的知识,而这时完成活动的准确性和速度也都得到了很大提高,最终形成技能。
常用的知识点有缓存,分布式架构,系统函数,比如下面的系统函数。
把一个轻量用户数据压栈。
用户数据是保留在 L ua 中的 C 值。 轻量用户数据 表示一个指针 void。 它是一个像数字一样的值: 你不需要专门创建它,它也没有独立的元表,而且也不会被收集(因为从来不需要创建)。 只要表示的 C 地址相同,两个轻量用户数据就相等。
lua_pushliteral
const char lua_pushliteral (lua_State L, const char s);
这个宏等价于 lua_pushlstring, 区别仅在于只能在 s 是一个字面量时才能用它。 它会自动给出字符串的长度。
lua_pushlstring
const char lua_pushlstring (lua_State L, const char s, size_t len);
把指针 s 指向的长度为 len 的字符串压栈。 Lua 对这个字符串做一个内部副本(或是复用一个副本), 因此 s 处的内存在函数返回后,可以释放掉或是立刻重用于其它用途。 字符串内可以是任意二进制数据,包括零字符。
返回内部副本的指针。
lua_pushnil
[-0, +1, –]
void lua_pushnil (lua_State L);
将空值压栈。
lua_pushnumber
[-0, +1, –]
void lua_pushnumber (lua_State L, lua_Number n);
把一个值为 n 的浮点数压栈。
lua_pushstring
[-0, +1, e]
const char lua_pushstring (lua_State L, const char s);
将指针 s 指向的零结尾的字符串压栈。 因此 s 处的内存在函数返回后,可以释放掉或是立刻重用于其它用途。
返回内部副本的指针。
如果 s 为 NULL,将 nil 压栈并返回 NULL。
lua_pushthread
[-0, +1, –]
int lua_pushthread (lua_State L);
把 L 表示的线程压栈。 如果这个线程是当前状态机的主线程的话,返回 1 。
lua_pushvalue
[-0, +1, –]
void lua_pushvalue (lua_State L, int index);
把栈上给定索引处的元素作一个副本压栈。
lua_pushvfstring
[-0, +1, e]
const char lua_pushvfstring (lua_State L,
const char fmt,
va_list argp);
等价于 lua_pushfstring , 不过是用 va_list 接收参数,而不是用可变数量的实际参数。
lua_rawequal
[-0, +0, –]
int lua_rawequal (lua_State L, int index1, int index2);
如果索引 index1 与索引 index2 处的值 本身相等(即不调用元方法),返回 1 。 否则返回 0 。 当任何一个索引无效时,也返回 0 。
lua_rawget
[-1, +1, –]
int lua_rawget (lua_State L, int index);
类似于 lua_gettable , 但是作一次直接访问(不触发元方法)。
lua_rawgeti
[-0, +1, –]
int lua_rawgeti (lua_State L, int index, lua_Integer n);
把 t[n] 的值压栈, 这里的 t 是指给定索引处的表。 这是一次直接访问;就是说,它不会触发元方法。
返回入栈值的类型。
lua_rawgetp
[-0, +1, –]
int lua_rawgetp (lua_State L, int index, const void p);
把 t[k] 的值压栈, 这里的 t 是指给定索引处的表, k 是指针 p 对应的轻量用户数据。 这是一次直接访问;就是说,它不会触发元方法。
返回入栈值的类型。
int main()
{
int getHolidays();
int searchHolidays(int holidays);
int i,numHolidays;
numHolidays=getHolidays();
printf("he holiday array contains %dholidays\n",numHolidays);
for(i=0;i<numHolidays;i++)
printf("%d\n",htable[i]);
if(searchHolidays(holidays))
printf("Find success!");
else
printf("NO Find!\n");
return 0;
}
int getHolidays()
{ //charfilename[]="c:\\holidaystxt";
int i=0;
int mo,day,yr;
char del1,del2;
FILE fp;
//fp=fopen("c:\\holidaystxt","r");
if((fp=fopen("holidaystxt","r"))==NULL)
{
printf("failed to open\n");
exit(0);
}
while(fscanf(fp,"%d%c%d%c%d",&mo,&del1,&day,&del2,&yr)!=EOF)
htable[i++]=yr10000+mo100+day;
fclose(fp);
return i;
}
int searchHolidays(int holidays)
{
int date,i;
printf("Please enter a holiday date:");
scanf("%d",&date);
for(i=0;i<holidays;i++)
{
if(date == htable[i])
return 1;
}
if(i>=holidays)
return 0;
}
没验证过,楼主自己验证!
根据安德森的观点,程序性知识以产生式和产生式系统来表征
程序性知识是个人没有有意识提取线索,只能借助某种作业形式间接推论其存在的知识。程序性知识是一套办事的 *** 作步骤,是关于“怎么办”的知识。在学习过程性知识的第一个阶段,是习得过程性知识的陈述性形式,新知识进入原有的命题网络,与原有知识形成联系。
第二阶段,经过各种变式练习,使贮存于命题网络中的陈述性知识转化为以产生式系统表征和贮存的程序性知识。第三阶段,过程性知识依据线索被提取出来,解决“怎么办”的问题。
现代知识观根据反映活动的形式不同,将知识分为陈述性知识和程序性知识。程序性知识也叫 *** 作性知识,是个体难以清楚陈述、只能借助于某种作业形式间接推测其存在的知识。这类知识主要用来回答“怎么想”“怎么做”的问题,主要以产生式和产生式系统表征,用来解决做什么和怎么做的问题。
美国心理学家加涅认为,程序性知识包括心智技能和认知策略两个亚类。心智技能是运用概念和规则对外办事的程序性知识,主要用来加工外在的信息。认知策略也可叫策略性知识,是运用概念和规则对内调控的程序性知识,主要用来调节和控制自己的加工活动。
以上就是关于程序性知识特有的表征方式是( )全部的内容,包括:程序性知识特有的表征方式是( )、程序开发中经常使用的一些知识点都有哪些、C语言程序知识,大神进来瞧瞧~!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)