Студопедия — C#. Работа с файлами
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

C#. Работа с файлами






В этом посте будут рассмотрены основные операции над файлами.

Примечание. Все необходимые классы находятся в пространстве имен System.IO.

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

Для этого воспользуемся классом FileInfo из пространства имен System.IO. В конструктор передаем имя будущего файла. Создание файла производится вызовом метода Create().

FileInfo fi = new FileInfo(" new.txt"); fi.Create();

Удаление файла.

Все аналогично предыдущему примеру. Для удаления файла используем метод Delete().

FileInfo fi = new FileInfo(" new.txt"); fi.Delete();

Запись в файл.

Для записи (а в последующем и для чтения) в файл мы будем использовать символьные потоки позволяющие оперировать непосредственно с символами Unicode.

StreamWriter sw = new StreamWriter(" name.txt"); sw.WriteLine(" блаблабла"); sw.Close();

После всех действий над файлом не забываем закрывать его используя метод Close(), в противном случае изменения в файле не только не будут сохранены. Приведеный выше пример записи файла полностью перезаписывает его, если же надо дописать в конец файла:

StreamWriter sw; FileInfo fi = new FileInfo(" name.txt"); sw = fi.AppendText(); sw.WriteLine(" blablabla"); sw.Close();

Чтение из файла.

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

StreamReader streamReader = new StreamReader(" name.txt"); string str = " "; while (! streamReader.EndOfStream) { str += streamReader.ReadLine(); }

Ещё один вариант, для разнообразия

StreamReader streamReader = new StreamReader(" name.txt"); string str = " ", str_temp=" "; while ((str_temp = streamReader.ReadLine())! = null) { str += str_temp; }

Примечание.

Для корректной работы с потоками ввода/вывода рекомендуется использовать конструкцию using:

using(StreamWriter streamWriter = new StreamWriter(" name.txt")) { //... }

По выходу из блока using, поток, с которым вы работали, автоматически закроется.


 

 

БІЛЕТ № 10

№1

 

№2

МНОЖЕННЯ ЧИСЕЛ З ПЛАВАЮЧОЮ КОМОЮ

 

Для чисел і , що представлені в формі з плаваючою комою, добуток обчислюється за формулою:

,

де , .

Звідси випливає, що процес множення складається з чотирьох етапів:

множення мантис;

додавання порядків;

нормалізація й округлення мантиси добутку;

корегування порядку добутку.

Перші два етапи можуть виконуватись одночасно, оскільки вони незалежні один від одного. При цьому множення мантис може бути здійснене будь-яким з розглянутих методів множення.

У загальному випадку результат множення мантис може бути одержаний в ненормалізованій формі. Причому порушення нормалізації можливо тільки зліва. Воно усувається шляхом зсуву коду мантиси на один розряд вліво і, відповідно, корегується порядок добутку шляхом віднімання одиниці від суми порядків. Округлення мантиси здійснюється додаванням одиниці до (п+1)-го розряду.

Під час виконання операції множення чисел з плаваючою комою можуть мати місце такі особливі випадки.

Якщо порядок результату є найбільшим від'ємним числом, то необхідно формувати машинний нуль.

Коли виникає переповнення додатного порядку і воно не усувається після нормалізації і корегування порядку, то необхідно формувати ознаку переповнення порядку.

Ці особливі випадки можна передбачити в алгоритмі операції множення введенням корегування добутку на підставі ознак результату.

Особливості ділення чисел з плаваючою комою

Для чисел і , що представлені в формі з плаваючою комою, частка визначається за формулою:

де , .

Звідси випливає, що процес ділення складається з чотирьох етапів:

ділення мантис;

віднімання порядків;

нормалізація мантиси частки;

корегування порядку частки.

Перші два етапи можуть виконуватись одночасно, оскільки вони незалежні один від одного. При цьому ділення мантис повністю співпадає з діленням чисел, що представлені в формі з фіксованою комою. Відміна полягає лише в тому, що мантиси операндів можуть співвідноситись одна з одною довільно. Оскільки мантиси діленого і дільника - нормалізовані числа, то можливі такі випадки: ; .

Коли мантиса діленого більше або дорівнює мантисі дільника, то на початку ділення одержується цифра частки, що дорівнює 1 і яка записується в цілу частину частки. Решта дій над мантисами аналогічні діям над числами, що представлені в формі з фіксованою комою. Одержана при цьому мантиса частки буде мати порушення нормалізації праворуч. Воно усувається шляхом зсуву коду мантиси на один розряд управо і, відповідно, корегується порядок частки шляхом додавання одиниці до різниці порядків.

Коли мантиса діленого менше мантиси дільника, то на початку ділення одержується цифра частки, що дорівнює 0 і яка записується в цілу частину частки. Далі ділення мантис продовжується за правилами ділення чисел, що представлені в формі з фіксованою комою. Одержана при цьому мантиса частки буде мати нормалізовану форму.

Під час виконання операції ділення чисел з плаваючою комою можуть мати місце такі особливі випадки.

Якщо дільник дорівнює нулю, то формується сигнал " Зупинка машини".

Оскільки в процесі ділення порядки віднімаються, то можливе переповнення розрядної сітки порядків. Коли виникає переповнення в бік від'ємних значень порядку і воно не усувається після нормалізації і корегування порядку, то мантисі результату приписується машинний нуль, а порядку - найбільше від'ємне число.

У разі переповнення додатного порядку необхідно формувати ознаку переповнення порядку.

Ці особливі випадки можна передбачити в алгоритмі операції ділення введенням аналізатора дільника на нуль і корегування частки на підставі ознак результату.

№3

Інтерфейс RS-232C

Інтерфейс RS-232C призначений для підключення до комп'ютера стандартних зовнішніх пристроїв (принтера, сканера, модему, миші й ін.), а також для зв'язку комп'ютерів між собою. Основними перевагами використання RS-232C у порівнянні з Centronics є можливість передачі на великі відстані (за стандартом довжина кабелю може доходити до 15 метрів) і набагато більш простий кабель (з меншою кількістю проводів). У той же час працювати з RS-232C трохи складніше. Дані в інтерфейсі RS-232C передаються в послідовному коді (біт за бітом) побайтно. Кожен байт обрамляється стартовим і стоповими бітами. Дані можуть передаватися як в одну, так і в іншу сторону по різними проводами (дуплексний режим). Швидкість передачі - до 14, 4 Кбайт/з (115, 2 Кбит/с).

Комп'ютер має 25-контактний роз'єм (типу DB25P) чи 9-контактний роз'єм (типу DB9P) для підключення кабелю інтерфейсу RS-232C. Призначення контактів роз'єму наведене в табл. 8.8 (у таблиці застосовані позначення: I - вхідний сигнал комп'ютера, O - вихідний сигнал комп'ютера).

Табл. 8.8. Призначення контактів роз'ємів інтерфейсу RS-232C.
Сигнал Контакт DB25P Контакт DB9P I/O
FG  
-T x D     O
-R x D     I
RTS     O
CTS     I
DSR     I
SG    
DCD     I
DTR     O
RI     I

Призначення сигналів інтерфейсу RS-232C наступне:

FG - захисне заземлення (екран).

-Tx - дані, передані комп'ютером у послідовному коді (логіка негативна).

-Rx - дані, прийняті комп'ютером у послідовному коді (логіка негативна).

RTS - сигнал запиту передачі. Активний на протязі всього часу передачі.

CTS - сигнал скидання (очищення) для передачі. Активний на протязі всього часу передачі. Говорить про готовність приймача.

DSR - готовність даних. Використовується для задавання режиму модему.

SG - сигнальне заземлення, нульовий провід.

DCD - виявлення несучої даних (детектування прийнятого сигналу).

DTR - готовність вихідних даних.

RI - індикатор виклику. Говорить про прийом модемом сигналу виклику з телефонної мережі.

Найчастіше використовується трьох- чи чотирьохпровідний зв'язок (для двонапрямленої передачі). Схема з'єднання двох пристроїв при чотирьохпровідній лінії зв'язку показана на Рис. 8.8.


Рис. 8.8. Схема чотирьохпровідної лінії зв'язку для RS-232C.

Для двохпровідної лінії зв'язку у випадку передачі з комп'ютера в зовнішній пристрій використовуються сигнали SG і Tx. Усі 10 сигналів інтерфейсу задіюються тільки при з'єднанні комп'ютера з модемом.

Формат переданих даних показаний на рис. 8.9. Власне дані (містять 5, 6, 7 чи 8 біт) супроводжуються стартовим бітом, бітом парності й одним чи двома стоповими бітами. Одержавши стартовий біт, приймач вибирає з лінії біти даних через визначені інтервали часу. Дуже важливо, щоб тактові частоти приймача і передавача були однаковими (допустима розбіжність - не більше 10%). Швидкість передачі по RS-232C може вибиратися з ряду: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 біт/с.

Усі сигнали RS-232C передаються спеціально обраними рівнями, що забезпечують високу завадостійкість зв'язку (Рис. 8.10). Відзначимо, що дані передаються в інверсному коді (логічній одиниці відповідає низький рівень, логічному нулю - високий рівень).

Обмін по RS-232C здійснюється комп'ютером за допомогою звертань за спеціально виділеними для цього портах COM1 (адреси 3F8...3FF, переривання IRQ4), COM2 (адреси 2F8...2FF, переривання IRQ3), COM3 (адреси 3E8...3EF, переривання IRQ10), COM4 (адреси 2E8...2EF, переривання IRQ11).


Рис. 8.9. Формат даних RS-232C.


Рис. 8.10. Рівні сигналів RS-232C на передаваючому і приймаючому кінцях лінії зв'язку.

Для реалізації інтерфейсу застосовуються мікросхеми універсальних асинхронних прийомопередавачів (УАПП, UART - Universal Asynchronous Receiver/Transmitter) типу i8250, 16550А чи їх аналоги. Комп'ютер за допомогою посилки керуючих кодів може вибрати швидкість обміну, формат переданих посилок (кількість бітів даних, перевірка парності, використання стопових бітів), дозволити чи заборонити переривання, а також встановити чи скинути керуючі сигнали. Є також можливість прочитати слово стану UART для визначення джерела переривання чи станів прапорів.

USB (англ. Universal Serial Bus, абревіатура читається ю-ес-бі) — укр. універсальна послідовна шина, призначена для з'єднання периферійних пристроїв. Символом USB є чотири геометричні фігури: квадрат, трикутник, велике коло та мале коло.

Шина USB представляє собою послідовний інтерфейспередавання даних для середньо швидкісних та низько швидкісних периферійних пристроїв. Для високошвидкісних пристроїв на сьогодні кращим вважається FireWire.

USB-кабель представляє собою дві звиті пари: по одній парі відбувається передавання даних в кожному напрямку (диференціальне включення), а інша пара використовується для живлення периферійного пристрою (+5 В). Завдяки вбудованим лініям живлення, що забезпечують струм до 500 мА, USB часто дозволяє використовувати пристрої без власного блоку живлення (якщо ці пристрої споживають струм потужністю не більше 500 мА).

Поєднання USB-кабелями формує інтерфейс між USB-пристроями та USB-хостом. В якості хоста використовується керований з операційної системи USB-контролер, до складу якого входить USB-концентратор, або ж хаб. Цей хаб є відправною точкою у створенні ланцюжка пристроїв, що відповідають вимогами топології «зірка». Він має спеціальну назву — кореневий концентратор. До його портів під'єднується інше USB-приладдя та зовнішні хаби. Загальні їх кількість не може перевищувать 127 пристроїв, увімкнених не більш ніж у п'ять каскадів, не рахуючи рівень кореневого хаба.

Зміст [сховати] 1 Історія 2 USB пререлізи 3 USB 1.0 3.1 USB 1.1 4 USB 2.0 4.1 USB OTG 4.2 Бездротовий USB 5 USB 3.0 6 Посилання

[ред.] Історія

Стандарт розробили сім компаній: «Compaq», «Digital Equipment», IBM, Intel, «Microsoft», NEC и «Northern Telecom». Влітку 1996 року на ринку з'явилися перші комп'ютери з портами USB.

[ред.] USB пререлізи

Починаючи з листопада 1994 до листопада 1995 року було анонсовано кілька версій протоколу (USB 0.7, 0.8, 0.9, 0.99, 1.0 Release Candidate).

[ред.] USB 1.0

Версія представлена в січні 1995 року.

Технічні характеристики:

високошвидкісне з'єднання — 12 Мбіт/с

максимальна довжина кабелю для високошвидкісного з'єднання — 3 м

низькошвидкісне з'єднання — 1, 5 Мбіт/с

максимальна довжина кабелю для низькошвидкісного з'єднання — 5 м

максимальна кількість пристроїв підключення (враховуючи концентратори) — 127

можливість підключення пристроїв з різними швидкостями обміну інформацією

напруга живлення для периферійних пристроїв — 5 В

максимальний струм споживання на один пристрій — 500 мА

[ред.] USB 1.1

Випущено в вересні 1998. Виправлені проблеми виявлені у версії 1.0, в основному пов'язані з концентраторами.

[ред.] USB 2.0

Версія випущена в квітні 2000 року. USB 2.0 відрізняється від USB 1.1 лише швидкістю передачі, яка зросла та незначними змінами в протоколі передачі даних для режиму Hi-speed (480 Мбіт/сек). Існує три швидкості роботи пристроїв USB 2.0:

Low-speed 10—1500 Кбіт/c (використовується для інтерактивних пристроїв: клавіатури, мишки, джойстики)

Full-speed 0, 5—12 Мбіт/с (аудіо/відео пристрої)

Hi-speed 25—480 Мбіт/с (відео пристрої, пристрої зберігання інформації)

В дійсності ж хоча швидкість USB 2.0 і може досягати 480Мбіт/с, пристрої типу жорстких дисків чи взагалі будь-які інші носії інформації ніколи не досягають її по шині USB, хоча і могли б. Це можна пояснити доволі просто, шина USB має доволі велику затримку між запитом на передачу інформацію і самою передачею даних («довгий ping»). Наприклад шина FireWire забезпечує максимальну швидкість у 400 Мбіт/с, тобто на 80Мбіт/с менше чим у USB, дозволяє досягнути більшої швидкості обміну даними з носіями інформації.

USB 3.0

В листопаді 2008 року робоча група USB 3.0 Promoter Group заявила про завершення робіт над специфікацією нового високошвидкісного інтерфейсу USB 3.0, названого SuperSpeed USB. USB 3.0 є наступним етапом еволюції добре відомою нам всім технології USB. Новий інтерфейс забезпечує максимальну швидкість передачі даних в 10 разів більшу, ніж USB 2.0 (тобто 10 × 480 Мбіт/с = 4, 8 Гбіт/с). Друга важлива властивість — покращені показники енергоефективності. Крім того, розробниками заявлена зворотна сумісність USB 3.0 з ранішими версіями USB. Докладніші відомості можна черпнути з опублікованих специфікацій (редакція 1.0).

SATA (англ. Serial ATA) — послідовний інтерфейс обміну даними з накопичувачами інформації (як правило, з жорсткими дисками). SATA є розвитком інтерфейсу ATA (IDE), який після появи SATA був перейменований в PATA (Parallel ATA).

За даними аналітиків IDC, в 2008 році диски S-ATA склали 98% від всіх продажів дисків в світі[1].

Зміст [сховати] 1 SATA/150 2 SATA/300 3 SATA 3.0 4 Опис SATA 5 Роз'єми SATA 6 eSATA 7 SAS 8 Виcновки 9 Посилання

[ред.] SATA/150

На початку стандарт SATA передбачав роботу шини на частоті 1, 5 ГГц, що забезпечує пропускну здатність приблизно в 1, 2 Гбіт/с (150 МБ/с). (20%-а втрата продуктивності пояснюється використанням системи кодування 8B/10B, при якій на кожні 8 біт корисної інформації припадає 2 службових біта). Пропускна здатність SATA/150 незначно вище пропускної здатності шини Ultra ATA (UDMA/133). Головною перевагою SATA перед PATA є використання послідовної шини замість паралельної. Попри те, що послідовний спосіб обміну принципово повільніше паралельного, у цьому випадку це компенсується можливістю роботи на більш високих частотах за рахунок більшої перешкодостійкості кабелю. Це досягається 1) меншим числом провідників й 2) об'єднанням інформаційних провідників в 2-і виті пари, екрановані заземленими провідниками.

[ред.] SATA/300

Стандарт SATA/300 працює на частоті 3 ГГЦ, забезпечує пропускну здатність до 2, 4 Гбіт/c (300 МБ/с). Уперше був реалізований у контролері чипсетуnForce 4 фірми NVIDIA. Досить часто стандарт SATA/300 називають SATA ІІ. [2] Теоретично SATA/150 й SATA/300 пристрої повинні бути сумісні (як SATA/300 контролер і SATA/150 пристрій, так і SATA/150 контролер й SATA/300 пристрій) за рахунок підтримки узгодження швидкостей (у меншу сторону), однак для деяких пристроїв і контролерів потрібне ручне виставляння режиму роботи (наприклад, на жорсткому диску фірми Seagate, що підтримують SATA/300, для примусового включення режиму SATA/150 передбачений спеціальний джампер).

Стандарт SATA передбачає можливість збільшення швидкості роботи до 600МБ/с (6 ГГц).

[ред.] SATA 3.0

Serial ATA International Organization (SATA-IO), відповідальна за розвиток послідовного інтерфейсу, в травні 2009 опублікувала специфікації стандарту SATA 3.0[3], здатного передавати дані на швидкості до 6 Гбіт/с, удвічі вище в порівнянні з SATA 2. Специфікація була обнародувана в серпні 2008 і допрацьовувалася до травня 2009. Після публікації специфікації виробники дістали можливість використовувати SATA-3 в комерційних продуктах. Новий стандарт сумісний назад з існуючими версіями SATA, але разом з цим пропонує зручніший роз'єм для підключення компактних 1, 8-дюймових дисків і SSD. Покращена передача мультимедійних файлів. Істотних змін в інтерфейсі нема — максимальна довжина кабелю складає 1 метр, причому роз'єми будуть сумісні з ранніми версіями SATA. Проте крім збільшення швидкісних показників також реалізована підтримка додаткового набору команд, які призначені для підвищення ефективності при передачі відео потоку. Підвищення швидкісних показників інтерфейсу передачі даних приведе до підвищення споживаної потужності, але з іншого боку, це приведе до прискореного переходу на нові технології виготовлення управляючих мікросхем.

[ред.] Опис SATA

SATA використовує 7-контактний роз'єм замість 40-контактного роз'єму в PATA. SATA-кабель має меншу ширину, за рахунок чого зменшується опір повітрю, що обдуває компоненти комп'ютера; поліпшується охолодження системи.

SATA-кабель за рахунок своєї форми більш стійкий до багаторазового підключення. Шнур живлення SATA так само розроблений з урахуванням багаторазових підключень. Роз'єм живлення SATA подає 3 напруги: +12 В, +5 У и +3, 3 В; однак сучасні пристрої можуть працювати без напруги +3, 3 В, що дає можливість використати пасивний перехідник зі стандартного роз'єму IDE на SATA. Ряд SATA пристроїв поставляється із двома роз'ємами живлення: SATA й Molex.

Стандарт SATA відмовився від традиційного для PATA підключення двох пристроїв на шлейф; кожному пристрою надається окремий кабель, що знімає проблему неможливості одночасної роботи пристроїв, що перебувають на одному кабелі (і затримок, що виникали звідси), зменшує можливі проблеми при збиранні (проблема конфлікту Slave/Master пристроїв для SATA відсутній), усуває можливість помилок при використанні нетермінованих PATA-шлейфів.

Стандарт SATA передбачає гарячу заміну пристроїв і функцію черги команд (NCQ).


 







Дата добавления: 2014-12-06; просмотров: 1060. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

Схема рефлекторной дуги условного слюноотделительного рефлекса При неоднократном сочетании действия предупреждающего сигнала и безусловного пищевого раздражителя формируются...

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

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

Понятие массовых мероприятий, их виды Под массовыми мероприятиями следует понимать совокупность действий или явлений социальной жизни с участием большого количества граждан...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия