- •1. Формулировка задачи
- •2. Представление данных и ограничения
- •3. Описание функций программы
- •3.1. Иерархическая схема
- •3.2. Прототипы функций
- •4. Алгоритм решения задачи
- •5. Тестовые наборы данных и реакции
- •6. Исходный текст программы
- •Описание тестирования программы
- •Анализ работы по решению задачи
3. Описание функций программы
3.1. Иерархическая схема
main - основная функция
printf - стандартный форматный вывод
scanf - стандартный форматный ввод
readwritefile – ввод и первичная обработка необходимых значений из файла
fopen – открытие файла для чтения
fgets – считывание символа из файла
strlen – нахождение длинны строки
printf - стандартный форматный вывод
printf - стандартный форматный вывод
fclose – закрытие файла
readwritecons - ввод и первичная обработка необходимых значений с клавиатуры
printf - стандартный форматный вывод
scanf - стандартный форматный ввод
fgets – считывание символа
mask – создание маски битового образа
raschet – подсчет количества вхождений битового образа в каждую из строк
printf - стандартный форматный вывод
vivod – вывод данных на экран или в файл
printf - стандартный форматный вывод (14 вызовов)
fopen – открытие файла для записи
fclose – закрытие файла
printf - стандартный форматный вывод
scanf - стандартный форматный ввод
3.2. Прототипы функций
Void readwritefile( b, l, m)
/*****
Вход: |
Значение ‘f’ переменной k. |
Действие: |
Считывает из файла строки в массив char d[dlina]. Длину строки записывает в массив int l[8]. Преобразует строки d в соответствующую ей ячейку массива int b[8]. Считает количество строк m. |
Выход: |
Массивы b, l и переменная m. |
*****/
;
Void readwritecons( b, l, m);
/*****
Вход: |
Значение ‘c’ переменной k. |
Действие: |
Считывает с клавиатуры строки в массив char d[dlina]. Длину строки записывает в массив int l[8]. Преобразует строки d в соответствующую ей ячейку массива int b[8]. Считает количество строк m. |
Выход: |
Массивы b, l и переменная m. |
*****/
;
Void mask(l, maska);
/*****
Вход: |
Длинна первой строки(битовый образ). |
Действие: |
Создает число из всех единиц единиц, количество которых равно количеству цифр в двоичной записи первого числа (маску). |
Выход: |
Переменная maska. |
*****/
;
Void raschet( b, l, c, m , maska);
/*****
Вход: |
Массивы b, l, maska и переменная m. |
Действие: |
Подсчитывает количество вхождений образа в строки и записывает в массив с. |
Выход: |
Массив с. |
*****/
;
Void vivod( b, l, c, m, k);
/*****
Вход: |
Массивы b, l, c и переменнst m и k. |
Действие: |
Выводит все полученные в ходе вычислений данные на экран или в файл. |
Выход: |
Нет. |
*****/
;
4. Алгоритм решения задачи
