Ïðîãðàììèðîâàíèå 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 Íåò ïðîãðàììû