Определить, сколько раз в тексте встречаются заданные слова

Задача

Дан файл с учебным расписанием. Написать программу, которая определяет количество лекционных, практических и лабораторных занятий. Вывести их количество на экран.

Решение

 

Описание переменных: 

  • f - файловая переменная;
  • s - очередная строка текста файла;
  • i - сохранение результата от функции pos();
  • lect, pract, lab - счетчики слов.

Алгоритм решения задачи: 

Если в каждой строке файла может встретится только одно из трех слов ("лекц.", "практ." и "лаб."), то если находится первое слово, нет надобности искать остальные. Поэтому следует использовать ветку 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

 

Тема

Файлы

Уровень

Комбинированные задачи

Теги

Добавить комментарий