КАПУСТА: почитай,обсуди,отдохни!

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » КАПУСТА: почитай,обсуди,отдохни! » Pascal » Файлы в Паскале


Файлы в Паскале

Сообщений 1 страница 5 из 5

1

Никак не могу разобрать файлы в Паскале. Не мог бы кто-нибудь с текстом задач обьяснить мне как и что делается?

a)  Даны натуральное число n, символы s1,....sn. Преобразовать последовательность s1,....sn каждую из групп стоящих рядом точек одной точкой.
b) Дана строка символов; заменив в ней каждую из групп стоящих рядом точек многоточием.

Был бы благодарен!!!

0

2

если я правильно помню, то надо делать через массив больше ничем пока помоч не магу нет времени вспоминать у самого шило с учебой

0

3

Так это файлы или стринги,я не совсем понял требуемое задание,можешь более полно описать его.
Что мы должны ввести в програму,а что получить?

0

4

Спасибо, что откликнулись!
вообщем задание звучит так: выполнить на ЭВМ программу обработки символьных данных в соответствии с вариантом, указанным ниже
есть пример по которому нужно делать эту прогу, но никак не могу их сопоставить...
В информационных системах(базах данных) для представления информации используют только прописные(большие) буквы. Делается это так, чтобы избежал путаницы. Например, с точки здравого смысла строки петров и ПЕТРОВ - это записанная по разному фамилия одного и того же человека. Однако с точки зрения программы- это две разные строки и следовательно, это фамилии двух разных человек. Поэтому возникает задача преобразования строчных букв в прописные.

Код:
program lab11;
label 10, 20, 30;
const
bsiZe=80;{ предельная длина строки } 
var
buf:array[1..bsiZe] of char;
n: integer;{ длина введенной строки }
i: integer;
begin
n:=0;
write("-> ");
repeat
	if not eoln 
then beqin
n:=n+l;
read (buf[n]) ;
end;
until eoln or(n=bsiZe);
{ здесь прочитана строка и записана в массив buf }
{ преобразование строки к верхнему регистру } 
for i:=l to n do
begin 
case buf[i] of  “a”..’n’:buf[i]:=chr(ord(buf[i])-32);
“p”..’я’:buf[i]:-chr(ord(buf[i])-80);
end;
end;
{ вывод преобразованной строки } 
writeln;
for i:=1 to n do
write(buf[i]);
end.

0

5

Вот код преобразования строки из нижнего регистра в верхний, причём учитываются как латинские символы, так и русские, и буква "ё" учтена, сомневаюсь, что в вашем коде это сделано :)

Код:
function UpString(S:string):string;
function UpChar(C:char) : Char;
var S:word;
begin S:=ord(C);
case S of
224..255 : S:=S-32;
97..122 : S:=S-32;
184: s:=168;
end;
Result:=Chr(S);
end;
var i:integer;
begin
Result:='';
if length(s)>0 then
for i:=1 to length(s) do
Result:=Result+UpChar(s[i]);
end;

0


Вы здесь » КАПУСТА: почитай,обсуди,отдохни! » Pascal » Файлы в Паскале