Ïðîãðàììèðîâàíèå 9 êëàññ 2017-2018 ó÷åáíûé ãîä

Äîïîëíèòåëüíûå ìàòåðèàëû è ññûëêè

Óðîê 24    05.05.2018

 

 

Òåìà óðîêà: Áëî÷íûå îïåðàöèè ñ  ôàéëàìè

 

1.    Ïðîãðàììà 1  ÷èòàåò äâîè÷íûé ôàéë (èñïîëíÿåìûé ôàéë ïðîãðàììû)  áëîêàìè ïî 1024 áàéò è âûâîäèò ïðî÷èòàííûå áàéòû è, ñèìâîëû, ASCII-êîäû êîòîðûõ ñîîòâåòñòâóþò ýòèì áàéòàì,  íà ýêðàí

 

│║        buf:Array[1..1024] of byte;                                         

│║        f:file;                                                             

│║        i,n:integer;                                                         

│║        j:longint;                                                          

│║        fn:string;                                                          

│║begin                                                                        

│║        Readln(fn);                                                         

│║        Assign(f,fn);                                                       

│║        Reset(f,1);                                                          

│║        j:=0;                                                               

│║        Repeat                                                              

│║                BlockRead(f,buf,SizeOf(buf),n);                             

│║                for i:=1 to 1024 do                                         

│║                        begin                                               

│║                                Writeln(j,' ',buf[i],' ',chr(buf[i]));      

│║                                j:=j+1;                                     

│║                        end;                                                

│║        until eof(f);                                                       

│║end.                                                                         

│║                                                                             ­

└╚══*═══ 23:56 ■▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒┘

 

 

Ðèñóíîê 1 Îñíîâíàÿ ÷àñòü èñõîäíîãî òåêñòà ïðîãðàììû 1

 

 

58319 36 $

58320 36 $

58321 76 L

58322 79 O

58323 78 N

58324 71 G

58325 87 W

58326 79 O

58327 82 R

58328 68 D

58329 0

58330 70 F

58331 80 P

58332 73 I

58333 78 N

58334 84 T

58335 82 R

58336 69 E

58337 83 S

58338 95 _

58339 73 I

58340 78 N

58341 84 T

58342 70 F

58343 73 I

58344 78 N

58345 68 D

58346 82 R

58347 69 E

58348 83 S

58349 79 O

58350 85 U

58351 82 R

58352 67 C

58353 69 E

58354 69 E

58355 88 X

58356 36 $

58357 76 L

58358 79 O

58359 78 N

58360 71 G

58361 87 W

58362 79 O

58363 82 R

58364 68 D

58365 36 $

58366 80 P

58367 67 C

 

Ðèñóíîê 2 Ðåçóëüòàò ðàáîòû ïðîãðàììû 1 – ïîñëåäíèå áàéòû.

 

 

1.    Ïðîãðàììà 2, ÷èòàåò äâîè÷íûé ôàéë (èñïîëíÿåìûé ôàéë ïðîãðàììû)  áëîêàìè ïî 1024 áàéò, èùåò çàäàííóþ ïîñëåäîâàòåëüíîñòü áàéòîâ è òîëüêî ýòè áàéòû âûâîäèò è ñèìâîëû, ASCII-êîäû êîòîðûõ ñîîòâåòñòâóþò ýòèì áàéòàì è ñìåùåíèÿ ýòèõ áàéòîâ îò íà÷àëà ÷èòàåìîãî ôàéëà íà ýêðàí

 

 

File  Edit  Search  Run  Compile  Debug  Tools  Options  Window  Help

┌──────────────────────────────── 18042801.pas ──────────────────────────1─────┐

│╔═[■]═══════════════════════════ 18050501.pas ══════════════════════════2═[]═╗

│║(s);                                                                        

│║Length(s);                                                                  

║(f,fn);                                                                     

│║f,1);                                                                       

│║                                                                            

│║                                                                             

  BlockRead(f,buf,SizeOf(buf),n);                                           

│║  for i:=1 to n-lens+1 do                                                   

│║          begin                                                              

│║                  find:=true;                                               

│║                  for k:=1 to lens do                                       

│║                          find:=find and (buf[i+k-1]=ord(s[k]));            

│║                  if find then                                              

│║                  for k:=1 to lens do                                       

│║                          Writeln(j+k-1,' ',buf[i+k-1],' ',chr(buf[i+k-1])); ▒

│║                  j:=j+1;                                                   

│║          end;                                                              

│║eof(f);                                                                      

│║                                                                            

│║                                                                             ­

└╚══════ 26:91 ▒▒▒▒▒■▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒┘

 F1 Help  F2 Save  F3 Open  Alt+F9 Compile  F9 Make  Alt+F10 Local menu

Ðèñóíîê 3 Èñõîäíûé òåêñò ïðîãðàììû 2 (ôðàãìåíò)

 

 

■ Free Pascal IDE Version 1.0.12 [2011/04/23]

■ Compiler Version 2.4.4

■ GDB Version GDB 7.2

■ Using configuration files from: F:\Program Files\FreePascal\bin\i386-win32\

Running "f:\projects\1436\2017-2018\Ïðîãðàììèðîâàíèå9\ÏÐîãðàììû\18050501.exe "

18042801.exe

started

27593 115 s

27594 116 t

27595 97 a

27596 114 r

27597 116 t

27598 101 e

27599 100 d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.    Ïðîãðàììà 3, ÷èòàåò äâîè÷íûé ôàéë (èñïîëíÿåìûé ôàéë ïðîãðàììû)  áëîêàìè ïî 1024 áàéò è çàïèñûâàåò ïðî÷èòàííîå â äðóãîé ôàéë òàêèìè æå áëîêàìè, ò. å. êîïèðóåò ôàéë.

Èñïîëüçóåò ïîäïðîãðàììû: BlockRead è BlockWrite.

 

 

 

Ðèñóíîê 4 Ðåçóëüòàò ðàáîòû ïðîãðàììû 2

 

File  Edit  Search  Run  Compile  Debug  Tools  Options  Window  Help

╔═[■]════════════════════════════ 18050502.pas ══════════════════════════1═[↕]═╗

║program p18050502;                                                           

var                                                                           

        buf:Array[1..1024] of byte;                                          

        fr,fw:file;                                                          

        nr,nw:integer;                                                        

        frn,fwn:string;                                                      

║begin                                                                        

        Readln(frn);                                                          

        Read(fwn);                                                           

        Assign(fr,frn);                                                      

        Reset(fr,1);                                                          

        Assign(fw,fwn);                                                      

        Rewrite(fw,1);                                                       

        Repeat                                                                

                BlockRead(fr,buf,SizeOf(buf),nr);                            

                BlockWrite(fw,buf,nr,nw);                                    

        until eof(fr);                                                       

║end.                                                                          

                                                                             

                                                                             

                                                                              

╚══════ 17:21 ◄■▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒►┘

 F1 Help  F2 Save  F3 Open  Alt+F9 Compile  F9 Make  Alt+F10 Local menu

 

Ðèñóíîê 5 Èñõîäíûé òåêñò ïðîãðàììû 3

 

 

Çàäà÷è :

1.     ×òåíèå ôàéëà, áëî÷íîå . Ñ êëàâèàòóðû ââîäÿò èìÿ äâîè÷íîãî ôàéëà ïðè íåîáõîäèìîñòè ñ óêàçàíèåì ïóòè. Íàïèñàòü ïðîãðàììó, êîòîðàÿ ÷èòàåò ýòîò ôàéë è âûâîäèò íà ýêðàí êàæäûé áàéò ýòîãî ôàéëà ñ óêàçàíèåì ñìåùåíèÿ îò íà÷àëà ôàéëà è ñèìâîëà, ASCII-êîä êîòîðîãî ðàâåí ýòîìó áàéòó,

2.      Ïîèñê áàéòîâ â äâîè÷íîì ôàéëå. Ñ êëàâèàòóðû ââîäÿò èìÿ äâîè÷íîãî ôàéëà ïðè íåîáõîäèìîñòè ñ óêàçàíèåì ïóòè è ñòðîêà áàéòîâ. Íàïèñàòü ïðîãðàììó, êîòîðàÿ ÷èòàåò ýòîò ôàéë ïîáëî÷íî è âûâîäèò åãî áàéòû, ñëåäóþùèå ïî ïîðÿäêó, ñîâïàäàþùåìó ñ ââåäåííîé ïîñëåäîâàòåëüíîñòüþ. Äëÿ êàæäîãî áàéòà äîëæíî áûòü óêàçàíî åãî ñìåùåíèå, çíà÷åíèå è ñèìâîë, ASCII-êîä êîòîðîãî ñîâïàäàåò ñ áàéòîì.

Óêàçàíèå: äëÿ ïðîâåðêè ðàáîòû ýòîé ïðîãðàììû íàïèøèòå ïðîãðàììó, êîòîðàÿ âûâîäèò íà ýêðàí òåêñòîâóþ ñòðîêó è íàéäèòå ýòó ñòðîêó â èñïîëíÿåìîì ôàéëå ýòîé âñïîìîãàòåëüíîé ïðîãðàììû.

3.     ×òåíèå ,áàéòîâ ôàéëà, áëî÷íîå . Ñ êëàâèàòóðû ââîäÿò èìÿ äâîè÷íîãî ôàéëà ïðè íåîáõîäèìîñòè ñ óêàçàíèåì ïóòè, à òàêæå – íà÷àëüíîå ñìåùåíèå è êîëè÷åñòâî áàéòîâ. Íàïèñàòü ïðîãðàììó, êîòîðàÿ ÷èòàåò ýòîò ôàéë è âûâîäèò íà ýêðàí êàæäûé áàéò ýòîãî ôàéëà ñ óêàçàíèåì ñìåùåíèÿ îò íà÷àëà ôàéëà è ñèìâîëà, ASCII-êîä êîòîðîãî ðàâåí ýòîìó áàéòó, Áàéòû äîëæíû áûòü âûâåäåíû, íà÷èíàÿ ñ óêàçàííîãî ñìåùåíèÿ è â óêàçàííîì êîëè÷åñòâå.

Óêàçàíèå: äëÿ ïðîâåðêè èñïîëüçóéòå ðåçóëüòàòû ðàáîòû ïðîãðàììû

4.     Êîïèðîâàíèå ôàéëîâ . Íàïèñàòü ïðîãðàììó, êîòîðàÿ êîïèðóåò îäèí äâîè÷íûé ôàéë â äðóãîé ñ èñïîëüçîâàíèåì îïåðàöèé áëî÷íîãî ÷òåíèÿ è çàïèñè. Èìåíà ôàéëîâ ââîäÿò ñ êëàâèàòóðû.

Óêàçàíèå: äëÿ ïðîâåðêè ñêîïèðóöòå ðàíåå íàïèñàííóþ âñïîìîãàòåëüíöþ ïðîãðàììó è çàïóñòèòå åå êîïèþ.

 

 

Äîìàøíåå çàäàíèå

1.     Ïîèñê áàéòîâ â äâîè÷íîì êîäå, óíèâåðñàëüíûé.. Ïðîãðàììà 2 êëàññíîé ðàáîòû áóäåò ðàáîòàòü íå êîððåêòíî, åñëè èñêîìàÿ ñòðîêà áóäåò íà÷èíàòüñ÷ â êîíöå îäíîãî áëîêà è ïðîäîëæàòüñÿ ñ íà÷àëà ñëåäóþùåãî áëîêà. Èñïðàâèòü ïðîãðàììó òàê, ÷òîáû îíà êîððåêòíî ðàáîòàëà è â ýòîì ñëó÷àå.

2.  Òâîð÷åñêàÿ.

Ïðèäóìàòü è íàïèñàòü ïðîãðàììó, ñîäåðæàùóþ äåéñòâèÿ ñ äâîè÷íûìè ôàéëàìè. Ïðîãðàììà íå äîëæíà ïîâòîðÿòü ïðîãðàììû êëàññíîé è äîìàøíåé ðàáîòû è ïðîãðàììû äðóãèõ ó÷åíèêîâ.

 

 

Ëèòåðàòóðà:

Èíôîðìàòèêà. Çàäà÷íèê-ïðàêòèêóì â 2-õ òîìàõ. Ò. 1 Ïîä ðåä. È.Ã. Ñåìàêèíà, Å.Ê. Õåííåðà, èçä. 4, Ì., Áèíîì. Ëàáîðàòîðèÿ çíàíèé, 2012.

Ñêà÷àòü URL: https://drive.google.com/file/d/0B6696ckkWj_zZDB2Yk4xMk1iR28/view

 

 

 

Çàäà÷è äëÿ äîïóñêà ê çà÷åòó

Èç êíèãè, óêàçàííîé â ðàçäåëå «Ëèòåðàòóðà» ñòð. 223-229, 235

Îáùåå çàäàíèå: Íàïèñàòü ïðîãðàììó äëÿ âû÷èñëåíèÿ óêàçàííûõ âûðàæåíèé. Âñå íåîáõîäèìûå âåëè÷èíû ââîäÿò ñ êëàâèàòóðû â àëôàâèòíîì ïîðÿäêå.  ñëó÷àå íåâîçìîæíîñòè âû÷èñëèòü ôîðìóëó ïðîãðàììà äîëæíà âûâåñòè ñîîòâåòñòâóþùåå ñîîáùåíèå.

 

 

 

Êòî

 

Àáðîñüêèíà

18 ñòð.235

 

 

 

 

 

 

 

 

 

 

 

 

 

Äåðåâÿãà

20 ñòð. 236

 

 

 

 

 

 

 

 

 

 

 

 

 

Åâñèêîâ

21 ñòð. 236

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Êàëèíèí

22 ñòð. 236

 

 

 

 

 

 

 

 

 

 

 

 

 

Ìèøóñòèí

24 – ñòð. 236

 

 

 

 

 

 

 

 

 

 

 

 

 

Ñàìîõâàëîâ

25 – ñòð. 236

 

 

 

 

 

 

 

 

 

 

 

 

 

Óøàêîâ

26 – ñòð. 236

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Øàïîâàëîâ

27 – ñòð. 236

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Äîïóñê 21.04.2018

Àáðîñüêèíà 0  Íåò ïðîãðàììû

Ìèøóñòèí         0       Íåò ïðîãðàììû

Ñàìîõâàëîâ    0       Íåò ïðîãðàììû