Математикалық моделі:
P=dur_san *100/sur_san;
жаєдайда
ќалєан
p
егер
p
егер
p
егер
baga
_
,
2
90
56
_
,
3
91
76
_
,
4
91
_
,
5
Есептің программасы (С тілінде):
#include "stdio.h"
#include "conio.h"
#include "string.h"
#define kb 5
void main()
{char fname[40]; FILE* f;
int sur_san=0;
237
int dur_san=0;
int dg,otb,baga,p;
char gol[80];
int i;
puts("Файлдың атын енгізіңіз=?"); gets(fname);
if ((f=fopen(fname,"rt"))==NULL) {
printf("Файл аты дұрыс емес - %s",fname);
getch();
return;
}
clrscr();
puts("\nТестілеуді бастау үшін :");
printf("Enter басыңыз");
getch();
textbackground(RED);
clrscr();
while ( !feof (f) ){
sur_san++;
fgets (gol,80,f);
printf("\n%i.%s\n",sur_san,gol);
for (i=1; i<=kb;i++){
fgets(gol,80,f);
printf("\n%i.%s",i,gol);
}
fscanf(f,"%i",&dg);
fgets(gol,80,f);
printf("\n Select=?"); scanf("%i",&otb);
if (otb==dg) dur_san++;
}
printf("Test dur san=%i\t",dur_san);
fclose(f);
p=100*dur_san/sur_san;
if (p>=91) baga=5;else
if (p<=90 && p>=76) baga=4;
else
if (p<=75 && p>=56) baga=3;else baga=2;
printf("\a Baga=%i",baga);
getch();
}
Есептің программасы (С++ тілінде):
#include "iostream.h"
#include "conio.h"
#include "string.h"
#include
238
#define kb 5
void main()
{ char fname[40];
int sur_san=0;
int dur_san=0;
int dg,otb;
char gol[40];
int i;
cout<<"fname=?";
cin>>fname;
ifstream fil(fname,ios::in);
if (!fil) {
cout<<"error %s"<getch();
return;
}
clrscr();
textbackground(RED);
sur_san=0;
while(!fil.eof()){
sur_san++;
fil>>gol;
cout<<"\n"<for (i=1; i<=kb;i++){
fil>>gol;
cout<<"\n"<}
fil>>dg;
cout<<"\n d="<cout<<"\n Select=?"; cin>>otb;
if (otb==dg) dur_san++;
}
cout<<"Test dur san="<fil.close();
}
Өзіндік жеке тапсырмалар:
1. Тексттік файлдың әрбір жолындағы қысқа сөздерден тұратын файл
құрыңыз.
2. Файлдағы сандар тізбегі геометриялық прогрессияны құрай ма?
3. Файлға кездейсоқ сандар тізбегін шығарыңыз. Файлдағы оң сандардың
санын, ал теріс сандардың қосындасан анықтаңыз.
4. Файлда емхана пациенттерінің аты-жөні, диагонызы тіркелген. Қан қысымы
жоғарыларының тізімін анықтаңыз.
239
5. Файлдағы сандар тізбегі арифметикалық тізбек прогрессия құрай ма?
6. Тексттік файлдың әрбір жолындағы символдар саны мен кері оқығанда өзі
шығатын сөздерінен тұратын файл құрыңыз.
7. Төрт орында кездейсоқ n санннан тұратын файл құрыыңыз. Олардың 3-ке
еселілерінің санын анықтаңыз.
8. Тексттік файлдың әрбір жолындағы цифрлардан тұратын сандар файлын
құрыңыз.
9. Файлда бүтін сандар тізбегі берілген. Тақ сандар мен жұп сандарды екі
файлға бөліңіз.
10. Студенттердің аты-жөні, туылған жылдары файлда сақталған. Бірдей
жылдары туылған студенттерді анықтаңыз.
11. Студенттердің аты-жөні, туылған жылдары файлда сақталған. Аттас
студенттер бар ма?
12. Банк салымшыларының тізімі мен салым мөлшері файлда тіркелген. Бір
айдан соң жалпы салынған ақша мөлшері мен әр салымшыға төленетін
пайыздық(7%) ақша мөлшерін жаңа файлға сақтаңыз.
13. Файлда әр күні түскен өнім мөлшері берілген. Ең көп және ең аз өнім
алынған күннің нөмірін анықта.
14. Файлда әр күні түскен өнім мөлшері анықталған. Барлық жиналған өнімді,
орташа бір күндік мөлшерін және өнімнің неше күнде жиналғанын
анықтаңыз.
15. Берілген файл студенттің аты-жөні, үш пәннен алған бағасы көрсетілген
жолдардан тұрады. Әр студенттің фамилиясы мен орташа үлгерімі
мәндерінен тұратын шығыс файлын құру программасын жазыңыз.
16. Топ студенттері туралы мәліметтерден тұратын файл құрыңыз. Топтағы ең
жоғары және ең төмен үлгерімді студентті анықтау программасын құрыңыз.
17. Цех жұмысшыларының әр айдағы табыс мөлшерінен тұратын файл берілген.
Барлық жұмысшының орташа табыс мөлшерін анықтаңыз.
18. Бір айдағы ауа қысымынан тұратын файл құрыңыз. Айдағы орташа қысым
мөлшерін және ауа қысымы ең жоғары күнді анықтаңыз.
19. Кітапханадағы кітаптар туралы мәліметтер қорын құрыңыз. Мұндағы сатып
алуға ең көп ақша жұмсалған кітаптың аты мен авторын, бір данасының
құны мен жалпы санын экранға шығарыңыз.
20. Банктен несие алып, төлегендер мен уақытында төлегендер тізімі
файлда аралас орналасқан. Төлемегендер тііізімі мен жалпы қайтарылуы
тиіс ақша мөлшерін анықтаңыз. Қарыз мөлшері теріс санмен анықталған.
Блиц-тест:
1. Файлдан оқу немесе файлға жазу үшін файлды ашу функциясын
көрсетіңіз:
A) fopen
B) FILE
C) open
D) EOF
E) Fscanf
240
2. FILE структурасы қандай тақырыптық файлда сипатталған?
A) Stdio.h;
B) Iostream.h;
C) Stdlib.h;
D) Math.h;
E) Strstrea.h.
3. Жаңа файлды әрі оқуға әрі жазға ашу режимі қайсысы?
A) W+;
B) W;
C) R+;
D) R;
E) A+;
Достарыңызбен бөлісу: |