9.Примеры
9.1 Пример программы на языке программирования С
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include <time.h>
void main()
{
int ch;
time_t t;
char filename[100];
int *a,i,n;
float sr,disp;
FILE *file;
randomize();
clrscr();
//Открытие файла
printf("Imya faila: "); scanf("%s", &filename);
file = fopen(filename, "rt");
if (file==NULL) {
printf("Fail ne nayden");
exit(1);
}
//Выделение памяти
fscanf(file,"%d",&n);
a=(int*)malloc(n*sizeof(int));
if (!a) {
printf("Nedostatochno Pamyati!!");
getch();
exit(1);
}
//Считывание данных из файла
for (i=0;i<n;i++) fscanf (file,"%d",(a+i));
fclose(file);
//Вычисления
sr=0;
for (i=0;i<n;i++) sr+=*(a+i);
sr=sr/n;
disp=0;
for (i=0;i<n;i++) disp=disp+(*(a+i)-sr);
//Вывод результата на экран
for (i=0;i<n;i++) printf ("X[%d]=%d\n",i+1,*(a+i));
printf ("\n");
printf ("X srednee=%f\n",sr);
printf ("D=%f\n",disp);
//Запись результата в файл
printf("Vvedite imya faila dlya zapisi resultata: ");
scanf("%s", &filename);
file = fopen(filename, "wt");
if (file==NULL)
{
printf("ne poluchilos sozdat fail\n");
exit(1);
}
fprintf (file,"Programma dla rascheta Xsr i dispersii dx,zadannogo massiva\n");
for (i=0;i<n;i++) fprintf (file,"X[%d]=%d\n",i+1,*(a+i));
fprintf (file,"X srednee=%f\n",sr);
fprintf (file,"Dispersia=%f\n",disp);
t=time(NULL);
fprintf (file,"%s",ctime(&t));
fclose(file);
free (a);
}
10. Типовые ошибки
1) Ввод данных осуществляют с клавиатуры, затем записывают в файл. Что не соответствует требованиям к заданию.
2).Реализуется один вариант данных в файле. Что не соответствует требованиям к заданию.
Контрольные вопросы
Представить доказательства выполнения каждого требования к заданию.
Расскажите как реализовать пакетный режим (ввод данных в программу с командной строки) в языках программирования.
Сравните реализацию пакетного режима в Си и Pascal.
Стандартные подпрограммы обработки файлов в C и Pascal.
Сравнить обработку файлов в C и Pascal.
Стандартные подпрограммы, поддерживающие определение времени и даты.
Что такое внешний интерфейс?
В каком случае рекомендуется хранить данные в файле?
В каком случае рекомендуется задавать данные только с клавиатуры?
Когда следует хранить данные в текстовом файле, а когда -в бинарном?
Стандартные подпрограммы обработка времени и даты.
Литература
Г.С.Иванова «Основы программирования»(издание второе) издательство «МГТУ имени Н.Э.Баумана» 2002
Минакова Н.И. И др. “Методы программирования” Москва Изд-во “Вузовская книга”, 1999, Стр 280