МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Пензенский государственный технологический университет" (ПензГТУ) Факультет "Информационные и образовательные технологии" Кафедра "Информационные технологии и системы" Дисциплина "Языки программирования" ОТЧЁТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №5 Символы и строки. Выполнил: студент 13ИС2б Крохин И.А. Проверил: ст. преподаватель каф. ИТС Володин К.И. Пенза 2013 Цель работы Целью данной лабораторной работы является изучение на практике строк языка ANSI C, операции над строками, функций стандартной библиотеки по работе со строками. Задача лабораторной работы Задача лабораторной работы состоит в практическом освоении объявления и работы со строками, а также функций стандартной библиотеки написание приложения по индивидуальному варианту. Схема программы Рисунок 1 - блок-схема программы Текст программы #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> int main(void) { float array1[51][2]; int j,i,q,p=0,m; float max,min,s,x,a,g,f,y,v,n; char n1[3],x1[500],x2[500],a1[500],itog[500]; max=-999; min=999; printf("select an example\n"); scanf("%d", &q); printf("kol-vo raz"); scanf("%s",&n1); n=atoi(n1); do { if(n<51) { printf("ENTER a: "); scanf("%s", &a1); a=atoi(a1); printf("Vvedite ogranic x\n"); printf("x1 = "); scanf("%s",&x1); x=atoi(x1); printf("x2 = "); scanf("%s",&x2); m=atoi(x2); s=(m-x)/n; switch(q) { case 1: for(i=0;i<(n+1);i++) { v=15*a*a+49*a*x+24*x*x; if (v!=0) { g=10*(-45*a*a+49*a*x+6*x*x)/v; array1[i][0]=x; array1[i][1]=g; } else { array1[i][0]=x; array1[i][1]=0; } x=x+s; } break; case 2: for(i=0;i<(n+1);i++) { v=(72*a*a-91*a*x+24*x*x); if ((v>=-1)&&(v<=1)) { f=cos(v); array1[i][0]=x; array1[i][1]=f; } else { array1[i][0]=x; array1[i][1]=0; } x=x+s; } break; case 3: for(i=0;i<(n+1);i++) { v=(8*a*a-14*a*x+5*x*x); if ((v>=-1)&&(v<=1)) { y=asin(v); array1[i][0]=x; array1[i][1]=y; } else { array1[i][0]=x; array1[i][1]=0; } x=x+s; } break; default: { printf("Oshibka takogo primera net\n\n"); for(i=0;i<(n+1);i++) array1[i][1]=0; } break; } strcpy(itog,""); for (i=0;i<(n+1);i++) { sprintf(a1,"%f",array1[i][1]); strcat(itog,a1); } printf("%s\n",itog); for (i=0;i<n;i++) { if (array1[i][1]>max) max=array1[i][1]; if (array1[i][1]<min) min=array1[i][1]; } printf("max = %f \n", max); printf("min = %f\n", min); printf("Vvedite shablon\n"); scanf("%s", &x2); for( i = 0; itog[i]!='\0'; i++) { for(j=0; j< strlen(x2); j++) { if(itog[i] != x2[j]) break; i++; } if( j == strlen(x2) ) { p++; i--; } } printf("Dannaja posledovatel'nost' zna4en. - %s vstre4aetsja - %d raz \n\n",x2,p); n=0; } else {printf("error yslovia\1\n\n"); printf("esli xotite prodolzit, vvedite kol-vo raz zanovo\nesli xotite vyiti vvedite 0\nkol-vo raz = "); scanf("%s",&n1); n=atoi(n1); } } while(n!=0); return 0; } Листинг 1 Проверочная таблица xaРезультатG24-4,175F001Y440Ne prinadlezhit ODZ Результат работы программы Выводы по работе Практически освоил объявление и работу со строками, а также функцию стандартной библиотеки написание приложения по индивидуальному варианту.
1/--страниц