-
Notifications
You must be signed in to change notification settings - Fork 0
okovtun/VBD_311
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
https://github.com/okovtun/VBD_311 https://www.youtube.com/watch?v=-0offnnEWa0&list=PLeqyOOqxeiIODTb1UOPGYMkMS8eP-Pf-x TODO: В проекте 'Strings' написать следующие функции: ??? string_length(???); //возвращает размер строки DONE ??? to_lower(???); //переводит строку в нижний регистр DONE ??? to_upper(???); //переводит строку в верхний регистр DONE ??? shrink(???); //удаляет из строки лишние пробелы DONE //Хорошо живет на свете Винни Пух //Хорошо живет на свете Винни Пух ??? is_palindrome(???) //Определяет, является ли строка палиндромом DONE ??? is_int_number(???) //определяет, является ли строка целым числом DONE ??? to_int_number(???) //Если строка является целым числом, возвращает его значение DONE ////////////////////////////////////////////////////////////////////////////////////////// ////////////////// Pointers ////////////////// ////////////////////////////////////////////////////////////////////////////////////////// TOREAD: 1. https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%BD%D0%B3%D0%B5%D1%80%D1%81%D0%BA%D0%B0%D1%8F_%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F 2. https://legacy.cplusplus.com/doc/tutorial/pointers/ TODO: В проекте 'DynamicMemory' от ветки 'DynamicTemplates' созадть ветку 'DynamicOptimisation', и в этой ветке оптимизировать функции для работы с двумерными массивами. TODO: 1. В Solution 'Pointers' добавить проект 'Split', и в этом проекте массив из 10 элементов, DONE заполненный случайными числами разделить на два массива: 'even' и 'odd', в массив 'even' скопировать все четные элементы, а в массив 'odd' - все нечетные элементы. Массивы 'even' и 'odd' должны быть минимально возможного размера. 2. Вынести код, добавляющий значение в конец массива в функцию ??? push_back(???); DONE 3. В проект 'DynamicMemory' добавить следующие функции: ??? push_front(???); //добавляет значение в начало массива DONE ??? insert(???); //вставляет значение в массив по заданному индексу ??? pop_back(???); //удаляет последний элемент массива ??? pop_front(???); //удаляет нулевой элемент массива ??? erase(???); //удаляет элемент из массива по заданному индексу 4. В проект 'DynamicMemory' добавить следующие функции: ??? Allocate(???); //выделяет память под двумерный динамиеский массив DONE ??? Clear(???); //удаляет двумерный динамиеский массив из памяти DONE ??? push_row_back(???); //добавляет строку в конец массива DONE ??? push_row_front(???); //добавляет строку в начало массива ??? insert_row(???); //вставляет строку в массив по указанному индексу ??? pop_row_back(???); //удаляет последнюю строку из массива DONE ??? pop_row_front(???); //удаляет нулевую строку из массива ??? erase_row(???); //удаляет строку из массива по заданному индексу ??? push_col_back(???); //добавляет столбец в конец массива ??? push_col_front(???); //добавляет столбец в начало массива ??? insert_col(???); //вставляет столбец в массив по указанному индексу ??? pop_col_back(???); //удаляет последний столбец из массива ??? pop_col_front(???); //удаляет нулевой столбец из массива ??? erase_col(???); //удаляет столбец из массива по указанному индексу ////////////////////////////////////////////////////////////////////////////////////////// ////////////////// Functions ////////////////// ////////////////////////////////////////////////////////////////////////////////////////// TODO: 1. В проекте 'Functions\Functions' написать функцию ??? Power(???), которая возводит число в степень; 2. В проекте 'Functions\Arrays' написать следующие функции: ??? Sum(???); //возвращает сумму элементов массива ??? Avg(???); //возвращает среднее-арифметическое элементов массива ??? minValueIn(???);//возвращает минимальное значение из массива ??? maxValueIn(???);//возвращает максимальное значение из массива ??? Sort(???); //сортирует массив в порядке возрастания ??? ShiftLeft(???); //циклически сдвигает массив на заданное число элементов влево ??? ShiftRight(???);//циклически сдвигает массив на заданное число элементов вправо 3. Перегрузить все эти функции для типов данных 'char' и 'double'; 4. Перегрузить все эти функции для двумерных массивов типа 'int', 'double' и 'char'; 5. Вынести шаблонные функции в *.lib-файл: https://docwiki.embarcadero.com/RADStudio/Sydney/en/Exporting_And_Importing_Templates DONE: 0. Загрузить все ISO-образы в папку Images: https://drive.google.com/drive/folders/1bGrU2-z1rWnStI0XMWXCyV5wDYsnD1mv?usp=sharing 1. Что такое файл подкачки и виртуальная память; 2. Создать еще одну виртуальную машину и установить в нее Windows Server 2003; DONE: 1. Используя побитовые операции поменять местами две переменные без использования третьей; 2. В проекте 'Arrays' написать код, который: -позволяет ввести элементы массива с клавиатуры; -выводит массив на экран в прямом порядке (от 0-го элемента до последнего); -выводит массив на экран в обратном порядке (от последнего элемента до 0-го); -вычисляет сумму элементов массива; -вычисляет среднее-арифметическое элементов массива; -находит минимальное и максимальное значение в массиве; 3. В Solution 'Arrays' добавить проект 'Shift', и в этом проете массив из 10 элементов, проинициализированный числами Фибоначчи необходимо циклически сдвинуть на заданное число элементов влево. Например: 0 1 1 2 3 5 8 13 21 34 Исходный массив 1 1 2 3 5 8 13 21 34 0 1 2 3 5 8 13 21 34 0 1 2 3 5 8 13 21 34 0 1 1 3 5 8 13 21 34 0 1 1 2 4. В проекте Shift выполнить циклический сдвиг массива на заданное число элементов вправо. Images: https://drive.google.com/drive/folders/1bGrU2-z1rWnStI0XMWXCyV5wDYsnD1mv?usp=sharing https://drive.google.com/file/d/1fldruT1mC5kGLd7GWu2fU4QVFmd2WL2s/view?usp=drive_link BootFlash TODO: 1. http://citforum.ru/operating_systems/linux/user/gl-02/gl_02_03.shtml; 2. https://www.ntfs.com/ntfs-partition-boot-sector.htm; TODO: 5 проектов на свое усмотрение залить на github.com. В журнал прислать ссылку на свой GitHub. HDD: 1. Почитать про RAID-массивы; 2. https://www.youtube.com/watch?v=7onkTUts_-w&t=218s; 3. https://www.youtube.com/watch?v=REeeBywe8_Y&t=140s; 4. https://www.youtube.com/watch?v=QIhJkzlCuws; Cooling: 1. https://www.youtube.com/watch?v=A8KJwdVKTok&pp=ygUw0Y3RgtC-0YIg0LrQvtC80L_RjNGO0YLQtdGAINC-0YXQu9Cw0LbQtNC10L3QuNC1; 2. https://www.youtube.com/watch?v=AK3AyXErB1Y; 3. https://www.youtube.com/watch?v=Tidws9NKS6c&t=542s&pp=ygUw0Y3RgtC-0YIg0LrQvtC80L_RjNGO0YLQtdGAINC-0YXQu9Cw0LbQtNC10L3QuNC1; 4. https://www.youtube.com/watch?v=mALfZmxyOQ4&t=435s; 5. https://www.youtube.com/watch?v=FirsCzTnbdQ&pp=ygULSUhTIEhhc3dlbGw%3D; 6. https://www.youtube.com/watch?v=XXs0I5kuoX4&t=177s; PSU: https://ru.gecid.com/power/sovremennyee_bloki_pitaniya_atx_i_ih_harakteristiki/; TODO: 1. В Solution 'ControlStructures' добавить проект 'Shooter', и в этом проекте реализовать программу, DONE реагирующую на нажатие клавиш: w - впреред s - назад a - влево d - вправо space - прыжок enter - огонь 2. В Solution 'ConstrolStructures' добавить проект 'HomeWorkLoops', и в этом проекте решить следующие задачи: -возвести указанное число в указанную степень. Основание и показатель степени вводятся с клавиатуры; DONE -вывести на экран таблицу ASCII-символов по 16 символов в строке; DONE -вывести на экран ряд Фибоначчи до указанного предела; DONE -вывести на экран заданное количество членов из ряда Фибоначчи; DONE Ряд Фибоначчи строится из двух чисел - 0 и 1, и каждый следующий член ряда = сумме двух предыдущих: 0 1 1 2 3 5 8 13 21 -вывести на экран ряд простых чисел до заданного предела. DONE Простым называется число, которое делится только на себя и на 1. 3. В Solution 'ControlStructures' добавить проект 'Geometry', и в этом проекте вывести в консоль следующие фигуры: https://github.com/okovtun/BV_011/blob/master/ControlStructures/Geometria/Task/Geometria1.txt 4. https://github.com/okovtun/BV_011/blob/master/ControlStructures/Geometria/Task/ChessBoard.jpg 5. https://github.com/okovtun/BV_011/blob/master/ControlStructures/Geometria/Task/HardChess.jpg 5.1. Шахматную доску из пункта 5 сделать только двумя вложенными циклами; 6. Вывести на экран треугольник Паскаля; TODO: Подобрать комплектующие для Extreme Edition системы с 4-хканальным контроллером памяти. DONE: 1. Написать программу "Калькулятор", которая принимает выражение вида: 2+3 и вычисляет результат этого выражения; 2. Написать программу, в которую вводится целое число, и программа определяет, является ли это число палиндромом. Палиндром - это число, которое читается одинаково в обоих направлениях, например: 12321 1221 121 TODO: https://overclockers.ru/lab/show/96704/obzor-i-testirovanie-materinskoj-platy-evga-x299-dark https://www.amazon.co.uk/EVGA-X299-Intel-Motherboard-151-SX-E299-KR/dp/B079WCBP18?th=1 https://ru.gecid.com/mboard/asus_tuf_gaming_z790-pro_wifi/ Поверхностный эффект (Skin Effect); Изучить шины PCI-Express и USB TOREAD: http://www.softelectro.ru/ieee754.html TODO: 1. Выучить теорию. 2. Решить все задачи из файла: https://github.com/okovtun/VBD_311/blob/master/DataTypes/VariablesTask.pdf 3. Решить следующие задачи без испльзования компилятора: int i = 3; i = ++i + ++i; cout << i << endl; //Что будет выведено на экран? //------------------------------------------------ int i = 3; i = i++ + ++i; cout << i << endl; //------------------------------------------------ int i = 3; i = i++ + 1 + ++i*2; cout << i << endl; //------------------------------------------------ int i = 3; i = i++ + 1 + ++i*=2; cout << i << endl; //------------------------------------------------ int i = 3; i += i++ + 1 + ++i*=2; cout << i << endl; TODO: 1. Используя программы CPU-Z и AIDA-64 определить модель своего CPU, и его дополнительные наборы команд; 2. Используя программу AIDA-64 измерить производительность Кэша и памяти своего компьютера; 3. https://www.ixbt.com/cpu/x86-cpu-faq-2006.shtml https://www.ixbt.com/cpu/cpu-digest-2009.shtml 4. ark.intel.com https://www.intel.com/content/www/us/en/processors/processor-numbers.html TODO: 1. Выучить теорию! 2. Используя Escape-последовательности, вывести в окно консоли стишок "В лесу родилась Ёлочка" Стишок доолжен быть выровнен по середине окна консоли, и куплеты должны быть разделены пустой строкой; DONE: 1. Вычислить пропускные способности для памяти DDR4/DDR5; 2. Используя программу CPU-Z, определить конфигурацию и характеристики ОЗУ своего компьютера: Количество моддулей памяти, маркировку модулей, тип микросхем памяти (DDR3/DDR4/DDR5), производитель модулей памяти; https://www.cpuid.com/softwares/cpu-z.html 3. Используя программу AIDA-64, определить конфигурацию и характеристики ОЗУ своего компьютера: Количество моддулей памяти, маркировку модулей, тип микросхем памяти (DDR3/DDR4/DDR5), производитель модулей памяти; https://www.aida64.com/downloads/YmQ1ZDlhMjQ=
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published