- •Лабораторная работа №1 «Семафоры и синхронизация процессов»
- •Теоретические сведения
- •Алгоритмы
- •Тестовый пример
- •Контрольные вопросы
- •Варианты заданий
- •Содержание отчёта
- •Приложение 1 Пример работы программы
- •Приложение 2. Код программы
- •Содержание
- •1. Теоретические сведения 1
- •Лабораторная работа №2 «Интерпретатор командного языка (кя) операционной системы»
- •1.Теоретические сведения
- •2.Алгоритм
- •3.Тестовый пример
- •4.Контрольные вопросы
- •5.Варианты заданий:
- •6. Содержание отчета
- •Приложение.
- •1. Теоретические сведения 27
- •1. Теоретические сведения 11
- •Лабораторная работа №3 «Алгоритмы последовательного поиска в таблице записи данных»
- •1. Теоретические сведения
- •2. Алгоритмы поиска
- •3. Тестовый пример
- •4. Контрольные вопросы
- •5. Варианты заданий
- •6. Содержание отчёта
- •Приложение
- •Литература
- •Содержание
- •1. Теоретические сведения 17
- •Лабораторная работа №4 «Пирамидальная сортировка»
- •Теоретические сведения
- •Алгоритм
- •Тестовый пример
- •Контрольные вопросы
- •Варианты заданий
- •Содержание отчёта
- •Приложение 1. Код программы
- •Приложение 2. Пример работы программы
- •Литература
- •Содержание
- •1. Теоретические сведения 28
3.Тестовый пример
Дано: команды «ERY, COPY, DATE, LADEL»
Задание: надо найти адреса размещения команд.
Запускаем приложение. Программа в приложении.
Результат работы программы:
> ladel
Адрес этой программы для данной команды 23281
> date
Адрес этой программы для данной команды 26962
> copy
Адрес этой программы для данной команды 29358
>ery
Такой команды нет.
>exit
PrintScreen результата работы программы Рис 2
Рис 2 Результат работы программы
4.Контрольные вопросы
1.Что такое командный язык операционной системы?
2. Критерии при его проектировании?
3. Важный аспект КЯ – форма и содержание языка ответов, который сообщает информацию о чем?
4.Что такое Интерпретатор командного языка?
5.Варианты заданий:
Варианты заданий представлены в таблице.
№ Варианта |
Имена команд |
№ 1 |
Attrib |
Alias |
|
Backup |
|
№ 2 |
Break |
Chdir |
|
Octave |
|
№ 3 |
Chkdsk |
Cls |
|
Recode |
|
№ 4 |
Comp |
Copy |
|
Pushd |
|
№ 5 |
Date |
Del |
|
Sed |
|
№ 6 |
Echo |
Find |
|
Rsync |
|
№ 7 |
Ladel |
Attrib |
|
Fdisk |
Постановка задачи: необходимо найти адреса размещения данных команд, или же указать, что их не существует.
6. Содержание отчета
Наименование работы
Цель работы
Краткие теоритические сведения
Варианты заданий
Пример выполнения программ
Код программы
Анализ полученных результатов
Подпись исполнителя
Приложение.
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
const int n=13;
struct table //Объявили новую структуру table, создание структуры запроса.
{
char name[10];//Первый параметр
int adress;//Второй параметр};
void main()
{
setlocale(LC_ALL, "Russian"); // подключение русского языка
struct table tbl[n]; // Объявили массив переменных типа table
FILE *fin,*fout; //создаем указатели на переменную типа FILE
char e[]="exit"; // создаем строку содержащую слово "exit"
int i,j; //создаем 2 переменные типа int, для перебора
bool found; //создаем переменную типа bool, флаг
char buf[10]; //создание буфера
e[5]=0;
fopen_s(&fin,"input.txt","r"); //Открытие файла
fopen_s (&fout,"output.txt","w"); //Открытие файла
for(i=0;i<n;i++) //создание таблицы команд ШАГ1
{ fgets(tbl[i].name,10,fin); //считывание команды из файла
j=0;
while(tbl[i].name[j]!=10) // задание названия команды
j++;
tbl[i].name[j]=0;
tbl[i].adress=rand();// задание адреса команды ШАГ2
}
printf("Список команд\n");
fprintf(fout,"Список команд\n");
for(i=0;i<n;i++)// вывод таблицы на экран
{ printf("%s\n",tbl[i].name);
fprintf(fout,"%s\n",tbl[i].name);
}
do ;// ШАГ3
{
found=false;//флаг выключен ШАГ4
printf(">");
fprintf(fout,">");
gets_s(buf);// считывание с экрана
fprintf(fout,"%s\n",buf);//запись в файл
for(i=0;i<n;i++)//поиск команды по таблице ШАГ5
{if(!strcmp(buf,tbl[i].name))
{
printf("Адрес этой подпрограммы для данной команды %d\n",tbl[i].adress);//вывод на экран полученного результата
fprintf(fout,"Адрес этой подпрограммы для данной команды %d\n",tbl[i].adress);// запись в файл полученного результата
found=true;// флаг включен
break;
}
}
if((!found)&&(strcmp(e,buf)))// ШАГ6
{
printf("Такой каманды нет.\n");//вывод на экран полученного результата ШАГ7
fprintf(fout,"Такой каманды нет.\n");// запись в файл полученного результата ШАГ8
}
}
while(strcmp(e,buf));//выход из программы
fclose(fin);//закрытие файла. Шаг 9
fclose(fout);//закрытие файла
}
Содержани
