BMOSP/HOMEWORK.md

70 lines
4.4 KiB
Markdown
Raw Normal View History

# Задания для домашней работы
## Ковальски, анализ
2023-10-21 21:33:09 +03:00
Напишите программу, которая использует функцию `sys_get_info` для получения информации о текущей системе.
Выведите полученную информацию в удобочитаемом формате.
## Что мы можем?
2023-10-21 21:33:09 +03:00
Напишите программу, которая использует функцию `sys_get_module` для получения информации о произвольном модуле.
Выведите полученную информацию на экран.
## От 1 до миллиона
2023-10-21 21:33:09 +03:00
Напишите программу, которая использует функцию `mem_alloc` для выделения блока памяти размером 4000000 байт.
Заполните этот блок памяти числами от 1 до 1 000 000 и найдите сумму всех чисел.
2023-10-21 21:33:09 +03:00
Используйте функцию `mem_free` для освобождения блока памяти. Проверьте, что блок памяти успешно освобожден.
## Улыбочку
2023-10-21 21:33:09 +03:00
Напишите программу, которая использует функцию `sys_alloc_framebuffer` для выделения памяти под буфер кадра.
Затем нарисуйте смайлик заполняя буффер.
2023-10-21 21:33:09 +03:00
Используйте функцию `sys_free_framebuffer` для освобождения памяти.
## Многопоточность
2023-10-21 21:33:09 +03:00
Напишите программу, которая использует функцию `sys_new_thread` для создания нового потока выполнения.
2023-10-21 21:33:09 +03:00
В этом потоке выполнения реализуйте алгоритм сортировки массива чисел. Выведите отсортированный массив на экран. Используйте функцию `sys_exit` для завершения выполнения потока или функцию `sys_delete_thread` для удаления потока выполнения.
## Матрица
Напишите программу, которая использует двумерный массив для создания и отображения матрицы размером 3x3.
Попросите пользователя ввести значения элементов матрицы, а затем выведите ее на экран.
## Проверка на палиндром
Напишите программу, которая проверяет, является ли введенная пользователем строка палиндромом.
Палиндром - это строка, которая читается одинаково слева направо и справа налево. Выведите сообщение "Это палиндром" или "Это не палиндром" в зависимости от результата проверки.
## Проверка на анаграмму
Напишите программу, которая проверяет, являются ли две введенные пользователем строки анаграммами, то есть состоят ли они из одних и тех же символов. Выведите сообщение "Это анаграммы" или "Это не анаграммы" в зависимости от результата проверки.
## Генератор псевдослучайных чисел
Напишите программу, которая генерирует и выводит на экран псевдослучайное число от 1 до 100.
Пример функции для генерации псевдослучайных чисел:
```C
static unsigned long int next = 1;
int rand() {
next = next * 1103515245 + 12345;
return (unsigned int)(next / 65536) % 32768;
}
```
## Перевод числа в двоичную систему счисления
Напишите программу, которая позволяет пользователю ввести число в десятичной системе счисления и выводит его в двоичной системе счисления.