Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование для ЭВМ, Л.р.1-4.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
411 Кб
Скачать
☆

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. Содержание отчета

  1. Наименование работы

  2. Цель работы

  3. Краткие теоритические сведения

  4. Варианты заданий

  5. Пример выполнения программ

  6. Код программы

  7. Анализ полученных результатов

  8. Подпись исполнителя

Приложение.

#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);//закрытие файла

}

Содержани