русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Использование функций feof() и ferror()


Дата добавления: 2014-11-27; просмотров: 1300; Нарушение авторских прав


Когда файл открыт для двоичного ввода, может быть прочитано целочисленное значение равное EOF (значение EOF обозначает признак конца файла), а не признак конца конца файла. В результате функция fgetc() (чтение символа из файла) будет отображать признак конца файла, хотя физический конец еще не достигнут. Для разрешения этой проблемы в языке С имеется функция feof(), используемая для определения конца двоичного файла. Она имеет прототип:

int feof ((FILE *fp);

Функция feof() возвращает не 0, если достигнут конец файла, и 0, если конец файл не достигнут. Следующий фрагмент читает двоичный файл, пока не встретится метка конца файла:

while (! Feof (fp)) ch = getc(fp);

Данный метод может применяться и к текстовым файлам.

Функция ferror() используется для определения, привела ли выполняемая операция к ошибке. Она имеет прототип:

int ferror (FILE *fp);

Она возвращает истину, если в результате выполнения операции над файлом произошла ошибка, в противном случае – ложь. Поскольку каждая файловая операция изменяет состояние ошибки, ferror() должна вызываться после каждой файловой операции.

 

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

1) Создать файл целых чисел (не менее 20 компонент). Для данного файла выполнить следующие операции:

- упорядочить файл по возрастанию значений компонентов;

- найти сумму четных чисел среди компонентов;

- подсчитать количество полных квадратов среди компонентов.

Результаты записать в текстовый файл.

2) Создать файл целых чисел (не менее 25). Создать на базе этого файла три файла – F1, F2 и F3. В файл F1 поместить в порядке возрастания положительные компоненты, в файл F2 поместить в порядке убывания отрицательные компоненты, в файл F3 поместить все нулевые компоненты.

Число компонент в каждом файле вывести в текстовый файл.

3) Создать три файла F1, F2 и F3, состоящие каждый не менее чем из 8 компонент целого типа. Упорядочить каждый файл по убыванию значений компонентов. Объединить файлы F1, F2 и F3 в один файл в последовательности: компонент файла F2, компонент файла F1, компонент файла F3, далее вновь очередной компонент файла F2 и т. д.



Недостающие компоненты файлов F1, F2 и F3 заменяются соответственно значениями: 1, -1 и 0 соответственно.

4) Создать файл вещественных чисел (не менее 10 компонент). Для данного файла выполнить следующие операции:

- найти сумму компонент файла;

- найти произведение компонент файла;

- найти сумму квадратов компонент файла;

- найти среднее арифметическое и среднее геометрическое компонент файла;

- найти третью от конца компоненту файла.

Все результаты записать в текстовый файл.

5) Создать файл вещественных чисел (не менее 15 компонент). Для данного файла выполнить следующие операции:

- найти наибольшее из значений компонент с четными номерами;

- найти наименьшее из значений компонент с нечетными номерами;

- сумму положительных компонент;

- разность наибольшей по модулю компоненты и наименьшей по модулю;

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

Все результаты записать в текстовый файл.

6) Интегральный синус

вычисляется разложением в ряд

.

Составить таблицу значений интегрального синуса для 0.1 £ х £ 2 (х изменяется с шагом 0.1). Результаты записать построчно в текстовый файл в виде

“x = 0.1 Si(0.1) = a0 + a1+ . . . an = Sаi”,

где a0, a1, …, an – численные значения членов ряда; Sаi - численное значение суммы членов ряда.

Точность вычисления оценивается по последнему члену ряда и равна e =0.00001.

7) Даны файлы F1, F2, F3, F4, F5, компоненты которых являются вещественными числами. Организовать обмен компонентами между файлами в соответствии со следующей схемой: F1® F3, F2 ® F4, F3 ® F5, F4 ® F2, F5 ® F1, т. е. компоненты файла F1 переписываются в файл F3, компоненты файла F2 – в F4 и т. д. Разрешается использовать только один вспомогательный файл G.

8) Дан файл F, компоненты которого являются целыми числами. Никакой из компонентов файла F не равна нулю. Числа в файле идут в следующем порядке: десять положительных, десять отрицательных, десять положительных, десять отрицательных и т. д. Число компонент файла должно быть кратно 40. Переписать компоненты файла F в файл G, чтобы в файле G числа шли в следующем порядке: пять положительных, пять отрицательных, пять положительных, пять отрицательных и т. д.

9) Дан файл F, компоненты которого являются целыми числами. Никакая из компонент файла F не равна нулю. Числа в файле идут в следующем порядке: десять положительных, десять отрицательных, десять положительных, десять отрицательных и т. д. Число компонент файла должно быть кратно 40. Переписать компоненты файла F в файл G, чтобы в файле G числа шли в следующем порядке: восемь положительных, восемь отрицательных, восемь положительных, восемь отрицательных и т. д.

10) Дан файл F, компоненты которого являются целыми числами. Никакая из компонент не равна нулю. Файл F содержит равное количество положительных и отрицательных чисел. Используя вспомогательный файл H, переписать компоненты файла F в файл G так, чтобы в файле G не было двух соседних чисел с одинаковым знаком.

11) Дан файл F, компоненты которого являются целыми числами. Никакая из компонент не равна нулю. Файл F содержит равное количество положительных и отрицательных чисел. Используя вспомогательный файл H, переписать компоненты файла F в файл G так, чтобы в файле G сначала шли положительные, а затем отрицательные числа.

12) Дан файл F, компоненты которого являются целыми числами. Никакая из компонент не равна нулю. Файл F содержит равное количество положительных и отрицательных чисел. Используя вспомогательный файл H, переписать компоненты файла F в файл G так, чтобы в файле G числа следовали в следующем порядке: два положительных, два отрицательных, два положительных, два отрицательных и т. д. (предполагается, что число компонент в файле F кратно 4).

 



<== предыдущая лекция | следующая лекция ==>
Чтение из потока и запись в поток | Лабораторная работа № 18


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.