Помощь - Поиск - Пользователи - Календарь
Полная версия: подсчет буквенных символов в выражении
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-Dimanez-
задание
составить программу подсчета количества буквенных символов в выражении


дело состоит в том - не могу понять как организовать сам подсчет символов ..


вот,например, кусок программы, где находим символы в ыражении ( поидее), а что делать дальше не знаю((

...
for i:=1 to length(str) do
for x:='A' to 'Z' do

if k[x] in ['A','Z']
then n:=n+1
... итд

или вот буквенные символы( заглавные латинские) находятся в кодировке от 35 до 90....
здесь совсем темный лес...

for x:='A' to 'Z' do
if x>=35 and x<=90 {здесь мне при полной прогрмме выдавал ошибку[x<=90]. хотя даж не понимаю как
можноприсвоить так сказать символьной переменной Х число...не используя при этом
подпрограмм, хотя при х=> 35 прокатило...).


...
одним словом - ужас..

думаю.что здесь полный бред написан, но все же,надеюсь на помощь....
neic
Может всё таки так будет правильнее:
If k[x] in ['A'..'Z','a'..'z'] then
begin
{
Выполняем нужные нам операции
}
end;

Dimanez
помогите исправить ошибку....
смысл вот он!... а тут ошибка((..туго с исправлением...


type
letters='A'..'Z';
var
k:array[letters] of string;
i,n:integer;
x:letters;
str:string;
begin
for i:=1 to length(str) do
begin
for x:='A' to 'Z' do
if k[x] in ['A','Z']
then
begin
n:=0;
for i:=1 to length(str) do
n:=n+1;
end;
end;
writeln('в выражении',n,'букв');
readln;
end.


выводит 41 ошибку....
nopsrer
Функция ord возращает порядковый номер символа в таблице кодов аски.
Символы A..Z идут под номерами от 65 до 90, a..z от 97 до 122
var s: string;
k,i: integer;
begin
readln(s);
K:=0;
for i:=1 to length(s) do
if (ord(s[i])>=65) and (ord(s[i])<=90) or
(ord(s[i])>=97) and (ord(s[i])<=122) then k:=k+1;
writeln(k);
readln;
end.
termin
i:=1;
while (i<=length (str)) do
begin
if (S[i] in ['a'..'z','A'..'Z']) then
inc (count);
inc (i);
end;
WriteLn ('count=',count)

Если не ошибся, то типо чото того должно быть.
volvo
Буквы могут, кстати, быть не только латинскими... rolleyes.gif
Dimanez
угу....препод говрил...таблицу показывала с символами....там вопщем,не только буквы,а и символы...
было бы не плохо в FAQ'e такую таблицу вставить)
andriano
Трудно, конечно, что-то говорить, не зная, о какой таблице идет речь, но, вероятно, эта таблица может быть получена простейшей программой:
var
i,j,k : integer;
f : file;
begin
assign(f,'ascii.cod');
rewrite(f,1);
for j := 0 to 15 do begin
for i := 0 to 15 do begin
k := i + j*16;
blockwrite(f,k,1);
end;
k := 13;
blockwrite(f,k,1);
k := 10;
blockwrite(f,k,1);
end;
close(f);
end.
(кстати, совсем недавно я ее где-то уже приводил. Возможно и на этом форуме)
nopsrer
Таблица кодов ASCII
andriano
Это не ASCII, это сканкоды клавиатуры.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.