![]() КАТЕГОРИИ: Архитектура-(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; Просмотров: 312; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |