Программирование с использованием строковых данных 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Программирование с использованием строковых данных



(Задания 91-120)

Задача 1

Дана последовательность из 45 символов. Подсчитать в этой последовательности количество вопросительных и восклицательных знаков.

Решение:

Program String_02;

Type

St=String[45]; {Определяем тип St – строка из 45 символов}

Var

A:St; {переменная типа St}

I,K:Byte;

Begin

Writeln('Введите строку символов:');

Readln(a); {чтение строки символов}

К:=0; {начальное значение суммы искомых символов}

For i:= 1 То Lenth(a) Do

If (a[i]='!') Or (a[i]= '?') Then К:= K+1; {Если i-ый символ строки равен ‘?’ или ’!’, то увеличиваем сумму на 1}

Wгiteln('Koличecтвo символов! и? в строке = ',k); {Вывод результата на экран}

End.

 

 


Пример2

Написать программу, которая заменяет все вхождения в строку символа '*' заданной подстрокой.

Решение

program Macro;

var sText: string [80]; {строка, в которой осуществляется поиск}

sArg: string [8]; {подстрока, на которую заменяются все символы ‘*’}

p: Integer; {переменная, указывающая позицию в строке искомого символа}

Begin

WriteLn('Введите sText и sArg:');

ReadLn(sText); {Чтение строки}

ReadLn(sArg); {Чтение подстроки}

p:= Pos('*', sText); {определяем позицию символа ‘*’}

while p <> 0 do

Begin

Delete(sText, p, 1); {Удаляем символ ‘*’}

Insert(sArg, sText, p); {Вставляем подстроку}

p:= Pos('*', sText); {Ищем следующий символ ‘*’}

end;

WriteLn('Выход:');

WriteLn(sText); {Вывод результата на экран}

end.


Программирование с использованием данных типа запись

(Задания 121-135)

Задача 1

Используя записи, написать программу, которая определит количество студентов, сдавших экзамен на 4 и 5 и выведет их фамилии.

Пусть имеется ведомость студентов одной группы с результатами сдачи экзамена по программированию:

№студ. Ф.ИО.           Оценка

1 Петров В.В.       5

2 ИвановСИ.        4

3 Чемоданов М.Т. 3

 Решение:

program zad 8;

{ Блок описания данных }

type v=record {определяем тип запись}

nom: Integer; {Номер студента}

fio: string[25]; {ФИО}

ball: integer  {Оценка}

end;

var

spisok: array[1..25] of v; {Одномерный массив содержащий элементы записи}

i,n,kol: integer;

{ Начало программы }

Begin

{ Ввод данных и подсчет студентов }

kol:=p;

writeln('введите кол-во студ. в группе:'); readhi(n); {Чтение кол-ва студентов}

for i:=l to n do

Begin

writeln('вводите данные след, студента');
With spisok[i] do {Ввод данных списка}

Begin

write('номер в списке:'); readln(nom); {номер студента}   

write('Ф.И.О: '); readln(fio); {ФИО студента}

write('оценка:');      readln(ball); {Оценка студента}

if ball >= 4 then kol:=kol+1; {Считаем кол-во студентов, чей балл выше 3}

 end;

end;

{ Вывод данных }

writeln ('кол-во студентов; сдавших экзамен на 4 и 5: ',kol); {Вывод кол-ва студентов, чей балл выше 3 на экран}

writeln('Ф.И.О. этих студентов:');

for i:=1 to n do begin {Выводим их ФИО}

with spisok[i] do

if ball>=4 then writeln(fio); {если балл выше 3, то выводим ФИО}

end;

end,

Файлы (Задания 136-150)

Задача1

Сформировать файл, состоящий из целых чисел 5,6,7,8,9.

Решение:

Program Number_1;

Var Fb: File Of Byte; {файловая переменная (файл состоит из целых чисел типа byte)}

I: Byte;

Begin

Assign(Fb, 'FileByte.Dat'); {Связываем файловую переменную с файлом на диске}

Rewrite(Fb); {Открываем файл для записи (создаем файл)}

For I:= 5 To 9 Do Write(Fb,I); {Записываем в файл числа от 5 до 9}

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

End.

 


Задача 2.

К файлу, созданному в предыдущем примере, добавить числа 20, 30,40.

Решение: 

 Program Number_2;

Var Fb:File Of Byte; {файловая переменная (файл состоит из целых чисел типа byte)}

I,A:Byte;

Begin

Assign(Fb,’TileByte.Dat'); {Связываем файловую переменную с файлом на диске}

Rewrite(Fb); {Открываем файл для записи (создаем файл)}

Seek(Fb,FileSize(Fb)); {переходим к последнему элементу файла}

For I:= 2 To 4 Do

Begin

A:=I*10;

Write(Fb,A) {Записываем в файл числа 20, 30, 40}

End;  Close(Fb); {Закрываем файл}

 End


Задача 3

Видоизменить содержимое файла, созданного в первом примере, заменив последние три элемента на числа 30,40, 50. Затем вывести на печать содержимое файла.

 Решение

Program Number_3;

Var Fb: File Of Byte; {файловая переменная (файл состоит из целых чисел типа byte)}

I,A:Byte;

Begin

Assign(Fb,’FileByte.Daf’); {Связываем файловую переменную с файлом на диске}

Rewrite(Fb); {Открываем файл для записи}

{Корректировка элементов}

For I:=3 To 5 Do

Begin

Seek(Fb,I-1); {}

Read(Fb,A);

A:=I*10;

Seek(Fb,I-l);

Write(Fb,A)

End;

{Печать элементов)

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

While Not Eof(Fb) Do {Пока не конец файла}

Begin

Read(Fb,A); {Читаем компоненту файла}

Write(A,"); {Выводим на экран}

End;

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

End.


Задача 4

Необходимо написать программу, которая формирует и выводит на экран дисплея текстовый файл Т,состоящий из девяти строк, в первой из которых содержится один символ "1", во второй - два символа "2",.,в девятой - девять символов "9". Файл будет создан и хранится на диске а: под именем tt. txt.

 Решение:

Program Zadanie_9;

   Var T:Text; {текстовая переменная}

   C,D: Char;

Begin

Assign(T,'a:tt.txt');  {связываем текстовую переменную с файлом на диске}

Rewrite(T); {Открываем файл для записи (создаем файл)}

For D:='1' To '9' Do

Begin

For С:= '1' To D Do

Write(T,D); {Записываем в файл}

Writeln(T);  {Перемещаемся на строку вниз}

End;

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

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

While Not Eof(T) Do {Пока не конец файла}

Begin

Read(T,C); {Читаем компоненту файла}

Write(C); {Выводим на экран}

End;

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

End.



Поделиться:


Последнее изменение этой страницы: 2020-12-09; просмотров: 64; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.118.198 (0.012 с.)