Giter Site home page Giter Site logo

os-n's Introduction

OS-N

Кулиженко Владислав

753503

Лабораторная работа №1 (1.3.1)

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

После проверки необходимо открыть исходный файл, прочитать его блоками по 256 байт, зашифровать при помощи своей фамилии и зашифрованные данные сохранить в результирующем файле. Для шифрования использовать функцию ХОR для соответствующих байтов фамилии и данных

Лабораторная работа №2 (2.3.2)

При помощи анализа цепочек выяснить, какой из файлов корневого каталога занимает наибольшее число кластеров. Имя этого файла показать на экране.

Лабораторная работа №3 (3.3.3)

Создать двоичное дерево, хранящее числа. Каждый элемент дерева должен хранить число и "левую" и "правую" ссылки на нижестоящие элементы. Необходимо реализовать алгоритмы добавления числа в двоичное дерево и удаления числа из него. Пользователю должны быть доступны следующие функции: добавить число, удалить число, очистить дерево, показать содержимое дерева на экране. При выводе на экран показывать дерево в виде строки вида: содержимое родителя (содержимое левой ветви, содержимое правой ветви); для каждой из ветвей функция вывода должна быть вызвана рекурсивно.

Лабораторная работа №4 (4.3.4)

Перекрыть прерывание клавиатуры и сделать так, чтобы вместо каждой введённой цифры вводилось две. Например, вместо "1" получалось "11".

Лабораторная работа №5

Запрограммировать клавиатурный шпион. Данная программа должна накапливать у себя в памяти вводимые пользователем символы и с заданной периодичностью (например 20 с.) сохранять их в файл spy.txt. Перехватываемые прерывания – клавиатура и таймер. Должна быть обязательная проверка занятости DOS и данные должны сохраняться только когда система свободна. Должны быть решены проблемы повторного вхождения в прерывания DOS. Должна быть реализована возможность корректного удаления обработчика (допустимо не удалять резидент полностью, а заменять обработчик заглушкой). Должна также выполняться проверка повторной установки (предлагается использовать при помощи мультиплексного прерывания).

Лабораторная работа №6

Написать программу, которая создает окно с собственными курсором и иконкой. В главное меню добавить подменю с двумя пунктами Start и Stop. При нажатии на пункт меню Start в окне должна появиться движущаяся по середине окна надпись. После этого выбор пункта меню Stop должно приостанавливать движение надписи, а пункта Start – возобновлять. Для реализации движения использовать обработчик сообщения WM_PAINT и таймер.

Лабораторная работа №7

Написать программу, которая создает окно с двумя элементами управления ListBox, одним Edit и четырьмя Button (Add, Clear, ToRight и Delete). При нажатии на кнопку Add текст из Edit должен добавляться в первый ListBox, если такого текста там еще нет (необходимо выполнить проверку). Нажатие кнопки Clear очищает оба ListBox-а. Нажатие кнопки ToRight копирует выделенную строку из первого ListBox во второй (если там еще нет такой строки). Нажатие кнопки Delete удаляет выделенные строки в каждом из ListBox-ов.

Лабораторная работа №8

Написать программу, которая создает окно с двумя элементами управления типа самоотрисовывающейся кнопки (OWNERDRAW), для каждой из которых должен быть задан какой-нибудь рисунок. При нажатии на первую из них в окне выводится рисунок, состоящие не менее чем из двадцати графических примитивов (линия, дуга, полигон, прямоугольник, эллипс – каждый из перечисленных примитивов должен быть использован хотя бы два раза). Вторая из кнопок должна стирать данный рисунок.

Лабораторная работа №9

В графическом редакторе сделать несколько (например четыре) изображений движущегося объекта небольшого размера (например 32×32 пикселя). Реализовать поочередное отображение их в заданной позиции в окне. При щелчке "мышью" начинается движение объекта из текущей позиции в позицию указателя "мыши" с поочередной сменой изображений для имитации фаз движения. При отрисовке используются "теневые" контексты.

Лабораторная работа №10

Написать две программы, каждая из которых создает окно. На первом из них должны быть созданы две группы RadioButton. В первой из них имеется выбор из трех цветов: красный, синий, зеленый. Во второй – из четырех типов примитивов: ромб, квадрат, круг, звезда. Также на первом окне должен быть создан Checkbox c надписью Draw. Информация об изменениях состояния данных Checkbox и RadioButtons должна передаваться во второе окно. При щелчке мышкой по второму окну проверяется переданная информация о состоянии CheckBox. Если он не выбран, ничего не происходит; если он выбран, то в точке щелчка мышки рисуется выбранный во второй группе RadioButtons примитив цветом, выбранным в первой из групп.

Лабораторная работа №11 (11.3.1)

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

Лабораторная работа №12 (12.3.4)

На главном окне необходимо создать Edit каждый из трёх поток должен пытаться установить туда соответствующий текст: String1, String2, String3. Реализовать синхронизацию доступа через Mutex, а потом ерез Semaphore.

os-n's People

Contributors

coolizh avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.