Опубликован: 19.02.2009 | Доступ: свободный | Студентов: 3073 / 803 | Оценка: 4.35 / 4.11 | Длительность: 16:28:00
ISBN: 978-5-94774-401-9
Специальности: Программист, Системный архитектор, Архитектор программного обеспечения
Теги:
Лекция 11:
Организация С#-системы ввода-вывода
Практикум
-
Работа с двоичными файлами:
- Создать файл и записать в него вещественные числа из диапазона от a до b с шагом h. Вывести на экран все компоненты файла с нечетными порядковыми номерами.
Пример:
using System; using System.Text; using System.IO; namespace MyProgram { class Program { static void Main() { Console.Write("a= "); double a=double.Parse(Console.ReadLine()); Console.Write("b= "); double b=double.Parse(Console.ReadLine()); Console.Write("h= "); double h=double.Parse(Console.ReadLine()); //Записываем в файл t.dat вещественные числа из заданного диапазона FileStream f=new FileStream("t.dat",FileMode.Open); BinaryWriter fOut=new BinaryWriter(f); for (double i=a; i<=b; i+=h) { fOut.Write(i); } fOut.Close(); //Объекты f и fIn связаны с одним и тем же файлом f=new FileStream("t.dat",FileMode.Open); BinaryReader fIn=new BinaryReader(f); long m=f.Length; //определяем количество байт в потоке //Читаем данные из файла t.dat начиная с элемента с номером 1, т.е с 8 байта, //перемещая внутренний указатель на 16 байт, т.е. на два вещественных числа for (long i=8; i<m; i+=16) { f.Seek(i,SeekOrigin.Begin); a=fIn.ReadDouble(); Console.Write("{0:f2} ",a); } fIn.Close(); f.Close(); } } }
- Создать файл и записать в него степени числа 3. Вывести на экран все компоненты файла с четным порядковым номером.
- Создать файл и записать в него обратные натуральные числа 1,1/2,...,1/n. Вывести на экран все компоненты файла с порядковым номером, кратным 3.
- Создать файл и записать в него n первых членов последовательности Фибоначчи. Вывести на экран все компоненты файла с порядковым номером, не кратным 3.
- Дана последовательность из n целых чисел. Создать файл и записать в него все четные числа последовательности. Вывести содержимое файла на экран.
- Дана последовательность из n целых чисел. Создать файл и записать в него все отрицательные числа последовательности. Вывести содержимое файла на экран.
- Дана последовательность из n целых чисел. Создать файл и записать в него числа последовательности, попадающие в заданный интервал. Вывести содержимое файла на экран.
- Дана последовательность из n целых чисел. Создать файл и записать в него числа последовательности, не кратные заданному числу. Вывести содержимое файла на экран.
- Дана последовательность из n вещественных чисел. Записать все эти числа в файл. Вывести на экран все компоненты, не попадающие в данный диапазон.
- Дана последовательность из n вещественных чисел. Записать все эти числа в файл. Вывести на экран все компоненты файла с нечетными номерами, большие заданного числа.
- Дана последовательность из n вещественных чисел. Записать все эти числа в файл. Вывести на экран все компоненты файла с четными номерами, меньшие заданного числа.
- Дана последовательность из n вещественных чисел. Записать все эти числа в файл. Вывести на экран все положительные компоненты файла.
- Дана последовательность из n вещественных чисел. Записать все эти числа в файл. Подсчитать среднее арифметическое компонентов файла, стоящих на четных позициях.
- Дана последовательность из n вещественных чисел. Записать все эти числа в файл. Найти максимальное значение среди компонентов файла, стоящих на нечетных позициях.
- Дано предложение. Создать файл и записать в него все символы данного предложения, отличные от знаков препинания. Вывести содержимое файла на экран.
- Дано предложение. Создать файл и записать в него все символы данного предложения, отличные от цифр. Вывести содержимое файла на экран.
- Создать файл, состоящий из слов. Вывести на экран все слова, которые начинаются на заданную букву.
- Создать файл, состоящий из слов. Вывести на экран все слова, длина которых равна заданному числу.
- Создать файл, состоящий из слов. Вывести на экран все слова, которые начинаются и заканчиваются одной буквой.
- Создать файл, состоящий из слов. Вывести на экран все слова, которые начинаются на ту же букву, что и последнее слово.
- Создать файл и записать в него вещественные числа из диапазона от a до b с шагом h. Вывести на экран все компоненты файла с нечетными порядковыми номерами.
-
Работа с текстовым (символьным) файлом.
- Дан текстовый файл. Найти количество строк, которые начинаются с данной буквы.
Пример:
Замечание: Напоминаем, что файл text.txt должен содержать английский текстusing System; using System.Text; using System.IO; using System.Text.RegularExpressions; namespace MyProgram { class Program { static void Main() { Console.Write("Введите заданную букву: "); char a=char.Parse(Console.ReadLine()); StreamReader fileIn = new StreamReader("text.txt"); string text=fileIn.ReadToEnd(); //считываем из файла весь текст fileIn.Close(); int k=0; //разбиваем текст на слова используя регулярные выражения string []newText=Regex.Split(text,"[ ,.:;]+"); //подсчитываем количество слов, начинающихся на заданную букву foreach( string b in newText) if (b[0]==a)++k; Console.WriteLine("k= "+k); } } }
- Дан текстовый файл. Найти количество строк, которые начинаются и заканчиваются одной буквой.
- Дан текстовый файл. Найти самую длинную строку и ее длину.
- Дан текстовый файл. Найти самую короткую строку и ее длину.
- Дан текстовый файл. Найти номер самой длинной строки.
- Дан текстовый файл. Найти номер самой короткой строки.
- Дан текстовый файл. Выяснить, имеется ли в нем строка, которая начинается с данной буквы. Если да, то напечатать ее.
- Дан текстовый файл. Напечатать первый символ каждой строки.
- Дан текстовый файл. Напечатать символы с k1 по k2 в каждой строке.
- Дан текстовый файл. Напечатать все нечетные строки.
- Дан текстовый файл. Напечатать все строки, в которых имеется хотя бы один пробел.
- Дан текстовый файл. Напечатать все строки, длина которых равна данному числу.
- Дан текстовый файл. Напечатать все строки, длина которых меньше заданного числа.
- Дан текстовый файл. Напечатать все строки с номерами от k1 до k2.
- Дан текстовый файл. Получить слово, образованное k-ыми символами каждой строки.
- Дан текстовый файл. Переписать в новый файл все его строки, вставив в конец каждой строки ее номер.
- Дан текстовый файл. Переписать в новый файл все его строки, вставив в конец каждой строки количество символов в ней.
- Дан текстовый файл. Переписать в новый файл все его строки, длина которых больше заданного числа.
- Дан текстовый файл. Переписать в новый файл все его строки четной длины.
- Дан текстовый файл. Переписать в новый файл все его строки, удалив из них символы, стоящие на четных местах.
- Дан текстовый файл. Найти количество строк, которые начинаются с данной буквы.
Самостоятельная работа
Используя дополнительную литературу и Интернет рассмотреть использование:
- класса MemoryStream ;
- классов StringReader и StringWriter.