BMOSP/HOMEWORK.md

4.4 KiB
Raw Permalink Blame History

Задания для домашней работы

Ковальски, анализ

Напишите программу, которая использует функцию sys_get_info для получения информации о текущей системе.

Выведите полученную информацию в удобочитаемом формате.

Что мы можем?

Напишите программу, которая использует функцию sys_get_module для получения информации о произвольном модуле.

Выведите полученную информацию на экран.

От 1 до миллиона

Напишите программу, которая использует функцию mem_alloc для выделения блока памяти размером 4000000 байт.

Заполните этот блок памяти числами от 1 до 1 000 000 и найдите сумму всех чисел.

Используйте функцию mem_free для освобождения блока памяти. Проверьте, что блок памяти успешно освобожден.

Улыбочку

Напишите программу, которая использует функцию sys_alloc_framebuffer для выделения памяти под буфер кадра.

Затем нарисуйте смайлик заполняя буффер.

Используйте функцию sys_free_framebuffer для освобождения памяти.

Многопоточность

Напишите программу, которая использует функцию sys_new_thread для создания нового потока выполнения.

В этом потоке выполнения реализуйте алгоритм сортировки массива чисел. Выведите отсортированный массив на экран. Используйте функцию sys_exit для завершения выполнения потока или функцию sys_delete_thread для удаления потока выполнения.

Матрица

Напишите программу, которая использует двумерный массив для создания и отображения матрицы размером 3x3.

Попросите пользователя ввести значения элементов матрицы, а затем выведите ее на экран.

Проверка на палиндром

Напишите программу, которая проверяет, является ли введенная пользователем строка палиндромом.

Палиндром - это строка, которая читается одинаково слева направо и справа налево. Выведите сообщение "Это палиндром" или "Это не палиндром" в зависимости от результата проверки.

Проверка на анаграмму

Напишите программу, которая проверяет, являются ли две введенные пользователем строки анаграммами, то есть состоят ли они из одних и тех же символов. Выведите сообщение "Это анаграммы" или "Это не анаграммы" в зависимости от результата проверки.

Генератор псевдослучайных чисел

Напишите программу, которая генерирует и выводит на экран псевдослучайное число от 1 до 100.

Пример функции для генерации псевдослучайных чисел:

static unsigned long int next = 1;

int rand() {
    next = next * 1103515245 + 12345;
    return (unsigned int)(next / 65536) % 32768;
}

Перевод числа в двоичную систему счисления

Напишите программу, которая позволяет пользователю ввести число в десятичной системе счисления и выводит его в двоичной системе счисления.