Лабораторная работа 6
.docУфимский государственный авиационный технический университет
Кафедра информатики
Лабораторная работа №6
Строки и записи
Уфа – 2004
Проверить, встречается ли в заданном предложении словосочетание «Остаток счета» (Программа №1)
Вывести на экран анкетные данные студентов, получивших во вторую сессию все оценки 5. N = 7. (Программа №2)
Блок-схема алгоритма программы №1
Блок-схема алгоритма к программе №2
Таблица используемых значений в программе №1
Имя |
Тип |
Назначение переменной |
Описание |
a1 |
string |
входящая |
Исходная строка |
a2 |
string |
внутренняя |
Искомое словосочетание |
k |
integer |
внутренняя |
Позиция, начала второго предложения |
Таблица используемых значений в программе №2
Имя |
Тип |
Назначение переменной |
Описание |
|
s |
record |
внутренняя |
Сохранение сведений о студенте |
|
fam |
string [30] |
входящая |
Фамилия студента |
|
kurs |
integer |
входящая |
№ курса |
|
gruppa |
String [10] |
входящая |
Группа студента |
|
a1 |
2..5 |
входящая |
Первая оценка |
|
a2 |
2..5 |
входящая |
Вторая оценка |
|
a3 |
2..5 |
входящая |
Третья оценка |
|
a4 |
2..5 |
входящая |
Четвертая оценка |
|
TBL |
array [1..7] |
внутренняя |
Массив |
|
i |
integer |
внутренняя |
№ студента |
|
x |
integer |
внутренняя |
№ студента |
|
y |
record |
внутренняя |
Промежуточная запись |
|
m |
integer |
входящая |
Число студентов |
|
pr |
integer |
входящая |
Для повт. запуска программы |
|
z |
integer |
входящая |
Счетчик (для однокр. вывода инф. на экран) |
Текст программы №1
program progr1;
uses wincrt;
Var a1,a2:string;
k:integer;
begin
write ('Введите предложение:);
readln (a1);
a2:=' остаток счета';
k:=pos(a2,a1);
if k=0 then writeln('Словосочетания не имеется в данном предложении')
else writeln('Словосочетание имеется в данном предложении');
readln;
end.
Результат работы программы:
Введите предложение: Ваш остаток счета переведен
Словосочетание имеется в данном предложении
Текст программы №2
program progr2;
type s=record
fam: string [30];
kurs: integer;
gruppa: string [10];
a1,a2,a3,a4: 2..5;
end;
var tbl: array [1..255] of s;
i,m,x,z,pr:integer;
begin
clrscr;
REPEAT
WRITELN ('‚Введите число обучаемых студентов:');
READLN (m);
FOR I:= 1 TO M DO
WITH TBL[I] DO
BEGIN
WRITELN('‚Введите фамилию студента №',i,':');
READLN (FAM);
WRITELN ('‚Введите курс, на котором обучается ',i,' студент:');
readln(kurs);
WRITELN ('‚Введите группу, в которой обучается ',i,' студент:');
readln (gruppa);
WRITELN('Введите результат экзаменов’,I,’ студента во втором семестре(4 оценки через пробел или <Enter>):');
READLN (a1,a2,a3,a4);
END;
z:=0;
for x:=1 to m do begin
with TBL[x] do
if (a1=5) and (a2=5) and(a3=5) and(a4=5) then begin
z:=z+1;
if z=1 then begin
writeln ('‘Список студентов, получившие во второй сессии только оценки «5»:');
writeln ('Фамилия Курс Группа');
end;
writeln (fam,' ',kurs,' ',gruppa);
end;
if (x=m) and(z=0) then
writeln ('Студенты, получившие все оценки «5» во втором семестре отсутствуют');
end;
WRITELN ('Обработать еще один список?(1- да, 0 - нет)');
READLN(PR);
UNTIL PR=0
end.
Результат работы программы:
Введите число обучаемых студентов: 7
Введите фамилию студента №1: Иванов
Введите курс, на котором обучается 1 студент: 3
Введите группу, в которой обучается 1 студент: AЭ-315
Введите оценки студента за семестр: 5 3 4 4
Введите фамилию студента №2: Петров
Введите курс, на котором обучается 2 студент: 2
Введите группу, в которой обучается 2 студент: АД-211
Введите оценки студента за семестр: 5 4 5 4
Введите фамилию студента №3: Сидоров
Введите курс, на котором обучается 3 студент: 2
Введите группу, в которой обучается 3 студент: ТП - 218
Введите оценки студента за семестр: 3 4 3 3
Введите фамилию студента №4: Васечкин
Введите курс, на котором обучается 4 студент: 1
Введите группу, в которой обучается 4 студент КС- 114
Введите оценки студента за семестр: 5 5 5 5
Введите фамилию студента №5: Иваненко
Введите курс, на котором обучается 5 студент: 3
Введите группу, в которой обучается 5 студент: АМ-319
Введите оценки студента за семестр: 4 5 4 4
Введите фамилию студента №6: Пушкин
Введите курс, на котором обучается 6 студент: 4
Введите группу, в которой обучается 6 студент: АГ-409
Введите оценки студента за семестр: 4 4 4 5
Введите фамилию студента №7: Кудрявцев
Введите курс, на котором обучается 7 студент: 1
Введите группу, в которой обучается 7 студент: КД-120
Введите оценки студента за семестр: 3 4 4 4
Список студентов, получившие во второй сессии только оценки «5»:
Фамил. Курс Группа
Васечкин 1 КС-114
Обработать еще один список?(1- да, 0 - нет) 0