Tajriba mashg’uloti № 21
16-mashg’ulot. Paskal tilida fayllar bilan ishlash
Mashg’ulotning maqsadi: talabalarda fayllar bilan ishlash malaka va ko‘nikmalarini hosil qilish.
Nazariy ma’lumotlar ma’ruza darslarida keltirilgan.
51– masala uchun programma
|
Paskal tilida
|
Borland C++ tilida
|
program file51;
{$APPTYPE CONSOLE}
uses
SysUtils;
type satr=string[12];
var
s1,s2,s3,s4:satr;
a:array[byte]of real;
i,j,k:byte; t:real;
f:file of real;
procedure son(nom:satr);
var f1:file of real;
begin
assign(f1,nom);reset(f1);
while not eof(f1)do
begin
read(f1,a[i]);
i:=i+1;
end;
close(f1);
end;
begin
s1:='sonlar1.in';
s2:='sonlar2.in';
s3:='sonlar3.in';
i:=0;
son(s1);
son(s2);
son(s3);
for k:=1 to i-1 do
for j:=k+1 to i do
if a[k]
assign(f,'sonlar4.out');rewrite(f);
for k:=1 to i do
write(f,a[k]);
close(f);
end.
|
#pragma file51
#include
typedef char satr[12];
static float a[1000];
static short int i;
satr s1,s2,s3,s4;
void son(satr nom);
int main(int argc, char **argv)
{
static float t;
static short int i,j,k;
s1="sonlar1.in";
s2="sonlar2.in";
s3="sonlar3.in";
i=0;
son(s1);
son(s2);
son(s3);
for (k=1; k<=i-1;k++)
for (j=k+1;j<=i;j++)
if (a[k]<=a[j])
{ t=a[k];a[k]=a[j];a[j]=t;}
ofstream f("sonlar4.out");
for (k=1;k<=i;k++)
f<
f.close();
return 0;
}
void son(satr nom)
{
ifstream f1(nom);
while (! f1.eof())
{
f1>>a[i];
i++;
}
f1.close();
return ;
}
|
82– masala uchun programma
|
program file82;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
f2,f1:text;
n,s,i,k:word;
a:string;
begin
assign(f1,'son.in');reset(f1);
s:=0;
repeat
readln(f1,a);
s:=s+length(a);
until (eof(f1));
close(f1);
s:=s-1;
n:=(s+3) div 3;
k:=n*n-s;
assign(f2,'son.out');rewrite(f2);
for i:=1 to k do
write(f2,'0');
close(f2);
end.
|
#pragma file82
#include
#pragma
typedef char satr[60];
int main(int argc, char **argv)
{
static int n,s,i,k;
satr a;
ifstream f1("son.in");
s=0;
do
{
f1>>a;
s=s+strlen(a);
}
while (f1.getline(a,sizeof(a)));
f1.close();
s=s-1;
n=(s+3) / 3;
k=n*n-s;
ofstream f2("son.out");
for (i=1;i<=k;i++)
f2<<'0';
f2.close();
return 0;
}
|
Topshiriqlar:
1. Ikkilik fayllar. Ikkilik fayllar bilan asosiy programmalar.
Fayllarni tuzish, undagi ma`lumotlarni olish va qo‘yish
1. s satr berilgan. Agar s fayl nomi bo‘lishi uchun to‘g‘ri kelsa, shu nom bilan bo‘sh fayl hosil qilinsin va true chop etilsin. Agar s nom bilan fayl hosil qilish mumkin bo‘lmasa false chop etilsin.
2. s fayl nomi va n(n>1) butun soni berilgan. Butun son joylashadigan s nomli fayl tuzilsin va unga n gacha bo‘lgan juft musbat sonlar ketma-ketligi yozilsin. (n ham kiradi )
3. s fayl nomi va haqiqiy a, d sonlari berilgan. Tashqi faylga 1-hadi a ga ayirmasi d ga teng bo‘lgan arifmetik progressiyaning dastlabki 10 ta hadining qiymatlari yozilsin.
4. 4 ta faylning nomi berilgan. Joriy katalogda joylashgan shu nomlar bilan berilgan fayllar soni topilsin.
5. Butun sonli fayl nomi berilgan. Fayldagi elementlar soni topilsin. Agar bunday nomdagi fayl topilmasa – 1 chiqarilsin.
6. k butun soni va o‘zida manfiy bo‘lmagan butun sonlarni saqlovchi fayl berilgan. Fayldagi k-element chiqarilsin. Bunday element topilmasa – 1 chop etilsin.
7. To‘rttadan kam bo‘lmagan elementga ega butun sonli fayl berilgan. Ushbu faylning 1-, 2-, n-1, n-elementlari chop etilsin.
8. Haqiqiy sonli 2 ta fayl nomi berilgan. Ma`lumki, ulardan biri mavjud va bo‘sh emas, 2-si joriy katalogda yo‘q. 2-fayl tuzilsin va 1-fayldagi 1- va oxirgi element nusxasi unga o‘tkazilsin.
9. Haqiqiy sonli 2 ta fayl nomi berilgan. Ma`lumki, ulardan biri mavjud va bo‘sh emas, 2-si joriy katalogda yo‘q. 2-fayl tuzilsin va 1-fayldagi oxirgi va 1- element nusxasi unga o‘tkazilsin.
10. Butun sonli fayl berilgan. Shunday yangi fayl tuzish kerakki, tuzilgan faylda 1-fayldagi elementlar teskari tartibda joylashtirilsin.
11. Haqiqiy sonli fayl berilgan. 2 ta yangi fayl tuzilsin: 1-faylga berilgan fayldagi toq nomerdagi sonlar, 2-faylga esa berilgan fayldagi juft nomerdagi sonlar chop etilsin.
12. Haqiqiy sonli fayl berilgan. 2 ta yangi fayl tuzilsin: 1-faylga berilgan fayldagi juft nomerdagi sonlar, 2-faylga esa berilgan fayldagi toq nomerdagi sonlar chop etilsin.
13. Haqiqiy sonli fayl berilgan. 2 ta yangi fayl tuzilsin: 1-faylga berilgan fayldagi musbat sonlar, 2-faylga esa berilgan fayldagi manfiy sonlar chop etilsin.
14. Haqiqiy sonli fayl berilgan. Undagi elementlarning o‘rta arifmetigi topilsin.
15. Haqiqiy sonli fayl berilgan. Faylning juft nomerdagi elementlari yig‘indisi hisoblansin.
16. Butun sonli fayl berilgan. Undagi sonlar seriyasi hisoblansin.
17. Butun sonli fayl berilgan. Butun sonli yangi fayl tuzilsin va unga berilgan fayldagi sonlar seriyasining uzunliklari yozilsin.
18. Haqiqiy sonli fayl berilgan. Undagi sonlarning 1-lokal minimumi topilsin.
19. Haqiqiy sonli fayl berilgan. Undagi sonlarning oxirgi lokal maksimumi topilsin.
20. Haqiqiy sonli fayl berilgan. Fayldagi sonlarning barcha lokal ekstremumlar soni topilsin.
21. Haqiqiy sonli fayl berilgan. Yangi butun sonli fayl tuzilsin va unga berilgan fayldagi lokal maksimumlarning tartib nomeri joylashtirilsin.
22. Haqiqiy sonli fayl berilgan. Yangi butun sonli fayl tuzilsin va unga berilgan fayldagi lokal extrimumlarning tartib nomerlari kamayish tartibida joylashtirilsin.
23. Haqiqiy sonli fayl berilgan. Butun sonli fayl tuzilsin va unga berilgan fayldagi kamayuvchi qismiy ketma-ketliklarning elementlari uzunliklari chop etilsin.
24. Haqiqiy sonli fayl berilgan. Butun sonli fayl tuzilsin va unga berilgan fayldagi monoton qismiy ketma-ketliklarning uzunliklari joylashtirilsin.
Do'stlaringiz bilan baham: |