журнал «Информатика и образование» - Информатика и образование 2012 №08
Название: | Информатика и образование 2012 №08 | |
Автор: | журнал «Информатика и образование» | |
Жанр: | Околокомпьютерная литература, Газеты и журналы, Современные российские издания | |
Изадано в серии: | неизвестно | |
Издательство: | неизвестно | |
Год издания: | 2012 | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Информатика и образование 2012 №08"
Аннотация к этой книге отсутствует.
Читаем онлайн "Информатика и образование 2012 №08". [Страница - 51]
òàê:
Ñîñòàâèòü ïðîãðàììó, êîòîðàÿ ÷èòàåò íåêîòîðîå êîëè÷åñòâî òåêñòîâûõ ñòðîê è âûâîäèò, â
ïîðÿäêå óáûâàíèÿ ÷àñòîòû âñòðå÷àåìîñòè, ñïèñîê íàèáîëåå ÷àñòî âñòðå÷àþùèõñÿ ñòðîê âìåñòå
ñ ÷èñëîì äëÿ êàæäîé èç íèõ, óêàçûâàþùèì, ñêîëüêî ðàç äàííàÿ ñòðîêà âñòðåòèëàñü.
Êîëè÷åñòâî ââîäèìûõ ñòðîê ïîäàåòñÿ â ñàìîé
ïåðâîé ñòðîêå âõîäà è ìîæåò áûòü î÷åíü áîëüøèì,
íî ðàçëè÷íûõ ñòðîê áóäåò íå áîëåå 11.
Êîëè÷åñòâî âûâîäèìûõ ñòðîê îïðåäåëÿåòñÿ ñëåäóþùèì îáðàçîì. Åñëè ðàçëè÷íûõ ñòðîê ìåíåå
òðåõ, òî ñòîëüêî æå è âûâîäèòñÿ. Åñëè èõ áîëüøå,
òî âûâîäÿòñÿ òðè ñòðîêè ñ íàèáîëüøåé ÷àñòîòîé,
à òàêæå âñå òå, ó êîòîðûõ ÷àñòîòà ðàâíà ÷àñòîòå îäíîé èç ïåðâûõ.
Ïðîãðàììà, ïðåäñòàâëåííàÿ íà ðèñóíêå 1, äàíà
ðàçðàáîò÷èêàìè Äåìîíñòðàöèîííîãî âàðèàíòà ÅÃÝ
â êà÷åñòâå ïðèìåðíîãî ðåøåíèÿ. Íóìåðàöèÿ ñòðîê
äîáàâëåíà äëÿ ëåãêîñòè öèòèðîâàíèÿ îòäåëüíûõ
÷àñòåé.
Îöåíèì ïðîãðàììó ñ òî÷êè çðåíèÿ âûðàçèòåëüíîñòè ÿçûêà ïðîãðàììèðîâàíèÿ.
 ïðîãðàììå íàñ÷èòûâàåòñÿ âîñåìü ïåðåìåííûõ.
Óæå îäíî èõ ÷èñëî — âîçìîæíàÿ ïðîáëåìà: êàê
ïðàâèëî, ÷åì áîëüøå ïåðåìåííûõ, òåì òðóäíåå ïîíèìàòü òåêñò, òàê êàê îòäåëüíûå åãî ÷àñòè êîñâåííî âëèÿþò äðóã íà äðóãà êàê ðàç ÷åðåç ïåðåìåííûå.
Èç-çà íåâîçìîæíîñòè â Ïàñêàëå ââîäèòü ïåðåìåííûå ëîêàëüíî, íåïîñðåäñòâåííî â ìåñòàõ èõ èñïîëüçîâàíèÿ, âñå îíè çäåñü îáúÿâëåíû ãëîáàëüíûìè, è
îïèñàíèÿ ñòîÿò â ñàìîì íà÷àëå òåêñòà. Îäíàêî îíè
î÷åíü ðàçíûå ïî èñïîëüçîâàíèþ. Ó ïåðåìåííûõ i è
j ôàêòè÷åñêè ïî íåñêîëüêî îòäåëüíûõ ëîêàëüíûõ
èñïîëüçîâàíèé, ãëàâíûì îáðàçîì, äëÿ îáñëóæèâàíèÿ ðàáîòû öèêëîâ. Òàêæå íåãëîáàëüíà ïî ñóùåñòâó è s, òîëüêî îíà èñïîëüçóåòñÿ ëîêàëüíî íå â
îäíîì, à â äâóõ ìåñòàõ: ñòðîêè 9—15 è 24. Ïåðåìåííàÿ æå t òîëüêî äëÿ òîãî è ñóùåñòâóåò, ÷òîáû
ñëóæèòü áóôåðîì ïðè îáìåíå çíà÷åíèÿìè â ñòðîêå
23, íî â ñèëó ÿçûêîâûõ îãðàíè÷åíèé òîæå ââåäåíà
ãëîáàëüíî è â ñàìîì íà÷àëå. Ïîäîáíûì îáðàçîì íå
íóæíà ãëîáàëüíîñòü è ïåðåìåííîé N.
Âïðî÷åì, N è âîîáùå, ïî ñìûñëó çàäà÷è, íå íóæíà. Îíà ââîäèòñÿ òîëüêî äëÿ òîãî, ÷òîáû, ïðî÷èòàâ
åå çíà÷åíèå, ìîæíî áûëî çàðàíåå çíàòü, ñêîëüêî åùå
ñòðîê íóæíî ÷èòàòü. Íî âåäü ýòî íååñòåñòâåííî —
â ïðèíöèïå, ìîæíî ïðîñòî ÷èòàòü âñå ñòðîêè äî êîíöà! Òîãäà è íóæäû â N íå áûëî áû, è öèêë ââîäà
ñòàë áû ïðîùå. Ïî÷åìó çàäà÷ó íå ñôîðìóëèðîâàëè
èìåííî òàêèì îáðàçîì? Âèäèìî, ïîòîìó, ÷òî íà
Ïàñêàëå, êàê è íà íåêîòîðûõ äðóãèõ ÿçûêàõ, ââîäèòü äàííûå, «ïîêà îíè åñòü», çàòðóäíèòåëüíî. Âîò
1: var N, Num, i, j, t: integer;
2:
s: string;
3:
Names: array[1..11] of string;
4:
Count: array[1..11] of integer;
5: begin
6:
Num:=0;
7:
readln(N);
8:
for i:=1 to N do begin
9:
readln(s);
10:
j:=1;
11:
while (j --">
Ñîñòàâèòü ïðîãðàììó, êîòîðàÿ ÷èòàåò íåêîòîðîå êîëè÷åñòâî òåêñòîâûõ ñòðîê è âûâîäèò, â
ïîðÿäêå óáûâàíèÿ ÷àñòîòû âñòðå÷àåìîñòè, ñïèñîê íàèáîëåå ÷àñòî âñòðå÷àþùèõñÿ ñòðîê âìåñòå
ñ ÷èñëîì äëÿ êàæäîé èç íèõ, óêàçûâàþùèì, ñêîëüêî ðàç äàííàÿ ñòðîêà âñòðåòèëàñü.
Êîëè÷åñòâî ââîäèìûõ ñòðîê ïîäàåòñÿ â ñàìîé
ïåðâîé ñòðîêå âõîäà è ìîæåò áûòü î÷åíü áîëüøèì,
íî ðàçëè÷íûõ ñòðîê áóäåò íå áîëåå 11.
Êîëè÷åñòâî âûâîäèìûõ ñòðîê îïðåäåëÿåòñÿ ñëåäóþùèì îáðàçîì. Åñëè ðàçëè÷íûõ ñòðîê ìåíåå
òðåõ, òî ñòîëüêî æå è âûâîäèòñÿ. Åñëè èõ áîëüøå,
òî âûâîäÿòñÿ òðè ñòðîêè ñ íàèáîëüøåé ÷àñòîòîé,
à òàêæå âñå òå, ó êîòîðûõ ÷àñòîòà ðàâíà ÷àñòîòå îäíîé èç ïåðâûõ.
Ïðîãðàììà, ïðåäñòàâëåííàÿ íà ðèñóíêå 1, äàíà
ðàçðàáîò÷èêàìè Äåìîíñòðàöèîííîãî âàðèàíòà ÅÃÝ
â êà÷åñòâå ïðèìåðíîãî ðåøåíèÿ. Íóìåðàöèÿ ñòðîê
äîáàâëåíà äëÿ ëåãêîñòè öèòèðîâàíèÿ îòäåëüíûõ
÷àñòåé.
Îöåíèì ïðîãðàììó ñ òî÷êè çðåíèÿ âûðàçèòåëüíîñòè ÿçûêà ïðîãðàììèðîâàíèÿ.
 ïðîãðàììå íàñ÷èòûâàåòñÿ âîñåìü ïåðåìåííûõ.
Óæå îäíî èõ ÷èñëî — âîçìîæíàÿ ïðîáëåìà: êàê
ïðàâèëî, ÷åì áîëüøå ïåðåìåííûõ, òåì òðóäíåå ïîíèìàòü òåêñò, òàê êàê îòäåëüíûå åãî ÷àñòè êîñâåííî âëèÿþò äðóã íà äðóãà êàê ðàç ÷åðåç ïåðåìåííûå.
Èç-çà íåâîçìîæíîñòè â Ïàñêàëå ââîäèòü ïåðåìåííûå ëîêàëüíî, íåïîñðåäñòâåííî â ìåñòàõ èõ èñïîëüçîâàíèÿ, âñå îíè çäåñü îáúÿâëåíû ãëîáàëüíûìè, è
îïèñàíèÿ ñòîÿò â ñàìîì íà÷àëå òåêñòà. Îäíàêî îíè
î÷åíü ðàçíûå ïî èñïîëüçîâàíèþ. Ó ïåðåìåííûõ i è
j ôàêòè÷åñêè ïî íåñêîëüêî îòäåëüíûõ ëîêàëüíûõ
èñïîëüçîâàíèé, ãëàâíûì îáðàçîì, äëÿ îáñëóæèâàíèÿ ðàáîòû öèêëîâ. Òàêæå íåãëîáàëüíà ïî ñóùåñòâó è s, òîëüêî îíà èñïîëüçóåòñÿ ëîêàëüíî íå â
îäíîì, à â äâóõ ìåñòàõ: ñòðîêè 9—15 è 24. Ïåðåìåííàÿ æå t òîëüêî äëÿ òîãî è ñóùåñòâóåò, ÷òîáû
ñëóæèòü áóôåðîì ïðè îáìåíå çíà÷åíèÿìè â ñòðîêå
23, íî â ñèëó ÿçûêîâûõ îãðàíè÷åíèé òîæå ââåäåíà
ãëîáàëüíî è â ñàìîì íà÷àëå. Ïîäîáíûì îáðàçîì íå
íóæíà ãëîáàëüíîñòü è ïåðåìåííîé N.
Âïðî÷åì, N è âîîáùå, ïî ñìûñëó çàäà÷è, íå íóæíà. Îíà ââîäèòñÿ òîëüêî äëÿ òîãî, ÷òîáû, ïðî÷èòàâ
åå çíà÷åíèå, ìîæíî áûëî çàðàíåå çíàòü, ñêîëüêî åùå
ñòðîê íóæíî ÷èòàòü. Íî âåäü ýòî íååñòåñòâåííî —
â ïðèíöèïå, ìîæíî ïðîñòî ÷èòàòü âñå ñòðîêè äî êîíöà! Òîãäà è íóæäû â N íå áûëî áû, è öèêë ââîäà
ñòàë áû ïðîùå. Ïî÷åìó çàäà÷ó íå ñôîðìóëèðîâàëè
èìåííî òàêèì îáðàçîì? Âèäèìî, ïîòîìó, ÷òî íà
Ïàñêàëå, êàê è íà íåêîòîðûõ äðóãèõ ÿçûêàõ, ââîäèòü äàííûå, «ïîêà îíè åñòü», çàòðóäíèòåëüíî. Âîò
1: var N, Num, i, j, t: integer;
2:
s: string;
3:
Names: array[1..11] of string;
4:
Count: array[1..11] of integer;
5: begin
6:
Num:=0;
7:
readln(N);
8:
for i:=1 to N do begin
9:
readln(s);
10:
j:=1;
11:
while (j --">
Книги схожие с «Информатика и образование 2012 №08» по жанру, серии, автору или названию:
журнал «Информатика и образование» - Информатика и образование 1994 №03 Жанр: Околокомпьютерная литература Год издания: 1994 |
журнал «Информатика и образование» - Информатика и образование 2011 №11 Жанр: Околокомпьютерная литература Год издания: 2011 |
Другие книги автора « журнал «Информатика и образование»»:
журнал «Информатика и образование» - Информатика и образование 2014 №02 Жанр: Околокомпьютерная литература Год издания: 2014 |
журнал «Информатика и образование» - Информатика и образование 2014 №09 Жанр: Околокомпьютерная литература Год издания: 2014 |