журнал «Информатика и образование» - Информатика и образование 2011 №03
Название: | Информатика и образование 2011 №03 | |
Автор: | журнал «Информатика и образование» | |
Жанр: | Околокомпьютерная литература, Газеты и журналы, Современные российские издания | |
Изадано в серии: | неизвестно | |
Издательство: | неизвестно | |
Год издания: | 2011 | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Информатика и образование 2011 №03"
Аннотация к этой книге отсутствует.
Читаем онлайн "Информатика и образование 2011 №03". [Страница - 23]
äëèíû ñòðîê ðàçëè÷íû è íåò òðåáóåìîé íàãëÿäíîñòè â ïðåäñòàâëåíèè ðåçóëüòàòà.
Ïðè íàëè÷èè ïðîöåäóðû Print îñíîâíàÿ ïðîãðàììà äëÿ àíàëèçà îïåðàöèè ñëîæåíèÿ äâóõ öåëûõ íåîòðèöàòåëüíûõ ÷èñåë (u, v) çàïèñûâàåòñÿ òàê:
Begin
ReadLn(u, v);
Print(u);
Print(v);
Add(u, v, w); {Операция сложения}
Print(w);
End.
Íåîòðèöàòåëüíûå öåëûå ÷èñëà u è v â äâîè÷íîì ïðåäñòàâëåíèè èìåþò âèä
u15u14…u1u10 è v15v14…v1v0. Ðàçðÿäû ïðîíóìåðîâàíû ñïðàâà íàëåâî.  ðÿäå ñëó÷àåâ
òðåáóåòñÿ çíàòü òî÷íîå êîëè÷åñòâî çàäåéñòâîâàííûõ ðàçðÿäîâ â ïðåäñòàâëåíèè ÷èñëà (îòáðîñèòü ñòàðøèå ðàçðÿäû). Ñ ïîìîùüþ ôóíêöèè Nbit â ãëîáàëüíûõ ïåðåìåííûõ n è m ôèêñèðóþòñÿ ýòè çíà÷åíèÿ.
Function Nbit(a: Word): Word;
Var cnt: Word;
Begin
cnt:=0;
While a>0 Do
Begin
cnt:=cnt+1;
a:=a ShR 1;
End;
Nbit:=cnt;
End;
Òîãäà îñíîâíàÿ ïðîãðàììà, íàïðèìåð, àíàëèçà îïåðàöèè äåëåíèÿ, èìååò âèä:
ÈÍÔÎÐÌÀÒÈÊÀ È ÎÁÐÀÇÎÂÀÍÈÅ, ¹ 3—2011
31
Begin
ReadLn(u,v);
n:=Nbit(u);
m:=Nbit(v);
Divs(u, v, w, r); {Операция деления, где w – целая часть частного,
а r – остаток}
Print(w);
Print(r);
End.
Ñëîæåíèå íåîòðèöàòåëüíûõ öåëûõ ÷èñåë
Äàíû äâà íåîòðèöàòåëüíûõ öåëûõ ÷èñëà u = u15u14…u1u0 è v = v15v14…v1v0. Òðåáóåòñÿ íàéòè èõ ñóììó — ÷èñëî r = r15r14…r1r0. Íà ðèñ. 1 ïðèâåäåí ïðèìåð ñëîæåíèÿ
äâîè÷íûõ ÷èñåë (u = 182 è v = 43).
7 6 5 4 3 2 1 0 номер разряда
+
10110110
u
101011
v
11100001
Ðèñ. 1. Ñëîæåíèå ÷èñåë
Ôàêòè÷åñêè òðåáóåòñÿ ðåàëèçîâàòü ëîãèêó ñëîæåíèÿ îäíîðàçðÿäíûõ ÷èñåë ñ ó÷åòîì ôàêòîðà ïåðåíîñà åäèíèöû èç ìëàäøåãî â ñòàðøèé ðàçðÿä (ïåðåìåííàÿ k). Îíà
ïðåäñòàâëåíà â òàáë. 1, ãäå k’ — íîâîå (ïåðåñ÷èòàííîå) çíà÷åíèå k.
Òàáëèöà 1
ui
vi
k
ri
k’
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
Îäèí èç âîçìîæíûõ ñïîñîáîâ ôîðìàëèçîâàííîé çàïèñè ëîãèêè ñëîæåíèÿ äâóõ
íåîòðèöàòåëüíûõ öåëûõ ÷èñåë ìîæåò âûãëÿäåòü ñëåäóþùèì îáðàçîì:
Procedure Add(u, v: Word; Var r: Word);
Var j, k, a, b: Word;
Begin
j:=1;
k:=0; {Разряд переноса}
r:=0;
While j --">
Ïðè íàëè÷èè ïðîöåäóðû Print îñíîâíàÿ ïðîãðàììà äëÿ àíàëèçà îïåðàöèè ñëîæåíèÿ äâóõ öåëûõ íåîòðèöàòåëüíûõ ÷èñåë (u, v) çàïèñûâàåòñÿ òàê:
Begin
ReadLn(u, v);
Print(u);
Print(v);
Add(u, v, w); {Операция сложения}
Print(w);
End.
Íåîòðèöàòåëüíûå öåëûå ÷èñëà u è v â äâîè÷íîì ïðåäñòàâëåíèè èìåþò âèä
u15u14…u1u10 è v15v14…v1v0. Ðàçðÿäû ïðîíóìåðîâàíû ñïðàâà íàëåâî.  ðÿäå ñëó÷àåâ
òðåáóåòñÿ çíàòü òî÷íîå êîëè÷åñòâî çàäåéñòâîâàííûõ ðàçðÿäîâ â ïðåäñòàâëåíèè ÷èñëà (îòáðîñèòü ñòàðøèå ðàçðÿäû). Ñ ïîìîùüþ ôóíêöèè Nbit â ãëîáàëüíûõ ïåðåìåííûõ n è m ôèêñèðóþòñÿ ýòè çíà÷åíèÿ.
Function Nbit(a: Word): Word;
Var cnt: Word;
Begin
cnt:=0;
While a>0 Do
Begin
cnt:=cnt+1;
a:=a ShR 1;
End;
Nbit:=cnt;
End;
Òîãäà îñíîâíàÿ ïðîãðàììà, íàïðèìåð, àíàëèçà îïåðàöèè äåëåíèÿ, èìååò âèä:
ÈÍÔÎÐÌÀÒÈÊÀ È ÎÁÐÀÇÎÂÀÍÈÅ, ¹ 3—2011
31
Begin
ReadLn(u,v);
n:=Nbit(u);
m:=Nbit(v);
Divs(u, v, w, r); {Операция деления, где w – целая часть частного,
а r – остаток}
Print(w);
Print(r);
End.
Ñëîæåíèå íåîòðèöàòåëüíûõ öåëûõ ÷èñåë
Äàíû äâà íåîòðèöàòåëüíûõ öåëûõ ÷èñëà u = u15u14…u1u0 è v = v15v14…v1v0. Òðåáóåòñÿ íàéòè èõ ñóììó — ÷èñëî r = r15r14…r1r0. Íà ðèñ. 1 ïðèâåäåí ïðèìåð ñëîæåíèÿ
äâîè÷íûõ ÷èñåë (u = 182 è v = 43).
7 6 5 4 3 2 1 0 номер разряда
+
10110110
u
101011
v
11100001
Ðèñ. 1. Ñëîæåíèå ÷èñåë
Ôàêòè÷åñêè òðåáóåòñÿ ðåàëèçîâàòü ëîãèêó ñëîæåíèÿ îäíîðàçðÿäíûõ ÷èñåë ñ ó÷åòîì ôàêòîðà ïåðåíîñà åäèíèöû èç ìëàäøåãî â ñòàðøèé ðàçðÿä (ïåðåìåííàÿ k). Îíà
ïðåäñòàâëåíà â òàáë. 1, ãäå k’ — íîâîå (ïåðåñ÷èòàííîå) çíà÷åíèå k.
Òàáëèöà 1
ui
vi
k
ri
k’
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
Îäèí èç âîçìîæíûõ ñïîñîáîâ ôîðìàëèçîâàííîé çàïèñè ëîãèêè ñëîæåíèÿ äâóõ
íåîòðèöàòåëüíûõ öåëûõ ÷èñåë ìîæåò âûãëÿäåòü ñëåäóþùèì îáðàçîì:
Procedure Add(u, v: Word; Var r: Word);
Var j, k, a, b: Word;
Begin
j:=1;
k:=0; {Разряд переноса}
r:=0;
While j --">
Книги схожие с «Информатика и образование 2011 №03» по жанру, серии, автору или названию:
журнал «Информатика и образование» - Информатика и образование 1988 №06 Жанр: Советские издания Год издания: 1988 |
журнал «Информатика и образование» - Информатика и образование 2016 №08 Жанр: Околокомпьютерная литература Год издания: 2016 |
журнал «Информатика и образование» - Информатика и образование 2019 №06 Жанр: Околокомпьютерная литература Год издания: 2019 |
журнал «Информатика и образование» - Информатика и образование 2021 №10 Жанр: Газеты и журналы Год издания: 2021 |
Другие книги автора « журнал «Информатика и образование»»:
журнал «Информатика и образование» - Информатика и образование 2010 №07 Жанр: Околокомпьютерная литература Год издания: 2010 |
журнал «Информатика и образование» - Информатика и образование 2013 №08 Жанр: Околокомпьютерная литература Год издания: 2013 |