Системное программирование. ЛБ1. Отчет по лабораторной работе 1 по дисциплине Системное программирование
Скачать 89.5 Kb.
|
Министерство науки и высшего образования Российской Федерации ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» Факультет математики и информационных технологий Кафедра программного обеспечения вычислительной техники и автоматизированных систем ОТЧЕТ по лабораторной работе №1 по дисциплине «Системное программирование» Управление процессами в ОС Windows ОГУ 09.03.04.7021.910О
Оренбург 2021 Содержание 1 Цель работы, задачи 3 2 Блок схема разработанного алгоритма 4 3 Тестирование программы 5 4 Программный код 6 1 Цель работы, задачи Цель: Изучение процессов и потоков в операционной системе Windows. Задачи: 1. Изучение теоретического материала по управлению процессами. 2. Составление алгоритма программы. 3. Программная реализация. Вариант №18 Разработать две программы. Первая принимает от пользователя строку из нулей и единиц – «битовую строку», инвертирует ее, выводит на экран значение инвертированной строки, переводит ее в число в десятичном формате и выводит полученное число на экран. Вторая программа запускает первую в качестве вновь созданного процесса. 2 Блок схема 3 Тестирование Экранная форма разработанной программы представлена на рисунке 1. Рисунок 1- Выполненная программа 4 Листинг программы Программа для запуска вычислений в качестве вновь созданного процесса using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Diagnostics; namespace lb1_2 { class Program { static void Main(string[] args) { foreach (Process process in Process.GetProcesses()) { // выводим id и имя процесса Console.WriteLine("ID: {0} Name: {1}", process.Id, process.ProcessName); } Process proc = Process.GetProcessesByName("devenv")[0]; Console.WriteLine("ID: {0}", proc.Id); Process.Start("F://Системное программирование//lb1//bin//Debug//lb1.exe"); } } } Основная программа using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Text.RegularExpressions; namespace lb1 { internal class Program { private static void Main() { Console.WriteLine("Введите строку из нулей и единиц – «битовую строку»:"); var input = Console.ReadLine(); var result = Regex.Replace(input, "[01]", match => match.Value[0] == '0' ? "1" : "0"); Console.WriteLine("Значение инвертированной строки:"); Console.WriteLine(result); Console.WriteLine("Десятичный формат:"); Console.WriteLine(Convert.ToInt64(result, 2)); Console.ReadLine(); } } } |