- •Найти подстроку в заданной строке (Егор)(Как мне кажется, найти подстроку в строке это значит найти индекс с которого начинается подстрока в строке)
- •Дан текстовый файл, вывести слово true если в нём встречается буква «a» и вывести false, если не встречается.(Юра)
- •6. Вывести на экран 5 строк, введённых с клавиатуры и отсортировать методом вставки по возрастанию длины строки.(Тома)
- •7. Вывести на экран 5 строк, введённых с клавиатуры и отсортировать методом пузырька по алфавиту.(Макс Пугачёв)
Найти подстроку в заданной строке (Егор)(Как мне кажется, найти подстроку в строке это значит найти индекс с которого начинается подстрока в строке)
Program Exam1;
uses crt;
var str:string; {Введённая с клавиатуры строка}
podstr:string; {Введённая с клавиатуры подстрока}
{Т.к
нам необходимо вернуть значение позиции
i
в осн. про-ме, то пишем её с var}
Procedure Obrab (var i1:byte;str1,podstr1:string);
{Pos
Возвращает позицию первого появления
подстроки postr
в сттроке str}
i1:=pos(podstr1, str1);
end;
begin {Начало основной программы}
clrscr; {Очистка экрана}
{Вводим данные: строку и подстроку}
write('Vvedite stroku ');{Выводит предложение: Vvedite stroku}
readln(str); {Читает введённую строку}
write('Vvedite podstroku ');{Выводит преложение: Vvedite podstroku}
readln(podstr);{Читает введённую подстроку}
Obrab(i,str,podstr); {Вызываем процедуру обработки и возвращаем индекс i}
writeln('Podstroka soderzhitsa v stroke nachinaya s ',i,'-oi/ei pozitsii');
readkey;
end.
Сформировать двумерный массив из случайных чисел и вывести первый столбец. (Гена) (в задании может быть ещё вывести строку, и ещё в заданиях встречается «вывести вектор», вектор-это и есть одномерный массив, т.е строка или столбец)
Program Exam2;
uses crt;
const n=4; m=5; {n - кол-во строк, m - кол-во столбцов}
type Mas=array[1..n,1..m] of byte; {Объявляем тип двумерный массив с элементами типа байт (по условию массив из чисел)}
var i,j:byte; A:Mas;{переменная A-двумерный массив,i,j-счётчики цикла For}
Procedure Obrab (A1:Mas);{Проц-ра обр-ки массива,входной параметр A1-массив из случайных чисел}
begin
For i:=1 to n do {цикл делаем по i т.к i-номер строки и он изменяется} write(A1[i,1]:3); {Выводим элемент массива}
{Начало
основной программы} {Инициализация
генератора случайных чисел (чтобы при
каждом запуске выводились новые
случайные числа)}
{j=1
т.к выводим первый столбец}
begin clrscr;
Randomize;
{В
двойном цикле заполняем массив
случайными числами и выводим его}
{Элементу
массива присваиваем случайное число} {Выводим
элемент массива}
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-счётчик,
считает кол-во встречающихся в файле
букв «а»}
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 if
c1='a'then
inc(k1)
– и если этот символ c1 равен букве «а»,
тогда к счётчику прибавляем единицу.}
while not eof(f) do
begin
read(f,c1);
if c1='a'then inc(k1);
end;
end;
begin clrscr; {Начало основной программы}
{Приглашение
на ввод имени файла и чтение имени}
{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)
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(наш файл); с-символ
который читаем при чтении файла
{Тип
возвращаемого результата}
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;
begin clrscr;
write('Vvedite imya faila ');{Приглашение на ввод имени файла}
{assign
связывает файловую переменную f с
конкретным файлом nameoffile.txt reset(f)
открывает только для чтения файл,
связанный с файловой переменной f. Вызываем
функцию путём присвоения переменной,
её имени
s:=Obrab(f,c)(Возвращает
первый символ) close(f)
закрываем файл writeln('Pervii
simvol
faila:
',s)-
выводим сообщение и первй символ}
assign(f,nameoffile);
reset(f);
s:=Obrab(f,c);
close(f);
writeln('Pervii simvol faila: ',s);
readkey;
end.
{f-файловая
переменная типа text(наш файл); с-символ
который читаем при чтении файла
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.:
Конник может придраться, если в условии
задания было прописано, что выходным
параметром явл-ся символ, а выводится
элемент строки.
begin
i1:=1;
while not eof(f1) do
begin
read(f1,c1);
str1[i1]:=c1;
inc(i1);
end;
end;
begin clrscr; {Начало основной программы}
write('Vvedite imya faila ');{Приглашение на ввод имени файла}
{Связываем
файловую переменную f
с файлом nameoffile}
assign(f,nameoffile);
reset(f);{Открываем файл для чтения}
Obrab(f,c,str,i);{Вызов процедуры}
writeln('Poslednii simvol faila: ',str[i-1]);{Выводим элемент строки}
close(f);{Закрываем файл}
readkey;
end.