Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Список индивидуальных данных

Общая постановка задачи

Теоретическая часть

Лабораторная работа №3.Работа с файлами.

Способ оценки результатов

Критерии оценки результатов лабораторной работы №2 не отличаются от критериев оценки результатов лабораторной работы №1.

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

Требования к содержанию, оформлению и порядку выполнения

Требования к содержанию, оформлению и порядку выполнения лабораторной работы №3 не отличаются от соответствующих требований к лабораторной работе №1. Работы №1,3 содержат повторяющийся материал (см. список индивидуальных данных). Этот материал в отчет работы №3 не выносится. Однако при сдаче работы №3 следует представить отчеты по работе №1.

Необходимая информация по выполнению лабораторной работы приведена в учебном пособии и в описании лабораторной работы №1.

В лабораторной работе требуется переделать задания, выполненные в рамках лабораторных работ №1 так, чтобы исходные данные вводились из файлов и/или записывались в файлы.

В лабораторной работе используются задания, определенные в 1 и 2 лабораторной работах.

Переделаем задание 1 из лабораторной работы №1 таким образом, чтобы исходные данные (значения x, y и z) вводились из текстового файла. Текст программы на Си будет следующий:

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

double a,b;

float xyz[3];

 

#define LEN 50

char str[LEN];

char NameFile[LEN]="c:\\dat_1_1.txt";

 

int main (void) {

int i=0;

setbuf (stdout, NULL);

printf ("ЛАБОРАТОРНАЯ РАБОТА №3 (задание 1)\n");

printf ("Исходные данные находятся в текстовом файле %s\n",NameFile);

FILE *pTextFile = fopen (NameFile,"r");

if (pTextFile == NULL) {

printf ("Ошибка открытия файла %s\n",NameFile);

return EXIT_FAILURE;

}

printf ("Считаны следующие данные:\n");

while ((fgets (str,LEN,pTextFile)!= NULL) && (i<3)) {

xyz[i]= atof (str);

printf (" %f\n",xyz[i]);

i++;

}

if (i!=3) {

printf ("В файле %s \n",NameFile);

printf ("должно быть 3 вещественных числа по одному в строке\n");

return EXIT_FAILURE;

}

fclose (pTextFile);

printf ("Результаты расчета:\n");

a=(0.5* cos (xyz[0]+1)* cos (xyz[0]+1)- sqrt (sqrt (exp (2*xyz[1]))))/

(xyz[1]+8+0.1* cos (xyz[0]+1));

printf ("a=%f\n",a);

b= exp (-xyz[2]*xyz[1])- pow (exp (2*xyz[1]),1.0/5.0);

printf ("b=%f\n",b);

printf ("Работа программы завершена.\n");

return EXIT_SUCCESS;

}

Результат работы программы представлен на рис.Л3.1.

 
 

 


Переделаем задание 2 из лабораторной работы №1 таким образом, чтобы исходные данные (значения x, y и z) вводились из текстового файла, и результат работы также записывался в текстовый файл. Текст программы на Си будет следующий:

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

double a,b;

float xyz[3];

 

#define LEN 50

char str[LEN];

char NameFileInp[LEN]="c:\\dat_inp_1_2. txt ";

char NameFileOut[LEN]="c:\\dat_out_1_2. txt ";

 

int main (void) {

int i=0;

setbuf (stdout, NULL);

printf ("ЛАБОРАТОРНАЯ РАБОТА №3 (задание 2)\n");

printf ("Исходные данные находятся в текстовом файле %s\n",NameFileInp);

FILE *pTextFileInp = fopen (NameFileInp,"r");

if (pTextFileInp == NULL) {

printf ("Ошибка открытия файла %s\n",NameFileInp);

return EXIT_FAILURE;

}

printf ("Считаны следующие данные:\n");

while ((fgets (str,LEN,pTextFileInp)!= NULL) && (i<3)) {

xyz[i]= atof (str);

printf (" %f\n",xyz[i]);

i++;

}

if (i!=3) {

printf ("В файле %s \n",NameFileInp);

printf ("должно быть 3 вещественных числа по одному в строке\n");

return EXIT_FAILURE;

}

fclose (pTextFileInp);

printf ("Результаты расчета:\n");

if ((xyz[0]>0)&&(xyz[1]>0)&&(xyz[2]>0)) printf ("Верно\n");

else printf ("Неверно\n");

FILE *pTextFileOut = fopen (NameFileOut,"w");

if (pTextFileOut == NULL) {

printf ("Ошибка создания файла %s\n",NameFileOut);

return EXIT_FAILURE;

}

if ((xyz[0]>0)&&(xyz[1]>0)&&(xyz[2]>0)) fprintf (pTextFileOut,"Верно\n");

else fprintf (pTextFileOut,"Неверно\n");

printf ("Результаты расчета записаны в файл %s:\n",NameFileOut);

fclose (pTextFileOut);

printf ("Работа программы завершена.\n");

return EXIT_SUCCESS;

}

Результат работы программы представлен на рис.Л3.2.

 
 

 


Переделаем задание 3 из лабораторной работы №1 таким образом, чтобы промежуточные вычисления и результат работы записывались в текстовый файл. Текст программы на Си будет следующий:

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

 

#define LEN 50

char NameFileOut[LEN]="c:\\dat_out_1_3. txt ";

 

double s,Y;

float x,E;

int i;

int main (void) {

setbuf (stdout, NULL);

FILE *pTextFileOut = fopen (NameFileOut,"w");

if (pTextFileOut == NULL) {

printf ("Ошибка создания файла %s\n",NameFileOut);

return EXIT_FAILURE;

}

printf ("ЛАБОРАТОРНАЯ РАБОТА №3 (задание 3)\n");

printf ("x="); scanf ("%f",&x);

printf ("E="); scanf ("%f",&E);

fprintf (pTextFileOut,"ЛАБОРАТОРНАЯ РАБОТА №3 (задание 3)\n");

fprintf (pTextFileOut,"Исходные данные:\n");

fprintf (pTextFileOut,"x=%f\n",x);

fprintf (pTextFileOut,"E=%f\n",E);

fprintf (pTextFileOut,"Этапы расчета:\n");

s=0.0; Y=1.0; i=0;

fprintf (pTextFileOut,"Y=%f s=%f\n",Y,s);

while (fabs (Y)>=E) {

s=s+Y;

i++;

Y=Y*x/i;

fprintf (pTextFileOut,"Y=%f s=%f\n",Y,s);

}

fclose (pTextFileOut);

printf ("s=%f\n",s);

printf ("Протокол работы записан в файл %s\n",NameFileOut);

printf ("Работа программы завершена.\n");

return EXIT_SUCCESS;

}

Результат работы программы представлен на рис.Л3.3.

 
 

 


Контрольные вопросы к защите

К защите лабораторной работы №3 следует подготовить вопросы для повторения темы 4.




Поделиться с друзьями:


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


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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