我想在pascal实验室考试之前了解这些代码,特别是PROCEDURE
PROGRAM vowels;
USES crt;
{Program that counts the number of vowels in a sentence}
CONST space=' ';
maxchar=80;
TYPE vowel=(a,e,i,o,u);
VAR buffer:ARRAY[1..maxchar] of char;
vowelcount:ARRAY[vowel] of integer;
PROCEDURE initialize;
VAR ch:vowel;
BEGIN
FOR ch:=a TO u DO
BEGIN
vowelcount[ch]:=0;
END;
END;
PROCEDURE textinput;
VAR index:integer;
BEGIN
writeln('Input a sentence');
FOR index:=1 TO maxchar DO
IF eoln THEN buffer[index]:=space
ELSE read(buffer[index]);
readln;
END;
PROCEDURE analysis;
VAR index:integer;
ch:vowel;
BEGIN
index:=1;
WHILE index<>maxchar+1 DO
BEGIN
IF buffer[index] IN ['a','e','i','o','u'] THEN
BEGIN
CASE buffer[index] OF
'a':ch:=a;
'e':ch:=e;
'i':ch:=i;
'o':ch:=o;
'u':ch:=u;
END;
vowelcount[ch]:=vowelcount[ch]+1;
END;
index:=index+1;
END;
END;
PROCEDURE vowelout;
VAR ch:vowel;
BEGIN
clrscr;
writeln;
writeln(' a e i o u');
FOR ch:=a TO u DO
write(vowelcount[ch]:4);
writeln;
END;
BEGIN
initialize;
textinput;
analysis;
vowelout;
END.
Run Code Online (Sandbox Code Playgroud)
请帮我
Jas*_*son 10
总的来说:好的,这段代码正在计算输入字符串中提供的元音数量.
让我们开始....
TYPE元音=(a,e,i,o,u); VAR缓冲区:char的ARRAY [1..maxchar]; vowelcount:整数的ARRAY [元音];
此代码定义了英语元音列表(a,e,i,o,u).
程序初始化; VAR ch:元音; BEGIN FOR ch:= a to do do do BEGIN vowelcount [ch]:= 0; 结束; 结束;
然后定义一个变量来收集每个元音的数量,称为vowelcount.该变量是一个数组,看起来像这样:
vowelcount[a]=0;
vowelcount[e]=0;
vowelcount[i]=0; #... etc
Run Code Online (Sandbox Code Playgroud)
然后定义过程"分析".这将从屏幕输入(稍后将在程序中调用)并逐步执行输入中的每个字母.
WHILE index <> maxchar + 1 DO BEGIN IF buffer [index] IN ['a','e','i','o','u'] THEN BEGIN CASE buffer [index] OF'a':ch: = A; 'e' 的CH:= E; 的 'i':CH:= I; 'O':CH:= O; 'U':CH:= U; 结束;
如果这些字母中的任何一个恰好在字母列表中而不是与元音匹配,那么它将在上面的vowelcount数组中添加一个字母.(vowelcount [ch]:= vowelcount [ch] +1)其中ch是匹配的字母.如你所见,只有当它是一个有效的元音时才触发(IF缓冲区[索引] IN ['a','e','i','o','u'])
最后.程序的主要代码,或实际运行的内容:
BEGIN clrscr; writeln; writeln('aei o u'); 对于ch:= a你要写(vowelcount [ch]:4); writeln; 结束;
BEGIN初始化; 的TextInput; 分析; vowelout; 结束.
这基本上将应用程序串联起来,首先清除屏幕(在dos提示符下),然后将元音输出到屏幕上.然后它添加一些格式并输出当前的vowelcount计数(如上所述).然后它将请求您的输入,最后它将再次输出vowelcount的内容,该内容已使用您输入的vowelcounts进行更新.