Skip to content

Latest commit

 

History

History
105 lines (78 loc) · 4.02 KB

File metadata and controls

105 lines (78 loc) · 4.02 KB

Отчет по лабораторной работе N 11 по курсу

"Фундаментальная информатика"

Студент группы: M80-113Б, Зякин Данил Вадимович
Контакты: zyakindaniil@gmail.com
Работа выполнена: 20.11.2021
Преподаватель: Довженко Анастасия Александровна

1. Тема

Обработка последовательности литер входного текстового файла

2. Цель работы

Составить программу на языке Си, выполняющую анализ и обработку вводимого текста в соответствии с выданным преподавателем вариантом занятия

3. Задание

Вариант 10 Отделить пробелом слова, находящиеся вплотную к концу строки и к началу строки

4. Оборудование

Процессор: Intel Core i5-8265U @ 8x 3.9GH
ОП: 6 Гб
НМД: 1024 Гб
Монитор: 1920x1080\

5. Программное обеспечение

Операционная система семейства: Windows, версия 10
Онлайн компилятор C
Текстовый редактор: Sublime Text 3

6. Идея, метод, алгоритм решения задачи

Сделать переключатель новой строки
Начать считывать и обрабатывать каждый символ
Если новая строка, то поставить пробел
Если символ - возврат каретки - поставить пробел перед ней
Остальные символы просто вывести
В конце перевести каретку

7. Сценарий выполнения работы

№ теста Ввод Вывод
1 "chair table sofa\npillow" " chair table sofa \n pillow "
2 "abc" " abc "
3 "123 525 a" " 123 525 a "
4 "" " "

8. Распечатка протокола

#include<stdio.h>

typedef enum {
    NEWCARETE = '\n',
    OTHER
} State;
int main(void)
{

    char ch;
    State state1;
    printf(" ");
    while ((ch = getc(stdin)) != EOF) {
        if (ch == '\n') {
            state1 = NEWCARETE;
        } else {
            state1 = OTHER;
        }
        switch (state1) {
            case NEWCARETE:
                putchar('\n');
                putchar(' ');
                break;
            case OTHER:
                printf("%c", ch);
                break;
        }
    }
    printf(" \n");
    return 0;
}

9. Дневник отладки

Лаб. или дом. Дата Время Событие Действие по исправлению Примечание
1 Дом 20.11.2021 08:44 Ошибка компиляции Подправил код Мне грустно
2 Дом 20.11.2021 08:45 Нарушение правил оформления программ Помучался с бесполезным style-checker'ом Мне грустно
3 Дом 20.11.2021 09:36 ОК Нет нужды Kono мне грустно da

10. Замечания автора по существу работы

Уберите проверку стиля текста ради всего святого

11. Выводы

Работа мне почти понравилась, ибо style-checker всё портит. Из нового узнал функцию putchar, а также успел познакомиться с регулярными выражениями и конечными автоматами, а также возненавидить последние