预测分析的程序是什么

预测分析的程序是什么,第1张

1、确定预测对象。即确定预测分析的内容、范围、目的和要求。

2、收集整理资料。即收集尽可能多的相关经济信息,同时对所收集的大量资料进行整理、归纳,找出与预测对象有关的各因素之间的相互依存关系。

3、选择预测方法。即进行定性和定量分析。

4、分析判断。

5、检查验证。即将本期实际发生数与前期预测数进行比较,计算并分析差异,以便在本期预测中加以改进。

6、修正预测值。

7、报告预测结论。

越哥,我来答啦,分给我吧O(∩_∩)O哈哈~/* 1 E →TE′

2 E′ →+TE`

3 E′ →ε

4 T → FT′

5 T′ → * FT′

6 T′ →ε

7 F →(E)

8 F →id

FIRST(E) = FIRST(T) = FIRST(F) = { ( , id }

FIRST(E′) = {+, ε}

FRIST(T′) = {*, ε}FOLLOW(E) = FOLLOW(E′) = { ), $}

FOLLOW(T) = FOLLOW (T′) = { +, ), $}

FOLLOW(F) = {+, *, ), $} */#include <stdio.h>

#include <tchar.h>

#include <string.h>int main(int argc, char* argv[])

{

char syn[15] //语法

int top //栈顶指针

char lookahead //当前单词

char exp[50]//表达式区

int m =0 //表达式指针

char s[4][5]={"id","+","*","("} //表中有空白的符号

char string[3]={'E','T','F'} //表中有同步记号的的非终结符

int ll1[7][6]={

{1,0,0,1,9,9}, //LL(1)分析表,9表示同步记号,第6行是#,第7行是)

{0,2,0,0,3,3},

{4,9,0,4,9,9},

{0,6,5,0,6,6},

{8,9,9,7,9,9},

{12,12,12,12,12,10},

{13,13,13,13,11,13}}

int i,j //表行和列

int code //表项

printf("******************语法分析器********************\n")

printf("please input your expression:\n")

scanf("%s",exp)

top=1

lookahead=exp[m++]

syn[0]='#'

syn[1]='E'

while(1)

{

switch(syn[top])//行

{

case 'E':i=0break

case 'e':i=1break

case 'T':i=2break

case 't':i=3break

case 'F':i=4break

case '#':i=5break

case ')':i=6break

}

switch(lookahead) //列

{

case 'i':j=0break

case '+':j=1break

case '*':j=2break

case '(':j=3break

case ')':j=4break

case '#':j=5break

}

code=ll1[i][j]

if(code==10)

{ printf("语法分析结束\n")

break}

else

{

switch(code)

{

case 0:

{

printf("出错,用户多输入了%s,跳过%s\n",s[j],s[j])

if(j==0)

{lookahead=exp[m++]<br>lookahead=exp[m++]}

else

lookahead=exp[m++]

break

}

case 1:{printf("E →TE′\n")syn[top]='e'syn[top+1]='T'top++break}

case 2:{printf("E′ →+TE`\n")syn[top+1]='T'top++lookahead=exp[m++]break}

case 3:{printf("E′ →ε\n")syn[top]='\0'top--break}

case 4:{printf("T → FT′\n")syn[top]='t'syn[top+1]='F'top++break}

case 5:{printf("T′ → * FT′\n")syn[top+1]='F'top++lookahead=exp[m++]break}

case 6:{printf("T′ →ε\n")syn[top]='\0'top--break}

case 7:{printf("F →(E)\n")syn[top]=')'syn[top+1]='E'top++lookahead=exp[m++]break}

case 8:{printf("F →id\n")syn[top]='\0'top--lookahead=exp[m++]lookahead=exp[m++]break}

case 9:{printf("d栈,d出非终结符%c,用户少输入了一个id\n",string[i/2])syn[top]='\0'top--break}

case 11:{syn[top]='\0'top--lookahead=exp[m++]break}

case 13:{printf("d栈,d出终结符 ) ,用户少输入了一个右括号\n")syn[top]='\0'top--break}

}

}

}

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11166588.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存