Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа 6

.doc
Скачиваний:
45
Добавлен:
02.05.2014
Размер:
137.22 Кб
Скачать

Уфимский государственный авиационный технический университет

Кафедра информатики

Лабораторная работа №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