Дан файл с учебным расписанием. Написать программу, которая определяет количество лекционных, практических и лабораторных занятий. Вывести их количество на экран.
Если в каждой строке файла может встретится только одно из трех слов ("лекц.", "практ." и "лаб."), то если находится первое слово, нет надобности искать остальные. Поэтому следует использовать ветку else.
Функция pos() ищет вхождение подстроки в строку и возвращает номер первого символа подстроки в строке. Если подстрока не была найдена, то возвращается 0.
var f: text; s: string; i, lect, pract, lab: byte; begin assign(f,'lessons.txt'); reset(f); lect := 0; pract := 0; lab := 0; while not Eof(f) do begin readln(f,s); i := pos('лекц.',s); if i 0 then lect := lect + 1 else begin i := pos('практ.',s); if i 0 then pract := pract + 1 else begin i := pos('лаб.',s); if i 0 then lab := lab + 1 end; end; end; close(f); writeln('Лекций: ', lect); writeln('Практических: ', pract); writeln('Лабораторных: ', lab); end.
Пример обрабатываемого файла:
Понедельник
Физика (лекц.)
Физика (лаб.)
Алгебра (практ.)
Вторник
Геометрия (лекц.)
Физика (практ.)
Физика (лаб.)
Физкультура (практ.)
Среда
Алгебра (лекц.)
Алгебра (практ.)
Геометрия (практ.)
Четверг
Теория струн (лекц.)
Моделирование (лаб.)
Психология (лекц.)
Физкультура (практ.)
Пример работы программы:
Лекций: 5 Практических: 6 Лабораторных: 3
Последние комментарии
1 день 7 часов назад
2 дня 9 часов назад
2 дня 10 часов назад
2 дня 16 часов назад
3 дня 7 часов назад
3 дня 9 часов назад
5 дней 6 часов назад
6 дней 9 часов назад
1 неделя 3 дня назад
1 неделя 3 дня назад