Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ îðèãèíàëüíîãî äîêóìåíòà : http://uneex.mithril.cs.msu.su/LecturesVMSH/Python/2013-10-11
Äàòà èçìåíåíèÿ: Unknown
Äàòà èíäåêñèðîâàíèÿ: Sun Apr 10 05:01:47 2016
Êîäèðîâêà: UTF-8
LecturesVMSH/Python/2013-10-11 - UNÈX

Âõîäíîå òåñòèðîâàíèå

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

  1. ?Âòîðîé ìàêñèìóì?.  çàäàííîé ïîñëåäîâàòåëüíîñòè èç N==1000 ÷èñåë {Ai} íàéòè âòîðîé ïî âåëè÷èíå åå ýëåìåíò, òî åñòü ÷èñëî B òàêîå, ÷òî

    • ?i ? 1..N {Ai}˜B ëèáî {Ai} ? M, (ïðè ýòîì M ? ìàêñèìóì ïîñëåäîâàòåëüíîñòè).

     ñëó÷àå, åñëè òàêîãî B íå ñóùåñòâóåò, âûâåñòè Íåò.

  2. ?Ñåìèóãîëüíèê â êðóãå?. Ïî çàäàííûì X1 , Y1 , ? , X7 , Y7 ? êîîðäèíàòàì âåðøèí âûïóêëîãî ñåìèóãîëüíèêà ? è X0 , Y0 , R ? êîîðäèíàòàì öåíòðà êðóãà è åãî ðàäèóñó ? îïðåäåëèòü, ðàñïîëîæåí ëè ñåìèóãîëüíèê âíóòðè êðóãà (åñëè âåðøèíà ïðèíàäëåæèò îêðóæíîñòè, ò. å. íàõîäèòñÿ íà ãðàíèöå, ñ÷èòàòü êàê óäîáíåå, íàïðèìåð, ÷òî îíà âñå åùå âíóòðè).

Ðåçóëüòàòû

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

Ðàçáîð çàäà÷ (èçâèíèòå, ñðàçó íà ÿçûêå Python :) ; îí î÷åíü ïðîñòîé, óáåäèòåñü ñàìè!): Âîîáùå ãîâîðÿ, â îáîèõ ñëó÷àÿõ íå íóæíî õðàíèòü âñþ ïîñëåäîâàòåëüíîñòü: äîñòàòî÷íî ââîäèòü î÷åðåäíîé ýëåìåíò è îáðàáàòûâàòü åãî

  1. Íèêàêèõ õèòðîñòåé â àëãîðèòìå íåò, ïðîñòî âûïîëíÿåì óñëîâèÿ. Ãëàâíîå ? íå óïðîùàòü (M=max(A,M); B=max(B,min(M,A)) è ïðî÷èå ÷ðåçìåðíî óïðîùåííûå âàðèàíòû íå ðàáîòàþò! Ïî÷åìó, êñòàòè?)

       1 N=10
       2 B=M=input()             # Ñíà÷àëà B è M ðàâíû ïåðâîìó ýëåìåíòó
       3 for i in xrange(N-1):   # N-1 ðàç ââåäåì è ïðîâåðèì îñòàëüíûå ýëåìåíòû
       4     A=input()
       5     if M==A:
       6         continue        # Çíà÷åíèÿ íå ìåíÿþòñÿ
       7     if M<A:             # Íîâûé ìàêñèìóì
       8         M,B=A,M         # Òî æå ñàìîå, ÷òî B=M; M=A
       9     elif B<A or B==M:   # Íîâûé âòîðîé ìàêñèìóì (èëè åãî âñå åùå íå áûëî)
      10         B=A
      11 
      12 if B!=M:
      13     print B
      14 else:
      15     print "Íåò"
    
  2. Äëÿ óäîáñòâà ñíà÷àëà ââåäåì X0 , Y0 è R, à çàòåì ? êîîðäèíàòû âåðøèí ñåìèóãîëüíèêà. Åñëè âñå îíè ïðèíàäëåæàò êðóãó, òî è âåñü ìíîãîóãîëüíèê ? òîæå

       1 X0,Y0,R=input("Ââåäèòå X0,Y0,R ÷åðåç çàïÿòóþ: ")
       2 for i in xrange(7):
       3     X,Y=input()
       4     if (X-X0)**2+(Y-Y0)**2>R**2:    # Íåò íåîáõîäèìîñòè âû÷èñëÿòü êîðíè
       5         print "Íå ïðèíàäëåæèò"
       6         break                       # íåìåäëåííûé âûõîä èç öèêëà
       7 else:                               # 'else' ê îïåðàòîðó 'for' âûïîëíÿåòñÿ, åñëè
       8     print "Ïðèíàäëåæèò"             # öèêë çàâåðøèëñÿ áåç ïîìîùè îïåðàòîðà break
    

Óñëîâíûå îáîçíà÷åíèÿ


CategoryClass CategoryVmsh

LecturesVMSH/Python/2013-10-11 (ïîñëåäíèì èñïðàâëÿë ïîëüçîâàòåëü FrBrGeorge 2014-11-07 19:24:51)