М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
edkoll79p04ynu
edkoll79p04ynu
06.08.2021 06:42 •  Информатика

C++ алгоритм сортировки простыми вставками (по возрастанию). 1. создание полного пути к файлу или директории char *combinepath(const char *directorypath, const char *filename); 2. рекурсивный обход всех файлов и директорий каталога directorypath с использованием функций _findfirst() и _findnext() и выполнение для каждого файла и каталога функции, переданной с указателя fileobjectprocessor typedef bool (*fileobjectprocessor)(bool isdirectory, const char *fileobjectpath); bool traversedirectory(char *directorypath, fileobjectprocessor fileobjectprocessor); функция обратного вызова, передаваемая при указателя типа fileobjectprocessor, должна возвращать true, если следует продолжать дальнейшую обработку файлов. функция traversedirectory должна возвращать true, если для всех файлов и каталогов функция, передаваемая при указателя типа fileobjectprocessor, вернула true, в противном случае она должна вернуть false. 3. на базе функции traversedirectory реализовать функцию, которая создаст в каждом каталоге, имя которого содержит вашу фамилию, дочерние папки с именами «самостоятельные работы», «контрольные работы» и «практические ». для этого необходимо реализовать функцию создания в указанном каталоге (директории) directorypath папки с именем subdirectoryname (не содержит слешей). bool createdirectory(const char *directorypath, const char *subdirectoryname); функция должна выполнить создание всех отсутствующих в файловой системе частей в directorypath. 4. на базе функции traversedirectory реализовать функции, которые выполняют переименование дочерних папок и файлов, которые содержат вашу фамилию. вместо фамилии в имени папки и файла должно появиться ваше фамилия, имя и отчество. например, папка «петухова» должна стать папкой «петухова надежда николаевна». для этого необходимо реализовать функции переименования файла или каталога (директории): bool renamefile(const char *originalfilepath, const char *newfilename); bool renamedirectory(const char *originaldirectorypath, const char * newdirectoryname); 5. на базе функции traversedirectory реализовать функцию копирования файлов, содержащих вашу фамилию, из исходной директории в целевую директорию с сохранением исходной структуры каталогов (каталоги, не содержащие в себе либо в дочерних каталогах файлов с вашей фамилией, не должны создаваться при копировании). для копирования файлов должна быть реализована и использована функция copyfile, копирующая содержимое файла sourcefilepath в новый файл newfilepath. bool copyfile(const char * sourcefilepath, const char *destinationfilepath, int blocksize); копирование должно осуществляться блоками размером blocksize. провести экспериментальную оценку скорости копирования для блоков разного размера (1 байт, 4096 байтов, 5000 байтов, 65536 байтов). 6. на базе функции traversedirectory реализовать функцию, определяющую количество файлов и размеры файлов в директории. возможно, для этого нужно будет изменить вид функции обратного вызова, передаваемой при указателя. 7. на базе функции traversedirectory реализовать функцию, выполняющую сортировку n целочисленных элементов (в тестах задать n равным номеру варианта + 10), содержащихся по смещению n байтов от начала файла (результат должен быть сохранен в том же файле), в дочерних директориях, содержащих вашу фамилию. при сортировке запрещено использовать временный буфер для чтения и записи из файла размером больше чем sizeof(int). алгоритм сортировки определяется номером варианта.

👇
Открыть все ответы
Ответ:
Polly2970
Polly2970
06.08.2021

Есть конструкция for:

for (init-expression; cond-expression; loop-expression)

действие

init-expression - выражение, которое выполняется лишь раз при старте цикла, например, чтобы задать начальное значение счетчика.

cond-expression - условие, которое проверяется перед каждой итерацией.

loop-expression - выражение, которое выполняется после каждой итерации.

Данный вид цикла может как выполняться, так и нет, в зависимости от истинности условия.

Есть конструкция while:

while (cond-expression)

действие

cond-expression - условие, которое проверяется перед каждой итерацией.

Данный вид цикла может как выполняться, так и нет, в зависимости от истинности условия.

Есть конструкция do-while:

do {

действие

} while (cond-expression)

cond-expression - условие, которое проверяется после каждой итерацией.

Данный вид цикла выполняется минимум один раз

4,5(19 оценок)
Ответ:
Tractorust
Tractorust
06.08.2021

1) 2304 КБайт

2) 5625 КБайт, видеокарта на 64 МБайт

3) 112,5 МБайт

Объяснение:

Задача 1:

16 777 216 = 2^i,   i = 24

I = 1024 * 768 * 24 = 2^10 * 3 * 2^8 * 24 битов =

= 72 * 2^18 битов  = 72 * 2^15 байтов = 72 * 2^5 Кбайт = 72*32 КБайт =

= 2304 КБайт

Задача 2:

16 777 216 = 2^i,   i = 24

I = 1600 * 1200 * 24 = 100 * 2^4 * 75 * 2^4 * 24 битов =

= 25 * 2^2 * 2^4 * 75 * 2^4 * 3 * 2^3 битов = 25*75*3* 2^13 битов  = 5625* 2^10 байтов = 5625* 2^0 Кбайт = 5625 КБайт ≈ 5,5 МБ

Подойдет видеокарта на 64 Мбайт.

Задача 3:

75 Гц, значит в одной секунде 75 кадров.

Объем данных, передаваемых в секунду от видеопамяти к монитору:

75 * 16 * 1024 * 768 = 75 * 2^4 * 2^10 * 3 * 2^8 = 225 * 2^22 битов =

= 225 * 2^19 байт = 225 * 2^9 КБайт = 112,5 * 2^10 КБайт = 112,5 * 2^0 МБайт = 112,5 МБайт

4,4(35 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ