Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №1!! Шильников Д..doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
226.3 Кб
Скачать
  1. Написать и отладить программу на языке С#, выполняющую следующие функции для файла:

    1. Последовательное чтение записей файла.

    2. Определение количества записей в файле.

    3. Определение объема полезной информации в файле.

    4. Определение длины каждой записи файла.

    5. Определение смещения каждой записи в файле.

    6. Определение времени чтения файла, включая время открытия и закрытия файлов.

    7. Результаты экспериментов отобразить в таблице и на графиках (самостоятельно спроектировать таблицу для размещения результатов и разместить в ней результаты экспериментов).

    8. Сделать выводы о видах временных зависимостей.

    9. После завершения работы удалить файлы с дискового носителя.

  2. Подготовить отчет о выполнении лабораторной работы.

  3. Поготовится к теоретическому опросу контролиррующей системой.

  4. Защитить отчет лабораторной работы

  1. Определить размер кластера носителя и количество секторов в кластере. Результаты предоставить в форме таблицы.

Определим размер кластера носителя и количество секторов в кластере. Для этого создадим файл в текстовом редакторе небольшого размера. Для того чтобы определить размер кластера носителя, нужно нажать правой кнопкой мыши по созданному текстовому документу и нажать на Свойства. В появившемся окне в строке На диске: видно сколько памяти выделяется для хранения данного текстового документа на диске. В нашем случае размер текстового документа - 7 Байт, размер на диске – 4 Кб. Это значит, что размер кластера носителя – 4Кб или 4×1024=4096 Байт. Считая размер сектора равным 512 Байт, можно вычислить количество секторов в кластере. Для этого размер кластера разделим на размер сектора:4096 Байт: 512 Байт=8. Все результаты предоставим в форме таблицы:

Таблица 1. Характеристики файла

Характеристика файла

Значение

1

Имя файла

Ш.Д.

2

Приложение

Блокнот

3

Размещение

C:\work\4209\Shilnikov_D

4

Размер в байтах

1

5

Размер в Кбайтах

0,0009765625

6

Размер в Мбайтах

0.00000095367431640625

7

На диске в байтах

4096

8

На диске в Кбайтах

4

9

На диске в Мбайтах

0.00390625

10

Размер в секторах (сектор: 512 байт)

8

11

Размер в кластерах

4кб

12

Создан

11 сентября 2013 г., 12:32:11

13

Изменен

11 сентября 2013 г., 12:37:52

14

Открыт

11 сентября 2013 г., 12:43:33

15

Только чтение

нет

16

Скрытый

нет

17

Архивный

да

  1. Написать и отладить программу создания файла на языке С#. Программу подготовить для консольного режима. Использовать фрагменты примера программы из приложения 1. в отчет включить алгоритм программы (схема алгоритмы) и ее текст (C#).

Напишем и отладим программу создания файла на языке С# в консольном режиме, используя фрагменты примера программы из приложения 1. Создадим новый проект в Microsoft Visual Studio C# (MVS C#). Для начала запускаем программу MVS C# следующим образом: Пуск→Все программы→ Microsoft Visual Studio 2008. Чтобы создать проект проделываем следующие операции: на панели быстрого доступа нажимаем на File далее выбираем NewProject. В появившемся окне в левом столбце выбираем Visual С++, появится несколько строчек, выбираем Visual С#. В правом столбце выбираем режим консольного приложения, т.е. выбираем строчку ConsoleApplication. Далее появится новое окно, в котором нажимаем на Finish.

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

Текст программы:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

namespace Consol

{

class Program

{

static void Main(string[] args)

{

int i;

string str;

FileStream f1;

const int n = 71040;

f1 = new FileStream("Fl_1110_Shilnikov_D.txt", FileMode.Create);

f1.Close();

f1 = new FileStream("Fl_1110_Shilnikov_D.txt", FileMode.Open, FileAccess.Write);

StreamWriter fstr = new StreamWriter(f1);

str = "llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll";

Console.Write("Nagmite Enter");

Console.ReadLine();

for (i = 0; i < n; i++)

{ fstr.WriteLine(str); }

fstr.Close();

}

}

}

Данная программа создает в папке, в которой расположен сам проект, пустой текстовый документ «Fl_1110_Shilnikov_D.txt».

Блок-схема алгоритма программы будет выглядеть следующим образом:

Начало

Объявление файла

Создание файла сеанса

Закрытие файла

Конец

  1. Подготовить семь текстовых файлов в соответствии с заданием (см. таблица 2) лабораторной работы (файлы с записями фиксированной длины). Имена файлов должны включать номер файла, размер в кластерах, фамилию студента (например, f1_1110_Shilnikov.txt). Перед созданием оценить объем файлов и определить объем свободного места на носителе. Сделать вывод о возможности создания файлов. Результаты расчетов занести в таблицу 3. Перед созданием файлов на носителе предоставить расчеты преподавателю для проверки. Все расчеты оформлять в соответствии с требованиями подготовки научно-технических отчетов. Сделать выводы об объеме незаполненного пространства кластеров и определить процент заполнения дисковой памяти.

Таблица 2. Вариант задания

Длина записи

Размеры файлов в кластерах

Символ для формирования содержания записи

Файл f1

Файл f2

Файл f3

Файл f4

Файл f5

Файл f6

Файл f7

12

64

1110

1310

1510

1710

1910

2110

2310

l

Подготовим семь текстовых файлов в соответствии с вариантом №12 лабораторной работы. Перед созданием оценим объем файлов и определим объем свободного места на носителе. Сделаем это следующим образом: Заходим в Мой компьютер, нажимаем правой кнопкой на диск С, в появившемся окне нажимаем на Свойства, находим две строчки – Занято и Свободно, запишем соответствующие значения этим параметрам:

Занято: 45 368 201 216 байт

Свободно: 19 644 379 136 байт

Оценим объем файлов, которые нам предстоит создать. Зная, что на диске 1 кластер занимает 4096 байт, определим объем всех семи файлов по следующей формуле: V=k*b.

1 файл: 1110 × 4096 = 4546560 байт;

2 файл: 1310 × 4096 = 5365760 байт;

3 файл: 1510 × 4096 = 6184960 байт;

4 файл: 1710 × 4096 = 7004160 байт;

5 файл: 1910 × 4096 = 488960 байт;

6 файл: 2110 × 4096 = 8642560 байт;

7 файл: 2310 × 4096 = 9461760 байт.

Определим объем суммы всех семи файлов:

4546560 + 5365760 + 6184960 + 7004160 + 488960 + 8642560 + 9461760 =

49029120 байт. Т.к. объем свободного места на диске превышает объем суммы наших семи файлов (19 644 379 136 <49 029 120), то возможность создать эти файлы существует.

Результаты расчетов занесем в таблицу 3:

Таблица 3. Объемные характеристики файлов

Размер кластера в байтах – 4096 Размер записи - 64

Имя файла в папке «ЛБ4209»

Размер файла в кластерах

(из задания)

Количество записей в кластере

Размер файла в записях

Размер файла в Мбайт, Кбайт,

байт

На диске

Мбайт, Кбайт,

байт

f1

f1_1110_Шильников

1110

64

71040

4.3359375

4.3359375

4440

4440

4546560

4546560

f2

f2_1310_Шильников

1310

64

83840

5.1171875

5.1171875

5240

5240

5365760

5365760

f3

f3_1510_Шильников

1510

64

96640

5.8984375

5.8984375

6040

6040

6184960

6184960

f4

f4_1710_Шильников

1710

64

109440

6.6796875

6.6796875

6840

6840

7004160

7004160

f5

f5_1910_Шильников

1910

64

122240

7.4609375

7.4609375

7640

7640

488960

7823360

f6

f6_2110_Шильников

2110

64

135040

1024

8.2421875

8440

8440

8642560

8642560

f7

f7_2310_Шильников

2310

64

147840

9.0234375

9.0234375

9240

9240

9461760

9461760

Всего

7

11970

448

5362560

46.7578125

46.7578125

47880

47880

49029120

49029120

Свободное место на диске C

----

3643

3730531

3820064768