Дан текстовый файл, вывести слово TRUE если в нём встречается буква «a» и вывести FALSE, если не встречается.(Юра)




Найти подстроку в заданной строке (Егор)(Как мне кажется, найти подстроку в строке это значит найти индекс с которого начинается подстрока в строке)

ProgramExam1;

usescrt;

varstr:string; {Введённая с клавиатуры строка}

podstr:string; {Введённая с клавиатуры подстрока}

{Т.к нам необходимо вернуть значение позиции i в осн. про-ме, то пишем её с var}  
i:byte;{первое появление подстроки в строке}

ProcedureObrab (vari1:byte;str1,podstr1:string);

{PosВозвращает позицию первого появления подстроки postr в сттроке str}  
begin

i1:=pos(podstr1, str1);

end;

begin{Начало основной программы}

clrscr; {Очисткаэкрана}

{Вводим данные: строку и подстроку}

write('Vvedite stroku ');{Выводитпредложение: Vvedite stroku}

readln(str); {Читает введённую строку}

write('Vveditepodstroku ');{Выводит преложение: Vveditepodstroku}

readln(podstr);{Читает введённую подстроку}

Obrab(i,str,podstr);{Вызываем процедуру обработки и возвращаем индекс i}

writeln('Podstroka soderzhitsa v stroke nachinaya s ',i,'-oi/ei pozitsii');

readkey;

end.

 

 

 

Сформировать двумерный массив из случайных чисел и вывести первый столбец.(Гена) (в задании может быть ещё вывести строку, и ещё в заданиях встречается «вывести вектор», вектор-это и есть одномерный массив, т.е строка или столбец)

ProgramExam2;

usescrt;

constn=4; m=5; {n - кол-во строк, m - кол-во столбцов}

typeMas=array[1..n,1..m] ofbyte; {Объявляем тип двумерный массив с элементами типа байт (по условию массив из чисел)}

vari,j:byte; A:Mas;{переменная A-двумерный массив,i,j-счётчики цикла For}

ProcedureObrab (A1:Mas);{Проц-ра обр-ки массива,входной параметр A1-массив из случайных чисел}

begin

Fori:=1 tondo{цикл делаем по i т.к i-номер строки и он изменяется}write(A1[i,1]:3);{Выводим элемент массива}

{Начало основной программы} {Инициализация генератора случайных чисел (чтобы при каждом запуске выводились новые случайные числа)}  
{j=1 т.к выводим первый столбец}
end;

begin clrscr;

Randomize;

{В двойном цикле заполняем массив случайными числами и выводим его}   {Элементу массива присваиваем случайное число} {Выводим элемент массива}
For i:=1 to n do

begin

For j:=1 to m do

begin

A[i,j]:=random(20);

write(A[i,j]:3);

end;

writeln;

end;

writeln('Perviy stolbets: ');{Выводимнадпись Perviy stolbets:}

Obrab(A);{Вызываемпроцедуру}

readkey;{Задержкаэкрана}

end.

Дан текстовый файл, вывести слово TRUE если в нём встречается буква «a» и вывести FALSE, если не встречается.(Юра)

{f-файловая переменная типа text(наш файл); с-символ который читаем при чтении файла(в текстовых файлах доступ последоваельный, нужно читать символы послед-но); b-переменная логического типа; k-счётчик, считает кол-во встречающихся в файле букв «а»}  
Program Exam3;

uses crt;

var f:text; c:char; b:boolean; k:byte;

Procedure Obrab(var f1:text;c1:char; var k1:byte);

begin

{k1=0 – начальные установки цикла(пока буква «а» встречается 0 раз) Eof(<файловая переменная>)-конец файла Т.е пока не конец файла делаем следующее: read(f,c1)-читаем символ c1 в файле f ifc1='a'theninc(k1) – и если этот символ c1 равен букве «а», тогда к счётчику прибавляем единицу.}  
k1:=0;

while not eof(f) do

begin

read(f,c1);

if c1='a'then inc(k1);

end;

end;

beginclrscr;{Начало основной программы}

{Приглашение на ввод имени файла и чтение имени}
write('Imya faila ');

{assign связывает файловую переменную f с конкретным файлом nameoffile.txt} reset(f) открывает только для чтения файл, связанный с файловой переменной f Obrab(f,c,k) вызываем процедуру обработки файла,и присваиваем b результат выражения k 1. b возвращает выражение логического типа(True/False) т.е если кол-во букв«а» больше или равно 1, то true, если меньше - false close(f) закрываем файл. writeln(b) выодимb (TrueилиFalse)    
readln(nameoffile);

assign(f,nameoffile);

reset(f);

Obrab(f,c,k);

b:= k>=1;

close(f);

writeln(b);

readkey;

end.

 

 

 

Таже программа только с подпрограммой в виде функции:

Program Exam3;

uses crt;

var f:text; c:char; b,z:boolean; k:byte;nameoffile:string;

Function Obrab(var f1:text;c1:char;k1:byte;var b1:boolean):boolean;

begin

k1:=0;

while not eof(f1) do

begin

read(f1,c1);

if c1='a'then inc(k1);

end;

b1:=k1>=1;

Obrab:=b1;

end;

begin clrscr;

write('Imya faila ');

readln(nameoffile);

assign(f,nameoffile);

reset(f);

z:=Obrab(f,c,k,b);

writeln(z);

close(f);

readkey;

end.

 

 

4. Дан текстовый файл, вывести первый символ. Обработку файла произвести в функции. Имя файла ввести в гл. программе.(Влад)

Program Exam4;

{f-файловая переменная типа text(наш файл); с-символ который читаем при чтении файла   {Тип возвращаемого результата}  
uses crt;

var f:text; c,s:char;nameoffile:string;

Function Obrab(var f1:text;var c1:char):char;

begin

read(f,c1); {Читаем первый символ c1 в файле f}

Obrab:=c1; {Имени функции присваиваемрезультат (первый символ)}

end;

beginclrscr;

write('Vvediteimyafaila ');{Приглашениенавводименифайла}

{assign связывает файловую переменную f с конкретным файлом nameoffile.txt reset(f) открывает только для чтения файл, связанный с файловой переменной f. Вызываем функцию путём присвоения переменной, её имениs:=Obrab(f,c)(Возвращает первый символ) close(f) закрываемфайл writeln('Perviisimvolfaila: ',s)- выводим сообщение и первй символ}    
readln(nameoffile);{Читаемимяфайла}

assign(f,nameoffile);

reset(f);

s:=Obrab(f,c);

close(f);

writeln('Pervii simvol faila: ',s);

readkey;

end.

{f-файловая переменная типа text(наш файл); с-символ который читаем при чтении файла  
5. Дан текстовый файл, вывести последний символ файла.(Вадим Гришенков)

Program Exam5;

uses crt;

var f:text; c:char; str,nameoffile:string;i:byte;

{В цикле пока не конец файла (eof) читаем символ read(f1,c1), записываемего в строку str1[i1]:=c1 и наращиваем счётчик inc(i1)} Замечание!!!:Счётчик i1(i)используем для фиксации кол-ва символов в тексте(строке), в цикле после занесения последнего символа файла в строку счётчик наращивается один лишний раз, поэтому при выводе последнего символа обращаемся к i-1му элементу строки writeln('Poslednii simvol faila: ',str[i-1]) P.S.: Конник может придраться, если в условии задания было прописано, что выходным параметром явл-ся символ, а выводится элемент строки.
Procedure Obrab(var f1:text; c1:char;var str1:string; var i1:byte);

begin

i1:=1;

while not eof(f1) do

begin

read(f1,c1);

str1[i1]:=c1;

inc(i1);

end;

end;

beginclrscr;{Началоосновнойпрограммы}

write('Vvediteimyafaila ');{Приглашениенавводименифайла}

{Связываем файловую переменную f с файлом nameoffile}  
readln(nameoffile);{Читаемимяфайла}

assign(f,nameoffile);

reset(f);{Открываемфайлдлячтения}

Obrab(f,c,str,i);{Вызовпроцедуры}

writeln('Posledniisimvolfaila: ',str[i-1]);{Выводимэлементстроки}

close(f);{Закрываемфайл}

readkey;

end.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: