<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="lt">
	<id>https://wiki.pitonas.lt/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
	<title>Pitonas - Naudotojo indėlis [lt]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pitonas.lt/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
	<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/Specialus:Ind%C4%97lis/Admin"/>
	<updated>2026-10-06T23:25:24Z</updated>
	<subtitle>Naudotojo indėlis</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=MediaWiki:Common.css&amp;diff=456</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=MediaWiki:Common.css&amp;diff=456"/>
		<updated>2024-02-01T14:49:12Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/** Čia įdėtas CSS bus taikomas visoms išvaizdoms */&lt;br /&gt;
.navgrid {&lt;br /&gt;
    display: grid;&lt;br /&gt;
    grid-template-columns: 1fr 1fr 1fr;&lt;br /&gt;
    padding: 0.75rem 1rem;&lt;br /&gt;
    background: #f8f9fa;&lt;br /&gt;
    border: 1px solid #eaecf0;&lt;br /&gt;
    border-radius: 0.5rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navgrid .title {&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    grid-column: span 3;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navgrid .middle {&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.navgrid .end {&lt;br /&gt;
	text-align: right;&lt;br /&gt;
}&lt;br /&gt;
#ca-talk, #ca-viewsource {&lt;br /&gt;
 display: none;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=MediaWiki:Common.css&amp;diff=455</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=MediaWiki:Common.css&amp;diff=455"/>
		<updated>2024-02-01T14:47:54Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/** Čia įdėtas CSS bus taikomas visoms išvaizdoms */&lt;br /&gt;
.navgrid {&lt;br /&gt;
    display: grid;&lt;br /&gt;
    grid-template-columns: 1fr 1fr 1fr;&lt;br /&gt;
    padding: 0.75rem 1rem;&lt;br /&gt;
    background: #f8f9fa;&lt;br /&gt;
    border: 1px solid #eaecf0;&lt;br /&gt;
    border-radius: 0.5rem;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navgrid .title {&lt;br /&gt;
    text-align: center;&lt;br /&gt;
    font-style: italic;&lt;br /&gt;
    grid-column: span 3;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.navgrid .middle {&lt;br /&gt;
	text-align: center;&lt;br /&gt;
}&lt;br /&gt;
.navgrid .end {&lt;br /&gt;
	text-align: right;&lt;br /&gt;
}&lt;br /&gt;
#ca-talk {&lt;br /&gt;
 display: none;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Pagrindinis_puslapis&amp;diff=454</id>
		<title>Pagrindinis puslapis</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Pagrindinis_puslapis&amp;diff=454"/>
		<updated>2024-02-01T14:30:16Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Sveiki atvykę į Pitonas.lt&amp;lt;/strong&amp;gt;&lt;br /&gt;
[[Vaizdas:Pitono_logotipas.png|dešinėje|frameless|300x300px|Sveikas atvykęs!]]&lt;br /&gt;
&lt;br /&gt;
=== Turinys ===&lt;br /&gt;
[[Vadovėlis|&#039;&#039;&#039;Pitono Vadovėlis&#039;&#039;&#039;]] &lt;br /&gt;
:- &#039;&#039;Mokomoji medžiaga pradedantiesiems Python programuotojams&#039;&#039;&lt;br /&gt;
[[Aktyvios Pamokos|&#039;&#039;&#039;Aktyvios pamokos&#039;&#039;&#039;]]&lt;br /&gt;
:- &#039;&#039;Docento Eimučio ruošta išplėstinė mokomoji medžiaga besimokantiems programuot&#039;&#039;&lt;br /&gt;
[[IT Egzaminai|&#039;&#039;&#039;IT Egzaminai&#039;&#039;&#039;]]&lt;br /&gt;
:- &#039;&#039;Informacinių technologijų valstybinių brandos egzamonų užduočių sprendimai.&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Užduotys]]&#039;&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;-&#039;&#039;&#039; &#039;&#039;Įvairios užduotys Pitono įgūdžiams gerinti&#039;&#039;__BETURIN__&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Pagrindinis_puslapis&amp;diff=453</id>
		<title>Pagrindinis puslapis</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Pagrindinis_puslapis&amp;diff=453"/>
		<updated>2024-02-01T14:28:37Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Sveiki atvykę į Pitonas.lt&amp;lt;/strong&amp;gt;&lt;br /&gt;
[[Vaizdas:Pitono logotipas.png|miniatiūra]]&lt;br /&gt;
=== Turinys ===&lt;br /&gt;
[[Vadovėlis|&#039;&#039;&#039;Pitono Vadovėlis&#039;&#039;&#039;]] &lt;br /&gt;
:- &#039;&#039;Mokomoji medžiaga pradedantiesiems Python programuotojams&#039;&#039;&lt;br /&gt;
[[Aktyvios Pamokos|&#039;&#039;&#039;Aktyvios pamokos&#039;&#039;&#039;]]&lt;br /&gt;
:- &#039;&#039;Docento Eimučio ruošta išplėstinė mokomoji medžiaga besimokantiems programuot&#039;&#039;&lt;br /&gt;
[[IT Egzaminai|&#039;&#039;&#039;IT Egzaminai&#039;&#039;&#039;]]&lt;br /&gt;
:- &#039;&#039;Informacinių technologijų valstybinių brandos egzamonų užduočių sprendimai.&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Užduotys]]&#039;&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;-&#039;&#039;&#039; &#039;&#039;Įvairios užduotys Pitono įgūdžiams gerinti&#039;&#039;__BETURIN__&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vaizdas:Pitono_logotipas.png&amp;diff=452</id>
		<title>Vaizdas:Pitono logotipas.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vaizdas:Pitono_logotipas.png&amp;diff=452"/>
		<updated>2024-02-01T14:27:33Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mažas draugiškas gyvačiukas ant knygų.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Pitonas:Privatumo_politika&amp;diff=451</id>
		<title>Pitonas:Privatumo politika</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Pitonas:Privatumo_politika&amp;diff=451"/>
		<updated>2024-02-01T12:58:56Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Pranešimas apie slapukus==&lt;br /&gt;
Ši svetainė naudoja slapukus, siekdama pagerinti jūsų naršymo patirtį. Slapukai yra maži tekstiniai failai, kurie laikomi jūsų įrenginyje. Jie padeda mums suprasti, kaip jūs naudojatės mūsų svetaine, ir tokiu būdu galime gerinti paslaugas, kuriomis jūsų naudojatės.&lt;br /&gt;
&lt;br /&gt;
==Slapukų panaudojimas==&lt;br /&gt;
Šiame tinklalapyje naudojame Google Analytics, kad galėtume stebėti lankytojų elgesį ir gautume informacijos apie tai, kaip jūs naudojatės mūsų svetaine. Ši informacija yra analizuojama tik bendrojoje formoje, o individualūs lankytojų duomenys yra visiškai anoniminiai.&lt;br /&gt;
&lt;br /&gt;
==Anonimizavimas==&lt;br /&gt;
Norėtume pabrėžti, kad jūsų asmens duomenys nėra renkami arba saugomi per Google Analytics. Mes taip pat naudojame priemonę, kuri anonimizuoja jūsų IP adresą, todėl jūsų tapatybė lieka saugi.&lt;br /&gt;
&lt;br /&gt;
==Sutikimas==&lt;br /&gt;
Naršydami šią svetainę, jūs sutinkate su slapukų naudojimu. Jei nesutinkate, galite bet kada pakeisti savo naršyklės nustatymus ir atsisakyti slapukų. Tačiau dėl kai kurių funkcijų gali būti, kad svetainė neveiks tinkamai.&lt;br /&gt;
&lt;br /&gt;
==Nuoroda į Google privatumo politiką==&lt;br /&gt;
Daugiau informacijos apie tai, kaip Google renka ir tvarko duomenis, galite rasti Google privatumo politikoje: [https://policies.google.com/privacy?hl=lt Google Privatumo politika].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vadov%C4%97lis/Labas,_Pasauli&amp;diff=450</id>
		<title>Vadovėlis/Labas, Pasauli</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vadov%C4%97lis/Labas,_Pasauli&amp;diff=450"/>
		<updated>2024-02-01T12:54:27Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Spausdinimas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Now for our first lesson, what is a computer program?  A computer program is a set of very detailed instructions that tell a computer what to do.   --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Įvadas |next=Kas čia eina?}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ką sužinosi? ===&lt;br /&gt;
Perskaitęs šį skyrių, turėtum suprasti kaip teksto redaktoriumi rašyti programas, kaip parašytas programas išsaugoti kompiuterio atmintyje ir kaip jas paleisti.&lt;br /&gt;
&lt;br /&gt;
=== Spausdinimas ===&lt;br /&gt;
Istoriškai taip jau susiklostė, kad programavimo pamokos dažniausiai prasideda nuo mažos ir paprastos programėlės pavadinimu „Labas, Pasauli!“ arba angliškai „Hello, World!“.&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Labas, pasauli.png|600px|frameless|center]]&lt;br /&gt;
&lt;br /&gt;
Python&#039;o programavimo kalboje programa atrodytų taip: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Labas, Pasauli!&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Programavimas kodo redaktoriumi ====&lt;br /&gt;
&lt;br /&gt;
Programavimui rekomenduoju naudoti kodo redaktorių &amp;lt;code&amp;gt;LR NŠA Python&amp;lt;/code&amp;gt;, kaip aprašytą skyriuje [[Python Vadovėlis/Įvadas#Python_ir_Visual_Studio_Code_diegimas|Python ir Visual Studio Code diegimas]]. Savo kompiuteryje atsidaryk šią programavimo aplinką, sukurk naują failą (File -&amp;gt; New File arba Failas -&amp;gt; Naujas failas), įkopijuok šį kodą ir tuomet failą išsaugok (File -&amp;gt; Save arba Failas -&amp;gt; Išsaugoti) pavadinimu &amp;lt;code&amp;gt;labas.py&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sveikiname! Sukūrei savo pirmą Python programą.&lt;br /&gt;
&lt;br /&gt;
(Jeigu tokios programavimo aplinkos įsidiegti savo kompiuteryje negali, žr. kitą žingsnį).&lt;br /&gt;
&lt;br /&gt;
Dabar parašytą programą paleisk vykdyti: tiesiog paspausk žalią mygtuką dešinėje viršuje. &lt;br /&gt;
&lt;br /&gt;
Kai paleisi šią programą, ji suveiks ir terminale atsiras užrašas:&lt;br /&gt;
&lt;br /&gt;
 Labas, Pasauli!&lt;br /&gt;
&lt;br /&gt;
==== Alternatyvus būdas: Programavimas paprastu teksto redaktoriumi ====&lt;br /&gt;
&lt;br /&gt;
Jeigu kodo redaktoriaus negali įsidiegti savo kompiuteryje dėl kokių nors priežasčių, programuoti galima ir tiesiog paprasčiausiu teksto redaktoriumi, pvz. Notepad.  &lt;br /&gt;
&lt;br /&gt;
Tiesiog sukurk naują paprastą tekstinį failą (.txt), jame įrašyk programinį kodą &amp;lt;code&amp;gt;print(&amp;quot;Labas, Pasauli!&amp;quot;)&amp;lt;/code&amp;gt;, failą išsaugok pavadinimu &amp;lt;code&amp;gt;labas.py&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Dabar parašytą programą paleisk vykdyti, tiesiog konsolėje parašęs &amp;lt;code&amp;gt;python3 labas.py&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tavo programa parašys: &lt;br /&gt;
&lt;br /&gt;
 Labas, Pasauli!&lt;br /&gt;
&lt;br /&gt;
=== Eime toliau ===&lt;br /&gt;
&lt;br /&gt;
Labai rekomenduoju kiekvieną programos pavyzdį pasibandyti pačiam - parašyk ir tada pasileisk programą. Mūsų praktikoje toks mokymosi procesas yra pats efektyviausias ir veiksmingiausias.&lt;br /&gt;
&lt;br /&gt;
Na, o dabar keliaukime prie kiek sudėtingesnės programos pavyzdžio:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Gyveno kadaise Paryžiuj bobutė –&amp;quot;)&lt;br /&gt;
print(&amp;quot;Prie Eifelio bokšto turėjo ji butą.&amp;quot;)&lt;br /&gt;
print(&amp;quot;Ji visko pasauly klausytis norėjo,&amp;quot;)&lt;br /&gt;
print(&amp;quot;Bet viena kairiąja ausim tegirdėjo.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kai paleidi šią programą, ji parašo J. Erlicko eilėraščio Bobutė iš Paryžiaus (2) ištrauką:&lt;br /&gt;
&lt;br /&gt;
 Gyveno kadaise Paryžiuj bobutė –&lt;br /&gt;
 Prie Eifelio bokšto turėjo ji butą.&lt;br /&gt;
 Ji visko pasauly klausytis norėjo,&lt;br /&gt;
 Bet viena kairiąja ausim tegirdėjo.&lt;br /&gt;
&lt;br /&gt;
Kai kompiuteris paleidžia programą, pirmiausia jis mato:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Gyveno kadaise Paryžiuj bobutė –&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Todėl kompiuteris užrašo:&lt;br /&gt;
&lt;br /&gt;
 Gyveno kadaise Paryžiuj bobutė –&lt;br /&gt;
&lt;br /&gt;
Tada kompiuteris skaito kitą eilutę ir mato:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Prie Eifelio bokšto turėjo ji butą.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Todėl ir ją užrašo kompiuterio ekrane:&lt;br /&gt;
&lt;br /&gt;
 Prie Eifelio bokšto turėjo ji butą.&lt;br /&gt;
&lt;br /&gt;
Taip kompiuteris žiūri į kiekvieną eilutę *iš eilės*, ir ją įvykdęs - eina toliau: skaito kitą eilutę, ją įvykdo ir t.t. Taip kompiuteris vykdo visas surašytas komandas, kol pasiekia programos pabaigą.&lt;br /&gt;
&lt;br /&gt;
==== Terminologija ====&lt;br /&gt;
Taigi pats laikas truputį paaiškinti, kas vyksta ir trumpai supažindinti su terminologija.&lt;br /&gt;
&lt;br /&gt;
Prieš tai rašydami kodą, mes naudojame „funkciją“ pavadinimu &amp;lt;code&amp;gt;print&amp;lt;/code&amp;gt;. Po funkcijos pavadinimo &amp;lt;code&amp;gt;print&amp;lt;/code&amp;gt; rašomi skliausteliai &amp;lt;code&amp;gt;()&amp;lt;/code&amp;gt;, kuriuose nurodome tos funkcijos parametrus/argumentus. Pažiūrėk į pavyzdį:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Labas, Pasauli!&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
funkcijai duodamas vienas parametras, kuris yra &amp;lt;code&amp;gt;&amp;quot;Labas, Pasauli!&amp;quot;&amp;lt;/code&amp;gt;. Ar pastebėjai, kad šis parametras, sudarytas iš simbolių grupės, kuri įrašyta tarp dviejų kabučių (&amp;quot;&amp;quot;)? Programuotojai tai vadina „rašytinių simbolių seka“ ar trumpiau tariant „eilute“ (tekstine reikšme, angliškai &#039;string&#039;). Kitas tekstinės reikšmės pavyzdys yra &amp;lt;code&amp;gt;&amp;quot;Gyveno kadaise Paryžiuj bobutė&amp;quot;&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Užrašyta funkcija su argumentais yra komanda, kurią supranta Python&#039;as. Sakinio pavyzdys:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Labas, Pasauli!&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paprasčiau tariant, komandą gali įsivaizduoti kaip vieną programos eilutę.  &lt;br /&gt;
&lt;br /&gt;
Kol kas terminologijos pakaks, keliaujam į kitą poskyrį ir mokomės toliau.&lt;br /&gt;
&lt;br /&gt;
====Ženklo \n naudojimas====&lt;br /&gt;
&amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; (kaitos ženklas, angliškai - escape character), arba nauja eilutė. Rašant tekstą, visas tekstas po \n yra užrašomas naujoje eilutėje. Pabandyk suprasti šią programą:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Labas, Pasauli!\nKą turėčiau daryti?&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kurios rezultatas yra toks:&lt;br /&gt;
&lt;br /&gt;
 Labas, Pasauli! &lt;br /&gt;
 Ką turėčiau daryti?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; naudojamas, kai norime tekstą perkelti į kitą eilutę, bet nenorime naudoti kelių &amp;lt;code&amp;gt;print()&amp;lt;/code&amp;gt; komandų.&lt;br /&gt;
&lt;br /&gt;
Spausdinimo komanda automatiškai naudoja &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt;, t.y. kiekviena komanda tekstą spausdina vis naujoje eilutėje, net jeigu pats &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt; ir neužrašai. Paprasčiau suprasti bus pamačius pavyzdį:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Labas, Pasauli!&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
iš tikrųjų yra:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Labas, Pasauli!\n&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Aritmetinės operacijos ===&lt;br /&gt;
Programos pavyzdys:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;2 + 2 yra&amp;quot;, 2 + 2)&lt;br /&gt;
print(&amp;quot;3 * 4 yra&amp;quot;, 3 * 4)&lt;br /&gt;
print(&amp;quot;100 - 1 yra&amp;quot;, 100 - 1)&lt;br /&gt;
# Atkreipk dėmesį, python&#039;e aritmetikoje skaičiai po kablelio rašomi su tašku (.)&lt;br /&gt;
print(&amp;quot;((33 + 2) / 5 + 11.5 yra&amp;quot;, (33 + 2) / 5 + 11.5)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rezultatas:&lt;br /&gt;
&lt;br /&gt;
 2 + 2 yra 4&lt;br /&gt;
 3 * 4 yra 12&lt;br /&gt;
 100 - 1 yra 99&lt;br /&gt;
 (33 + 2) / 5 + 11.5 yra 18.5&lt;br /&gt;
&lt;br /&gt;
==== Aritmetinės išraiškos ====&lt;br /&gt;
&lt;br /&gt;
Šiame pavyzdyje, rašymo funkcija &amp;lt;code&amp;gt;print()&amp;lt;/code&amp;gt; yra su dvejais argumentais, kurie atskirti kableliu. Panagrinėkime pirmoje eilutėje užrašytą komandą:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;2 + 2 yra&amp;quot;, 2 + 2)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pirmas argumentas yra teksto eilutė &amp;lt;code&amp;gt;&amp;quot;2 + 2 yra&amp;quot;&amp;lt;/code&amp;gt; ir antras argumentas yra aritmetinė išraiška &amp;lt;code&amp;gt;2 + 2&amp;lt;/code&amp;gt;, tiksliau tariant viena iš aritmetinių operacijų.&lt;br /&gt;
&lt;br /&gt;
Atkreipk dėmesį, kad eilutė, kuri yra užrašyta kabutėse yra atspausdinama kaip tekstas, o išraiška užrašyta be kabučių yra apskaičiuojama ir užrašomas atsakymas.&lt;br /&gt;
&lt;br /&gt;
Python&#039;o programavimo kalba turi septynias pagrindines skaičių operacijas.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Operacija &lt;br /&gt;
! Simbolis &lt;br /&gt;
! Pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
|Kėlimas laipsniu  &lt;br /&gt;
| &amp;lt;code&amp;gt;**&amp;lt;/code&amp;gt; &lt;br /&gt;
| &amp;lt;code&amp;gt;5 ** 2 == 25&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Daugyba &lt;br /&gt;
| &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; &lt;br /&gt;
|&amp;lt;code&amp;gt;2 * 3 == 6&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Dalyba &lt;br /&gt;
| &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; &lt;br /&gt;
| &amp;lt;code&amp;gt;14 / 3 == 4.666666666666667&amp;lt;/code&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|Sveikųjų skaičių dalyba&lt;br /&gt;
| &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;14 // 3 == 4&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Liekana&lt;br /&gt;
| &amp;lt;code&amp;gt;%&amp;lt;/code&amp;gt; &lt;br /&gt;
| &amp;lt;code&amp;gt;14 % 3 == 2&amp;lt;/code&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|Sudėtis&lt;br /&gt;
| &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; &lt;br /&gt;
| &amp;lt;code&amp;gt;1 + 2 == 3&amp;lt;/code&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
|Atimtis &lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt; &lt;br /&gt;
| &amp;lt;code&amp;gt;4 - 3 == 1&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Atkreipk dėmesį, kad yra trys dalybos būdai: vienas grąžina dešimtainį skaičių, antras – tik dalybos sveikąją dalį, o trečias – liekaną.&lt;br /&gt;
Operacijų tvarka tokia pati kaip matematikoje:&lt;br /&gt;
* pirmiausiai atliekami veiksmai skliausteliuose &amp;lt;code&amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
* kėlimas laipsniu &amp;lt;code&amp;gt;**&amp;lt;/code&amp;gt;&lt;br /&gt;
* iš kairės į dešinę: daugyba &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;, dalyba&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, sveikoji dalyba &amp;lt;code&amp;gt;//&amp;lt;/code&amp;gt;, dalybos liekana &amp;lt;code&amp;gt;%&amp;lt;/code&amp;gt; &lt;br /&gt;
* iš kairės į dešinę: sudėtis &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; ir atimtis &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Taigi, užrašydamas formules, nepamiršk skliaustelių!&lt;br /&gt;
&lt;br /&gt;
=== Komentarai ===&lt;br /&gt;
&lt;br /&gt;
Rašant daug kodo, ateityje tikrai ne viską atsiminsi. Todėl programoje gali naudoti komentarus, kurie yra tiesiog pastabos/paaiškinimai sau pačiam arba kitiems programuotojams. Pavyzdžiui:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Skaičiaus PI išraiška kompiuterio ekrane&lt;br /&gt;
print(22 / 7)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rezultatas: &lt;br /&gt;
&lt;br /&gt;
 3.14285714286&lt;br /&gt;
&lt;br /&gt;
Atkreipk dėmesį, kad komentaras prasideda grotelių ženklu: &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;. Komentarai yra skirti žmonėms, pagerinti programos skaitomumą. &lt;br /&gt;
&lt;br /&gt;
Taip pat svarbu suprasti, kad po &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; galima naudoti bet kokius ženklus ir kompiuteris visą šį tekstą ignoruos iki pat eilutės galo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang = &amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Skaičiaus PI išraiška kompiuterio ekrane&lt;br /&gt;
print(22/7) # tokiu būdu gauname tik apytikslę PI reikšmę&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pavyzdžiai ===&lt;br /&gt;
Kiekvieno skyriaus gale bus pateikiami su skyriaus tema susiję pavyzdžiai. Turėtum juos peržvelgti ir išsiaiškinti ar supratai. Taip pat juos gali įsikelti į python&#039;o kodo redaktorių ir pažiūrėti kaip viekia. Jeigu suprasi, keliauk toliau, jeigu ne, bandyk dar kartą perskaityti skyriaus medžiagą ir suprasti pavyzdžių logiką.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Danija.py&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Būti ar nebūti, štai kur klausimas.&amp;quot;)&lt;br /&gt;
print(&amp;quot;                -- Šekspyras&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Rezultatas:&lt;br /&gt;
&lt;br /&gt;
 Būti ar nebūti, štai kur klausimas.&lt;br /&gt;
                 -- Šekspyras&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mokykla.py&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Pirmoji klasė&amp;quot;)&lt;br /&gt;
print(&amp;quot;1 + 1 =&amp;quot;, 1 + 1)&lt;br /&gt;
print(&amp;quot;2 + 4 =&amp;quot;, 2 + 4)&lt;br /&gt;
print(&amp;quot;5 - 2 =&amp;quot;, 5 - 2)&lt;br /&gt;
print()&lt;br /&gt;
print(&amp;quot;Trečioji klasė&amp;quot;)&lt;br /&gt;
print(&amp;quot;243 - 23 =&amp;quot;, 243 - 23)&lt;br /&gt;
print(&amp;quot;12 * 4 =&amp;quot;, 12 * 4)&lt;br /&gt;
print(&amp;quot;12 / 3 =&amp;quot;, 12 / 3)&lt;br /&gt;
print(&amp;quot;13 / 3 =&amp;quot;, 13 // 3, &amp;quot;liekana&amp;quot;, 13 % 3)&lt;br /&gt;
print()&lt;br /&gt;
print(&amp;quot;Penktoji klasė&amp;quot;)&lt;br /&gt;
print(&amp;quot;123.56 - 62.12 =&amp;quot;, 123.56 - 62.12)&lt;br /&gt;
print(&amp;quot;(4 + 3) * 2 =&amp;quot;, (4 + 3) * 2)&lt;br /&gt;
print(&amp;quot;4 + 3 * 2 =&amp;quot;, 4 + 3 * 2)&lt;br /&gt;
print(&amp;quot;3 ** 2 =&amp;quot;, 3 ** 2)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Clickable button 3|label=Išbandyk pats!|url=https://pitonas.lt/ide/bW9reWtsYQ==|class=mw-ui-progressive}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rezultatas:&lt;br /&gt;
&lt;br /&gt;
 Pirma klasė&lt;br /&gt;
 1 + 1 = 2&lt;br /&gt;
 2 + 4 = 6&lt;br /&gt;
 5 - 2 = 3&lt;br /&gt;
 &lt;br /&gt;
 Trečia klasė&lt;br /&gt;
 243 - 23 = 220&lt;br /&gt;
 12 * 4 = 48&lt;br /&gt;
 12 / 3 = 4&lt;br /&gt;
 13 / 3 = 4 liekana 1&lt;br /&gt;
 &lt;br /&gt;
 Penktoji klasė&lt;br /&gt;
 123.56 - 62.12 = 61.44&lt;br /&gt;
 (4 + 3) * 2 = 14&lt;br /&gt;
 4 + 3 * 2 = 10&lt;br /&gt;
 3 ** 2 = 9&lt;br /&gt;
&lt;br /&gt;
=== Pratimai ===&lt;br /&gt;
&lt;br /&gt;
1. Parašyk programą, kuri atspausdintų tavo vardą, pavardę ir gimtadienį kaip atskiras eilutes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! colspan=2 | Sprendimas #1 &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Ada Lovelace&amp;quot;, &amp;quot;gimusi&amp;quot;, &amp;quot;1815 m. gruodžio 10 d.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Albertas Einšteinas&amp;quot;, &amp;quot;gimęs&amp;quot;, &amp;quot;1879 m. kovo 14 d.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print((&amp;quot;Styvas Džobsas&amp;quot;), (&amp;quot;gimęs&amp;quot;), (&amp;quot;1955 m. vasario 24 d.&amp;quot;))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
2. Parašyk programą, kuri parodytų visų 7 [[#Aritmetinės_išraiškos|artimetinių operacijų]] panaudojimą.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! colspan=2 | Sprendimas #2 &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;5**5 =&amp;quot;, 5**5)&lt;br /&gt;
print(&amp;quot;6*7 =&amp;quot;, 6*7)&lt;br /&gt;
print(&amp;quot;56/8 =&amp;quot;, 56/8)&lt;br /&gt;
print(&amp;quot;14//6 =&amp;quot;, 14//6)&lt;br /&gt;
print(&amp;quot;14%6 =&amp;quot;, 14%6)&lt;br /&gt;
print(&amp;quot;5+6 =&amp;quot;, 5+6)&lt;br /&gt;
print(&amp;quot;9-0 =&amp;quot;, 9-0)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
3. Parašyk programą, kuri išvestų reiškinio (2023 - 2000) * (9 + 10) reikšmę.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot;&lt;br /&gt;
! colspan=2 | Sprendimas #3 &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;(2023 - 2000) * (9 + 10) =&amp;quot;, (2023-2000)*(9+10))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==== Išnašos====&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Įvadas |next=Kas čia eina?}}&lt;br /&gt;
[[Category:Python Vadovėlis]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=%C5%A0ablonas:Navigation&amp;diff=449</id>
		<title>Šablonas:Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=%C5%A0ablonas:Navigation&amp;diff=449"/>
		<updated>2024-02-01T11:48:27Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;div class=&#039;navgrid noprint&#039;&amp;gt;&lt;br /&gt;
{{#ifeq:{{PAGENAME}}|{{BASEPAGENAME}}||&lt;br /&gt;
  &amp;lt;div class=&#039;title&#039;&amp;gt;[[{{#titleparts:{{FULLPAGENAME}}|-1}}]]&amp;lt;/div&amp;gt;}}&lt;br /&gt;
  &amp;lt;div class=&#039;start&#039;&amp;gt;{{#ifeq:{{{previous|BEGINNING}}}|BEGINNING||⬅️&amp;amp;nbsp;[[{{#titleparts:{{FULLPAGENAME}}|1}}/{{{previous}}}|{{{previous}}}]]}}&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&#039;middle&#039;&amp;gt;&#039;&#039;&#039;{{SUBPAGENAME}}&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&#039;end&#039;&amp;gt;{{#ifeq:{{{next|END}}}|END||[[{{#titleparts:{{FULLPAGENAME}}|1}}/{{{next}}}|{{{next}}}]]&amp;amp;nbsp;➡️}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=%C5%A0ablonas:Navigation&amp;diff=448</id>
		<title>Šablonas:Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=%C5%A0ablonas:Navigation&amp;diff=448"/>
		<updated>2024-02-01T11:48:03Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;div class=&#039;navgrid noprint&#039;&amp;gt;&lt;br /&gt;
{{#ifeq:{{PAGENAME}}|{{BASEPAGENAME}}||&lt;br /&gt;
  &amp;lt;div class=&#039;title&#039;&amp;gt;[[{{#titleparts:{{FULLPAGENAME}}|-1}}]]&amp;lt;/div&amp;gt;}}&lt;br /&gt;
  &amp;lt;div class=&#039;start&#039;&amp;gt;{{#ifeq:{{{previous|BEGINNING}}}|BEGINNING||⬅️&amp;amp;nbsp;[[{{#titleparts:{{FULLPAGENAME}}|1}}/{{{previous}}}|{{{previous}}}]]}}&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&#039;middle&#039;&amp;gt;&#039;&#039;&#039;{{SUBPAGENAME}}&#039;&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&#039;end&#039;&amp;gt;{{#ifeq:{{{next|END}}}|END||[[{{#titleparts:{{FULLPAGENAME}}|1}}/{{{next}}}|{{{next}}}]]&amp;amp;nbsp;➡️}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
START TABLE&lt;br /&gt;
--&amp;gt;&amp;lt;table style=&amp;quot;width: 100%; clear: both; background-color:#fff !important; border-collapse: collapse; font-size:95%; border: 1px solid rgb(170, 170, 170);&amp;quot; cellpadding=&amp;quot;2&amp;quot; class=&amp;quot;noprint&amp;quot;&amp;gt;&amp;lt;!--&lt;br /&gt;
If on a subpage, show page one level up. --&amp;gt;&lt;br /&gt;
{{#ifeq:{{PAGENAME}}|{{BASEPAGENAME}}||&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td colspan=&amp;quot;3&amp;quot; style=&amp;quot;text-align: center; font-style: italic;&amp;quot;&amp;gt;[[{{#titleparts:{{FULLPAGENAME}}|-1}}]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;}}&amp;lt;!--&lt;br /&gt;
End if on subpage.&lt;br /&gt;
ROW TWO: --&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: left; width: 33%&amp;quot;&amp;gt;{{#ifeq:{{{previous|BEGINNING}}}|BEGINNING||&amp;amp;nbsp;←&amp;amp;nbsp;[[{{#titleparts:{{FULLPAGENAME}}|1}}/{{{previous}}}|{{{previous}}}]]}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: center; width: 33%&amp;quot;&amp;gt;&#039;&#039;&#039;[[{{#titleparts:{{BASEPAGENAME}}|-1}} | Turinys]] &#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align: right; width: 33%&amp;quot;&amp;gt;{{#ifeq:{{{next|END}}}|END||[[{{#titleparts:{{FULLPAGENAME}}|1}}/{{{next}}}|{{{next}}}]]&amp;amp;nbsp;→&amp;amp;nbsp;}}&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;!--&lt;br /&gt;
END TABLE&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{documentation}}&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Don&#039;t forget to change the doc after edits, including the static display copy of this template. (I know, it&#039;s not ideal, but this way it&#039;s possible to show informative names and the &amp;quot;Book Title.&amp;quot;)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2022&amp;diff=364</id>
		<title>IT Egzaminai/2022</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2022&amp;diff=364"/>
		<updated>2023-05-26T13:34:18Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Programavimo konkursas ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 25 taškai&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Į Lietuvos programavimo konkurso finalą pateko penki mokiniai, kurių rezultatai atrankos etape buvo geriausi. Finale mokiniams buvo pateiktos įvairaus sudėtingumo programavimo užduotys. Buvo nurodytas joms atlikti skirtas laiko limitas minutėmis ir jų maksimalus vertinimas taškais. Dalyviai programų failus kėlė į automatinio vertinimo sistemą, kuri tikrino, ar programos teisingos. Kai dalyvio programa pateikdavo teisingus visų testų rezultatus, sistema užfiksuodavo užduoties atlikimo laiką minutėmis. Jei dalyvis išsprendė uždavinį teisingai ir neviršijo tam uždaviniui skirto laiko limito, jis už tą uždavinį gavo maksimalų taškų skaičių; jeigu išsprendė teisingai, bet viršijo laiko limitą, gavo pusę maksimalaus taškų skaičiaus (rezultatas skaičiuojamas sveikaisiais skaičiais; pavyzdžiui, jei maksimalus užduoties vertinimas yra 3 taškai, tai už teisingą užduoties sprendimą, viršijus laiko limitą, dalyvis gavo 1 tašką); jeigu dalyvis uždavinio nesprendė arba išsprendė klaidingai, už jį gavo 0 taškų.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, kuri rastų didžiausią finale surinktų taškų skaičių ir sudarytų dalyvių, surinkusių daugiausia taškų, sąrašą.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pradiniai duomenys===&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje užrašytas finale pateiktų uždavinių skaičius u (1 ≤ u ≤ 12).&lt;br /&gt;
* Antroje eilutėje iš eilės nurodytas kiekvienam uždaviniui spręsti skirtas laiko limitas minutėmis. Duomenys atskirti vienu tarpo simboliu.&lt;br /&gt;
* Trečioje eilutėje iš eilės nurodytas kiekvieno uždavinio maksimalus vertinimas taškais. Duomenys atskirti vienu tarpo simboliu.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti penkių finalo dalyvių duomenys: vardas (10 simbolių) ir kiekvienam uždaviniui spręsti sugaištas laikas minutėmis, užfiksuotas sistemos. Duomenys atskirti vienu tarpo simboliu. Buvo bent vienas dalyvis, kuris teisingai išsprendė bent vieną uždavinį.&lt;br /&gt;
&lt;br /&gt;
===Rezultatai===&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje pateikite didžiausią finale surinktų taškų skaičių.&lt;br /&gt;
* Tolesnėse eilutėse pateikite dalyvių, surinkusių didžiausią taškų skaičių, sąrašą: dalyvio vardas, jo teisingai išspręstų uždavinių skaičius ir šiems uždaviniams spręsti sugaištas laikas minutėmis. Duomenys atskirti vienu tarpo simboliu. Sąrašas surikiuotas pagal teisingai išspręstų uždavinių skaičių mažėjančiai.&lt;br /&gt;
&lt;br /&gt;
===Nurodymai===&lt;br /&gt;
* Sukurkite ir parašykite vieną funkciją, kuri apskaičiuoja dalyvio surinktų taškų skaičių, teisingai išspręstų uždavinių skaičių ir šiems uždaviniams spręsti sugaištą laiką minutėmis.&lt;br /&gt;
&lt;br /&gt;
===Duomenų ir rezultatų pavyzdžiai===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
 6&lt;br /&gt;
 10 10 20 15 15 20&lt;br /&gt;
 2 2 5 3 3 5&lt;br /&gt;
 Ignas      12 22 0 10 12 17&lt;br /&gt;
 Skirmantas 5 12 0 40 12 30&lt;br /&gt;
 Milda      10 10 20 22 31 23&lt;br /&gt;
 Asta Ieva  5 0 17 10 23 23&lt;br /&gt;
 Rima       8 0 14 23 12 23&lt;br /&gt;
|| &lt;br /&gt;
* Finale pateiktų uždavinių skaičius.&lt;br /&gt;
* Kiekvienam uždaviniui spręsti skirtas laiko limitas minutėmis. &lt;br /&gt;
* Kiekvieno uždavinio maksimalus vertinimas taškais.&lt;br /&gt;
* Penkių finalo dalyvių duomenys:&amp;lt;br&amp;gt;dalyvio vardas; kiekvienam uždaviniui spręsti sugaištas laikas minutėmis,&amp;lt;br&amp;gt;užfiksuotas sistemos.&lt;br /&gt;
* Skaičius 0 rodo, jog dalyvis to uždavinio nesprendė arba išsprendė klaidingai.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 13&lt;br /&gt;
 Milda      6 116&lt;br /&gt;
 Ignas      5 73&lt;br /&gt;
 Asta Ieva  5 78&lt;br /&gt;
 Rima       5 80&lt;br /&gt;
|| &lt;br /&gt;
* Didžiausias finale surinktų taškų skaičius.&lt;br /&gt;
* Dalyvių, surinkusių didžiausią taškų skaičių, sąrašas:&amp;lt;br&amp;gt;vardas; teisingai išspręstų uždavinių skaičius; šiems&amp;lt;br&amp;gt;uždaviniams spręsti sugaištas laikas minutėmis.&lt;br /&gt;
* Sąrašas surikiuotas pagal teisingai išspręstų uždavinių&amp;lt;br&amp;gt;skaičių mažėjančiai&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
ĮVESTIS = &amp;quot;U1.txt&amp;quot;&lt;br /&gt;
IŠVESTIS = &amp;quot;U1rez.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# funckiją failo skaitymui&lt;br /&gt;
# grąžina rezultatą: surinkti duomenys iš failo&lt;br /&gt;
def skaityk_failą():&lt;br /&gt;
  rezultatai = []&lt;br /&gt;
&lt;br /&gt;
  with open(ĮVESTIS, &amp;quot;rt&amp;quot;) as skaitomas_failas:&lt;br /&gt;
    uždavinių_skaičius = int(skaitomas_failas.readline())&lt;br /&gt;
    laiko_limitai = skaitomas_failas.readline().split()&lt;br /&gt;
    maks_balai = skaitomas_failas.readline().split()&lt;br /&gt;
&lt;br /&gt;
    while True:&lt;br /&gt;
      duomenys = skaitomas_failas.readline()&lt;br /&gt;
      if not duomenys: break&lt;br /&gt;
      &lt;br /&gt;
      rezultatai.append(skaičiuok_rezultatą(duomenys, uždavinių_skaičius, laiko_limitai, maks_balai))&lt;br /&gt;
&lt;br /&gt;
  return rezultatai&lt;br /&gt;
&lt;br /&gt;
def skaičiuok_rezultatą(duomenys, uždavinių_skaičius, laiko_limitai, maks_balai):&lt;br /&gt;
  # pirmi 10 simbolių yra vardas&lt;br /&gt;
  rezultatas = {&lt;br /&gt;
    &#039;vardas&#039;: duomenys[:10],&lt;br /&gt;
    &#039;balai&#039;: 0,&lt;br /&gt;
    &#039;laikas&#039;: 0,&lt;br /&gt;
    &#039;išspręsta&#039;: 0&lt;br /&gt;
  }&lt;br /&gt;
  # po vardo yra išvardinti laikai praleisti sprendžiant užduotis. išskaidom į sąrašą&lt;br /&gt;
  trukmės = duomenys[11:].split()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  for i in range(uždavinių_skaičius):&lt;br /&gt;
    trukmė = int(trukmės[i])&lt;br /&gt;
    # jeigu 0, reiškias neišspręsta užduotis. nutraukiam darbą.&lt;br /&gt;
    if trukmė == 0: continue&lt;br /&gt;
&lt;br /&gt;
    # pridedam reikšmes&lt;br /&gt;
    rezultatas[&#039;laikas&#039;] += trukmė&lt;br /&gt;
    rezultatas[&#039;išspręsta&#039;] += 1&lt;br /&gt;
    # paskaičiuojam ar maksimaliai balų gauta, ar tik puse&lt;br /&gt;
    if trukmė &amp;lt;= int(laiko_limitai[i]):&lt;br /&gt;
      rezultatas[&#039;balai&#039;] += int(maks_balai[i])&lt;br /&gt;
    else:&lt;br /&gt;
      rezultatas[&#039;balai&#039;] += int(maks_balai[i]) // 2&lt;br /&gt;
&lt;br /&gt;
    # grąžinam suskaičiuota rezultatą&lt;br /&gt;
  return rezultatas&lt;br /&gt;
&lt;br /&gt;
def atrink(rezultatai):&lt;br /&gt;
  atsakymas = {&#039;balai&#039;: &amp;quot;0&amp;quot;, &amp;quot;sąrašas&amp;quot;: []}&lt;br /&gt;
  duomenys = []&lt;br /&gt;
  maks_taškų = 0&lt;br /&gt;
&lt;br /&gt;
  # pereinam per sąrašą ir atrenkam, kiek yra daugiausiai surinkta taškų&lt;br /&gt;
  for r in rezultatai:&lt;br /&gt;
    if (r[&#039;balai&#039;] &amp;gt; maks_taškų): maks_taškų = r[&#039;balai&#039;]&lt;br /&gt;
  &lt;br /&gt;
  atsakymas[&#039;balai&#039;] = str(maks_taškų)&lt;br /&gt;
&lt;br /&gt;
  # atrenkame sarašą dalyvių, su maksimaliai surinkta taškų&lt;br /&gt;
  for r in rezultatai:&lt;br /&gt;
    if (r[&#039;balai&#039;] &amp;lt; maks_taškų): continue&lt;br /&gt;
    duomenys.append(r)&lt;br /&gt;
&lt;br /&gt;
  # išrūšiuojame pagal išspręsta balų mažėjančia tvarka ir pagal užtrukta laiką didėjančia&lt;br /&gt;
  duomenys.sort(key=lambda x: (-x[&#039;išspręsta&#039;], x[&#039;laikas&#039;]))&lt;br /&gt;
&lt;br /&gt;
  # surenkame viską į atsakymą&lt;br /&gt;
  for d in duomenys:&lt;br /&gt;
    atsakymas[&amp;quot;sąrašas&amp;quot;].append({&lt;br /&gt;
      &amp;quot;vardas&amp;quot;: d[&#039;vardas&#039;],&lt;br /&gt;
      &amp;quot;išspręsta&amp;quot;: str(d[&#039;išspręsta&#039;]),&lt;br /&gt;
      &amp;quot;laikas&amp;quot;: str(d[&#039;laikas&#039;])&lt;br /&gt;
    })&lt;br /&gt;
&lt;br /&gt;
  return atsakymas&lt;br /&gt;
&lt;br /&gt;
def rašyk_į_failą(atsakymas):&lt;br /&gt;
  with open(IŠVESTIS, &#039;wt&#039;) as rašomas_failas:&lt;br /&gt;
    # pirmoje eilutėje atspausdiname maksimalų surinktą balų&lt;br /&gt;
    rašomas_failas.write(atsakymas[&#039;balai&#039;])&lt;br /&gt;
    # kitose eilutėse išvedame išrikiuota sąrašą dalyvių surinkusių maks balus.&lt;br /&gt;
    for d in atsakymas[&#039;sąrašas&#039;]:&lt;br /&gt;
      rašomas_failas.writelines([&lt;br /&gt;
        &#039;\n&#039;,&lt;br /&gt;
        d[&#039;vardas&#039;],&lt;br /&gt;
        &#039; &#039;,&lt;br /&gt;
        d[&#039;išspręsta&#039;],&lt;br /&gt;
        &#039; &#039;,&lt;br /&gt;
        d[&#039;laikas&#039;]&lt;br /&gt;
      ])&lt;br /&gt;
&lt;br /&gt;
# pagrindinė programa&lt;br /&gt;
if (__name__ == &amp;quot;__main__&amp;quot;):&lt;br /&gt;
  # skaitome failą&lt;br /&gt;
  rezultatai = skaityk_failą()&lt;br /&gt;
  # atrenkame tik sąlygą atitinkamus rezultatus&lt;br /&gt;
  atsakymas = atrink(rezultatai)&lt;br /&gt;
  # surašome viską į failą&lt;br /&gt;
  rašyk_į_failą(atsakymas)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sportas namuose ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 25 taškai&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Juozas dirba namuose. Norėdamas daugiau judėti, jis nusprendė sausio mėnesį pradėti sportuoti – pagal&lt;br /&gt;
galimybes atlikti namuose penkis įvairius pratimus. Juozas užrašuose žymėdavosi sportavimo duomenis:&lt;br /&gt;
kiek kartų sportavo tam tikrą dieną, pratimų pavadinimus, kuriuo dienos metu juos atliko ir kiek laiko&lt;br /&gt;
minutėmis skyrė nurodytiems pratimams atlikti.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, kuri apskaičiuotų ir išvestų Juozo sausio mėnesį atliktų pratimų statistiką.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pradiniai duomenys===&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U2.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje užrašyta, kiek dienų d (1 ≤ d ≤ 31) sausio mėnesį sportavo Juozas.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti Juozo sportavimo duomenys: kiek kartų jis sportavo tam tikrą dieną s (1 ≤ s ≤ 7) ir pratimų duomenys: pratimo pavadinimas (14 simbolių), dienos metas (žodis Rytas, Diena, Vakaras; 7 simboliai) ir kiek laiko minutėmis Juozas sugaišo, atlikdamas nurodytą pratimą. Juozas gali tą patį pratimą atlikti tą pačią dieną daugiau negu vieną kartą ir bet kuriuo dienos metu. Duomenys atskirti vienu tarpo simboliu. Buvo bent viena diena, kai Juozas atliko bent vieną pratimą.&lt;br /&gt;
&lt;br /&gt;
===Rezultatai===&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U2rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Įrašykite pratimų pavadinimus, dienų, kai Juozas atliko nurodytus pratimus, skaičių ir kiek iš viso laiko minutėmis sugaišo šiems pratimams atlikti. Pratimų sąrašą surikiuokite abėcėliškai. Duomenis eilutėje atskirkite vienu tarpo simboliu.&lt;br /&gt;
* Po kiekvieno pratimo pavadinimo atskirose eilutėse parašykite žodžius Rytas, Diena, Vakaras ir nurodykite, kiek kartų sausio mėnesį Juozas nurodytu dienos metu atliko nurodytą pratimą. Duomenis eilutėje atskirkite vienu tarpo simboliu. Jeigu kurio nors pratimo kuriuo nors dienos metu nebuvo atlikta nė karto, duomenų apie šį dienos metą pateikti nereikia.&lt;br /&gt;
&lt;br /&gt;
===Nurodymai===&lt;br /&gt;
* Programoje naudokite struktūros duomenų tipo masyvą sportavimo duomenims saugoti.&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri sudarytų pratimų unikalių (nepasikartojančių) pavadinimų sąrašą. Python programavimo kalboje naudokite žodyno duomenų struktūrą arba struktūrą sudarykite, naudodami klases.&lt;br /&gt;
&lt;br /&gt;
===Duomenų ir rezultatų pavyzdžiai===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Duomenų failo pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
 8&lt;br /&gt;
 2 Atsilenkimai   Rytas   10 Prisitraukimai Rytas   8&lt;br /&gt;
 3 Atsispaudimai  Diena   8 Tempimas       Vakaras 8 Atsilenkimai   Vakaras 9&lt;br /&gt;
 1 Svarmenys      Vakaras 11&lt;br /&gt;
 3 Svarmenys      Diena   10 Svarmenys      Diena   12 Atsilenkimai   Diena   15&lt;br /&gt;
 2 Atsilenkimai   Vakaras 22 Svarmenys      Vakaras 10&lt;br /&gt;
 3 Svarmenys      Diena   15 Atsispaudimai  Diena   15 Atsispaudimai  Diena   5&lt;br /&gt;
 2 Svarmenys      Rytas   23 Svarmenys      Vakaras 13&lt;br /&gt;
 3 Atsispaudimai  Rytas   10 Atsispaudimai  Diena   12 Tempimas       Vakaras 10&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* Kiek dienų sausio mėnesį sportavo Juozas.&lt;br /&gt;
* Kiek kartų Juozas sportavo tam tikrą dieną; pratimų duomenys:&lt;br /&gt;
:* pratimo pavadinimas;&lt;br /&gt;
:* dienos metas (Rytas, Diena, Vakaras);&lt;br /&gt;
:* kiek laiko minutėmis sugaišta, atliekant nurodytą pratimą.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys || Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Atsilenkimai   4 56&lt;br /&gt;
 Rytas   1&lt;br /&gt;
 Diena   1&lt;br /&gt;
 Vakaras 2&lt;br /&gt;
 Atsispaudimai  3 50&lt;br /&gt;
 Rytas   1&lt;br /&gt;
 Diena   4&lt;br /&gt;
 Prisitraukimai 1 8&lt;br /&gt;
 Rytas   1&lt;br /&gt;
 Svarmenys      5 94&lt;br /&gt;
 Rytas   1&lt;br /&gt;
 Diena   3&lt;br /&gt;
 Vakaras 3&lt;br /&gt;
 Tempimas       2 18&lt;br /&gt;
 Vakaras 2&lt;br /&gt;
||&lt;br /&gt;
* Pratimo pavadinimas; dienų, kai Juozas atliko&amp;lt;br&amp;gt;nurodytą pratimą, skaičius; kiek iš viso laiko&amp;lt;br&amp;gt;minutėmis sugaišta šiam pratimui atlikti.&lt;br /&gt;
* Dienos metas, kai buvo atliktas nurodytas&amp;lt;br&amp;gt;pratimas; kiek kartų sausio mėnesį nurodytu dienos&amp;lt;br&amp;gt;metu buvo atliktas nurodytas pratimas.&lt;br /&gt;
* Sąrašas surikiuotas pagal pratimų pavadinimą&amp;lt;br&amp;gt;abėcėliškai.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Konstantos kurias naudosime programoje&lt;br /&gt;
DUOMENŲ_FAILAS = &amp;quot;U2.txt&amp;quot;&lt;br /&gt;
REZULTATŲ_FAILAS = &amp;quot;U2rez.txt&amp;quot;&lt;br /&gt;
PRATIMO_PAVADINIMO_ILGIS = 14&lt;br /&gt;
DIENOS_METO_ILGIS = 7&lt;br /&gt;
DIENOS_METAS_RYTAS = &amp;quot;Rytas  &amp;quot;&lt;br /&gt;
DIENOS_METAS_DIENA = &amp;quot;Diena  &amp;quot;&lt;br /&gt;
DIENOS_METAS_VAKARAS = &amp;quot;Vakaras&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Klasė skirta konkretaus pratimo atlikimo duomenims saugoti&lt;br /&gt;
# Pratimo pavadimas bus naudojamas kaip raktas žodyne, tad jo saugoti klasėje papildomai nebereikia&lt;br /&gt;
class Sportavimas:&lt;br /&gt;
    def __init__(self):&lt;br /&gt;
        # Dienų kuriomis buvo atliktas pratimas indekasai&lt;br /&gt;
        self.dienos = []&lt;br /&gt;
        # Pratimo atlikimo bendra trukmė&lt;br /&gt;
        self.trukmė = 0&lt;br /&gt;
        # Kiek kartų pratimas atliktas konkrečiu dienos metu&lt;br /&gt;
        self.rytas = 0&lt;br /&gt;
        self.diena = 0&lt;br /&gt;
        self.vakaras = 0&lt;br /&gt;
    &lt;br /&gt;
    # Pridedamas naujas konkretaus pratimo atlikimo įrašas&lt;br /&gt;
    def pridėk_pratimą (self, diena, trukmė, dienos_metas):&lt;br /&gt;
        # Jeigu šią dieną pratimo dar nebuvo daryta, tai pažymime dienų sąraše, jog pratimas buvo atliktas&lt;br /&gt;
        if diena not in self.dienos:&lt;br /&gt;
            self.dienos.append(diena)&lt;br /&gt;
        self.trukmė += trukmė&lt;br /&gt;
        if dienos_metas == DIENOS_METAS_RYTAS:&lt;br /&gt;
            self.rytas += 1&lt;br /&gt;
        elif dienos_metas == DIENOS_METAS_DIENA:&lt;br /&gt;
            self.diena += 1&lt;br /&gt;
        elif dienos_metas == DIENOS_METAS_VAKARAS:&lt;br /&gt;
            self.vakaras += 1&lt;br /&gt;
            &lt;br /&gt;
    # Funkcija dienų skaičiui gauti&lt;br /&gt;
    def gauk_dienų_skaičių(self):&lt;br /&gt;
        return len(self.dienos)&lt;br /&gt;
&lt;br /&gt;
# Funcija gražinanti uniklų pratimų sąrašą, kaip reikalaujama egazmino sąlygoje&lt;br /&gt;
def gauk_unikalų_pratimų_sąrašą(duomenys):&lt;br /&gt;
    return list(duomenys.keys());&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Funkcija nuskaitanti faile esančius duomenis&lt;br /&gt;
def skaityk_failą():&lt;br /&gt;
    sportavimas = {}&lt;br /&gt;
    with open(DUOMENŲ_FAILAS, &amp;quot;r&amp;quot;) as skaitomas_failas:&lt;br /&gt;
        d = int(skaitomas_failas.readline())&lt;br /&gt;
        for i in range(0,d):&lt;br /&gt;
            # Nuskaitome s, kartu ir po jo einantį tarpą (1 ≤ s ≤ 7)&lt;br /&gt;
            s = int(skaitomas_failas.read(2))&lt;br /&gt;
&lt;br /&gt;
            for _ in range(0,s):&lt;br /&gt;
                pratimas = skaitomas_failas.read(PRATIMO_PAVADINIMO_ILGIS)&lt;br /&gt;
                # Praleidžiame tarpą skiriantį pratimo pavadinimą ir dienos metą&lt;br /&gt;
                skaitomas_failas.read(1)&lt;br /&gt;
                dienos_metas = skaitomas_failas.read(DIENOS_METO_ILGIS)&lt;br /&gt;
                &lt;br /&gt;
                # Praleidžiame tarpą skiriantį pratimo pavadinimą ir dienos metą&lt;br /&gt;
                skaitomas_failas.read(1)                &lt;br /&gt;
                &lt;br /&gt;
                # Skaitom atlikimo laiką iki aptinkame tarpą&lt;br /&gt;
                perskaitytas_simobolis = skaitomas_failas.read(1)&lt;br /&gt;
                trukmė = 0&lt;br /&gt;
&lt;br /&gt;
                # Skaitome po simbolį ir &amp;quot;sulipdome&amp;quot; trukmės skaičių&lt;br /&gt;
                while perskaitytas_simobolis.isdigit():&lt;br /&gt;
                    # Skaitome laiką po simbolį ir verčiame į skaičių&lt;br /&gt;
                    trukmė = trukmė * 10 + int(perskaitytas_simobolis)&lt;br /&gt;
                    perskaitytas_simobolis = skaitomas_failas.read(1)&lt;br /&gt;
                &lt;br /&gt;
                # Jeigu pratimas sutinkamas pirmą kartą - sukuriame naują `Sportavimas` tipo objektą&lt;br /&gt;
                if pratimas not in sportavimas:&lt;br /&gt;
                    sportavimas[pratimas] = Sportavimas()&lt;br /&gt;
                sportavimas[pratimas].pridėk_pratimą(i, trukmė, dienos_metas)&lt;br /&gt;
&lt;br /&gt;
    return sportavimas&lt;br /&gt;
&lt;br /&gt;
# Pagalbinė funkcija, skirta dienos meto duomenų įrašymui į failą&lt;br /&gt;
def rašyk_dienos_meto_duomenis_į_failą(rašomas_failas, dienos_metas, pratimų_kiekis):&lt;br /&gt;
    rašomas_failas.write(dienos_metas)&lt;br /&gt;
    rašomas_failas.write(&amp;quot; &amp;quot;)&lt;br /&gt;
    rašomas_failas.write(str(pratimų_kiekis))&lt;br /&gt;
    rašomas_failas.write(&amp;quot;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def rašyk_failą(duomenys):&lt;br /&gt;
    # Pasiimame žodyno raktus kad juos galėtume išrūšiuoti kaip sąrašą&lt;br /&gt;
    pratimai = gauk_unikalų_pratimų_sąrašą(duomenys)&lt;br /&gt;
    # Rūšiuojame pavadinimus&lt;br /&gt;
    pratimai.sort()&lt;br /&gt;
    with open(REZULTATŲ_FAILAS, &amp;quot;w&amp;quot;) as rašomas_failas:&lt;br /&gt;
        for pratimas in pratimai:&lt;br /&gt;
            rašomas_failas.write(pratimas)&lt;br /&gt;
            rašomas_failas.write(&amp;quot; &amp;quot;)&lt;br /&gt;
            rašomas_failas.write(str(duomenys[pratimas].gauk_dienų_skaičių()))&lt;br /&gt;
            rašomas_failas.write(&amp;quot; &amp;quot;)&lt;br /&gt;
            rašomas_failas.write(str(duomenys[pratimas].trukmė))&lt;br /&gt;
            rašomas_failas.write(&amp;quot;\n&amp;quot;)&lt;br /&gt;
            if duomenys[pratimas].rytas &amp;gt; 0:&lt;br /&gt;
                rašyk_dienos_meto_duomenis_į_failą(rašomas_failas, DIENOS_METAS_RYTAS, duomenys[pratimas].rytas)&lt;br /&gt;
            if duomenys[pratimas].diena &amp;gt; 0:&lt;br /&gt;
                rašyk_dienos_meto_duomenis_į_failą(rašomas_failas, DIENOS_METAS_DIENA, duomenys[pratimas].diena)&lt;br /&gt;
            if duomenys[pratimas].vakaras &amp;gt; 0:&lt;br /&gt;
                rašyk_dienos_meto_duomenis_į_failą(rašomas_failas, DIENOS_METAS_VAKARAS, duomenys[pratimas].vakaras)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    duomenys = skaityk_failą()    &lt;br /&gt;
    rašyk_failą(duomenys)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=363</id>
		<title>IT Egzaminai/2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=363"/>
		<updated>2023-05-26T13:25:04Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Bėgimas ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 20 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Laurynas nusprendė liepos mėnesį ryte ir vakare bėgti miške tą pačią 5 km trasą. Tokį atstumą jis įprastai įveikia per 15–20 minučių. Savo bėgimo laiko rezultatus Laurynas pasižymėdavo užrašuose, įrašydamas dieną ir kiekvieno bėgimo pradžios bei pabaigos laiką valandomis ir minutėmis. Jeigu dėl kokios nors priežasties (pvz., prasto oro) bėgimą praleisdavo, tuomet vietoj to bėgimo pradžios ir pabaigos laiko valandomis ir minutėmis jis įrašydavo nulius.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, skirtą rasti dieną, kai Laurynas, &#039;&#039;&#039;bėgdamas ir ryte, ir vakare&#039;&#039;&#039;, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, turi būti pateikiamos jos visos&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pradiniai duomenys===&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;&lt;br /&gt;
* Pirmoje eilutėje užrašyta, kiek dienų &#039;&#039;&#039;d&#039;&#039;&#039; (1 ≤ &#039;&#039;&#039;d&#039;&#039;&#039; ≤ 31) Laurynas bėgo bent vieną kartą.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti bėgimo duomenys: liepos mėnesio diena; bėgimo ryte pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis; bėgimo vakare pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis. Duomenys atskirti bent vienu tarpo simboliu. Buvo bent viena diena, kai Laurynas bėgo ir ryte, ir vakare.&lt;br /&gt;
&lt;br /&gt;
===Rezultatai===&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje parašykite tekstą „Minimalus laikas“.&lt;br /&gt;
* Antroje eilutėje užrašykite mažiausią bėgimo ryte ir vakare laiką minutėmis.&lt;br /&gt;
* Trečioje eilutėje parašykite tekstą „Dienos“.&lt;br /&gt;
* Ketvirtoje eilutėje užrašykite dieną, kai Laurynas, bėgdamas ir ryte, ir vakare, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, jos turi būti pateikiamos tokia eilės tvarka, kokia jas surašė Laurynas. Dienos turi būti atskiriamos vienu tarpo simboliu.&lt;br /&gt;
&lt;br /&gt;
===Nurodymai===&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri apskaičiuoja, kiek laiko (minutėmis) Laurynas sugaišo bėgimui.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
=== Duomenų ir rezultatų pavyzdžiai ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ Pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 6&lt;br /&gt;
  3 09 25 09 40 19 45 20 00&lt;br /&gt;
  6 08 30 08 48  0  0  0  0&lt;br /&gt;
  7 09 18 09 38 18 52 19 11&lt;br /&gt;
 10 08 48 09 03 18 45 19 00&lt;br /&gt;
 15 08 52 09 11 17 58 18 18&lt;br /&gt;
 30  0  0  0  0 19 02 19 20&lt;br /&gt;
||&lt;br /&gt;
 * Skaičius dienų, kai Laurynas bėgo bent vieną kartą.&lt;br /&gt;
 * Liepos mėnesio diena; bėgimo ryte pradžios ir pabaigos&amp;lt;br&amp;gt; laikas, nurodytas valandomis ir minutėmis; bėgimo&amp;lt;br&amp;gt; vakare pradžios ir pabaigos laikas, nurodytas valandomis&amp;lt;br&amp;gt; ir minutėmis.&lt;br /&gt;
 * 0 0 0 0 rodo, jog tą rytą arba vakarą Laurynas nebėgo&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Minimalus laikas&lt;br /&gt;
 30&lt;br /&gt;
 Dienos&lt;br /&gt;
 3 10&lt;br /&gt;
||&lt;br /&gt;
 * Mažiausias bėgimo ryte ir vakare laikas minutėmis.&lt;br /&gt;
 * Liepos mėnesio dienos, kai Laurynas, bėgdamas ir ryte,&amp;lt;br&amp;gt; ir vakare, sugaišo mažiausiai laiko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
ĮVESTIS = &amp;quot;U1.txt&amp;quot;&lt;br /&gt;
IŠVESTIS = &amp;quot;U1rez.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# skaitymo funkcija&lt;br /&gt;
def skaityk_failą():&lt;br /&gt;
  # čia saugosime grąžinomus parametrus&lt;br /&gt;
  parametrai = []&lt;br /&gt;
  &lt;br /&gt;
  with open(ĮVESTIS, &amp;quot;rt&amp;quot;) as skaitomas_failas:&lt;br /&gt;
    # pirma eilutė - kiek dienų bėgta&lt;br /&gt;
    dienų_bėgta = int( skaitomas_failas.readline() )&lt;br /&gt;
&lt;br /&gt;
    # skaitome, tiek eilučių, kiek dienų buvo bėgta&lt;br /&gt;
    for _ in range(1, dienų_bėgta):&lt;br /&gt;
      # skaitoma eilutė&lt;br /&gt;
      d = skaitomas_failas.readline().split()&lt;br /&gt;
      # paskaičiuojame ryto bėgimo laiką&lt;br /&gt;
      rytas = kiek_sugaiso(d[1], d[2], d[3], d[4])&lt;br /&gt;
      # paskaičiuojame vakaro bėgimo laiką&lt;br /&gt;
      vakaras = kiek_sugaiso(d[5], d[6], d[7], d[8])&lt;br /&gt;
&lt;br /&gt;
      # jeigu ryte arba vakare nebuvo bėgta, tęsiame skaitymą&lt;br /&gt;
      if rytas == 0 or vakaras == 0: continue&lt;br /&gt;
&lt;br /&gt;
      # pridedame rezultatą prie grąžinamų parametrų&lt;br /&gt;
      parametrai.append({&lt;br /&gt;
        &#039;diena&#039;: d[0],&lt;br /&gt;
        &#039;sugaista&#039;: rytas + vakaras&lt;br /&gt;
      })&lt;br /&gt;
  &lt;br /&gt;
  return parametrai&lt;br /&gt;
&lt;br /&gt;
# funkcija, suskaičiuoti, kiek užtruko bėgimas&lt;br /&gt;
# sh - starto valanda, sm - starto minutės, gh - galo valanda, gm - galo minutės&lt;br /&gt;
# verčiame viską į skaičius, tada minutes, tada atimame ir gauname tiką laiką&lt;br /&gt;
def kiek_sugaiso(sh, sm, gh, gm):&lt;br /&gt;
  return (int(gh) * 60 + int(gm)) - (int(sh) * 60 + int(sm))&lt;br /&gt;
&lt;br /&gt;
# funkcija, skirta atrinkti atsakymą&lt;br /&gt;
def atrink(parametrai):&lt;br /&gt;
  # kintamieji. t_laikas - trumpiausias laikas. Priskiriame didelį skaičių, kaip pradinį&lt;br /&gt;
  t_laikas = 99999&lt;br /&gt;
  atsakymas = {&#039;sugaista&#039;: 0, &#039;dienos&#039;: []}&lt;br /&gt;
&lt;br /&gt;
  # atrandame trumpiausia laiką&lt;br /&gt;
  for p in parametrai:&lt;br /&gt;
    if (t_laikas &amp;gt; p[&#039;sugaista&#039;]): t_laikas = p[&#039;sugaista&#039;]&lt;br /&gt;
&lt;br /&gt;
  # užsirašome trumpiausią laiką, kaip tekstinę eilutę (spausdinimui į failą)&lt;br /&gt;
  atsakymas[&#039;sugaista&#039;] = str(t_laikas)&lt;br /&gt;
&lt;br /&gt;
  for p in parametrai:&lt;br /&gt;
    # jeigu truko ilgiau, praleidžiame&lt;br /&gt;
    if (t_laikas != p[&#039;sugaista&#039;]): continue&lt;br /&gt;
    # pridedame prie tinkamų dienų rezultate, kaip tekstinė eilutė&lt;br /&gt;
    atsakymas[&#039;dienos&#039;].append(str(p[&#039;diena&#039;]))&lt;br /&gt;
&lt;br /&gt;
  return atsakymas&lt;br /&gt;
&lt;br /&gt;
def rašyk_į_failą(atsakymas):&lt;br /&gt;
  # atidarome failą&lt;br /&gt;
  with open(IŠVESTIS, &#039;wt&#039;) as rasomas_failas:&lt;br /&gt;
    # spausdiname rezultatą&lt;br /&gt;
    rasomas_failas.writelines([&lt;br /&gt;
      &#039;Minimalus laikas&#039;,&lt;br /&gt;
      &#039;\n&#039;,&lt;br /&gt;
      atsakymas[&#039;sugaista&#039;],&lt;br /&gt;
      &#039;\n&#039;,&lt;br /&gt;
      &#039;Dienos&#039;,&lt;br /&gt;
      &#039;\n&#039;,&lt;br /&gt;
      # sujungiame dienas per tarpą&lt;br /&gt;
      &#039; &#039;.join(atsakymas[&#039;dienos&#039;]) &lt;br /&gt;
    ])&lt;br /&gt;
&lt;br /&gt;
# pagrindinė programa&lt;br /&gt;
if (__name__ == &amp;quot;__main__&amp;quot;):&lt;br /&gt;
  # skaitome failą&lt;br /&gt;
  rezultatai = skaityk_failą()&lt;br /&gt;
  # atrenkame tik sąlygą atitinkamus rezultatus&lt;br /&gt;
  atsakymas = atrink(rezultatai)&lt;br /&gt;
  # surašome viską į failą&lt;br /&gt;
  rašyk_į_failą(atsakymas)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Apklausa ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 30 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Monika projektinio darbo metu atliko apklausą, siekdama išsiaiškinti, kurie mokomieji dalykai jos draugams patinka labiausiai. Atlikdama apklausą, ji kaskart pasižymėdavo draugo vardą, jo mėgstamiausią dalyką ir to dalyko pažymius.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, kuri sudarytų mokinių nurodytų populiariausių dalykų sąrašą ir pateiktų šiuos dalykus pasirinkusių mokinių vardus. Sąraše turi būti pateikiami tik tie dalykai, kuriuos pasirinkusių mokinių pažymių vidurkis yra ne mažesnis kaip 9.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pradiniai duomenys===&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U2.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje užrašytas apklaustų mokinių skaičius m (1 ≤ m ≤ 50).&lt;br /&gt;
* Tolesnėse eilutėse užrašyti draugų duomenys: vardas (vienas žodis); jo mėgstamiausias dalykas (vienas žodis); to dalyko pažymių skaičius; pažymiai. Duomenys atskirti vienu tarpo simboliu.&lt;br /&gt;
&lt;br /&gt;
===Rezultatai===&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U2rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Įrašykite dalykus, kuriuos pasirinkusių mokinių pažymių vidurkis ne mažesnis kaip 9, ir juos pasirinkusių mokinių skaičių. Dalykus rašykite pagal jų populiarumą mažėjančiai. Jei yra keli dalykai, kurių populiarumas vienodas, tai juos pateikite abėcėliškai.&lt;br /&gt;
* Po kiekvieno dalyko atskirose eilutėse pateikite jį pasirinkusių mokinių, kurių to dalyko pažymių vidurkis yra ne mažesnis kaip 9, vardus tokia eilės tvarka, kokia jie buvo užrašyti pradinių duomenų faile.&lt;br /&gt;
* Jeigu tarp dalykų nėra tokių, kuriuos pasirinkusių mokinių pažymių vidurkis ne mažesnis kaip 9, tuomet turi būti pateiktas tekstinis pranešimas „Neatitinka vidurkis“.&lt;br /&gt;
&lt;br /&gt;
===Nurodymai===&lt;br /&gt;
* Programoje naudokite struktūros duomenų tipo masyvą apklaustų mokinių duomenims saugoti.&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri surikiuoja populiariausių dalykų sąrašą.&lt;br /&gt;
* Programoje nenaudokite globalių kintamųjų.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu&lt;br /&gt;
&lt;br /&gt;
===Duomenų ir rezultatų pavyzdžiai===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 1 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
 8&lt;br /&gt;
 Povilas Matematika 5 9 9 9 9 10&lt;br /&gt;
 Jonas Istorija 4 10 9 10 10&lt;br /&gt;
 Milda Matematika 6 10 8 9 9 9 9&lt;br /&gt;
 Asta Informatika 3 10 10 10&lt;br /&gt;
 Ieva Matematika 3 9 9 8&lt;br /&gt;
 Rima Informatika 3 10 10 7&lt;br /&gt;
 Juozas Fizika 2 8 9&lt;br /&gt;
 Laura Fizika 1 8&lt;br /&gt;
|| &lt;br /&gt;
 * Apklaustų mokinių skaičius.&lt;br /&gt;
 * Mokinio vardas; jo mėgstamiausias dalykas; to&lt;br /&gt;
 dalyko pažymių skaičius; pažymiai.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Informatika 2&lt;br /&gt;
 Asta&lt;br /&gt;
 Rima&lt;br /&gt;
 Matematika 2&lt;br /&gt;
 Povilas&lt;br /&gt;
 Milda&lt;br /&gt;
 Istorija 1&lt;br /&gt;
 Jonas&lt;br /&gt;
|| &lt;br /&gt;
 * Dalykai, kuriuos pasirinkusių mokinių pažymių&amp;lt;br&amp;gt;vidurkis ne mažesnis kaip 9, ir juos pasirinkusių&lt;br /&gt;
 mokinių skaičius.&lt;br /&gt;
 * Tą dalyką pasirinkusių mokinių vardai.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 2 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
 4&lt;br /&gt;
 Linas Informatika 4 10 8 8 9&lt;br /&gt;
 Ieva Matematika 3 9 9 8&lt;br /&gt;
 Juozas Fizika 2 8 9&lt;br /&gt;
 Rokas Chemija 4 9 9 10 7&lt;br /&gt;
|| &lt;br /&gt;
 * Apklaustų mokinių skaičius.&lt;br /&gt;
 * Mokinio vardas; jo mėgstamiausias dalykas; to&lt;br /&gt;
 dalyko pažymių skaičius; pažymiai.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Neatitinka vidurkis&lt;br /&gt;
|| &lt;br /&gt;
 Nėra nė vieno dalyko, kurį pasirinkusių mokinių&lt;br /&gt;
 pažymių vidurkis ne mažesnis kaip 9.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
class Dalykas:&lt;br /&gt;
    def __init__(self, pavadinimas):&lt;br /&gt;
        self.pavadinimas = pavadinimas&lt;br /&gt;
        self.mokiniai = []&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def rikiuoti_dalykus(dalykai):&lt;br /&gt;
    return sorted(&lt;br /&gt;
        dalykai, key=lambda dalykas: (-len(dalykas.mokiniai), dalykas.pavadinimas)&lt;br /&gt;
    )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def vidurkis(pažymiai):&lt;br /&gt;
    return sum(pažymiai) / len(pažymiai)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
with open(&amp;quot;U2.txt&amp;quot;, &amp;quot;r&amp;quot;) as failas:&lt;br /&gt;
    mokiniu_skaicius = int(failas.readline())&lt;br /&gt;
    dalykai = {}&lt;br /&gt;
    for _ in range(mokiniu_skaicius):&lt;br /&gt;
        vardas, pavadinimas, pazymiu_skaicius, *pazymiai = failas.readline().split()&lt;br /&gt;
        pazymiai = list(map(int, pazymiai))&lt;br /&gt;
        if vidurkis(pazymiai) &amp;gt;= 9:&lt;br /&gt;
            if pavadinimas not in dalykai:&lt;br /&gt;
                dalykai[pavadinimas] = Dalykas(pavadinimas)&lt;br /&gt;
            dalykai[pavadinimas].mokiniai.append(vardas)&lt;br /&gt;
&lt;br /&gt;
with open(&amp;quot;U2rez.txt&amp;quot;, &amp;quot;w&amp;quot;) as failas:&lt;br /&gt;
    rikiuoti = rikiuoti_dalykus(list(dalykai.values()))&lt;br /&gt;
    if not rikiuoti:&lt;br /&gt;
        failas.write(&amp;quot;Neatitinka vidurkis\n&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        for dalykas in rikiuoti:&lt;br /&gt;
            failas.write(f&amp;quot;{dalykas.pavadinimas} {len(dalykas.mokiniai)}\n&amp;quot;)&lt;br /&gt;
            for mokinys in dalykas.mokiniai:&lt;br /&gt;
                failas.write(f&amp;quot;{mokinys}\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=362</id>
		<title>IT Egzaminai/2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=362"/>
		<updated>2023-05-26T13:22:58Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* 2 užduotis. Apklausa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Bėgimas ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 20 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Laurynas nusprendė liepos mėnesį ryte ir vakare bėgti miške tą pačią 5 km trasą. Tokį atstumą jis įprastai įveikia per 15–20 minučių. Savo bėgimo laiko rezultatus Laurynas pasižymėdavo užrašuose, įrašydamas dieną ir kiekvieno bėgimo pradžios bei pabaigos laiką valandomis ir minutėmis. Jeigu dėl kokios nors priežasties (pvz., prasto oro) bėgimą praleisdavo, tuomet vietoj to bėgimo pradžios ir pabaigos laiko valandomis ir minutėmis jis įrašydavo nulius.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, skirtą rasti dieną, kai Laurynas, &#039;&#039;&#039;bėgdamas ir ryte, ir vakare&#039;&#039;&#039;, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, turi būti pateikiamos jos visos&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;&lt;br /&gt;
* Pirmoje eilutėje užrašyta, kiek dienų &#039;&#039;&#039;d&#039;&#039;&#039; (1 ≤ &#039;&#039;&#039;d&#039;&#039;&#039; ≤ 31) Laurynas bėgo bent vieną kartą.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti bėgimo duomenys: liepos mėnesio diena; bėgimo ryte pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis; bėgimo vakare pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis. Duomenys atskirti bent vienu tarpo simboliu. Buvo bent viena diena, kai Laurynas bėgo ir ryte, ir vakare.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje parašykite tekstą „Minimalus laikas“.&lt;br /&gt;
* Antroje eilutėje užrašykite mažiausią bėgimo ryte ir vakare laiką minutėmis.&lt;br /&gt;
* Trečioje eilutėje parašykite tekstą „Dienos“.&lt;br /&gt;
* Ketvirtoje eilutėje užrašykite dieną, kai Laurynas, bėgdamas ir ryte, ir vakare, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, jos turi būti pateikiamos tokia eilės tvarka, kokia jas surašė Laurynas. Dienos turi būti atskiriamos vienu tarpo simboliu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri apskaičiuoja, kiek laiko (minutėmis) Laurynas sugaišo bėgimui.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ Duomenų ir rezultatų pavyzdžiai&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 6&lt;br /&gt;
  3 09 25 09 40 19 45 20 00&lt;br /&gt;
  6 08 30 08 48  0  0  0  0&lt;br /&gt;
  7 09 18 09 38 18 52 19 11&lt;br /&gt;
 10 08 48 09 03 18 45 19 00&lt;br /&gt;
 15 08 52 09 11 17 58 18 18&lt;br /&gt;
 30  0  0  0  0 19 02 19 20&lt;br /&gt;
||&lt;br /&gt;
 * Skaičius dienų, kai Laurynas bėgo bent vieną kartą.&lt;br /&gt;
 * Liepos mėnesio diena; bėgimo ryte pradžios ir pabaigos&amp;lt;br&amp;gt; laikas, nurodytas valandomis ir minutėmis; bėgimo&amp;lt;br&amp;gt; vakare pradžios ir pabaigos laikas, nurodytas valandomis&amp;lt;br&amp;gt; ir minutėmis.&lt;br /&gt;
 * 0 0 0 0 rodo, jog tą rytą arba vakarą Laurynas nebėgo&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Minimalus laikas&lt;br /&gt;
 30&lt;br /&gt;
 Dienos&lt;br /&gt;
 3 10&lt;br /&gt;
||&lt;br /&gt;
 * Mažiausias bėgimo ryte ir vakare laikas minutėmis.&lt;br /&gt;
 * Liepos mėnesio dienos, kai Laurynas, bėgdamas ir ryte,&amp;lt;br&amp;gt; ir vakare, sugaišo mažiausiai laiko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
ĮVESTIS = &amp;quot;U1.txt&amp;quot;&lt;br /&gt;
IŠVESTIS = &amp;quot;U1rez.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# skaitymo funkcija&lt;br /&gt;
def skaityk_failą():&lt;br /&gt;
  # čia saugosime grąžinomus parametrus&lt;br /&gt;
  parametrai = []&lt;br /&gt;
  &lt;br /&gt;
  with open(ĮVESTIS, &amp;quot;rt&amp;quot;) as skaitomas_failas:&lt;br /&gt;
    # pirma eilutė - kiek dienų bėgta&lt;br /&gt;
    dienų_bėgta = int( skaitomas_failas.readline() )&lt;br /&gt;
&lt;br /&gt;
    # skaitome, tiek eilučių, kiek dienų buvo bėgta&lt;br /&gt;
    for _ in range(1, dienų_bėgta):&lt;br /&gt;
      # skaitoma eilutė&lt;br /&gt;
      d = skaitomas_failas.readline().split()&lt;br /&gt;
      # paskaičiuojame ryto bėgimo laiką&lt;br /&gt;
      rytas = kiek_sugaiso(d[1], d[2], d[3], d[4])&lt;br /&gt;
      # paskaičiuojame vakaro bėgimo laiką&lt;br /&gt;
      vakaras = kiek_sugaiso(d[5], d[6], d[7], d[8])&lt;br /&gt;
&lt;br /&gt;
      # jeigu ryte arba vakare nebuvo bėgta, tęsiame skaitymą&lt;br /&gt;
      if rytas == 0 or vakaras == 0: continue&lt;br /&gt;
&lt;br /&gt;
      # pridedame rezultatą prie grąžinamų parametrų&lt;br /&gt;
      parametrai.append({&lt;br /&gt;
        &#039;diena&#039;: d[0],&lt;br /&gt;
        &#039;sugaista&#039;: rytas + vakaras&lt;br /&gt;
      })&lt;br /&gt;
  &lt;br /&gt;
  return parametrai&lt;br /&gt;
&lt;br /&gt;
# funkcija, suskaičiuoti, kiek užtruko bėgimas&lt;br /&gt;
# sh - starto valanda, sm - starto minutės, gh - galo valanda, gm - galo minutės&lt;br /&gt;
# verčiame viską į skaičius, tada minutes, tada atimame ir gauname tiką laiką&lt;br /&gt;
def kiek_sugaiso(sh, sm, gh, gm):&lt;br /&gt;
  return (int(gh) * 60 + int(gm)) - (int(sh) * 60 + int(sm))&lt;br /&gt;
&lt;br /&gt;
# funkcija, skirta atrinkti atsakymą&lt;br /&gt;
def atrink(parametrai):&lt;br /&gt;
  # kintamieji. t_laikas - trumpiausias laikas. Priskiriame didelį skaičių, kaip pradinį&lt;br /&gt;
  t_laikas = 99999&lt;br /&gt;
  atsakymas = {&#039;sugaista&#039;: 0, &#039;dienos&#039;: []}&lt;br /&gt;
&lt;br /&gt;
  # atrandame trumpiausia laiką&lt;br /&gt;
  for p in parametrai:&lt;br /&gt;
    if (t_laikas &amp;gt; p[&#039;sugaista&#039;]): t_laikas = p[&#039;sugaista&#039;]&lt;br /&gt;
&lt;br /&gt;
  # užsirašome trumpiausią laiką, kaip tekstinę eilutę (spausdinimui į failą)&lt;br /&gt;
  atsakymas[&#039;sugaista&#039;] = str(t_laikas)&lt;br /&gt;
&lt;br /&gt;
  for p in parametrai:&lt;br /&gt;
    # jeigu truko ilgiau, praleidžiame&lt;br /&gt;
    if (t_laikas != p[&#039;sugaista&#039;]): continue&lt;br /&gt;
    # pridedame prie tinkamų dienų rezultate, kaip tekstinė eilutė&lt;br /&gt;
    atsakymas[&#039;dienos&#039;].append(str(p[&#039;diena&#039;]))&lt;br /&gt;
&lt;br /&gt;
  return atsakymas&lt;br /&gt;
&lt;br /&gt;
def rašyk_į_failą(atsakymas):&lt;br /&gt;
  # atidarome failą&lt;br /&gt;
  with open(IŠVESTIS, &#039;wt&#039;) as rasomas_failas:&lt;br /&gt;
    # spausdiname rezultatą&lt;br /&gt;
    rasomas_failas.writelines([&lt;br /&gt;
      &#039;Minimalus laikas&#039;,&lt;br /&gt;
      &#039;\n&#039;,&lt;br /&gt;
      atsakymas[&#039;sugaista&#039;],&lt;br /&gt;
      &#039;\n&#039;,&lt;br /&gt;
      &#039;Dienos&#039;,&lt;br /&gt;
      &#039;\n&#039;,&lt;br /&gt;
      # sujungiame dienas per tarpą&lt;br /&gt;
      &#039; &#039;.join(atsakymas[&#039;dienos&#039;]) &lt;br /&gt;
    ])&lt;br /&gt;
&lt;br /&gt;
# pagrindinė programa&lt;br /&gt;
if (__name__ == &amp;quot;__main__&amp;quot;):&lt;br /&gt;
  # skaitome failą&lt;br /&gt;
  rezultatai = skaityk_failą()&lt;br /&gt;
  # atrenkame tik sąlygą atitinkamus rezultatus&lt;br /&gt;
  atsakymas = atrink(rezultatai)&lt;br /&gt;
  # surašome viską į failą&lt;br /&gt;
  rašyk_į_failą(atsakymas)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Apklausa ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 30 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Monika projektinio darbo metu atliko apklausą, siekdama išsiaiškinti, kurie mokomieji dalykai jos draugams patinka labiausiai. Atlikdama apklausą, ji kaskart pasižymėdavo draugo vardą, jo mėgstamiausią dalyką ir to dalyko pažymius.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, kuri sudarytų mokinių nurodytų populiariausių dalykų sąrašą ir pateiktų šiuos dalykus pasirinkusių mokinių vardus. Sąraše turi būti pateikiami tik tie dalykai, kuriuos pasirinkusių mokinių pažymių vidurkis yra ne mažesnis kaip 9.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U2.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje užrašytas apklaustų mokinių skaičius m (1 ≤ m ≤ 50).&lt;br /&gt;
* Tolesnėse eilutėse užrašyti draugų duomenys: vardas (vienas žodis); jo mėgstamiausias dalykas (vienas žodis); to dalyko pažymių skaičius; pažymiai. Duomenys atskirti vienu tarpo simboliu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U2rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Įrašykite dalykus, kuriuos pasirinkusių mokinių pažymių vidurkis ne mažesnis kaip 9, ir juos pasirinkusių mokinių skaičių. Dalykus rašykite pagal jų populiarumą mažėjančiai. Jei yra keli dalykai, kurių populiarumas vienodas, tai juos pateikite abėcėliškai.&lt;br /&gt;
* Po kiekvieno dalyko atskirose eilutėse pateikite jį pasirinkusių mokinių, kurių to dalyko pažymių vidurkis yra ne mažesnis kaip 9, vardus tokia eilės tvarka, kokia jie buvo užrašyti pradinių duomenų faile.&lt;br /&gt;
* Jeigu tarp dalykų nėra tokių, kuriuos pasirinkusių mokinių pažymių vidurkis ne mažesnis kaip 9, tuomet turi būti pateiktas tekstinis pranešimas „Neatitinka vidurkis“.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&lt;br /&gt;
* Programoje naudokite struktūros duomenų tipo masyvą apklaustų mokinių duomenims saugoti.&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri surikiuoja populiariausių dalykų sąrašą.&lt;br /&gt;
* Programoje nenaudokite globalių kintamųjų.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Duomenų ir rezultatų pavyzdžiai&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 1 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
 8&lt;br /&gt;
 Povilas Matematika 5 9 9 9 9 10&lt;br /&gt;
 Jonas Istorija 4 10 9 10 10&lt;br /&gt;
 Milda Matematika 6 10 8 9 9 9 9&lt;br /&gt;
 Asta Informatika 3 10 10 10&lt;br /&gt;
 Ieva Matematika 3 9 9 8&lt;br /&gt;
 Rima Informatika 3 10 10 7&lt;br /&gt;
 Juozas Fizika 2 8 9&lt;br /&gt;
 Laura Fizika 1 8&lt;br /&gt;
|| &lt;br /&gt;
 * Apklaustų mokinių skaičius.&lt;br /&gt;
 * Mokinio vardas; jo mėgstamiausias dalykas; to&lt;br /&gt;
 dalyko pažymių skaičius; pažymiai.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Informatika 2&lt;br /&gt;
 Asta&lt;br /&gt;
 Rima&lt;br /&gt;
 Matematika 2&lt;br /&gt;
 Povilas&lt;br /&gt;
 Milda&lt;br /&gt;
 Istorija 1&lt;br /&gt;
 Jonas&lt;br /&gt;
|| &lt;br /&gt;
 * Dalykai, kuriuos pasirinkusių mokinių pažymių&amp;lt;br&amp;gt;vidurkis ne mažesnis kaip 9, ir juos pasirinkusių&lt;br /&gt;
 mokinių skaičius.&lt;br /&gt;
 * Tą dalyką pasirinkusių mokinių vardai.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 2 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
 4&lt;br /&gt;
 Linas Informatika 4 10 8 8 9&lt;br /&gt;
 Ieva Matematika 3 9 9 8&lt;br /&gt;
 Juozas Fizika 2 8 9&lt;br /&gt;
 Rokas Chemija 4 9 9 10 7&lt;br /&gt;
|| &lt;br /&gt;
 * Apklaustų mokinių skaičius.&lt;br /&gt;
 * Mokinio vardas; jo mėgstamiausias dalykas; to&lt;br /&gt;
 dalyko pažymių skaičius; pažymiai.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Neatitinka vidurkis&lt;br /&gt;
|| &lt;br /&gt;
 Nėra nė vieno dalyko, kurį pasirinkusių mokinių&lt;br /&gt;
 pažymių vidurkis ne mažesnis kaip 9.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
class Dalykas:&lt;br /&gt;
    def __init__(self, pavadinimas):&lt;br /&gt;
        self.pavadinimas = pavadinimas&lt;br /&gt;
        self.mokiniai = []&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def rikiuoti_dalykus(dalykai):&lt;br /&gt;
    return sorted(&lt;br /&gt;
        dalykai, key=lambda dalykas: (-len(dalykas.mokiniai), dalykas.pavadinimas)&lt;br /&gt;
    )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def vidurkis(pažymiai):&lt;br /&gt;
    return sum(pažymiai) / len(pažymiai)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
with open(&amp;quot;U2.txt&amp;quot;, &amp;quot;r&amp;quot;) as failas:&lt;br /&gt;
    mokiniu_skaicius = int(failas.readline())&lt;br /&gt;
    dalykai = {}&lt;br /&gt;
    for _ in range(mokiniu_skaicius):&lt;br /&gt;
        vardas, pavadinimas, pazymiu_skaicius, *pazymiai = failas.readline().split()&lt;br /&gt;
        pazymiai = list(map(int, pazymiai))&lt;br /&gt;
        if vidurkis(pazymiai) &amp;gt;= 9:&lt;br /&gt;
            if pavadinimas not in dalykai:&lt;br /&gt;
                dalykai[pavadinimas] = Dalykas(pavadinimas)&lt;br /&gt;
            dalykai[pavadinimas].mokiniai.append(vardas)&lt;br /&gt;
&lt;br /&gt;
with open(&amp;quot;U2rez.txt&amp;quot;, &amp;quot;w&amp;quot;) as failas:&lt;br /&gt;
    rikiuoti = rikiuoti_dalykus(list(dalykai.values()))&lt;br /&gt;
    if not rikiuoti:&lt;br /&gt;
        failas.write(&amp;quot;Neatitinka vidurkis\n&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        for dalykas in rikiuoti:&lt;br /&gt;
            failas.write(f&amp;quot;{dalykas.pavadinimas} {len(dalykas.mokiniai)}\n&amp;quot;)&lt;br /&gt;
            for mokinys in dalykas.mokiniai:&lt;br /&gt;
                failas.write(f&amp;quot;{mokinys}\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=361</id>
		<title>IT Egzaminai/2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=361"/>
		<updated>2023-05-26T13:20:50Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* 1 užduotis. Bėgimas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Bėgimas ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 20 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Laurynas nusprendė liepos mėnesį ryte ir vakare bėgti miške tą pačią 5 km trasą. Tokį atstumą jis įprastai įveikia per 15–20 minučių. Savo bėgimo laiko rezultatus Laurynas pasižymėdavo užrašuose, įrašydamas dieną ir kiekvieno bėgimo pradžios bei pabaigos laiką valandomis ir minutėmis. Jeigu dėl kokios nors priežasties (pvz., prasto oro) bėgimą praleisdavo, tuomet vietoj to bėgimo pradžios ir pabaigos laiko valandomis ir minutėmis jis įrašydavo nulius.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, skirtą rasti dieną, kai Laurynas, &#039;&#039;&#039;bėgdamas ir ryte, ir vakare&#039;&#039;&#039;, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, turi būti pateikiamos jos visos&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;&lt;br /&gt;
* Pirmoje eilutėje užrašyta, kiek dienų &#039;&#039;&#039;d&#039;&#039;&#039; (1 ≤ &#039;&#039;&#039;d&#039;&#039;&#039; ≤ 31) Laurynas bėgo bent vieną kartą.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti bėgimo duomenys: liepos mėnesio diena; bėgimo ryte pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis; bėgimo vakare pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis. Duomenys atskirti bent vienu tarpo simboliu. Buvo bent viena diena, kai Laurynas bėgo ir ryte, ir vakare.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje parašykite tekstą „Minimalus laikas“.&lt;br /&gt;
* Antroje eilutėje užrašykite mažiausią bėgimo ryte ir vakare laiką minutėmis.&lt;br /&gt;
* Trečioje eilutėje parašykite tekstą „Dienos“.&lt;br /&gt;
* Ketvirtoje eilutėje užrašykite dieną, kai Laurynas, bėgdamas ir ryte, ir vakare, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, jos turi būti pateikiamos tokia eilės tvarka, kokia jas surašė Laurynas. Dienos turi būti atskiriamos vienu tarpo simboliu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri apskaičiuoja, kiek laiko (minutėmis) Laurynas sugaišo bėgimui.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ Duomenų ir rezultatų pavyzdžiai&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 6&lt;br /&gt;
  3 09 25 09 40 19 45 20 00&lt;br /&gt;
  6 08 30 08 48  0  0  0  0&lt;br /&gt;
  7 09 18 09 38 18 52 19 11&lt;br /&gt;
 10 08 48 09 03 18 45 19 00&lt;br /&gt;
 15 08 52 09 11 17 58 18 18&lt;br /&gt;
 30  0  0  0  0 19 02 19 20&lt;br /&gt;
||&lt;br /&gt;
 * Skaičius dienų, kai Laurynas bėgo bent vieną kartą.&lt;br /&gt;
 * Liepos mėnesio diena; bėgimo ryte pradžios ir pabaigos&amp;lt;br&amp;gt; laikas, nurodytas valandomis ir minutėmis; bėgimo&amp;lt;br&amp;gt; vakare pradžios ir pabaigos laikas, nurodytas valandomis&amp;lt;br&amp;gt; ir minutėmis.&lt;br /&gt;
 * 0 0 0 0 rodo, jog tą rytą arba vakarą Laurynas nebėgo&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Minimalus laikas&lt;br /&gt;
 30&lt;br /&gt;
 Dienos&lt;br /&gt;
 3 10&lt;br /&gt;
||&lt;br /&gt;
 * Mažiausias bėgimo ryte ir vakare laikas minutėmis.&lt;br /&gt;
 * Liepos mėnesio dienos, kai Laurynas, bėgdamas ir ryte,&amp;lt;br&amp;gt; ir vakare, sugaišo mažiausiai laiko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
ĮVESTIS = &amp;quot;U1.txt&amp;quot;&lt;br /&gt;
IŠVESTIS = &amp;quot;U1rez.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# skaitymo funkcija&lt;br /&gt;
def skaityk_failą():&lt;br /&gt;
  # čia saugosime grąžinomus parametrus&lt;br /&gt;
  parametrai = []&lt;br /&gt;
  &lt;br /&gt;
  with open(ĮVESTIS, &amp;quot;rt&amp;quot;) as skaitomas_failas:&lt;br /&gt;
    # pirma eilutė - kiek dienų bėgta&lt;br /&gt;
    dienų_bėgta = int( skaitomas_failas.readline() )&lt;br /&gt;
&lt;br /&gt;
    # skaitome, tiek eilučių, kiek dienų buvo bėgta&lt;br /&gt;
    for _ in range(1, dienų_bėgta):&lt;br /&gt;
      # skaitoma eilutė&lt;br /&gt;
      d = skaitomas_failas.readline().split()&lt;br /&gt;
      # paskaičiuojame ryto bėgimo laiką&lt;br /&gt;
      rytas = kiek_sugaiso(d[1], d[2], d[3], d[4])&lt;br /&gt;
      # paskaičiuojame vakaro bėgimo laiką&lt;br /&gt;
      vakaras = kiek_sugaiso(d[5], d[6], d[7], d[8])&lt;br /&gt;
&lt;br /&gt;
      # jeigu ryte arba vakare nebuvo bėgta, tęsiame skaitymą&lt;br /&gt;
      if rytas == 0 or vakaras == 0: continue&lt;br /&gt;
&lt;br /&gt;
      # pridedame rezultatą prie grąžinamų parametrų&lt;br /&gt;
      parametrai.append({&lt;br /&gt;
        &#039;diena&#039;: d[0],&lt;br /&gt;
        &#039;sugaista&#039;: rytas + vakaras&lt;br /&gt;
      })&lt;br /&gt;
  &lt;br /&gt;
  return parametrai&lt;br /&gt;
&lt;br /&gt;
# funkcija, suskaičiuoti, kiek užtruko bėgimas&lt;br /&gt;
# sh - starto valanda, sm - starto minutės, gh - galo valanda, gm - galo minutės&lt;br /&gt;
# verčiame viską į skaičius, tada minutes, tada atimame ir gauname tiką laiką&lt;br /&gt;
def kiek_sugaiso(sh, sm, gh, gm):&lt;br /&gt;
  return (int(gh) * 60 + int(gm)) - (int(sh) * 60 + int(sm))&lt;br /&gt;
&lt;br /&gt;
# funkcija, skirta atrinkti atsakymą&lt;br /&gt;
def atrink(parametrai):&lt;br /&gt;
  # kintamieji. t_laikas - trumpiausias laikas. Priskiriame didelį skaičių, kaip pradinį&lt;br /&gt;
  t_laikas = 99999&lt;br /&gt;
  atsakymas = {&#039;sugaista&#039;: 0, &#039;dienos&#039;: []}&lt;br /&gt;
&lt;br /&gt;
  # atrandame trumpiausia laiką&lt;br /&gt;
  for p in parametrai:&lt;br /&gt;
    if (t_laikas &amp;gt; p[&#039;sugaista&#039;]): t_laikas = p[&#039;sugaista&#039;]&lt;br /&gt;
&lt;br /&gt;
  # užsirašome trumpiausią laiką, kaip tekstinę eilutę (spausdinimui į failą)&lt;br /&gt;
  atsakymas[&#039;sugaista&#039;] = str(t_laikas)&lt;br /&gt;
&lt;br /&gt;
  for p in parametrai:&lt;br /&gt;
    # jeigu truko ilgiau, praleidžiame&lt;br /&gt;
    if (t_laikas != p[&#039;sugaista&#039;]): continue&lt;br /&gt;
    # pridedame prie tinkamų dienų rezultate, kaip tekstinė eilutė&lt;br /&gt;
    atsakymas[&#039;dienos&#039;].append(str(p[&#039;diena&#039;]))&lt;br /&gt;
&lt;br /&gt;
  return atsakymas&lt;br /&gt;
&lt;br /&gt;
def rašyk_į_failą(atsakymas):&lt;br /&gt;
  # atidarome failą&lt;br /&gt;
  with open(IŠVESTIS, &#039;wt&#039;) as rasomas_failas:&lt;br /&gt;
    # spausdiname rezultatą&lt;br /&gt;
    rasomas_failas.writelines([&lt;br /&gt;
      &#039;Minimalus laikas&#039;,&lt;br /&gt;
      &#039;\n&#039;,&lt;br /&gt;
      atsakymas[&#039;sugaista&#039;],&lt;br /&gt;
      &#039;\n&#039;,&lt;br /&gt;
      &#039;Dienos&#039;,&lt;br /&gt;
      &#039;\n&#039;,&lt;br /&gt;
      # sujungiame dienas per tarpą&lt;br /&gt;
      &#039; &#039;.join(atsakymas[&#039;dienos&#039;]) &lt;br /&gt;
    ])&lt;br /&gt;
&lt;br /&gt;
# pagrindinė programa&lt;br /&gt;
if (__name__ == &amp;quot;__main__&amp;quot;):&lt;br /&gt;
  # skaitome failą&lt;br /&gt;
  rezultatai = skaityk_failą()&lt;br /&gt;
  # atrenkame tik sąlygą atitinkamus rezultatus&lt;br /&gt;
  atsakymas = atrink(rezultatai)&lt;br /&gt;
  # surašome viską į failą&lt;br /&gt;
  rašyk_į_failą(atsakymas)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Apklausa ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 30 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Monika projektinio darbo metu atliko apklausą, siekdama išsiaiškinti, kurie mokomieji dalykai jos draugams patinka labiausiai. Atlikdama apklausą, ji kaskart pasižymėdavo draugo vardą, jo mėgstamiausią dalyką ir to dalyko pažymius.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, kuri sudarytų mokinių nurodytų populiariausių dalykų sąrašą ir pateiktų šiuos dalykus pasirinkusių mokinių vardus. Sąraše turi būti pateikiami tik tie dalykai, kuriuos pasirinkusių mokinių pažymių vidurkis yra ne mažesnis kaip 9.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U2.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje užrašytas apklaustų mokinių skaičius m (1 ≤ m ≤ 50).&lt;br /&gt;
* Tolesnėse eilutėse užrašyti draugų duomenys: vardas (vienas žodis); jo mėgstamiausias dalykas (vienas žodis); to dalyko pažymių skaičius; pažymiai. Duomenys atskirti vienu tarpo simboliu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U2rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Įrašykite dalykus, kuriuos pasirinkusių mokinių pažymių vidurkis ne mažesnis kaip 9, ir juos pasirinkusių mokinių skaičių. Dalykus rašykite pagal jų populiarumą mažėjančiai. Jei yra keli dalykai, kurių populiarumas vienodas, tai juos pateikite abėcėliškai.&lt;br /&gt;
* Po kiekvieno dalyko atskirose eilutėse pateikite jį pasirinkusių mokinių, kurių to dalyko pažymių vidurkis yra ne mažesnis kaip 9, vardus tokia eilės tvarka, kokia jie buvo užrašyti pradinių duomenų faile.&lt;br /&gt;
* Jeigu tarp dalykų nėra tokių, kuriuos pasirinkusių mokinių pažymių vidurkis ne mažesnis kaip 9, tuomet turi būti pateiktas tekstinis pranešimas „Neatitinka vidurkis“.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&lt;br /&gt;
* Programoje naudokite struktūros duomenų tipo masyvą apklaustų mokinių duomenims saugoti.&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri surikiuoja populiariausių dalykų sąrašą.&lt;br /&gt;
* Programoje nenaudokite globalių kintamųjų.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Duomenų ir rezultatų pavyzdžiai&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 1 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
8&amp;lt;br&amp;gt;&lt;br /&gt;
Povilas Matematika 5 9 9 9 9 10&amp;lt;br&amp;gt;&lt;br /&gt;
Jonas Istorija 4 10 9 10 10&amp;lt;br&amp;gt;&lt;br /&gt;
Milda Matematika 6 10 8 9 9 9 9&amp;lt;br&amp;gt;&lt;br /&gt;
Asta Informatika 3 10 10 10&amp;lt;br&amp;gt;&lt;br /&gt;
Ieva Matematika 3 9 9 8&amp;lt;br&amp;gt;&lt;br /&gt;
Rima Informatika 3 10 10 7&amp;lt;br&amp;gt;&lt;br /&gt;
Juozas Fizika 2 8 9&amp;lt;br&amp;gt;&lt;br /&gt;
Laura Fizika 1 8&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
* Apklaustų mokinių skaičius.&lt;br /&gt;
* Mokinio vardas; jo mėgstamiausias dalykas; to&amp;lt;br&amp;gt; dalyko pažymių skaičius; pažymiai.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Informatika 2&amp;lt;br&amp;gt;&lt;br /&gt;
Asta&amp;lt;br&amp;gt;&lt;br /&gt;
Rima&amp;lt;br&amp;gt;&lt;br /&gt;
Matematika 2&amp;lt;br&amp;gt;&lt;br /&gt;
Povilas&amp;lt;br&amp;gt;&lt;br /&gt;
Milda&amp;lt;br&amp;gt;&lt;br /&gt;
Istorija 1&amp;lt;br&amp;gt;&lt;br /&gt;
Jonas&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
* Dalykai, kuriuos pasirinkusių mokinių pažymių&amp;lt;br&amp;gt;vidurkis ne mažesnis kaip 9, ir juos pasirinkusių&amp;lt;br&amp;gt;mokinių skaičius.&lt;br /&gt;
* Tą dalyką pasirinkusių mokinių vardai.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 2 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
4&amp;lt;br&amp;gt;&lt;br /&gt;
Linas Informatika 4 10 8 8 9&amp;lt;br&amp;gt;&lt;br /&gt;
Ieva Matematika 3 9 9 8&amp;lt;br&amp;gt;&lt;br /&gt;
Juozas Fizika 2 8 9&amp;lt;br&amp;gt;&lt;br /&gt;
Rokas Chemija 4 9 9 10 7&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
* Apklaustų mokinių skaičius.&lt;br /&gt;
* Mokinio vardas; jo mėgstamiausias dalykas; to&amp;lt;br&amp;gt;dalyko pažymių skaičius; pažymiai.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Neatitinka vidurkis&lt;br /&gt;
|| &lt;br /&gt;
Nėra nė vieno dalyko, kurį pasirinkusių mokinių&amp;lt;br&amp;gt;&lt;br /&gt;
pažymių vidurkis ne mažesnis kaip 9.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
class Dalykas:&lt;br /&gt;
    def __init__(self, pavadinimas):&lt;br /&gt;
        self.pavadinimas = pavadinimas&lt;br /&gt;
        self.mokiniai = []&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def rikiuoti_dalykus(dalykai):&lt;br /&gt;
    return sorted(&lt;br /&gt;
        dalykai, key=lambda dalykas: (-len(dalykas.mokiniai), dalykas.pavadinimas)&lt;br /&gt;
    )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def vidurkis(pažymiai):&lt;br /&gt;
    return sum(pažymiai) / len(pažymiai)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
with open(&amp;quot;U2.txt&amp;quot;, &amp;quot;r&amp;quot;) as failas:&lt;br /&gt;
    mokiniu_skaicius = int(failas.readline())&lt;br /&gt;
    dalykai = {}&lt;br /&gt;
    for _ in range(mokiniu_skaicius):&lt;br /&gt;
        vardas, pavadinimas, pazymiu_skaicius, *pazymiai = failas.readline().split()&lt;br /&gt;
        pazymiai = list(map(int, pazymiai))&lt;br /&gt;
        if vidurkis(pazymiai) &amp;gt;= 9:&lt;br /&gt;
            if pavadinimas not in dalykai:&lt;br /&gt;
                dalykai[pavadinimas] = Dalykas(pavadinimas)&lt;br /&gt;
            dalykai[pavadinimas].mokiniai.append(vardas)&lt;br /&gt;
&lt;br /&gt;
with open(&amp;quot;U2rez.txt&amp;quot;, &amp;quot;w&amp;quot;) as failas:&lt;br /&gt;
    rikiuoti = rikiuoti_dalykus(list(dalykai.values()))&lt;br /&gt;
    if not rikiuoti:&lt;br /&gt;
        failas.write(&amp;quot;Neatitinka vidurkis\n&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        for dalykas in rikiuoti:&lt;br /&gt;
            failas.write(f&amp;quot;{dalykas.pavadinimas} {len(dalykas.mokiniai)}\n&amp;quot;)&lt;br /&gt;
            for mokinys in dalykas.mokiniai:&lt;br /&gt;
                failas.write(f&amp;quot;{mokinys}\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2020&amp;diff=360</id>
		<title>IT Egzaminai/2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2020&amp;diff=360"/>
		<updated>2023-05-26T13:18:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Gėlės ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 23 taškai&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Gėlių žydėjimo laikotarpiai yra nevienodi – vienos žydi ilgai, o kitos žydi trumpai. Gėlininkų draugijos nariai, ruošdamiesi gėlių parodai, nori išsiaiškinti, kuriuo laikotarpiu vasarą žydi daugiausia skirtingų gėlių.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, skirtą surasti vasaros dienų intervalą, kai žydi daugiausia skirtingų gėlių. Jeigu yra keli tokie intervalai, turi būti pateikiamas pirmas iš jų.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pradiniai duomenys===&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;. Duomenų faile pateiktos tik tos gėlės, kurios pradeda ir baigia žydėti vasaros mėnesiais.&lt;br /&gt;
Duomenų faile įrašyta:&lt;br /&gt;
* pirmoje eilutėje užrašytas vasarą žydinčių skirtingų gėlių skaičius &#039;&#039;&#039;n&#039;&#039;&#039; (1 ≤ &#039;&#039;&#039;n&#039;&#039;&#039; ≤ 30);&lt;br /&gt;
* kitose &#039;&#039;&#039;n&#039;&#039;&#039; eilučių užrašyta po penkis sveikuosius skaičius: gėlės numeris pagal katalogą, žydėjimo pradžios mėnuo ir diena, žydėjimo pabaigos mėnuo ir diena. Visi skaičiai atskirti bent vienu tarpo simboliu.&lt;br /&gt;
&lt;br /&gt;
===Rezultatai===&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje įrašykite didžiausią skirtingų žydinčių gėlių skaičių.&lt;br /&gt;
* Antroje eilutėje įrašykite pirmo vasaros dienų intervalo, kai žydi daugiausia skirtingų gėlių, pradžios mėnesį ir dieną.&lt;br /&gt;
* Trečioje eilutėje įrašykite pirmo vasaros dienų intervalo, kai žydi daugiausia skirtingų gėlių, pabaigos mėnesį ir dieną.&lt;br /&gt;
Visus skaičius atskirkite vienu tarpo simboliu&lt;br /&gt;
&lt;br /&gt;
===Nurodymai===&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri randa pirmos dienos, kai žydi daugiausia skirtingų gėlių, vietą vasaros dienų sąraše. Sąrašą sudaro 92 dienos.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
===Duomenų ir rezultatų pavyzdžiai===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;vertical-align:top;&amp;quot;&lt;br /&gt;
|+ 1 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 6&lt;br /&gt;
 121 6 15 7 25&lt;br /&gt;
 102 7 1  8 14&lt;br /&gt;
 236 6 30 8 31&lt;br /&gt;
 141 7 31 8 10&lt;br /&gt;
 111 7 1  7 20&lt;br /&gt;
 128 6 2  6 3&lt;br /&gt;
||&lt;br /&gt;
Vasarą žydinčių skirtingų gėlių skaičius.&amp;lt;br&amp;gt;&lt;br /&gt;
Toliau kiekvienoje eilutėje: gėlės numeris pagal katalogą, žydėjimo pradžios mėnuo ir diena,&amp;lt;br&amp;gt;&lt;br /&gt;
žydėjimo pabaigos mėnuo ir diena&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 4&lt;br /&gt;
 7 1&lt;br /&gt;
 7 20&lt;br /&gt;
||&lt;br /&gt;
Didžiausias skirtingų žydinčių gėlių skaičius.&amp;lt;br&amp;gt;&lt;br /&gt;
Pirmo intervalo, kai žydi daugiausia skirtingų gėlių, pradžios mėnuo ir diena.&amp;lt;br&amp;gt;&lt;br /&gt;
Pirmo intervalo, kai žydi daugiausia skirtingų gėlių, pabaigos mėnuo ir diena.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 2 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
 1&lt;br /&gt;
 222 6 30 7 1&lt;br /&gt;
||&lt;br /&gt;
Vasarą žydinčių skirtingų gėlių skaičius.&amp;lt;br&amp;gt;&lt;br /&gt;
Gėlės numeris pagal katalogą, žydėjimo pradžios mėnuo ir diena, žydėjimo pabaigos mėnuo&amp;lt;br&amp;gt;&lt;br /&gt;
ir diena.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 1&lt;br /&gt;
 6 30&lt;br /&gt;
 7 1&lt;br /&gt;
||&lt;br /&gt;
Didžiausias skirtingų žydinčių gėlių skaičius.&amp;lt;br&amp;gt;&lt;br /&gt;
Pirmo intervalo, kai žydi daugiausia skirtingų gėlių, pradžios mėnuo ir diena.&amp;lt;br&amp;gt;&lt;br /&gt;
Pirmo intervalo, kai žydi daugiausia skirtingų gėlių, pabaigos mėnuo ir diena&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  print(&#039;Čia bus sprendimas&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Varžybos ==&lt;br /&gt;
&amp;lt;p&amp;gt;Vyko metų žvejo varžybos. Sugautos žuvys buvo vertinamos pagal masę ir pagal pavadinimą. Lengvesnė kaip 200 gramų žuvis buvo vertinama 10 taškų, o sverianti 200 gramų ir daugiau – 30 taškų. Žuvis pagal pavadinimą buvo vertinama, skiriant atitinkamą taškų skaičių. Kiekvienas žvejys vertintojams pristatė ne daugiau kaip penkias savo nuožiūra pasirinktas žuvis, esančias vertinamų žuvų pavadinimų sąraše.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, kuri suskaičiuotų žvejų gautus įvertinimus ir vertintojams pristatytų žuvų bendrą masę pagal pavadinimus.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pradiniai duomenys ===&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U2.txt&#039;&#039;&#039;.&lt;br /&gt;
Duomenų faile įrašyta:&lt;br /&gt;
* pirmoje eilutėje užrašytas žvejų skaičius &#039;&#039;&#039;n&#039;&#039;&#039; (1 ≤ &#039;&#039;&#039;n&#039;&#039;&#039; ≤ 30);&lt;br /&gt;
* tolesnėje eilutėje pirmose 20 pozicijų užrašyti žvejo vardas ir pavardė (gali būti trys ir daugiau žodžių), toliau – vertintojams pristatytų žuvų skaičius;&lt;br /&gt;
* po to atskirose eilutėse pateikiami to žvejo duomenys apie vertintojams pristatytas žuvis: pirmose 20 pozicijų užrašytas žuvies pavadinimas, toliau – žuvies masė gramais;&lt;br /&gt;
* po to tokia pačia tvarka pateikti visų kitų žvejų duomenys.&lt;br /&gt;
Toliau pateikiami varžybų vertinimo duomenys:&lt;br /&gt;
* vertinamų žuvų pavadinimų skaičius &#039;&#039;&#039;k&#039;&#039;&#039; (1 ≤ &#039;&#039;&#039;k&#039;&#039;&#039; ≤ 30);&lt;br /&gt;
* toliau atskirose &#039;&#039;&#039;k&#039;&#039;&#039; eilutėse pirmose 20 pozicijų užrašytas vertinamos žuvies pavadinimas, toliau – už jį skiriamų taškų skaičius.&lt;br /&gt;
Visi skaičiai yra sveikieji. Žuvų pavadinimuose, taip pat žvejų varduose ir pavardėse naudojamos tik lotyniškos abėcėlės raidės.&lt;br /&gt;
&lt;br /&gt;
=== Rezultatai ===&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U2rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje parašykite žodį „Dalyviai“.&lt;br /&gt;
* Toliau atskirose eilutėse užrašykite žvejų duomenis: pirmose 20 pozicijų – vardą ir pavardę, paskui po tarpo simbolio – žvejui skirtų taškų skaičių. Sąrašą pateikite surikiuotą mažėjančiai pagal žvejų gautų taškų skaičių. Jeigu taškų skaičius vienodas – pagal žvejo vardą ir pavardę (simbolių eilutę) abėcėliškai.&lt;br /&gt;
* Toliau atskiroje eilutėje parašykite žodį „Laimikis“.&lt;br /&gt;
* Toliau atskirose eilutėse užrašykite duomenis apie vertinamas žuvis: pirmose 20 pozicijų – žuvies pavadinimas, paskui po tarpo simbolio – visų žvejų pristatytų to pavadinimo žuvų bendra masė. Laikykite, kad vertinamų, bet nesugautų žuvų bendra masė lygi nuliui.&lt;br /&gt;
* Sąrašą pateikite surikiuotą mažėjančiai pagal žuvų bendrą masę. Jeigu masė vienoda – pagal žuvies pavadinimą (simbolių eilutę) abėcėliškai.&lt;br /&gt;
&lt;br /&gt;
=== Nurodymai ===&lt;br /&gt;
Parašykite funkciją, kuri rikiuoja duotą sąrašą pagal skaičius mažėjančiai. Jeigu skaičiai vienodi – pagal simbolių eilutę abėcėliškai.&lt;br /&gt;
* Parašytą funkciją panaudokite žvejų sąrašui rikiuoti ir žuvų sąrašui rikiuoti.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
=== Duomenų ir rezultatų pavyzdžiai ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 1 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 2&lt;br /&gt;
 Rima Liepa          1&lt;br /&gt;
 Ungurys             456&lt;br /&gt;
 Petras A. Petraitis 3&lt;br /&gt;
 Lydeka              526&lt;br /&gt;
 Veidrodinis karpis  250&lt;br /&gt;
 Lydeka              125&lt;br /&gt;
 5&lt;br /&gt;
 Ungurys             15&lt;br /&gt;
 Veidrodinis karpis  5&lt;br /&gt;
 Kuoja               3&lt;br /&gt;
 Karosas             5&lt;br /&gt;
 Lydeka              15&lt;br /&gt;
||&lt;br /&gt;
 Žvejų skaičius.&lt;br /&gt;
 Žvejo vardas, pavardė ir jo pristatytų žuvų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir jos masė gramais.&lt;br /&gt;
 Žvejo vardas, pavardė ir jo pristatytų žuvų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir jos masė gramais.&lt;br /&gt;
 Žuvies pavadinimas ir jos masė gramais.&lt;br /&gt;
 Žuvies pavadinimas ir jos masė gramais.&lt;br /&gt;
 Vertinamų žuvų pavadinimų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir už jį skiriamų taškų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir už jį skiriamų taškų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir už jį skiriamų taškų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir už jį skiriamų taškų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir už jį skiriamų taškų skaičius&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Dalyviai&lt;br /&gt;
 Petras A. Petraitis 105&lt;br /&gt;
 Rima Liepa          45&lt;br /&gt;
 Laimikis&lt;br /&gt;
 Lydeka              651&lt;br /&gt;
 Ungurys             456&lt;br /&gt;
 Veidrodinis karpis  250&lt;br /&gt;
 Karosas             0&lt;br /&gt;
 Kuoja               0&lt;br /&gt;
||&lt;br /&gt;
 &amp;lt;br&amp;gt;Žvejo vardas, pavardė ir jam skirtų taškų skaičius.&lt;br /&gt;
 Žvejo vardas, pavardė ir jam skirtų taškų skaičius.&lt;br /&gt;
 &lt;br /&gt;
 Žuvies pavadinimas ir visų žvejų pristatytų to pavadinimo žuvų bendra masė.&lt;br /&gt;
 Žuvies pavadinimas ir visų žvejų pristatytų to pavadinimo žuvų bendra masė.&lt;br /&gt;
 Žuvies pavadinimas ir visų žvejų pristatytų to pavadinimo žuvų bendra masė.&lt;br /&gt;
 Vertinamos, bet nesugautos žuvies pavadinimas ir masė.&lt;br /&gt;
 Vertinamos, bet nesugautos žuvies pavadinimas ir masė.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 2 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
 1&lt;br /&gt;
 Rima Liepa          1&lt;br /&gt;
 Ungurys             456&lt;br /&gt;
 3&lt;br /&gt;
 Lydeka              15&lt;br /&gt;
 Ungurys             15&lt;br /&gt;
 Veidrodinis karpis  5&lt;br /&gt;
||&lt;br /&gt;
 Žvejų skaičius.&lt;br /&gt;
 Žvejo vardas, pavardė ir jo pristatytų žuvų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir jos masė gramais.&lt;br /&gt;
 Vertinamų žuvų pavadinimų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir už jį skiriamų taškų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir už jį skiriamų taškų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir už jį skiriamų taškų skaičius.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Dalyviai&lt;br /&gt;
 Rima Liepa          45&lt;br /&gt;
 Laimikis&lt;br /&gt;
 Ungurys             456&lt;br /&gt;
 Lydeka              0&lt;br /&gt;
 Veidrodinis karpis  0&lt;br /&gt;
||&lt;br /&gt;
 &amp;lt;br&amp;gt;Žvejo vardas, pavardė ir jam skirtų taškų skaičius.&lt;br /&gt;
 &lt;br /&gt;
 Žuvies pavadinimas ir visų žvejų pristatytų to pavadinimo žuvų bendra masė.&lt;br /&gt;
 Vertinamos, bet nesugautos žuvies pavadinimas ir masė.&lt;br /&gt;
 Vertinamos, bet nesugautos žuvies pavadinimas ir masė.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  print(&#039;Čia bus sprendimas&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2019&amp;diff=359</id>
		<title>IT Egzaminai/2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2019&amp;diff=359"/>
		<updated>2023-05-26T13:16:29Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* 2 užduotis. Sportas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Aliejus ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 20 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
Ūkininkas išspaustą aliejų išpilsto į turimus vieno litro, trijų litrų ir penkių litrų indus. Pirmiausia aliejus pilamas į penkių litrų indus. Po to, jeigu reikia, – į trijų litrų indus, galiausiai, jeigu reikia, – į vieno litro indus. Nepilnai užpildyto indo neturi būti. Indų aliejui pilstyti gali būti pakankamai, per daug arba per mažai.&lt;br /&gt;
&lt;br /&gt;
Parašykite programą, kuri suskaičiuotų:&lt;br /&gt;
* kiek buvo pripilta turimų vieno, trijų ir penkių litrų indų ir kiek litrų aliejaus liko neišpilstyta;&lt;br /&gt;
* kiek vieno, trijų ir penkių litrų indų papildomai reikėtų įsigyti, norint tuo pačiu būdu išpilstyti visą likusį aliejų;&lt;br /&gt;
* koks bus gautas pelnas, pardavus visus indus su aliejumi; visų indų kainos įskaičiuotos į aliejaus gamybos išlaidas.&lt;br /&gt;
&lt;br /&gt;
=== Pradiniai duomenys ===&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;.&lt;br /&gt;
Duomenų faile įrašyta:&lt;br /&gt;
* pirmoje eilutėje užrašyti keturi skaičiai: turimų vieno, trijų ir penkių litrų indų skaičiai &amp;lt;code&amp;gt;n1, n3, n5 (1 ≤ n1, n3, n5 ≤ 35)&amp;lt;/code&amp;gt; ir išspausto aliejaus litrų skaičius &amp;lt;code&amp;gt;k (1 ≤ k ≤ 1000)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* antroje eilutėje užrašyti keturi skaičiai: aliejaus gamybos išlaidos, vieno, trijų ir penkių litrų indų su aliejumi pardavimo kainos.&lt;br /&gt;
Skaičiai atskirti vienu tarpo simboliu. Visi skaičiai yra sveikieji.&lt;br /&gt;
&lt;br /&gt;
=== Rezultatai ===&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje įrašykite, kiek buvo pripilta ūkininko turimų vieno, trijų ir penkių litrų indų ir kiek litrų aliejaus liko neišpilstyta. Jeigu kurios nors talpos indai nepanaudoti, rašykite nulį. Jeigu visas aliejus buvo išpilstytas, rašykite, kad liko nulis litrų aliejaus.&lt;br /&gt;
* Antroje eilutėje įrašykite, kiek vieno, trijų ir penkių litrų talpos indų liko nepanaudota. Jeigu visi atitinkamos talpos indai buvo panaudoti, rašykite nulį.&lt;br /&gt;
* Trečioje eilutėje įrašykite, kiek papildomai vieno, trijų ir penkių litrų talpos indų reikėtų įsigyti, norint išpilstyti visą likusį aliejų. Jeigu aliejaus neliko, įrašykite tris nulius.&lt;br /&gt;
* Ketvirtoje eilutėje įrašykite, koks bus gautas pelnas, pardavus visus indus su aliejumi. Jeigu pelno nebus, rašykite nulį. Jeigu bus nuostolis, užrašykite, koks (neigiamuoju skaičiumi).&lt;br /&gt;
&lt;br /&gt;
=== Nurodymai ===&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri suskaičiuotų, kiek buvo panaudota nurodytos talpos indų ir kiek litrų aliejaus liko neišpilstyta.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
=== Duomenų ir rezultatų pavyzdžiai ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 1 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
 1 8 5 156&lt;br /&gt;
 256 5 7 9&lt;br /&gt;
||&lt;br /&gt;
 * Turimų vieno, trijų ir penkių litrų indų skaičiai, išspausto aliejaus litrų skaičius.&lt;br /&gt;
 * Aliejaus gamybos išlaidos, vieno, trijų ir penkių litrų indų su aliejumi pardavimo kainos.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 1 8 5 106&lt;br /&gt;
 0 0 0&lt;br /&gt;
 1 0 21&lt;br /&gt;
 44&lt;br /&gt;
||&lt;br /&gt;
 * Pripiltų vieno, trijų ir penkių litrų indų skaičiai, neišpilstyto aliejaus litrų skaičius.&lt;br /&gt;
 * Kiek vieno, trijų ir penkių litrų indų liko nepanaudota.&lt;br /&gt;
 * Kiek vieno, trijų ir penkių litrų indų papildomai reikėjo.&lt;br /&gt;
 * Gautas pelnas.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 2 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
 1 2 2 156&lt;br /&gt;
 156 4 7 9&lt;br /&gt;
||&lt;br /&gt;
 * Turimų vieno, trijų ir penkių litrų indų skaičiai, išspausto aliejaus litrų skaičius.&lt;br /&gt;
 * Aliejaus gamybos išlaidos, vieno, trijų ir penkių litrų indų su aliejumi pardavimo kainos.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 1 2 2 139&lt;br /&gt;
 0 0 0&lt;br /&gt;
 1 1 27&lt;br /&gt;
 134&lt;br /&gt;
||&lt;br /&gt;
 * Pripiltų vieno, trijų ir penkių litrų indų skaičiai, neišpilstyto aliejaus litrų skaičius.&lt;br /&gt;
 * Kiek vieno, trijų ir penkių litrų indų liko nepanaudota.&lt;br /&gt;
 * Kiek vieno, trijų ir penkių litrų indų papildomai reikėjo.&lt;br /&gt;
 * Gautas pelnas.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 3 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
 1 2 35 156&lt;br /&gt;
 356 4 7 9&lt;br /&gt;
||&lt;br /&gt;
 * Turimų vieno, trijų ir penkių litrų indų skaičiai, išspausto aliejaus litrų skaičius.&lt;br /&gt;
 * Aliejaus gamybos išlaidos, vieno, trijų ir penkių litrų indų su aliejumi pardavimo kainos.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 1 0 31 0&lt;br /&gt;
 0 2 4&lt;br /&gt;
 0 0 0&lt;br /&gt;
 -73&lt;br /&gt;
||&lt;br /&gt;
 * Pripiltų vieno, trijų ir penkių litrų indų skaičiai, neišpilstyto aliejaus litrų skaičius.&lt;br /&gt;
 * Kiek vieno, trijų ir penkių litrų indų liko nepanaudota.&lt;br /&gt;
 * Kiek vieno, trijų ir penkių litrų indų papildomai reikėjo.&lt;br /&gt;
 * Gautas pelnas.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  print(&#039;Čia bus sprendimas&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sportas ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 30 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Sporto stovykloje populiari nauja sporto rungtis – vasaros biatlonas. Tai kroso lenktynės su šaudymu į taikinius. Tose pačiose varžybose dalyvauja ir vaikinai, ir merginos. Visi startuoja pagal atrankos etapo rezultatus. Merginos trasą bėga vieną kartą, vaikinai – du. Varžybų startas 9 val. Finišas uždaromas 17 val. Trasoje yra dvi šaudyklos po penkis taikinius. Netikslus šūvis vertinamas viena baudos minute, kuri pridedama prie trasos įveikimo laiko.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, kuri pateiktų atskirai vaikinų ir merginų rezultatų sąrašus pagal trasos įveikimo rezultatą didėjančiai. Jei sportininkų rezultatas vienodas, jie turi būti rašomi abėcėliškai pagal simbolių eilutę, kurioje yra sportininką identifikuojanti informacija (naudojami tik lotynų abėcėlės simboliai).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pradiniai duomenys===&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U2.txt&#039;&#039;&#039;. Visi skaičiai yra sveikieji.&lt;br /&gt;
Duomenų faile įrašyta:&lt;br /&gt;
* Pirmoje eilutėje užrašytas startuojančiųjų skaičius &#039;&#039;&#039;n&#039;&#039;&#039; (1 ≤ &#039;&#039;&#039;n&#039;&#039;&#039; ≤ 30).&lt;br /&gt;
* Tolesnėse &#039;&#039;&#039;n&#039;&#039;&#039; eilučių atsitiktine tvarka surašyti sportininkų starto duomenys. Kiekvieno sportininko duomenys užrašyti atskiroje eilutėje: pirmose 20 pozicijų yra simbolių eilutė, kurioje pateikta sportininką identifikuojanti informacija; starto numeris (triženklis skaičius); tarpo simbolis ir po to starto laikas: valanda, minutė ir sekundė, atskirtos vienu tarpo simboliu. Merginų starto numeriai prasideda vienetu, vaikinų – dvejetu.&lt;br /&gt;
* Toliau užrašytas finišavusiųjų skaičius &#039;&#039;&#039;m&#039;&#039;&#039; (1 ≤ &#039;&#039;&#039;m&#039;&#039;&#039; ≤ 30).&lt;br /&gt;
* Tolesnėse &#039;&#039;&#039;m&#039;&#039;&#039; eilučių surašyti sportininkų finišo duomenys. Kiekvieno sportininko duomenys užrašyti atskiroje eilutėje: starto numeris; finišo laikas: valanda, minutė ir sekundė; ir kiekvienoje šaudykloje taiklių šūvių skaičiai. Visi duomenys atskirti vienu tarpo simboliu. Sąraše yra tik finišavusiųjų duomenys.&lt;br /&gt;
&lt;br /&gt;
===Rezultatai===&lt;br /&gt;
Rezultatus įrašykite tekstiniame faile &#039;&#039;&#039;U2rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Rezultatai turi būti surikiuoti pagal trasos įveikimo rezultatą (trasos įveikimo laikas kartu su baudos minutėmis) didėjančiai. Jei sportininkų rezultatas vienodas, jie turi būti rašomi abėcėliškai pagal simbolių eilutę, kurioje yra sportininką identifikuojanti informacija (naudojami tik lotynų abėcėlės simboliai).&lt;br /&gt;
* Iš pradžių turi būti pateikiamas merginų rezultatų sąrašas, po to – vaikinų. Prieš atitinkamą sąrašą nuo eilutės pradžios užrašykite žodį „Merginos“ arba „Vaikinai“, net jeigu sąrašas bus tuščias.&lt;br /&gt;
* Vienoje eilutėje užrašykite vieno sportininko duomenis: starto numerį; tolesnėse 20 pozicijų – simbolių eilutę, kurioje pateikta sportininką identifikuojanti informacija; po to sportininko rezultatą: valandos, minutės ir sekundės. Visi duomenys atskirti vienu tarpo simboliu. Jeigu sportininko nėra finišavusiųjų sąraše, tai rezultatų sąraše jo neturi būti.&lt;br /&gt;
&lt;br /&gt;
===Nurodymai===&lt;br /&gt;
Sukurkite ir parašykite funkciją, kuri surikiuoja rezultatus.&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri spausdina vieno sąrašo rezultatus tekstiniame faile.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
===Duomenų ir rezultatų pavyzdžiai===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;vertical-align:top;&amp;quot;&lt;br /&gt;
|+ 1 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Rezultatų failo pavyzdys&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 6&lt;br /&gt;
 Petras A. Petraitis 213 15 20 00&lt;br /&gt;
 Jurgis Jurgutis     221 16 12 12&lt;br /&gt;
 Rima Joana          115 15 15 59&lt;br /&gt;
 Zigmas Nosis        256 16 23 9&lt;br /&gt;
 Roma Liepa          111 15 15 15&lt;br /&gt;
 Rytis Uosis Ainis   255 16 23 9&lt;br /&gt;
 5&lt;br /&gt;
 256 16 43 15 5 5 5 5&lt;br /&gt;
 213 15 50 10 4 0 5 3&lt;br /&gt;
 111 16 5 35 5 4&lt;br /&gt;
 255 16 55 59 5 4 3 1&lt;br /&gt;
 115 16 42 22 2 5&lt;br /&gt;
||&lt;br /&gt;
 Merginos&lt;br /&gt;
 111 Roma Liepa          0 51 20&lt;br /&gt;
 115 Rima Joana          1 29 23&lt;br /&gt;
 Vaikinai&lt;br /&gt;
 256 Zigmas Nosis        0 20 6&lt;br /&gt;
 213 Petras A. Petraitis 0 38 10&lt;br /&gt;
 255 Rytis Uosis Ainis   0 39 50&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;vertical-align:top;&amp;quot;&lt;br /&gt;
|+ 2 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Rezultatų failo pavyzdys&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
 1&lt;br /&gt;
 Petras A. Petraitis 213 15 20 00&lt;br /&gt;
 1&lt;br /&gt;
 213 15 50 10 4 0 5 3&lt;br /&gt;
||&lt;br /&gt;
 Merginos&lt;br /&gt;
 Vaikinai&lt;br /&gt;
 213 Petras A. Petraitis 0 38 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  print(&#039;Čia bus sprendimas&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2019&amp;diff=358</id>
		<title>IT Egzaminai/2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2019&amp;diff=358"/>
		<updated>2023-05-26T13:06:50Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* 1 užduotis. Aliejus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Aliejus ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 20 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
Ūkininkas išspaustą aliejų išpilsto į turimus vieno litro, trijų litrų ir penkių litrų indus. Pirmiausia aliejus pilamas į penkių litrų indus. Po to, jeigu reikia, – į trijų litrų indus, galiausiai, jeigu reikia, – į vieno litro indus. Nepilnai užpildyto indo neturi būti. Indų aliejui pilstyti gali būti pakankamai, per daug arba per mažai.&lt;br /&gt;
&lt;br /&gt;
Parašykite programą, kuri suskaičiuotų:&lt;br /&gt;
* kiek buvo pripilta turimų vieno, trijų ir penkių litrų indų ir kiek litrų aliejaus liko neišpilstyta;&lt;br /&gt;
* kiek vieno, trijų ir penkių litrų indų papildomai reikėtų įsigyti, norint tuo pačiu būdu išpilstyti visą likusį aliejų;&lt;br /&gt;
* koks bus gautas pelnas, pardavus visus indus su aliejumi; visų indų kainos įskaičiuotos į aliejaus gamybos išlaidas.&lt;br /&gt;
&lt;br /&gt;
=== Pradiniai duomenys ===&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;.&lt;br /&gt;
Duomenų faile įrašyta:&lt;br /&gt;
* pirmoje eilutėje užrašyti keturi skaičiai: turimų vieno, trijų ir penkių litrų indų skaičiai &amp;lt;code&amp;gt;n1, n3, n5 (1 ≤ n1, n3, n5 ≤ 35)&amp;lt;/code&amp;gt; ir išspausto aliejaus litrų skaičius &amp;lt;code&amp;gt;k (1 ≤ k ≤ 1000)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* antroje eilutėje užrašyti keturi skaičiai: aliejaus gamybos išlaidos, vieno, trijų ir penkių litrų indų su aliejumi pardavimo kainos.&lt;br /&gt;
Skaičiai atskirti vienu tarpo simboliu. Visi skaičiai yra sveikieji.&lt;br /&gt;
&lt;br /&gt;
=== Rezultatai ===&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje įrašykite, kiek buvo pripilta ūkininko turimų vieno, trijų ir penkių litrų indų ir kiek litrų aliejaus liko neišpilstyta. Jeigu kurios nors talpos indai nepanaudoti, rašykite nulį. Jeigu visas aliejus buvo išpilstytas, rašykite, kad liko nulis litrų aliejaus.&lt;br /&gt;
* Antroje eilutėje įrašykite, kiek vieno, trijų ir penkių litrų talpos indų liko nepanaudota. Jeigu visi atitinkamos talpos indai buvo panaudoti, rašykite nulį.&lt;br /&gt;
* Trečioje eilutėje įrašykite, kiek papildomai vieno, trijų ir penkių litrų talpos indų reikėtų įsigyti, norint išpilstyti visą likusį aliejų. Jeigu aliejaus neliko, įrašykite tris nulius.&lt;br /&gt;
* Ketvirtoje eilutėje įrašykite, koks bus gautas pelnas, pardavus visus indus su aliejumi. Jeigu pelno nebus, rašykite nulį. Jeigu bus nuostolis, užrašykite, koks (neigiamuoju skaičiumi).&lt;br /&gt;
&lt;br /&gt;
=== Nurodymai ===&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri suskaičiuotų, kiek buvo panaudota nurodytos talpos indų ir kiek litrų aliejaus liko neišpilstyta.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
=== Duomenų ir rezultatų pavyzdžiai ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 1 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
 1 8 5 156&lt;br /&gt;
 256 5 7 9&lt;br /&gt;
||&lt;br /&gt;
 * Turimų vieno, trijų ir penkių litrų indų skaičiai, išspausto aliejaus litrų skaičius.&lt;br /&gt;
 * Aliejaus gamybos išlaidos, vieno, trijų ir penkių litrų indų su aliejumi pardavimo kainos.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 1 8 5 106&lt;br /&gt;
 0 0 0&lt;br /&gt;
 1 0 21&lt;br /&gt;
 44&lt;br /&gt;
||&lt;br /&gt;
 * Pripiltų vieno, trijų ir penkių litrų indų skaičiai, neišpilstyto aliejaus litrų skaičius.&lt;br /&gt;
 * Kiek vieno, trijų ir penkių litrų indų liko nepanaudota.&lt;br /&gt;
 * Kiek vieno, trijų ir penkių litrų indų papildomai reikėjo.&lt;br /&gt;
 * Gautas pelnas.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 2 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
 1 2 2 156&lt;br /&gt;
 156 4 7 9&lt;br /&gt;
||&lt;br /&gt;
 * Turimų vieno, trijų ir penkių litrų indų skaičiai, išspausto aliejaus litrų skaičius.&lt;br /&gt;
 * Aliejaus gamybos išlaidos, vieno, trijų ir penkių litrų indų su aliejumi pardavimo kainos.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 1 2 2 139&lt;br /&gt;
 0 0 0&lt;br /&gt;
 1 1 27&lt;br /&gt;
 134&lt;br /&gt;
||&lt;br /&gt;
 * Pripiltų vieno, trijų ir penkių litrų indų skaičiai, neišpilstyto aliejaus litrų skaičius.&lt;br /&gt;
 * Kiek vieno, trijų ir penkių litrų indų liko nepanaudota.&lt;br /&gt;
 * Kiek vieno, trijų ir penkių litrų indų papildomai reikėjo.&lt;br /&gt;
 * Gautas pelnas.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 3 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
 1 2 35 156&lt;br /&gt;
 356 4 7 9&lt;br /&gt;
||&lt;br /&gt;
 * Turimų vieno, trijų ir penkių litrų indų skaičiai, išspausto aliejaus litrų skaičius.&lt;br /&gt;
 * Aliejaus gamybos išlaidos, vieno, trijų ir penkių litrų indų su aliejumi pardavimo kainos.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 1 0 31 0&lt;br /&gt;
 0 2 4&lt;br /&gt;
 0 0 0&lt;br /&gt;
 -73&lt;br /&gt;
||&lt;br /&gt;
 * Pripiltų vieno, trijų ir penkių litrų indų skaičiai, neišpilstyto aliejaus litrų skaičius.&lt;br /&gt;
 * Kiek vieno, trijų ir penkių litrų indų liko nepanaudota.&lt;br /&gt;
 * Kiek vieno, trijų ir penkių litrų indų papildomai reikėjo.&lt;br /&gt;
 * Gautas pelnas.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  print(&#039;Čia bus sprendimas&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sportas ==&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  print(&#039;Čia bus sprendimas&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2019&amp;diff=357</id>
		<title>IT Egzaminai/2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2019&amp;diff=357"/>
		<updated>2023-05-26T13:01:48Z</updated>

		<summary type="html">&lt;p&gt;Admin: Naujas puslapis: == 1 užduotis. Aliejus == &amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&amp;#039;&amp;#039;Maksimalus vertinimas – 20 taškų&amp;#039;&amp;#039;&amp;lt;/div&amp;gt; Ūkininkas išspaustą aliejų išpilsto į turimus vieno litro, trijų litrų ir penkių litrų indus. Pirmiausia aliejus pilamas į penkių litrų indus. Po to, jeigu reikia, – į trijų litrų indus, galiausiai, jeigu reikia, – į vieno litro indus. Nepilnai užpildyto indo neturi būti. Indų aliejui pilstyti gali būti pakankamai, per daug arba per mažai.  Para...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Aliejus ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 20 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
Ūkininkas išspaustą aliejų išpilsto į turimus vieno litro, trijų litrų ir penkių litrų indus. Pirmiausia aliejus pilamas į penkių litrų indus. Po to, jeigu reikia, – į trijų litrų indus, galiausiai, jeigu reikia, – į vieno litro indus. Nepilnai užpildyto indo neturi būti. Indų aliejui pilstyti gali būti pakankamai, per daug arba per mažai.&lt;br /&gt;
&lt;br /&gt;
Parašykite programą, kuri suskaičiuotų:&lt;br /&gt;
* kiek buvo pripilta turimų vieno, trijų ir penkių litrų indų ir kiek litrų aliejaus liko neišpilstyta;&lt;br /&gt;
* kiek vieno, trijų ir penkių litrų indų papildomai reikėtų įsigyti, norint tuo pačiu būdu išpilstyti visą likusį aliejų;&lt;br /&gt;
* koks bus gautas pelnas, pardavus visus indus su aliejumi; visų indų kainos įskaičiuotos į aliejaus gamybos išlaidas.&lt;br /&gt;
&lt;br /&gt;
=== Pradiniai duomenys ===&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;.&lt;br /&gt;
Duomenų faile įrašyta:&lt;br /&gt;
* pirmoje eilutėje užrašyti keturi skaičiai: turimų vieno, trijų ir penkių litrų indų skaičiai &amp;lt;code&amp;gt;n1, n3, n5 (1 ≤ n1, n3, n5 ≤ 35)&amp;lt;/code&amp;gt; ir išspausto aliejaus litrų skaičius &amp;lt;code&amp;gt;k (1 ≤ k ≤ 1000)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* antroje eilutėje užrašyti keturi skaičiai: aliejaus gamybos išlaidos, vieno, trijų ir penkių litrų indų su aliejumi pardavimo kainos.&lt;br /&gt;
Skaičiai atskirti vienu tarpo simboliu. Visi skaičiai yra sveikieji.&lt;br /&gt;
&lt;br /&gt;
=== Rezultatai ===&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje įrašykite, kiek buvo pripilta ūkininko turimų vieno, trijų ir penkių litrų indų ir kiek litrų aliejaus liko neišpilstyta. Jeigu kurios nors talpos indai nepanaudoti, rašykite nulį. Jeigu visas aliejus buvo išpilstytas, rašykite, kad liko nulis litrų aliejaus.&lt;br /&gt;
* Antroje eilutėje įrašykite, kiek vieno, trijų ir penkių litrų talpos indų liko nepanaudota. Jeigu visi atitinkamos talpos indai buvo panaudoti, rašykite nulį.&lt;br /&gt;
* Trečioje eilutėje įrašykite, kiek papildomai vieno, trijų ir penkių litrų talpos indų reikėtų įsigyti, norint išpilstyti visą likusį aliejų. Jeigu aliejaus neliko, įrašykite tris nulius.&lt;br /&gt;
* Ketvirtoje eilutėje įrašykite, koks bus gautas pelnas, pardavus visus indus su aliejumi. Jeigu pelno nebus, rašykite nulį. Jeigu bus nuostolis, užrašykite, koks (neigiamuoju skaičiumi).&lt;br /&gt;
&lt;br /&gt;
=== Nurodymai ===&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri suskaičiuotų, kiek buvo panaudota nurodytos talpos indų ir kiek litrų aliejaus liko neišpilstyta.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  print(&#039;Čia bus sprendimas&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sportas ==&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  print(&#039;Čia bus sprendimas&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai&amp;diff=356</id>
		<title>IT Egzaminai</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai&amp;diff=356"/>
		<updated>2023-05-26T12:53:04Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
;[[/2022|&#039;&#039;&#039;2022 metai&#039;&#039;&#039;]]&lt;br /&gt;
:&#039;&#039;- 2022 metų informacinių technologijų užduočių sprendimai&#039;&#039;&lt;br /&gt;
;[[/2021|&#039;&#039;&#039;2021 metai&#039;&#039;&#039;]]&lt;br /&gt;
:&#039;&#039;- 2021 metų informacinių technologijų užduočių sprendimai&#039;&#039;&lt;br /&gt;
;[[/2020|&#039;&#039;&#039;2020 metai&#039;&#039;&#039;]]&lt;br /&gt;
:&#039;&#039;- 2020 metų informacinių technologijų užduočių sprendimai&#039;&#039;&lt;br /&gt;
;[[/2019|&#039;&#039;&#039;2019 metai&#039;&#039;&#039;]]&lt;br /&gt;
:&#039;&#039;- 2019 metų informacinių technologijų užduočių sprendimai&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai&amp;diff=355</id>
		<title>IT Egzaminai</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai&amp;diff=355"/>
		<updated>2023-05-26T12:52:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
;[[/2022|&#039;&#039;&#039;2022 metai&#039;&#039;&#039;]]&lt;br /&gt;
:&#039;&#039;- 2022 metų informacinių technologijų užduočių sprendimai&#039;&#039;&lt;br /&gt;
;[[/2021|&#039;&#039;&#039;2021 metai&#039;&#039;&#039;]]&lt;br /&gt;
:&#039;&#039;- 2021 metų informacinių technologijų užduočių sprendimai&#039;&#039;&lt;br /&gt;
;[[/2020|&#039;&#039;&#039;2020 metai&#039;&#039;&#039;]]&lt;br /&gt;
:&#039;&#039;- 2020 metų informacinių technologijų užduočių sprendimai&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vadov%C4%97lis/Paie%C5%A1ka_ir_Rikiavimas&amp;diff=354</id>
		<title>Vadovėlis/Paieška ir Rikiavimas</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vadov%C4%97lis/Paie%C5%A1ka_ir_Rikiavimas&amp;diff=354"/>
		<updated>2023-05-25T08:32:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Įterpimo rikiavimas (Insertion Sort) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Atlikęs praeito skyriaus uždavinius, jau žinai daug apie sąrašo sukūrimą ir visus bazinius sąrašo metodus. Dabar pasinaudosim įgytomis žiniomis ir susipažinsim su labai dažnai susidruriamais uždaviniais: paieška ir rikiavimas.&lt;br /&gt;
&lt;br /&gt;
= Paieška =&lt;br /&gt;
&lt;br /&gt;
Paieškos algoritmai naudojami norint rasti konkretų elementą sąraše ar duomenų masyve. Yra keletas paieškos algoritmų, tačiau parodysiu du dažniausiai naudojaus - tiesinė paieška ir dvejetainė paieška.&lt;br /&gt;
&lt;br /&gt;
== Tiesinė paieška ==&lt;br /&gt;
Tiesinė paieška - tai paprastas paieškos algoritmas, kuris, ieškodamas tikslinės reikšmės, peržiūri kiekvieną sąrašo elementą. Pažiūrėk į tiesinės paieškos funkcijos pavyzdį &amp;quot;Python&amp;quot; kalba:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def tiesinė_paieška(sąrašas, ieškomas_žodis):&lt;br /&gt;
    for i in range(len(sąrašas)):&lt;br /&gt;
        if sąrašas[i] == ieškomas_žodis:&lt;br /&gt;
            return i&lt;br /&gt;
    return -1  # ieškomas_žodis nerastas&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ši funkcija priima masyvą &amp;lt;code&amp;gt;sąrašas&amp;lt;/code&amp;gt; ir tikslinę reikšmę &amp;lt;code&amp;gt;ieškomas_žodis&amp;lt;/code&amp;gt; ir grąžina tikslinės reikšmės indeksą masyve. Jei tikslinė vertė nerandama masyve, funkcija grąžina -1. Labai praprasta ir aišku.&lt;br /&gt;
&lt;br /&gt;
== Dvejetainė paieška ==&lt;br /&gt;
Kita vertus, dvejetainė paieška yra efektyvesnis paieškos algoritmas, kuris veikia tik surikiuotose masyvuose (sąrašuose). Jis veikia pakartotinai dalydamas paieškos intervalą per pusę, kol randama tikslinė reikšmė. Painu? Daug aiškiau bus pažiūrėjus šį pavyzdį:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def dvejetainė_paieška(sąrašas, tikslas):&lt;br /&gt;
    # išsisaugom sąrašo pirmą ir paskutinį indeksą&lt;br /&gt;
    apačia = 0&lt;br /&gt;
    viršus = len(sąrašas) - 1&lt;br /&gt;
    &lt;br /&gt;
    while apačia &amp;lt;= viršus:&lt;br /&gt;
        # aatrandame vidurį pagal formulę: (pradžios indeksas + pabaigos indeksas) padalintas per pusę, be liekanos&lt;br /&gt;
        viduriukas = (apačia + viršus) // 2&lt;br /&gt;
        # patikriname, ar `viduriukas` indekse yra mūsų ieškomas tikslas, ir jį atradus grąžiname indeksą.&lt;br /&gt;
        if sąrašas[viduriukas] == tikslas:&lt;br /&gt;
            return viduriukas&lt;br /&gt;
        # jeigu ne, tai pagal tai, kurioje pusėje yra ieškomas elementas pakeičiame viršutinį arba apatinį indeksą&lt;br /&gt;
        elif sąrašas[viduriukas] &amp;lt; tikslas:&lt;br /&gt;
            apačia = viduriukas + 1&lt;br /&gt;
        else:&lt;br /&gt;
            viršus = viduriukas - 1&lt;br /&gt;
        # ir kartojame iš naujo, bet jau su nauju, per pus mažesniu rėžiu&lt;br /&gt;
    &lt;br /&gt;
    return -1  # tikslas nerastas&lt;br /&gt;
&lt;br /&gt;
sąrašas = [1,2,3,4,5,6,7,8,9,10]&lt;br /&gt;
print(dvejetainė_paieška(sąrašas, 7)) # 6&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Panagrinėkim detaliai, kaip vyksta procesas. Ieškome, kur yra skaičius 7, sąraše [1,2,3,4,5,6,7,8,9,10]. Funkcijos pradžios kintamieji:&lt;br /&gt;
 apačia = 0&lt;br /&gt;
 viršus = 9 (ilgis 10 - 1 )&lt;br /&gt;
Pirmas `while` ciklas:&lt;br /&gt;
 viduriukas = 4 # (0 + 9) // 2&lt;br /&gt;
 sąrašas[4] saugo reikšmę 5. Ne mūsų ieškomas skaičius.&lt;br /&gt;
 kadangi tikslas yra surasti 7, tai mūsų kito ciklo metu ieškosime viršutinėje sąrašo dalyje, todėl nusistatome naują apačios reikšmę, viduriukas + 1.&lt;br /&gt;
 apačia = 4 + 1 = 5.&lt;br /&gt;
Antras `while` ciklas:&lt;br /&gt;
 viduriukas = 7 # (5 + 9) // 2&lt;br /&gt;
 sąrašas[7] saugo reikšmę 8. Jau arčiau, bet ne dar vis ne mūsų ieškoma reikšmė 7. Nustatome šįkartą naują viršutinę reikšmę, viduriukas - 1&lt;br /&gt;
 viršus = 7 - 1 = 6&lt;br /&gt;
Trečias `while` ciklas:&lt;br /&gt;
 viduriukas = 5 # (5 + 6) // 2&lt;br /&gt;
 sąrašas[5] saugo reikmę 6. Vėl pro šalį. Nustatome naują apatinę reikšmę:&lt;br /&gt;
 apačia = 5 + 1 = 6&lt;br /&gt;
Ketvirtas `while` ciklas:&lt;br /&gt;
 viduriukas = 6 # (6 + 6) // 2&lt;br /&gt;
 sąrašas[6] saugo reikšmę 7. Valio! Radom. Grąžinam indeksą 7.&lt;br /&gt;
&lt;br /&gt;
Atkreipk dėmesį, kad dvejetainės paieškos algoritmas atrado reikšmę per 4 ciklus. Kaip manai, kiek ciklų prireiktų tiesinės paieškos algoritmui? Pasufleruosiu... Daugiau :)&lt;br /&gt;
&lt;br /&gt;
= Rikiavimas =&lt;br /&gt;
&lt;br /&gt;
Rikiavimo algoritmai naudojami duomenų sąrašui išdėstyti tam tikra tvarka. Rikiavimo algoritmų yra daug ir įvairių, bet papasakosiu tik kelis naudingiausius. Pateiktus algoritmus tu gelėsi nesunkiai pritaikyti ir kitokiems duomenų tipams, ne tik žodžiams. Bet apie tai vėliau.&lt;br /&gt;
&lt;br /&gt;
== Įterpimo rikiavimas (Insertion Sort) ==&lt;br /&gt;
&lt;br /&gt;
Įterpimo rikiavimas yra paprastas rikiavimo algoritmas, kuris veikia padalydamas sąrašą į dvi dalis: surikiuotą ir nesurikiuotą. Tada iteratyviai paimamas elementas iš nerikiuotos dalies ir įterpiamas į reikiamą vietą surikiuotoje dalyje, kol visas sąrašas surikiuojamas.&lt;br /&gt;
Pažiūrėkim, kaip tai atrodo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def įterpimo_rikiavimas(sąrašas):&lt;br /&gt;
    for i in range(1, len(sąrašas)):&lt;br /&gt;
        raktas = sąrašas[i]&lt;br /&gt;
        j = i - 1&lt;br /&gt;
        while j &amp;gt;= 0 and sąrašas[j] &amp;gt; raktas:&lt;br /&gt;
            sąrašas[j+1] = sąrašas[j]&lt;br /&gt;
            j -= 1&lt;br /&gt;
        sąrašas[j+1] = raktas&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ši funkcija paima sąrašą &amp;lt;code&amp;gt;sąrašas&amp;lt;/code&amp;gt; ir sutikiuoja jį didėjimo tvarka, naudodama įterpimo rikiavimą. Ji pradeda iteruoti per sąrašą nuo antrojo elemento (indeksas 1) iki galo. Kiekvieno elemento reikšmė išsaugoma kaip &amp;lt;code&amp;gt;raktas&amp;lt;/code&amp;gt;, o jo indeksas - kaip &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;, tada einama atgal per surikiuotą sąrašo dalį (nuo indekso &amp;lt;code&amp;gt;i-1&amp;lt;/code&amp;gt; iki 0) ir ieškoma tinkamos vietos rakto reikšmei įterpti. Tai daroma lyginant rakto vertę su kiekvienu išrikiuotos sąrašo dalies elementu ir perstumiant didesnius elementus viena pozicija į dešinę, kol randama tinkama pozicija. Suradęs tinkamą poziciją, į ją įterpia rakto reikšmę.&lt;br /&gt;
&lt;br /&gt;
Įterpimo rikiavimo laiko sudėtingumas blogiausiu atveju yra O(n&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;), o tai reiškia, kad didelių įvesties sąrašų atveju jis gali būti lėtas. Tačiau jis turi mažesnes pridėtines išlaidas nei kai kurie kiti rikiavivmo algoritmai ir gali būti efektyvesnis už juos mažiems įvesties sąrašams arba iš dalies surikiuotiems įvesties sąrašams.&lt;br /&gt;
&lt;br /&gt;
== Burbulinis rikiavimas ==&lt;br /&gt;
Burbulinis rikiavimas ( angliškai &amp;quot;Bubble sort&amp;quot; ) - tai paprastas rikiavimo algoritmas, kuris pakartotinai pereina per sąrašą, palygina gretimus elementus ir sukeičia juos vietomis, jei jų eiliškumas netinkamas. Pažiūrėkim burbulinio rikiavimo funkcijos pavyzdį:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def burbulinis_rikiavimas(sąrašas):&lt;br /&gt;
    sąrašo_ilgis = len(sąrašas)&lt;br /&gt;
&lt;br /&gt;
    for i in range(sąrašo_ilgis):&lt;br /&gt;
        for j in range(0, sąrašo_ilgis-i-1):&lt;br /&gt;
            if sąrašas[j] &amp;gt; sąrašas[j+1]:&lt;br /&gt;
                sąrašas[j], sąrašas[j+1] = sąrašas[j+1], sąrašas[j]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Ši funkcija paima sąrašą &amp;lt;code&amp;gt;sąrašas&amp;lt;/code&amp;gt; ir surikiuoja jį didėjančia tvarka, naudodama burbulinį rikiavimą.&lt;br /&gt;
&lt;br /&gt;
== Quicksort ==&lt;br /&gt;
Quicksort is a widely used sorting algorithm that follows a divide-and-conquer approach. It works by selecting a pivot element from the array and partitioning the other elements into two sub-arrays, according to whether they are less than or greater than the pivot. The process is then repeated recursively on each sub-array.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of a quicksort function in Python:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def quicksort(arr, low, high):&lt;br /&gt;
    if low &amp;lt; high:&lt;br /&gt;
        # Partition the array&lt;br /&gt;
        pi = partition(arr, low, high)&lt;br /&gt;
        &lt;br /&gt;
        # Recursively sort the left and right sub-arrays&lt;br /&gt;
        quicksort(arr, low, pi-1)&lt;br /&gt;
        quicksort(arr, pi+1, high)&lt;br /&gt;
&lt;br /&gt;
def partition(arr, low, high):&lt;br /&gt;
    # Select the pivot element&lt;br /&gt;
    pivot = arr[high]&lt;br /&gt;
    i = low - 1&lt;br /&gt;
    &lt;br /&gt;
    # Partition the array into two sub-arrays&lt;br /&gt;
    for j in range(low, high):&lt;br /&gt;
        if arr[j] &amp;lt;= pivot:&lt;br /&gt;
            i += 1&lt;br /&gt;
            arr[i], arr[j] = arr[j], arr[i]&lt;br /&gt;
    &lt;br /&gt;
    arr[i+1], arr[high] = arr[high], arr[i+1]&lt;br /&gt;
    return i+1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function takes an array arr, a lower index low, and a higher index high, and sorts the array in ascending order using quicksort. The partition function is a helper function that takes the same arguments and returns the index of the pivot element after partitioning.&lt;br /&gt;
&lt;br /&gt;
The quicksort algorithm has a worst-case time complexity of O(n^2), but its average time complexity is O(n log n), which is faster than many other sorting algorithms. In practice, quicksort is often faster than other O(n log n) sorting algorithms like merge sort, due to its efficient use of the cache and the fact that it sorts in place (meaning it doesn&#039;t require additional memory).&lt;br /&gt;
&lt;br /&gt;
== Merge sort ==&lt;br /&gt;
Merge sort, on the other hand, is a more efficient sorting algorithm that uses a divide-and-conquer approach. It works by dividing the list into smaller sublists, sorting those sublists, and then merging them back together. Here&#039;s an example of a merge sort function in Python:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def merge_sort(arr):&lt;br /&gt;
    if len(arr) &amp;gt; 1:&lt;br /&gt;
        mid = len(arr) // 2&lt;br /&gt;
        left_half = arr[:mid]&lt;br /&gt;
        right_half = arr[mid:]&lt;br /&gt;
        &lt;br /&gt;
        merge_sort(left_half)&lt;br /&gt;
        merge_sort(right_half)&lt;br /&gt;
        &lt;br /&gt;
        i = j = k = 0&lt;br /&gt;
        &lt;br /&gt;
        while i &amp;lt; len(left_half) and j &amp;lt; len(right_half):&lt;br /&gt;
            if left_half[i] &amp;lt; right_half[j]:&lt;br /&gt;
                arr[k] = left_half[i]&lt;br /&gt;
                i += 1&lt;br /&gt;
            else:&lt;br /&gt;
                arr[k] = right_half[j]&lt;br /&gt;
                j += 1&lt;br /&gt;
            k += 1&lt;br /&gt;
        &lt;br /&gt;
        while i &amp;lt; len(left_half):&lt;br /&gt;
            arr[k] = left_half[i]&lt;br /&gt;
            i += 1&lt;br /&gt;
            k += 1&lt;br /&gt;
        &lt;br /&gt;
        while j &amp;lt; len(right_half):&lt;br /&gt;
            arr[k] = right_half&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vadov%C4%97lis/Paie%C5%A1ka_ir_Rikiavimas&amp;diff=353</id>
		<title>Vadovėlis/Paieška ir Rikiavimas</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vadov%C4%97lis/Paie%C5%A1ka_ir_Rikiavimas&amp;diff=353"/>
		<updated>2023-05-25T08:28:35Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Dvejetainė paieška */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Atlikęs praeito skyriaus uždavinius, jau žinai daug apie sąrašo sukūrimą ir visus bazinius sąrašo metodus. Dabar pasinaudosim įgytomis žiniomis ir susipažinsim su labai dažnai susidruriamais uždaviniais: paieška ir rikiavimas.&lt;br /&gt;
&lt;br /&gt;
= Paieška =&lt;br /&gt;
&lt;br /&gt;
Paieškos algoritmai naudojami norint rasti konkretų elementą sąraše ar duomenų masyve. Yra keletas paieškos algoritmų, tačiau parodysiu du dažniausiai naudojaus - tiesinė paieška ir dvejetainė paieška.&lt;br /&gt;
&lt;br /&gt;
== Tiesinė paieška ==&lt;br /&gt;
Tiesinė paieška - tai paprastas paieškos algoritmas, kuris, ieškodamas tikslinės reikšmės, peržiūri kiekvieną sąrašo elementą. Pažiūrėk į tiesinės paieškos funkcijos pavyzdį &amp;quot;Python&amp;quot; kalba:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def tiesinė_paieška(sąrašas, ieškomas_žodis):&lt;br /&gt;
    for i in range(len(sąrašas)):&lt;br /&gt;
        if sąrašas[i] == ieškomas_žodis:&lt;br /&gt;
            return i&lt;br /&gt;
    return -1  # ieškomas_žodis nerastas&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ši funkcija priima masyvą &amp;lt;code&amp;gt;sąrašas&amp;lt;/code&amp;gt; ir tikslinę reikšmę &amp;lt;code&amp;gt;ieškomas_žodis&amp;lt;/code&amp;gt; ir grąžina tikslinės reikšmės indeksą masyve. Jei tikslinė vertė nerandama masyve, funkcija grąžina -1. Labai praprasta ir aišku.&lt;br /&gt;
&lt;br /&gt;
== Dvejetainė paieška ==&lt;br /&gt;
Kita vertus, dvejetainė paieška yra efektyvesnis paieškos algoritmas, kuris veikia tik surikiuotose masyvuose (sąrašuose). Jis veikia pakartotinai dalydamas paieškos intervalą per pusę, kol randama tikslinė reikšmė. Painu? Daug aiškiau bus pažiūrėjus šį pavyzdį:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def dvejetainė_paieška(sąrašas, tikslas):&lt;br /&gt;
    # išsisaugom sąrašo pirmą ir paskutinį indeksą&lt;br /&gt;
    apačia = 0&lt;br /&gt;
    viršus = len(sąrašas) - 1&lt;br /&gt;
    &lt;br /&gt;
    while apačia &amp;lt;= viršus:&lt;br /&gt;
        # aatrandame vidurį pagal formulę: (pradžios indeksas + pabaigos indeksas) padalintas per pusę, be liekanos&lt;br /&gt;
        viduriukas = (apačia + viršus) // 2&lt;br /&gt;
        # patikriname, ar `viduriukas` indekse yra mūsų ieškomas tikslas, ir jį atradus grąžiname indeksą.&lt;br /&gt;
        if sąrašas[viduriukas] == tikslas:&lt;br /&gt;
            return viduriukas&lt;br /&gt;
        # jeigu ne, tai pagal tai, kurioje pusėje yra ieškomas elementas pakeičiame viršutinį arba apatinį indeksą&lt;br /&gt;
        elif sąrašas[viduriukas] &amp;lt; tikslas:&lt;br /&gt;
            apačia = viduriukas + 1&lt;br /&gt;
        else:&lt;br /&gt;
            viršus = viduriukas - 1&lt;br /&gt;
        # ir kartojame iš naujo, bet jau su nauju, per pus mažesniu rėžiu&lt;br /&gt;
    &lt;br /&gt;
    return -1  # tikslas nerastas&lt;br /&gt;
&lt;br /&gt;
sąrašas = [1,2,3,4,5,6,7,8,9,10]&lt;br /&gt;
print(dvejetainė_paieška(sąrašas, 7)) # 6&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Panagrinėkim detaliai, kaip vyksta procesas. Ieškome, kur yra skaičius 7, sąraše [1,2,3,4,5,6,7,8,9,10]. Funkcijos pradžios kintamieji:&lt;br /&gt;
 apačia = 0&lt;br /&gt;
 viršus = 9 (ilgis 10 - 1 )&lt;br /&gt;
Pirmas `while` ciklas:&lt;br /&gt;
 viduriukas = 4 # (0 + 9) // 2&lt;br /&gt;
 sąrašas[4] saugo reikšmę 5. Ne mūsų ieškomas skaičius.&lt;br /&gt;
 kadangi tikslas yra surasti 7, tai mūsų kito ciklo metu ieškosime viršutinėje sąrašo dalyje, todėl nusistatome naują apačios reikšmę, viduriukas + 1.&lt;br /&gt;
 apačia = 4 + 1 = 5.&lt;br /&gt;
Antras `while` ciklas:&lt;br /&gt;
 viduriukas = 7 # (5 + 9) // 2&lt;br /&gt;
 sąrašas[7] saugo reikšmę 8. Jau arčiau, bet ne dar vis ne mūsų ieškoma reikšmė 7. Nustatome šįkartą naują viršutinę reikšmę, viduriukas - 1&lt;br /&gt;
 viršus = 7 - 1 = 6&lt;br /&gt;
Trečias `while` ciklas:&lt;br /&gt;
 viduriukas = 5 # (5 + 6) // 2&lt;br /&gt;
 sąrašas[5] saugo reikmę 6. Vėl pro šalį. Nustatome naują apatinę reikšmę:&lt;br /&gt;
 apačia = 5 + 1 = 6&lt;br /&gt;
Ketvirtas `while` ciklas:&lt;br /&gt;
 viduriukas = 6 # (6 + 6) // 2&lt;br /&gt;
 sąrašas[6] saugo reikšmę 7. Valio! Radom. Grąžinam indeksą 7.&lt;br /&gt;
&lt;br /&gt;
Atkreipk dėmesį, kad dvejetainės paieškos algoritmas atrado reikšmę per 4 ciklus. Kaip manai, kiek ciklų prireiktų tiesinės paieškos algoritmui? Pasufleruosiu... Daugiau :)&lt;br /&gt;
&lt;br /&gt;
= Rikiavimas =&lt;br /&gt;
&lt;br /&gt;
Rikiavimo algoritmai naudojami duomenų sąrašui išdėstyti tam tikra tvarka. Rikiavimo algoritmų yra daug ir įvairių, bet papasakosiu tik kelis naudingiausius. Pateiktus algoritmus tu gelėsi nesunkiai pritaikyti ir kitokiems duomenų tipams, ne tik žodžiams. Bet apie tai vėliau.&lt;br /&gt;
&lt;br /&gt;
== Įterpimo rikiavimas (Insertion Sort) ==&lt;br /&gt;
&lt;br /&gt;
Įterpimo rikiavimas yra paprastas rikiavimo algoritmas, kuris veikia padalydamas sąrašą į dvi dalis: surikiuotą ir nesurikiuotą. Tada iteratyviai paimamas elementas iš nerikiuotos dalies ir įterpiamas į reikiamą vietą surikiuotoje dalyje, kol visas sąrašas surikiuojamas.&lt;br /&gt;
Pažiūrėkim, kaip tai atrodo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def įterpimo_rikiavimas(sąrašas):&lt;br /&gt;
    for i in range(1, len(sąrašas)):&lt;br /&gt;
        raktas = sąrašas[i]&lt;br /&gt;
        j = i - 1&lt;br /&gt;
        while j &amp;gt;= 0 and sąrašas[j] &amp;gt; raktas:&lt;br /&gt;
            sąrašas[j+1] = sąrašas[j]&lt;br /&gt;
            j -= 1&lt;br /&gt;
        sąrašas[j+1] = raktas&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ši funkcija paima masyvą &amp;lt;code&amp;gt;sąrašas&amp;lt;/code&amp;gt; ir sutikiuoja jį didėjimo tvarka, naudodama įterpimo rikiavimą. Ji pradeda iteruoti per masyvą nuo antrojo elemento (indeksas 1) iki galo. Kiekvieno elemento reikšmė išsaugoma kaip &amp;lt;code&amp;gt;raktas&amp;lt;/code&amp;gt;, o jo indeksas - kaip &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;, tada einama atgal per surūšiuotą masyvo dalį (nuo indekso &amp;lt;code&amp;gt;i-1&amp;lt;/code&amp;gt; iki 0) ir ieškoma tinkamos vietos rakto reikšmei įterpti. Tai daroma lyginant rakto vertę su kiekvienu išrūšiuotos masyvo dalies elementu ir perstumiant didesnius elementus viena pozicija į dešinę, kol randama tinkama pozicija. Suradęs tinkamą poziciją, į ją įterpia rakto reikšmę.&lt;br /&gt;
&lt;br /&gt;
Įterpimo rūšiavimo laiko sudėtingumas blogiausiu atveju yra O(n&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;), o tai reiškia, kad didelių įvesties sąrašų atveju jis gali būti lėtas. Tačiau jis turi mažesnes pridėtines išlaidas nei kai kurie kiti rūšiavimo algoritmai ir gali būti efektyvesnis už juos mažiems įvesties sąrašams arba iš dalies surūšiuotiems įvesties sąrašams.&lt;br /&gt;
&lt;br /&gt;
== Burbulinis rikiavimas ==&lt;br /&gt;
Burbulinis rikiavimas ( angliškai &amp;quot;Bubble sort&amp;quot; ) - tai paprastas rikiavimo algoritmas, kuris pakartotinai pereina per sąrašą, palygina gretimus elementus ir sukeičia juos vietomis, jei jų eiliškumas netinkamas. Pažiūrėkim burbulinio rikiavimo funkcijos pavyzdį:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def burbulinis_rikiavimas(sąrašas):&lt;br /&gt;
    sąrašo_ilgis = len(sąrašas)&lt;br /&gt;
&lt;br /&gt;
    for i in range(sąrašo_ilgis):&lt;br /&gt;
        for j in range(0, sąrašo_ilgis-i-1):&lt;br /&gt;
            if sąrašas[j] &amp;gt; sąrašas[j+1]:&lt;br /&gt;
                sąrašas[j], sąrašas[j+1] = sąrašas[j+1], sąrašas[j]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Ši funkcija paima sąrašą &amp;lt;code&amp;gt;sąrašas&amp;lt;/code&amp;gt; ir surikiuoja jį didėjančia tvarka, naudodama burbulinį rikiavimą.&lt;br /&gt;
&lt;br /&gt;
== Quicksort ==&lt;br /&gt;
Quicksort is a widely used sorting algorithm that follows a divide-and-conquer approach. It works by selecting a pivot element from the array and partitioning the other elements into two sub-arrays, according to whether they are less than or greater than the pivot. The process is then repeated recursively on each sub-array.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of a quicksort function in Python:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def quicksort(arr, low, high):&lt;br /&gt;
    if low &amp;lt; high:&lt;br /&gt;
        # Partition the array&lt;br /&gt;
        pi = partition(arr, low, high)&lt;br /&gt;
        &lt;br /&gt;
        # Recursively sort the left and right sub-arrays&lt;br /&gt;
        quicksort(arr, low, pi-1)&lt;br /&gt;
        quicksort(arr, pi+1, high)&lt;br /&gt;
&lt;br /&gt;
def partition(arr, low, high):&lt;br /&gt;
    # Select the pivot element&lt;br /&gt;
    pivot = arr[high]&lt;br /&gt;
    i = low - 1&lt;br /&gt;
    &lt;br /&gt;
    # Partition the array into two sub-arrays&lt;br /&gt;
    for j in range(low, high):&lt;br /&gt;
        if arr[j] &amp;lt;= pivot:&lt;br /&gt;
            i += 1&lt;br /&gt;
            arr[i], arr[j] = arr[j], arr[i]&lt;br /&gt;
    &lt;br /&gt;
    arr[i+1], arr[high] = arr[high], arr[i+1]&lt;br /&gt;
    return i+1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function takes an array arr, a lower index low, and a higher index high, and sorts the array in ascending order using quicksort. The partition function is a helper function that takes the same arguments and returns the index of the pivot element after partitioning.&lt;br /&gt;
&lt;br /&gt;
The quicksort algorithm has a worst-case time complexity of O(n^2), but its average time complexity is O(n log n), which is faster than many other sorting algorithms. In practice, quicksort is often faster than other O(n log n) sorting algorithms like merge sort, due to its efficient use of the cache and the fact that it sorts in place (meaning it doesn&#039;t require additional memory).&lt;br /&gt;
&lt;br /&gt;
== Merge sort ==&lt;br /&gt;
Merge sort, on the other hand, is a more efficient sorting algorithm that uses a divide-and-conquer approach. It works by dividing the list into smaller sublists, sorting those sublists, and then merging them back together. Here&#039;s an example of a merge sort function in Python:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def merge_sort(arr):&lt;br /&gt;
    if len(arr) &amp;gt; 1:&lt;br /&gt;
        mid = len(arr) // 2&lt;br /&gt;
        left_half = arr[:mid]&lt;br /&gt;
        right_half = arr[mid:]&lt;br /&gt;
        &lt;br /&gt;
        merge_sort(left_half)&lt;br /&gt;
        merge_sort(right_half)&lt;br /&gt;
        &lt;br /&gt;
        i = j = k = 0&lt;br /&gt;
        &lt;br /&gt;
        while i &amp;lt; len(left_half) and j &amp;lt; len(right_half):&lt;br /&gt;
            if left_half[i] &amp;lt; right_half[j]:&lt;br /&gt;
                arr[k] = left_half[i]&lt;br /&gt;
                i += 1&lt;br /&gt;
            else:&lt;br /&gt;
                arr[k] = right_half[j]&lt;br /&gt;
                j += 1&lt;br /&gt;
            k += 1&lt;br /&gt;
        &lt;br /&gt;
        while i &amp;lt; len(left_half):&lt;br /&gt;
            arr[k] = left_half[i]&lt;br /&gt;
            i += 1&lt;br /&gt;
            k += 1&lt;br /&gt;
        &lt;br /&gt;
        while j &amp;lt; len(right_half):&lt;br /&gt;
            arr[k] = right_half&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vadov%C4%97lis/Paie%C5%A1ka_ir_Rikiavimas&amp;diff=352</id>
		<title>Vadovėlis/Paieška ir Rikiavimas</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vadov%C4%97lis/Paie%C5%A1ka_ir_Rikiavimas&amp;diff=352"/>
		<updated>2023-05-25T08:27:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Bubble sort */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Atlikęs praeito skyriaus uždavinius, jau žinai daug apie sąrašo sukūrimą ir visus bazinius sąrašo metodus. Dabar pasinaudosim įgytomis žiniomis ir susipažinsim su labai dažnai susidruriamais uždaviniais: paieška ir rikiavimas.&lt;br /&gt;
&lt;br /&gt;
= Paieška =&lt;br /&gt;
&lt;br /&gt;
Paieškos algoritmai naudojami norint rasti konkretų elementą sąraše ar duomenų masyve. Yra keletas paieškos algoritmų, tačiau parodysiu du dažniausiai naudojaus - tiesinė paieška ir dvejetainė paieška.&lt;br /&gt;
&lt;br /&gt;
== Tiesinė paieška ==&lt;br /&gt;
Tiesinė paieška - tai paprastas paieškos algoritmas, kuris, ieškodamas tikslinės reikšmės, peržiūri kiekvieną sąrašo elementą. Pažiūrėk į tiesinės paieškos funkcijos pavyzdį &amp;quot;Python&amp;quot; kalba:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def tiesinė_paieška(sąrašas, ieškomas_žodis):&lt;br /&gt;
    for i in range(len(sąrašas)):&lt;br /&gt;
        if sąrašas[i] == ieškomas_žodis:&lt;br /&gt;
            return i&lt;br /&gt;
    return -1  # ieškomas_žodis nerastas&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ši funkcija priima masyvą &amp;lt;code&amp;gt;sąrašas&amp;lt;/code&amp;gt; ir tikslinę reikšmę &amp;lt;code&amp;gt;ieškomas_žodis&amp;lt;/code&amp;gt; ir grąžina tikslinės reikšmės indeksą masyve. Jei tikslinė vertė nerandama masyve, funkcija grąžina -1. Labai praprasta ir aišku.&lt;br /&gt;
&lt;br /&gt;
== Dvejetainė paieška ==&lt;br /&gt;
Kita vertus, dvejetainė paieška yra efektyvesnis paieškos algoritmas, kuris veikia tik rūšiuotuose masyvuose. Jis veikia pakartotinai dalydamas paieškos intervalą per pusę, kol randama tikslinė reikšmė. Painu? Daug aiškiau bus pažiūrėjus šį pavyzdį:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def dvejetainė_paieška(sąrašas, tikslas):&lt;br /&gt;
    # išsisaugom sąrašo pirmą ir paskutinį indeksą&lt;br /&gt;
    apačia = 0&lt;br /&gt;
    viršus = len(sąrašas) - 1&lt;br /&gt;
    &lt;br /&gt;
    while apačia &amp;lt;= viršus:&lt;br /&gt;
        # aatrandame vidurį pagal formulę: (pradžios indeksas + pabaigos indeksas) padalintas per pusę, be liekanos&lt;br /&gt;
        viduriukas = (apačia + viršus) // 2&lt;br /&gt;
        # patikriname, ar `viduriukas` indekse yra mūsų ieškomas tikslas, ir jį atradus grąžiname indeksą.&lt;br /&gt;
        if sąrašas[viduriukas] == tikslas:&lt;br /&gt;
            return viduriukas&lt;br /&gt;
        # jeigu ne, tai pagal tai, kurioje pusėje yra ieškomas elementas pakeičiame viršutinį arba apatinį indeksą&lt;br /&gt;
        elif sąrašas[viduriukas] &amp;lt; tikslas:&lt;br /&gt;
            apačia = viduriukas + 1&lt;br /&gt;
        else:&lt;br /&gt;
            viršus = viduriukas - 1&lt;br /&gt;
        # ir kartojame iš naujo, bet jau su nauju, per pus mažesniu rėžiu&lt;br /&gt;
    &lt;br /&gt;
    return -1  # tikslas nerastas&lt;br /&gt;
&lt;br /&gt;
sąrašas = [1,2,3,4,5,6,7,8,9,10]&lt;br /&gt;
print(dvejetainė_paieška(sąrašas, 7)) # 6&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Panagrinėkim detaliai, kaip vyksta procesas. Ieškome, kur yra skaičius 7, sąraše [1,2,3,4,5,6,7,8,9,10]. Funkcijos pradžios kintamieji:&lt;br /&gt;
 apačia = 0&lt;br /&gt;
 viršus = 9 (ilgis 10 - 1 )&lt;br /&gt;
Pirmas `while` ciklas:&lt;br /&gt;
 viduriukas = 4 # (0 + 9) // 2&lt;br /&gt;
 sąrašas[4] saugo reikšmę 5. Ne mūsų ieškomas skaičius.&lt;br /&gt;
 kadangi tikslas yra surasti 7, tai mūsų kito ciklo metu ieškosime viršutinėje sąrašo dalyje, todėl nusistatome naują apačios reikšmę, viduriukas + 1.&lt;br /&gt;
 apačia = 4 + 1 = 5.&lt;br /&gt;
Antras `while` ciklas:&lt;br /&gt;
 viduriukas = 7 # (5 + 9) // 2&lt;br /&gt;
 sąrašas[7] saugo reikšmę 8. Jau arčiau, bet ne dar vis ne mūsų ieškoma reikšmė 7. Nustatome šįkartą naują viršutinę reikšmę, viduriukas - 1&lt;br /&gt;
 viršus = 7 - 1 = 6&lt;br /&gt;
Trečias `while` ciklas:&lt;br /&gt;
 viduriukas = 5 # (5 + 6) // 2&lt;br /&gt;
 sąrašas[5] saugo reikmę 6. Vėl pro šalį. Nustatome naują apatinę reikšmę:&lt;br /&gt;
 apačia = 5 + 1 = 6&lt;br /&gt;
Ketvirtas `while` ciklas:&lt;br /&gt;
 viduriukas = 6 # (6 + 6) // 2&lt;br /&gt;
 sąrašas[6] saugo reikšmę 7. Valio! Radom. Grąžinam indeksą 7.&lt;br /&gt;
&lt;br /&gt;
Atkreipk dėmesį, kad dvejetainės paieškos algoritmas atrado reikšmę per 4 ciklus. Kaip manai, kiek ciklų prireiktų tiesinės paieškos algoritmui? Pasufleruosiu... Daugiau :)&lt;br /&gt;
&lt;br /&gt;
= Rikiavimas =&lt;br /&gt;
&lt;br /&gt;
Rikiavimo algoritmai naudojami duomenų sąrašui išdėstyti tam tikra tvarka. Rikiavimo algoritmų yra daug ir įvairių, bet papasakosiu tik kelis naudingiausius. Pateiktus algoritmus tu gelėsi nesunkiai pritaikyti ir kitokiems duomenų tipams, ne tik žodžiams. Bet apie tai vėliau.&lt;br /&gt;
&lt;br /&gt;
== Įterpimo rikiavimas (Insertion Sort) ==&lt;br /&gt;
&lt;br /&gt;
Įterpimo rikiavimas yra paprastas rikiavimo algoritmas, kuris veikia padalydamas sąrašą į dvi dalis: surikiuotą ir nesurikiuotą. Tada iteratyviai paimamas elementas iš nerikiuotos dalies ir įterpiamas į reikiamą vietą surikiuotoje dalyje, kol visas sąrašas surikiuojamas.&lt;br /&gt;
Pažiūrėkim, kaip tai atrodo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def įterpimo_rikiavimas(sąrašas):&lt;br /&gt;
    for i in range(1, len(sąrašas)):&lt;br /&gt;
        raktas = sąrašas[i]&lt;br /&gt;
        j = i - 1&lt;br /&gt;
        while j &amp;gt;= 0 and sąrašas[j] &amp;gt; raktas:&lt;br /&gt;
            sąrašas[j+1] = sąrašas[j]&lt;br /&gt;
            j -= 1&lt;br /&gt;
        sąrašas[j+1] = raktas&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ši funkcija paima masyvą &amp;lt;code&amp;gt;sąrašas&amp;lt;/code&amp;gt; ir sutikiuoja jį didėjimo tvarka, naudodama įterpimo rikiavimą. Ji pradeda iteruoti per masyvą nuo antrojo elemento (indeksas 1) iki galo. Kiekvieno elemento reikšmė išsaugoma kaip &amp;lt;code&amp;gt;raktas&amp;lt;/code&amp;gt;, o jo indeksas - kaip &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt;, tada einama atgal per surūšiuotą masyvo dalį (nuo indekso &amp;lt;code&amp;gt;i-1&amp;lt;/code&amp;gt; iki 0) ir ieškoma tinkamos vietos rakto reikšmei įterpti. Tai daroma lyginant rakto vertę su kiekvienu išrūšiuotos masyvo dalies elementu ir perstumiant didesnius elementus viena pozicija į dešinę, kol randama tinkama pozicija. Suradęs tinkamą poziciją, į ją įterpia rakto reikšmę.&lt;br /&gt;
&lt;br /&gt;
Įterpimo rūšiavimo laiko sudėtingumas blogiausiu atveju yra O(n&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;), o tai reiškia, kad didelių įvesties sąrašų atveju jis gali būti lėtas. Tačiau jis turi mažesnes pridėtines išlaidas nei kai kurie kiti rūšiavimo algoritmai ir gali būti efektyvesnis už juos mažiems įvesties sąrašams arba iš dalies surūšiuotiems įvesties sąrašams.&lt;br /&gt;
&lt;br /&gt;
== Burbulinis rikiavimas ==&lt;br /&gt;
Burbulinis rikiavimas ( angliškai &amp;quot;Bubble sort&amp;quot; ) - tai paprastas rikiavimo algoritmas, kuris pakartotinai pereina per sąrašą, palygina gretimus elementus ir sukeičia juos vietomis, jei jų eiliškumas netinkamas. Pažiūrėkim burbulinio rikiavimo funkcijos pavyzdį:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def burbulinis_rikiavimas(sąrašas):&lt;br /&gt;
    sąrašo_ilgis = len(sąrašas)&lt;br /&gt;
&lt;br /&gt;
    for i in range(sąrašo_ilgis):&lt;br /&gt;
        for j in range(0, sąrašo_ilgis-i-1):&lt;br /&gt;
            if sąrašas[j] &amp;gt; sąrašas[j+1]:&lt;br /&gt;
                sąrašas[j], sąrašas[j+1] = sąrašas[j+1], sąrašas[j]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Ši funkcija paima sąrašą &amp;lt;code&amp;gt;sąrašas&amp;lt;/code&amp;gt; ir surikiuoja jį didėjančia tvarka, naudodama burbulinį rikiavimą.&lt;br /&gt;
&lt;br /&gt;
== Quicksort ==&lt;br /&gt;
Quicksort is a widely used sorting algorithm that follows a divide-and-conquer approach. It works by selecting a pivot element from the array and partitioning the other elements into two sub-arrays, according to whether they are less than or greater than the pivot. The process is then repeated recursively on each sub-array.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example of a quicksort function in Python:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def quicksort(arr, low, high):&lt;br /&gt;
    if low &amp;lt; high:&lt;br /&gt;
        # Partition the array&lt;br /&gt;
        pi = partition(arr, low, high)&lt;br /&gt;
        &lt;br /&gt;
        # Recursively sort the left and right sub-arrays&lt;br /&gt;
        quicksort(arr, low, pi-1)&lt;br /&gt;
        quicksort(arr, pi+1, high)&lt;br /&gt;
&lt;br /&gt;
def partition(arr, low, high):&lt;br /&gt;
    # Select the pivot element&lt;br /&gt;
    pivot = arr[high]&lt;br /&gt;
    i = low - 1&lt;br /&gt;
    &lt;br /&gt;
    # Partition the array into two sub-arrays&lt;br /&gt;
    for j in range(low, high):&lt;br /&gt;
        if arr[j] &amp;lt;= pivot:&lt;br /&gt;
            i += 1&lt;br /&gt;
            arr[i], arr[j] = arr[j], arr[i]&lt;br /&gt;
    &lt;br /&gt;
    arr[i+1], arr[high] = arr[high], arr[i+1]&lt;br /&gt;
    return i+1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function takes an array arr, a lower index low, and a higher index high, and sorts the array in ascending order using quicksort. The partition function is a helper function that takes the same arguments and returns the index of the pivot element after partitioning.&lt;br /&gt;
&lt;br /&gt;
The quicksort algorithm has a worst-case time complexity of O(n^2), but its average time complexity is O(n log n), which is faster than many other sorting algorithms. In practice, quicksort is often faster than other O(n log n) sorting algorithms like merge sort, due to its efficient use of the cache and the fact that it sorts in place (meaning it doesn&#039;t require additional memory).&lt;br /&gt;
&lt;br /&gt;
== Merge sort ==&lt;br /&gt;
Merge sort, on the other hand, is a more efficient sorting algorithm that uses a divide-and-conquer approach. It works by dividing the list into smaller sublists, sorting those sublists, and then merging them back together. Here&#039;s an example of a merge sort function in Python:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def merge_sort(arr):&lt;br /&gt;
    if len(arr) &amp;gt; 1:&lt;br /&gt;
        mid = len(arr) // 2&lt;br /&gt;
        left_half = arr[:mid]&lt;br /&gt;
        right_half = arr[mid:]&lt;br /&gt;
        &lt;br /&gt;
        merge_sort(left_half)&lt;br /&gt;
        merge_sort(right_half)&lt;br /&gt;
        &lt;br /&gt;
        i = j = k = 0&lt;br /&gt;
        &lt;br /&gt;
        while i &amp;lt; len(left_half) and j &amp;lt; len(right_half):&lt;br /&gt;
            if left_half[i] &amp;lt; right_half[j]:&lt;br /&gt;
                arr[k] = left_half[i]&lt;br /&gt;
                i += 1&lt;br /&gt;
            else:&lt;br /&gt;
                arr[k] = right_half[j]&lt;br /&gt;
                j += 1&lt;br /&gt;
            k += 1&lt;br /&gt;
        &lt;br /&gt;
        while i &amp;lt; len(left_half):&lt;br /&gt;
            arr[k] = left_half[i]&lt;br /&gt;
            i += 1&lt;br /&gt;
            k += 1&lt;br /&gt;
        &lt;br /&gt;
        while j &amp;lt; len(right_half):&lt;br /&gt;
            arr[k] = right_half&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2020&amp;diff=351</id>
		<title>IT Egzaminai/2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2020&amp;diff=351"/>
		<updated>2023-05-22T08:31:01Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* 2 užduotis. Varžybos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Gėlės ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 23 taškai&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Gėlių žydėjimo laikotarpiai yra nevienodi – vienos žydi ilgai, o kitos žydi trumpai. Gėlininkų draugijos nariai, ruošdamiesi gėlių parodai, nori išsiaiškinti, kuriuo laikotarpiu vasarą žydi daugiausia skirtingų gėlių.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, skirtą surasti vasaros dienų intervalą, kai žydi daugiausia skirtingų gėlių. Jeigu yra keli tokie intervalai, turi būti pateikiamas pirmas iš jų.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pradiniai duomenys===&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;. Duomenų faile pateiktos tik tos gėlės, kurios pradeda ir baigia žydėti vasaros mėnesiais.&lt;br /&gt;
Duomenų faile įrašyta:&lt;br /&gt;
* pirmoje eilutėje užrašytas vasarą žydinčių skirtingų gėlių skaičius &#039;&#039;&#039;n&#039;&#039;&#039; (1 &amp;lt;= &#039;&#039;&#039;n&#039;&#039;&#039; &amp;lt;= 30);&lt;br /&gt;
* kitose &#039;&#039;&#039;n&#039;&#039;&#039; eilučių užrašyta po penkis sveikuosius skaičius: gėlės numeris pagal katalogą, žydėjimo pradžios mėnuo ir diena, žydėjimo pabaigos mėnuo ir diena. Visi skaičiai atskirti bent vienu tarpo simboliu.&lt;br /&gt;
&lt;br /&gt;
===Rezultatai===&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje įrašykite didžiausią skirtingų žydinčių gėlių skaičių.&lt;br /&gt;
* Antroje eilutėje įrašykite pirmo vasaros dienų intervalo, kai žydi daugiausia skirtingų gėlių, pradžios mėnesį ir dieną.&lt;br /&gt;
* Trečioje eilutėje įrašykite pirmo vasaros dienų intervalo, kai žydi daugiausia skirtingų gėlių, pabaigos mėnesį ir dieną.&lt;br /&gt;
Visus skaičius atskirkite vienu tarpo simboliu&lt;br /&gt;
&lt;br /&gt;
===Nurodymai===&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri randa pirmos dienos, kai žydi daugiausia skirtingų gėlių, vietą vasaros dienų sąraše. Sąrašą sudaro 92 dienos.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
===Duomenų ir rezultatų pavyzdžiai===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;vertical-align:top;&amp;quot;&lt;br /&gt;
|+ 1 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 6&lt;br /&gt;
 121 6 15 7 25&lt;br /&gt;
 102 7 1  8 14&lt;br /&gt;
 236 6 30 8 31&lt;br /&gt;
 141 7 31 8 10&lt;br /&gt;
 111 7 1  7 20&lt;br /&gt;
 128 6 2  6 3&lt;br /&gt;
||&lt;br /&gt;
Vasarą žydinčių skirtingų gėlių skaičius.&amp;lt;br&amp;gt;&lt;br /&gt;
Toliau kiekvienoje eilutėje: gėlės numeris pagal katalogą, žydėjimo pradžios mėnuo ir diena,&amp;lt;br&amp;gt;&lt;br /&gt;
žydėjimo pabaigos mėnuo ir diena&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 4&lt;br /&gt;
 7 1&lt;br /&gt;
 7 20&lt;br /&gt;
||&lt;br /&gt;
Didžiausias skirtingų žydinčių gėlių skaičius.&amp;lt;br&amp;gt;&lt;br /&gt;
Pirmo intervalo, kai žydi daugiausia skirtingų gėlių, pradžios mėnuo ir diena.&amp;lt;br&amp;gt;&lt;br /&gt;
Pirmo intervalo, kai žydi daugiausia skirtingų gėlių, pabaigos mėnuo ir diena.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 2 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
 1&lt;br /&gt;
 222 6 30 7 1&lt;br /&gt;
||&lt;br /&gt;
Vasarą žydinčių skirtingų gėlių skaičius.&amp;lt;br&amp;gt;&lt;br /&gt;
Gėlės numeris pagal katalogą, žydėjimo pradžios mėnuo ir diena, žydėjimo pabaigos mėnuo&amp;lt;br&amp;gt;&lt;br /&gt;
ir diena.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 1&lt;br /&gt;
 6 30&lt;br /&gt;
 7 1&lt;br /&gt;
||&lt;br /&gt;
Didžiausias skirtingų žydinčių gėlių skaičius.&amp;lt;br&amp;gt;&lt;br /&gt;
Pirmo intervalo, kai žydi daugiausia skirtingų gėlių, pradžios mėnuo ir diena.&amp;lt;br&amp;gt;&lt;br /&gt;
Pirmo intervalo, kai žydi daugiausia skirtingų gėlių, pabaigos mėnuo ir diena&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  print(&#039;Čia bus sprendimas&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Varžybos ==&lt;br /&gt;
&amp;lt;p&amp;gt;Vyko metų žvejo varžybos. Sugautos žuvys buvo vertinamos pagal masę ir pagal pavadinimą. Lengvesnė kaip 200 gramų žuvis buvo vertinama 10 taškų, o sverianti 200 gramų ir daugiau – 30 taškų. Žuvis pagal pavadinimą buvo vertinama, skiriant atitinkamą taškų skaičių. Kiekvienas žvejys vertintojams pristatė ne daugiau kaip penkias savo nuožiūra pasirinktas žuvis, esančias vertinamų žuvų pavadinimų sąraše.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, kuri suskaičiuotų žvejų gautus įvertinimus ir vertintojams pristatytų žuvų bendrą masę pagal pavadinimus.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pradiniai duomenys ===&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U2.txt&#039;&#039;&#039;.&lt;br /&gt;
Duomenų faile įrašyta:&lt;br /&gt;
* pirmoje eilutėje užrašytas žvejų skaičius &#039;&#039;&#039;n&#039;&#039;&#039; (1 &amp;lt;= &#039;&#039;&#039;n&#039;&#039;&#039; &amp;lt;= 30);&lt;br /&gt;
* tolesnėje eilutėje pirmose 20 pozicijų užrašyti žvejo vardas ir pavardė (gali būti trys ir daugiau žodžių), toliau – vertintojams pristatytų žuvų skaičius;&lt;br /&gt;
* po to atskirose eilutėse pateikiami to žvejo duomenys apie vertintojams pristatytas žuvis: pirmose 20 pozicijų užrašytas žuvies pavadinimas, toliau – žuvies masė gramais;&lt;br /&gt;
* po to tokia pačia tvarka pateikti visų kitų žvejų duomenys.&lt;br /&gt;
Toliau pateikiami varžybų vertinimo duomenys:&lt;br /&gt;
* vertinamų žuvų pavadinimų skaičius &#039;&#039;&#039;k&#039;&#039;&#039; (1 &amp;lt;= &#039;&#039;&#039;k&#039;&#039;&#039; &amp;lt;= 30);&lt;br /&gt;
* toliau atskirose &#039;&#039;&#039;k&#039;&#039;&#039; eilutėse pirmose 20 pozicijų užrašytas vertinamos žuvies pavadinimas, toliau – už jį skiriamų taškų skaičius.&lt;br /&gt;
Visi skaičiai yra sveikieji. Žuvų pavadinimuose, taip pat žvejų varduose ir pavardėse naudojamos tik lotyniškos abėcėlės raidės.&lt;br /&gt;
&lt;br /&gt;
=== Rezultatai ===&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U2rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje parašykite žodį „Dalyviai“.&lt;br /&gt;
* Toliau atskirose eilutėse užrašykite žvejų duomenis: pirmose 20 pozicijų – vardą ir pavardę, paskui po tarpo simbolio – žvejui skirtų taškų skaičių. Sąrašą pateikite surikiuotą mažėjančiai pagal žvejų gautų taškų skaičių. Jeigu taškų skaičius vienodas – pagal žvejo vardą ir pavardę (simbolių eilutę) abėcėliškai.&lt;br /&gt;
* Toliau atskiroje eilutėje parašykite žodį „Laimikis“.&lt;br /&gt;
* Toliau atskirose eilutėse užrašykite duomenis apie vertinamas žuvis: pirmose 20 pozicijų – žuvies pavadinimas, paskui po tarpo simbolio – visų žvejų pristatytų to pavadinimo žuvų bendra masė. Laikykite, kad vertinamų, bet nesugautų žuvų bendra masė lygi nuliui.&lt;br /&gt;
* Sąrašą pateikite surikiuotą mažėjančiai pagal žuvų bendrą masę. Jeigu masė vienoda – pagal žuvies pavadinimą (simbolių eilutę) abėcėliškai.&lt;br /&gt;
&lt;br /&gt;
=== Nurodymai ===&lt;br /&gt;
Parašykite funkciją, kuri rikiuoja duotą sąrašą pagal skaičius mažėjančiai. Jeigu skaičiai vienodi – pagal simbolių eilutę abėcėliškai.&lt;br /&gt;
* Parašytą funkciją panaudokite žvejų sąrašui rikiuoti ir žuvų sąrašui rikiuoti.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
=== Duomenų ir rezultatų pavyzdžiai ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 1 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 2&lt;br /&gt;
 Rima Liepa          1&lt;br /&gt;
 Ungurys             456&lt;br /&gt;
 Petras A. Petraitis 3&lt;br /&gt;
 Lydeka              526&lt;br /&gt;
 Veidrodinis karpis  250&lt;br /&gt;
 Lydeka              125&lt;br /&gt;
 5&lt;br /&gt;
 Ungurys             15&lt;br /&gt;
 Veidrodinis karpis  5&lt;br /&gt;
 Kuoja               3&lt;br /&gt;
 Karosas             5&lt;br /&gt;
 Lydeka              15&lt;br /&gt;
||&lt;br /&gt;
 Žvejų skaičius.&lt;br /&gt;
 Žvejo vardas, pavardė ir jo pristatytų žuvų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir jos masė gramais.&lt;br /&gt;
 Žvejo vardas, pavardė ir jo pristatytų žuvų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir jos masė gramais.&lt;br /&gt;
 Žuvies pavadinimas ir jos masė gramais.&lt;br /&gt;
 Žuvies pavadinimas ir jos masė gramais.&lt;br /&gt;
 Vertinamų žuvų pavadinimų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir už jį skiriamų taškų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir už jį skiriamų taškų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir už jį skiriamų taškų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir už jį skiriamų taškų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir už jį skiriamų taškų skaičius&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Dalyviai&lt;br /&gt;
 Petras A. Petraitis 105&lt;br /&gt;
 Rima Liepa          45&lt;br /&gt;
 Laimikis&lt;br /&gt;
 Lydeka              651&lt;br /&gt;
 Ungurys             456&lt;br /&gt;
 Veidrodinis karpis  250&lt;br /&gt;
 Karosas             0&lt;br /&gt;
 Kuoja               0&lt;br /&gt;
||&lt;br /&gt;
 &amp;lt;br&amp;gt;Žvejo vardas, pavardė ir jam skirtų taškų skaičius.&lt;br /&gt;
 Žvejo vardas, pavardė ir jam skirtų taškų skaičius.&lt;br /&gt;
 &lt;br /&gt;
 Žuvies pavadinimas ir visų žvejų pristatytų to pavadinimo žuvų bendra masė.&lt;br /&gt;
 Žuvies pavadinimas ir visų žvejų pristatytų to pavadinimo žuvų bendra masė.&lt;br /&gt;
 Žuvies pavadinimas ir visų žvejų pristatytų to pavadinimo žuvų bendra masė.&lt;br /&gt;
 Vertinamos, bet nesugautos žuvies pavadinimas ir masė.&lt;br /&gt;
 Vertinamos, bet nesugautos žuvies pavadinimas ir masė.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 2 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
 1&lt;br /&gt;
 Rima Liepa          1&lt;br /&gt;
 Ungurys             456&lt;br /&gt;
 3&lt;br /&gt;
 Lydeka              15&lt;br /&gt;
 Ungurys             15&lt;br /&gt;
 Veidrodinis karpis  5&lt;br /&gt;
||&lt;br /&gt;
 Žvejų skaičius.&lt;br /&gt;
 Žvejo vardas, pavardė ir jo pristatytų žuvų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir jos masė gramais.&lt;br /&gt;
 Vertinamų žuvų pavadinimų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir už jį skiriamų taškų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir už jį skiriamų taškų skaičius.&lt;br /&gt;
 Žuvies pavadinimas ir už jį skiriamų taškų skaičius.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 Dalyviai&lt;br /&gt;
 Rima Liepa          45&lt;br /&gt;
 Laimikis&lt;br /&gt;
 Ungurys             456&lt;br /&gt;
 Lydeka              0&lt;br /&gt;
 Veidrodinis karpis  0&lt;br /&gt;
||&lt;br /&gt;
 &amp;lt;br&amp;gt;Žvejo vardas, pavardė ir jam skirtų taškų skaičius.&lt;br /&gt;
 &lt;br /&gt;
 Žuvies pavadinimas ir visų žvejų pristatytų to pavadinimo žuvų bendra masė.&lt;br /&gt;
 Vertinamos, bet nesugautos žuvies pavadinimas ir masė.&lt;br /&gt;
 Vertinamos, bet nesugautos žuvies pavadinimas ir masė.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  print(&#039;Čia bus sprendimas&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2020&amp;diff=350</id>
		<title>IT Egzaminai/2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2020&amp;diff=350"/>
		<updated>2023-05-22T08:16:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: Naujas puslapis: == 1 užduotis. Gėlės == &amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&amp;#039;&amp;#039;Maksimalus vertinimas – 23 taškai&amp;#039;&amp;#039;&amp;lt;/div&amp;gt; &amp;lt;p&amp;gt;Gėlių žydėjimo laikotarpiai yra nevienodi – vienos žydi ilgai, o kitos žydi trumpai. Gėlininkų draugijos nariai, ruošdamiesi gėlių parodai, nori išsiaiškinti, kuriuo laikotarpiu vasarą žydi daugiausia skirtingų gėlių.&amp;lt;/p&amp;gt; &amp;lt;p&amp;gt;Parašykite programą, skirtą surasti vasaros dienų intervalą, kai žydi daugiausia skirtingų gėlių. Jeigu yra keli tok...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Gėlės ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 23 taškai&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Gėlių žydėjimo laikotarpiai yra nevienodi – vienos žydi ilgai, o kitos žydi trumpai. Gėlininkų draugijos nariai, ruošdamiesi gėlių parodai, nori išsiaiškinti, kuriuo laikotarpiu vasarą žydi daugiausia skirtingų gėlių.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, skirtą surasti vasaros dienų intervalą, kai žydi daugiausia skirtingų gėlių. Jeigu yra keli tokie intervalai, turi būti pateikiamas pirmas iš jų.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Pradiniai duomenys===&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;. Duomenų faile pateiktos tik tos gėlės, kurios pradeda ir baigia žydėti vasaros mėnesiais.&lt;br /&gt;
Duomenų faile įrašyta:&lt;br /&gt;
* pirmoje eilutėje užrašytas vasarą žydinčių skirtingų gėlių skaičius &#039;&#039;&#039;n&#039;&#039;&#039; (1 &amp;lt;= &#039;&#039;&#039;n&#039;&#039;&#039; &amp;lt;= 30);&lt;br /&gt;
* kitose &#039;&#039;&#039;n&#039;&#039;&#039; eilučių užrašyta po penkis sveikuosius skaičius: gėlės numeris pagal katalogą, žydėjimo pradžios mėnuo ir diena, žydėjimo pabaigos mėnuo ir diena. Visi skaičiai atskirti bent vienu tarpo simboliu.&lt;br /&gt;
&lt;br /&gt;
===Rezultatai===&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje įrašykite didžiausią skirtingų žydinčių gėlių skaičių.&lt;br /&gt;
* Antroje eilutėje įrašykite pirmo vasaros dienų intervalo, kai žydi daugiausia skirtingų gėlių, pradžios mėnesį ir dieną.&lt;br /&gt;
* Trečioje eilutėje įrašykite pirmo vasaros dienų intervalo, kai žydi daugiausia skirtingų gėlių, pabaigos mėnesį ir dieną.&lt;br /&gt;
Visus skaičius atskirkite vienu tarpo simboliu&lt;br /&gt;
&lt;br /&gt;
===Nurodymai===&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri randa pirmos dienos, kai žydi daugiausia skirtingų gėlių, vietą vasaros dienų sąraše. Sąrašą sudaro 92 dienos.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
===Duomenų ir rezultatų pavyzdžiai===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;vertical-align:top;&amp;quot;&lt;br /&gt;
|+ 1 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 6&lt;br /&gt;
 121 6 15 7 25&lt;br /&gt;
 102 7 1  8 14&lt;br /&gt;
 236 6 30 8 31&lt;br /&gt;
 141 7 31 8 10&lt;br /&gt;
 111 7 1  7 20&lt;br /&gt;
 128 6 2  6 3&lt;br /&gt;
||&lt;br /&gt;
Vasarą žydinčių skirtingų gėlių skaičius.&amp;lt;br&amp;gt;&lt;br /&gt;
Toliau kiekvienoje eilutėje: gėlės numeris pagal katalogą, žydėjimo pradžios mėnuo ir diena,&amp;lt;br&amp;gt;&lt;br /&gt;
žydėjimo pabaigos mėnuo ir diena&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 4&lt;br /&gt;
 7 1&lt;br /&gt;
 7 20&lt;br /&gt;
||&lt;br /&gt;
Didžiausias skirtingų žydinčių gėlių skaičius.&amp;lt;br&amp;gt;&lt;br /&gt;
Pirmo intervalo, kai žydi daugiausia skirtingų gėlių, pradžios mėnuo ir diena.&amp;lt;br&amp;gt;&lt;br /&gt;
Pirmo intervalo, kai žydi daugiausia skirtingų gėlių, pabaigos mėnuo ir diena.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 2 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
 1&lt;br /&gt;
 222 6 30 7 1&lt;br /&gt;
||&lt;br /&gt;
Vasarą žydinčių skirtingų gėlių skaičius.&amp;lt;br&amp;gt;&lt;br /&gt;
Gėlės numeris pagal katalogą, žydėjimo pradžios mėnuo ir diena, žydėjimo pabaigos mėnuo&amp;lt;br&amp;gt;&lt;br /&gt;
ir diena.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
 1&lt;br /&gt;
 6 30&lt;br /&gt;
 7 1&lt;br /&gt;
||&lt;br /&gt;
Didžiausias skirtingų žydinčių gėlių skaičius.&amp;lt;br&amp;gt;&lt;br /&gt;
Pirmo intervalo, kai žydi daugiausia skirtingų gėlių, pradžios mėnuo ir diena.&amp;lt;br&amp;gt;&lt;br /&gt;
Pirmo intervalo, kai žydi daugiausia skirtingų gėlių, pabaigos mėnuo ir diena&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  print(&#039;Čia bus sprendimas&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Varžybos ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
  print(&#039;Čia bus sprendimas&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=%C5%A0ablonas:Documentation_subpage&amp;diff=281</id>
		<title>Šablonas:Documentation subpage</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=%C5%A0ablonas:Documentation_subpage&amp;diff=281"/>
		<updated>2023-04-04T08:55:17Z</updated>

		<summary type="html">&lt;p&gt;Admin: Naujas puslapis: &amp;lt;noinclude&amp;gt; &amp;lt;languages/&amp;gt; &amp;lt;/noinclude&amp;gt;{{#switch:&amp;lt;translate&amp;gt;&amp;lt;/translate&amp;gt; | = &amp;lt;includeonly&amp;gt;&amp;lt;!--  --&amp;gt;{{#if:{{IsDocSubpage|override={{{override|doc}}}|false=}}      | &amp;lt;!--(this template has been transcluded on a /doc or /{{{override}}} page)--&amp;gt; &amp;lt;/includeonly&amp;gt;&amp;lt;!--        --&amp;gt;{{#ifeq:{{{doc-notice|show}}} |show           | {{Mbox              | type = notice              | style = margin-bottom:1.0em;              | image = link=...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;{{#switch:&amp;lt;translate&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
 --&amp;gt;{{#if:{{IsDocSubpage|override={{{override|doc}}}|false=}}&lt;br /&gt;
     | &amp;lt;!--(this template has been transcluded on a /doc or /{{{override}}} page)--&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
      --&amp;gt;{{#ifeq:{{{doc-notice|show}}} |show&lt;br /&gt;
          | {{Mbox&lt;br /&gt;
             | type = notice&lt;br /&gt;
             | style = margin-bottom:1.0em;&lt;br /&gt;
             | image = [[File:OOjs UI icon book-ltr.svg|40px|alt=|link=]]&lt;br /&gt;
             | text =&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; This is a [[w:Wikipedia:Template documentation|documentation]] [[&amp;lt;tvar name=2&amp;gt;Special:MyLanguage/Help:Subpages&amp;lt;/tvar&amp;gt;|subpage]] for &amp;lt;tvar name=1&amp;gt;{{{1|[[:{{SUBJECTSPACE}}:{{BASEPAGENAME}}]]}}}&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{text2|}}}{{{text1|}}}&lt;br /&gt;
  |&amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt; It contains usage information, [[&amp;lt;tvar name=7&amp;gt;Special:MyLanguage/Help:Categories&amp;lt;/tvar&amp;gt;|categories]] and other content that is not part of the original &amp;lt;tvar name=1&amp;gt;{{{text2|{{{text1}}}}}}&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
  |&amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt; It contains usage information, [[&amp;lt;tvar name=7&amp;gt;Special:MyLanguage/Help:Categories&amp;lt;/tvar&amp;gt;|categories]] and other content that is not part of the original &amp;lt;tvar name=1&amp;gt;{{SUBJECTSPACE}}&amp;lt;/tvar&amp;gt; page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
  }}&lt;br /&gt;
            }}&lt;br /&gt;
         }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
      --&amp;gt;{{DEFAULTSORT:{{{defaultsort|{{PAGENAME}}}}}}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
      --&amp;gt;{{#if:{{{inhibit|}}} |&amp;lt;!--(don&#039;t categorize)--&amp;gt;&lt;br /&gt;
          |   &amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
               --&amp;gt;{{#ifexist:{{NAMESPACE}}:{{BASEPAGENAME}}&lt;br /&gt;
                   | [[Category:{{#switch:{{SUBJECTSPACE}}&lt;br /&gt;
                           | Template | Project = Template&lt;br /&gt;
                           | Module   = Module&lt;br /&gt;
                           | User     = User&lt;br /&gt;
                           | #default = MediaWiki&lt;br /&gt;
                       }} documentation pages{{#translation:}}]]&lt;br /&gt;
                   | [[Category:Documentation subpages without corresponding pages{{#translation:}}]]&lt;br /&gt;
                  }}&amp;lt;!--&lt;br /&gt;
           --&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
         }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
(completing initial #ifeq: at start of template:)&lt;br /&gt;
--&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
     | &amp;lt;!--(this template has not been transcluded on a /doc or /{{{override}}} page)--&amp;gt;&lt;br /&gt;
    }}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Template:Documentation subpage|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|content=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Usage == &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
Use this template on Template Documentation subpage (/doc).&lt;br /&gt;
&lt;br /&gt;
== See also == &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
*{{tl|Documentation}}&lt;br /&gt;
*{{tl|tl}}&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=%C5%A0ablonas:Clickable_button&amp;diff=279</id>
		<title>Šablonas:Clickable button</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=%C5%A0ablonas:Clickable_button&amp;diff=279"/>
		<updated>2023-04-04T07:54:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span class=&amp;quot;mw-ui-button {{#switch: {{{color|white}}} | red = mw-ui-destructive | green = mw-ui-progressive | white = | blue = mw-ui-progressive}}&amp;quot; role=&amp;quot;button&amp;quot; aria-disabled=&amp;quot;false&amp;quot;&amp;gt;{{{text|{{{1|Button text}}}}}}&amp;lt;/span&amp;gt;&amp;lt;noinclude&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=%C5%A0ablonas:Clickable_button&amp;diff=278</id>
		<title>Šablonas:Clickable button</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=%C5%A0ablonas:Clickable_button&amp;diff=278"/>
		<updated>2023-04-04T07:53:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: Naujas puslapis: &amp;lt;span class=&amp;quot;mw-ui-button {{#switch: {{{color|white}}} | red = mw-ui-destructive | green = mw-ui-progressive | white = | blue = mw-ui-progressive}}&amp;quot; role=&amp;quot;button&amp;quot; aria-disabled=&amp;quot;false&amp;quot;&amp;gt;{{{text|{{{1|Button text}}}}}}&amp;lt;/span&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation}} &amp;lt;/noinclude&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span class=&amp;quot;mw-ui-button {{#switch: {{{color|white}}} | red = mw-ui-destructive | green = mw-ui-progressive | white = | blue = mw-ui-progressive}}&amp;quot; role=&amp;quot;button&amp;quot; aria-disabled=&amp;quot;false&amp;quot;&amp;gt;{{{text|{{{1|Button text}}}}}}&amp;lt;/span&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vadov%C4%97lis/DUK&amp;diff=243</id>
		<title>Vadovėlis/DUK</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vadov%C4%97lis/DUK&amp;diff=243"/>
		<updated>2023-03-09T08:46:16Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;; Kaip galiu sukurti grafinę sąsają (angl. graphical user interface, GUI) su Python? : Gali naudoti vieną iš šių bibliotekų: [https://docs.python.org/3.5/library/tkinter.html TKinter], [https://riverbankcomputing.com/software/pyqt/intro PyQt], [https://wiki.gnome.org/Projects/PyGObject PyGobject]. Itin paprastai grafikai kurti, gali naudoti vėžliuko grafikos rėžimą &amp;lt;code&amp;gt;import turtle&amp;lt;/code&amp;gt;.&lt;br /&gt;
; Kaip galiu sukurti žaidimą su Python? : Savo žaidimą ar programėlę gali sukurti pasinaudodamas lietuviška platforma [https://angis.lrt.lt/ Angis]. Šiame puslapyje taip pat gali peržiūrėti nemokamas video pamokas ir spręsti pateiktas užduotis, taip pagerindamas savo programavimo žinias. Daugiau informacijos: https://wiki.angis.net. Kitas puikus būdas yra pasinaudoti angliška platforma [http://pygame.org PyGame].&lt;br /&gt;
; Kaip galiu sukurti vykdomąjį failą iš Python programos? : Trumpas atsakymas: Python yra interpretuojama kalba, todėl tai yra neįmanoma. Ilgas atsakymas: kažkas panašaus į vykdomąjį failą gali būti sukurta sujungiant Python interpretatorių su failu. Daugiau informacijos apie tai gali rasti šiame puslapyje http://www.python.org/doc/faq/programming/#how-can-i-create-a-stand-alone-binary-from-a-python-script&lt;br /&gt;
; Ką turėčiau daryti, jei turiu klausimų dėl vadovėlio arba radau jame klaidų? : Parašyk mums laišką elektroniniu paštu &#039;&#039;[mailto:info@pitonas.lt info@pitonas.lt]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Pabaiga |next=Terminai}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2022&amp;diff=238</id>
		<title>IT Egzaminai/2022</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2022&amp;diff=238"/>
		<updated>2023-02-23T10:51:25Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* 2 užduotis. Sportas namuose */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Programavimo konkursas ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 25 taškai&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
Į Lietuvos programavimo konkurso finalą pateko penki mokiniai, kurių rezultatai atrankos etape buvo geriausi. Finale mokiniams buvo pateiktos įvairaus sudėtingumo programavimo užduotys. Buvo nurodytas joms atlikti skirtas laiko limitas minutėmis ir jų maksimalus vertinimas taškais. Dalyviai programų failus kėlė į automatinio vertinimo sistemą, kuri tikrino, ar programos teisingos. Kai dalyvio programa pateikdavo teisingus visų testų rezultatus, sistema užfiksuodavo užduoties atlikimo laiką minutėmis. Jei dalyvis išsprendė uždavinį teisingai ir neviršijo tam uždaviniui skirto laiko limito, jis už tą uždavinį gavo maksimalų taškų skaičių; jeigu išsprendė teisingai, bet viršijo laiko limitą, gavo pusę maksimalaus taškų skaičiaus (rezultatas skaičiuojamas sveikaisiais skaičiais; pavyzdžiui, jei maksimalus užduoties vertinimas yra 3 taškai, tai už teisingą užduoties sprendimą, viršijus laiko limitą, dalyvis gavo 1 tašką); jeigu dalyvis uždavinio nesprendė arba išsprendė klaidingai, už jį gavo 0 taškų.&lt;br /&gt;
&lt;br /&gt;
Parašykite programą, kuri rastų didžiausią finale surinktų taškų skaičių ir sudarytų dalyvių, surinkusių&lt;br /&gt;
daugiausia taškų, sąrašą.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje užrašytas finale pateiktų uždavinių skaičius u (1 ≤ u ≤ 12).&lt;br /&gt;
* Antroje eilutėje iš eilės nurodytas kiekvienam uždaviniui spręsti skirtas laiko limitas minutėmis. Duomenys atskirti vienu tarpo simboliu.&lt;br /&gt;
* Trečioje eilutėje iš eilės nurodytas kiekvieno uždavinio maksimalus vertinimas taškais. Duomenys atskirti vienu tarpo simboliu.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti penkių finalo dalyvių duomenys: vardas (10 simbolių) ir kiekvienam uždaviniui spręsti sugaištas laikas minutėmis, užfiksuotas sistemos. Duomenys atskirti vienu tarpo simboliu. Buvo bent vienas dalyvis, kuris teisingai išsprendė bent vieną uždavinį.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje pateikite didžiausią finale surinktų taškų skaičių.&lt;br /&gt;
* Tolesnėse eilutėse pateikite dalyvių, surinkusių didžiausią taškų skaičių, sąrašą: dalyvio vardas, jo teisingai išspręstų uždavinių skaičius ir šiems uždaviniams spręsti sugaištas laikas minutėmis. Duomenys atskirti vienu tarpo simboliu. Sąrašas surikiuotas pagal teisingai išspręstų uždavinių skaičių mažėjančiai.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Sukurkite ir parašykite vieną funkciją, kuri apskaičiuoja dalyvio surinktų taškų skaičių, teisingai išspręstų uždavinių skaičių ir šiems uždaviniams spręsti sugaištą laiką minutėmis.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ Duomenų ir rezultatų pavyzdžiai&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
6&amp;lt;br&amp;gt;&lt;br /&gt;
10 10 20 15 15 20&amp;lt;br&amp;gt;&lt;br /&gt;
2 2 5 3 3 5&amp;lt;br&amp;gt;&lt;br /&gt;
Ignas 12 22 0 10 12 17&amp;lt;br&amp;gt;&lt;br /&gt;
Skirmantas 5 12 0 40 12 30&amp;lt;br&amp;gt;&lt;br /&gt;
Milda 10 10 20 22 31 23&amp;lt;br&amp;gt;&lt;br /&gt;
Asta Ieva 5 0 17 10 23 23&amp;lt;br&amp;gt;&lt;br /&gt;
Rima 8 0 14 23 12 23&lt;br /&gt;
|| &lt;br /&gt;
* Finale pateiktų uždavinių skaičius.&lt;br /&gt;
* Kiekvienam uždaviniui spręsti skirtas laiko limitas minutėmis. &lt;br /&gt;
* Kiekvieno uždavinio maksimalus vertinimas taškais.&lt;br /&gt;
* Penkių finalo dalyvių duomenys:&amp;lt;br&amp;gt;dalyvio vardas; kiekvienam uždaviniui spręsti sugaištas laikas minutėmis,&amp;lt;br&amp;gt;užfiksuotas sistemos.&lt;br /&gt;
* Skaičius 0 rodo, jog dalyvis to uždavinio nesprendė arba išsprendė klaidingai.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
13&amp;lt;br&amp;gt;&lt;br /&gt;
Milda 6 116&amp;lt;br&amp;gt;&lt;br /&gt;
Ignas 5 73&amp;lt;br&amp;gt;&lt;br /&gt;
Asta Ieva 5 78&amp;lt;br&amp;gt;&lt;br /&gt;
Rima 5 80&lt;br /&gt;
|| &lt;br /&gt;
* Didžiausias finale surinktų taškų skaičius.&lt;br /&gt;
* Dalyvių, surinkusių didžiausią taškų skaičių, sąrašas:&amp;lt;br&amp;gt;vardas; teisingai išspręstų uždavinių skaičius; šiems&amp;lt;br&amp;gt;uždaviniams spręsti sugaištas laikas minutėmis.&lt;br /&gt;
* Sąrašas surikiuotas pagal teisingai išspręstų uždavinių&amp;lt;br&amp;gt;skaičių mažėjančiai&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Konstantos&lt;br /&gt;
DUOMENŲ_FAILAS = &amp;quot;U1.txt&amp;quot;&lt;br /&gt;
REZULTATŲ_FAILAS = &amp;quot;U1rez.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# globalūs kintamieji&lt;br /&gt;
# nuskaitysim iš failų&lt;br /&gt;
viso_uždavinių = 0&lt;br /&gt;
laiko_limitai = []&lt;br /&gt;
maks_verinimai = []&lt;br /&gt;
&lt;br /&gt;
# naudosime visoje programoje&lt;br /&gt;
dalyviai = {}&lt;br /&gt;
maks_taškų = 1&lt;br /&gt;
&lt;br /&gt;
# funkcija skaičiuoti vieno dalyvio rezultatus&lt;br /&gt;
# rezultatus prideda prie globalaus kintamojo &#039;rezultatai&#039;&lt;br /&gt;
# parametrai: vardas ir sąrašas &lt;br /&gt;
def skaičiuok_balus(vardas, laikai):&lt;br /&gt;
&lt;br /&gt;
    # naudosime globalų kintamajį fiksuoti maksimalų surinkta taškų skaičių&lt;br /&gt;
    global maks_taškų&lt;br /&gt;
&lt;br /&gt;
    # kintamieji&lt;br /&gt;
    išspręsta_uždavinių = 0&lt;br /&gt;
    surinkta_taškų = 0&lt;br /&gt;
    viso_trukmė = 0&lt;br /&gt;
&lt;br /&gt;
    # kiekvieną uždavinį skaičiuojame atskirai&lt;br /&gt;
    for i in range(viso_uždavinių):&lt;br /&gt;
        # konvertuojame kintamuosius iš tekstinės eilutės į skaičius&lt;br /&gt;
        laikas = int(laikai[i])&lt;br /&gt;
        limitas = int(laiko_limitai[i])&lt;br /&gt;
        maks_vertinimas = int(maks_verinimai[i])&lt;br /&gt;
&lt;br /&gt;
        # skiriame maks taškų. Vėliau patikriname ar turėtų gauti pusę ar 0 taškų&lt;br /&gt;
        vertinimas = maks_vertinimas&lt;br /&gt;
        if laikas &amp;gt; limitas:&lt;br /&gt;
            vertinimas = maks_vertinimas // 2&lt;br /&gt;
        if laikas &amp;gt; 0:&lt;br /&gt;
            išspręsta_uždavinių += 1&lt;br /&gt;
            surinkta_taškų += vertinimas&lt;br /&gt;
        viso_trukmė += laikas&lt;br /&gt;
&lt;br /&gt;
    if maks_taškų &amp;lt; surinkta_taškų:&lt;br /&gt;
        maks_taškų = surinkta_taškų&lt;br /&gt;
    &lt;br /&gt;
    return { &#039;vardas&#039;: vardas, &#039;uždaviniai&#039;: išspręsta_uždavinių, &#039;balai&#039;: surinkta_taškų, &#039;laikas&#039;: viso_trukmė }&lt;br /&gt;
&lt;br /&gt;
# rūšiavimo funkcija&lt;br /&gt;
def rūšiuok(rezultatai):    &lt;br /&gt;
    sąrašas = []&lt;br /&gt;
&lt;br /&gt;
    # pasiimame tik tuos rezultatus, kurie suringko maks balų&lt;br /&gt;
    for r in rezultatai:&lt;br /&gt;
        if r[&#039;balai&#039;] == maks_taškų:&lt;br /&gt;
            sąrašas.append(r)&lt;br /&gt;
&lt;br /&gt;
    # rūšiuojame atrinktus rezultatus burbulo principu&lt;br /&gt;
    while True:&lt;br /&gt;
        buvo_pakeitimų = False&lt;br /&gt;
        for i in range(len(sąrašas) - 1):&lt;br /&gt;
            s1 = sąrašas[i]&lt;br /&gt;
            s2 = sąrašas[i + 1]&lt;br /&gt;
            if s1[&#039;uždaviniai&#039;] &amp;lt; s2[&#039;uždaviniai&#039;] or (s1[&#039;uždaviniai&#039;] == s2[&#039;uždaviniai&#039;] and s1[&#039;laikas&#039;] &amp;gt; s2[&#039;laikas&#039;]) :&lt;br /&gt;
                laikinasElementas = sąrašas[i]&lt;br /&gt;
                sąrašas[i] = sąrašas[i + 1]&lt;br /&gt;
                sąrašas[i + 1] = laikinasElementas&lt;br /&gt;
                buvo_pakeitimų = True&lt;br /&gt;
        &lt;br /&gt;
        if not buvo_pakeitimų:&lt;br /&gt;
            break&lt;br /&gt;
    return sąrašas&lt;br /&gt;
&lt;br /&gt;
# spausdiname rezultatus į failą&lt;br /&gt;
def atspausdinti(rezultatai):&lt;br /&gt;
    global maks_taškų&lt;br /&gt;
    with open(REZULTATŲ_FAILAS, &amp;quot;w&amp;quot;) as rašomas_failas:&lt;br /&gt;
        # pirma eilutė - maksimalus taškų skaičius&lt;br /&gt;
        rašomas_failas.write(str(maks_taškų))&lt;br /&gt;
        rašomas_failas.write(&amp;quot;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        # įrašome pateiktus rezultatus iš eilės&lt;br /&gt;
        for r in rezultatai:&lt;br /&gt;
            rašomas_failas.writelines([r[&#039;vardas&#039;], &amp;quot; &amp;quot;, str(r[&#039;uždaviniai&#039;]), &amp;quot; &amp;quot;, str(r[&#039;laikas&#039;]), &amp;quot;\n&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
# programa&lt;br /&gt;
# nuskaitome duomenis iš failo ir priskiriame juos globaliems kintamiesiems&lt;br /&gt;
with open(DUOMENŲ_FAILAS, &amp;quot;rt&amp;quot;) as skaitomas_failas:&lt;br /&gt;
    viso_uždavinių = int(skaitomas_failas.readline())&lt;br /&gt;
    laiko_limitai = skaitomas_failas.readline().split(&amp;quot; &amp;quot;)&lt;br /&gt;
    maks_verinimai = skaitomas_failas.readline().split(&amp;quot; &amp;quot;)&lt;br /&gt;
    while True:&lt;br /&gt;
        tekstas = skaitomas_failas.readline()&lt;br /&gt;
        if not tekstas:&lt;br /&gt;
            break&lt;br /&gt;
        dalyviai[tekstas[:10].strip()] = tekstas[11:].split(&amp;quot; &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# kiekvieno dalyvio balus apskaičiuojame atskirai pasinaudodami skaičiavimo funkcija&lt;br /&gt;
rezultatai = []&lt;br /&gt;
for dalyvis in dalyviai:&lt;br /&gt;
    rezultatai.append(skaičiuok_balus(dalyvis, dalyviai[dalyvis]))&lt;br /&gt;
&lt;br /&gt;
# prafiltruojame ir surūšiuojame rezultatus&lt;br /&gt;
galutiniai_rezultatai = rūšiuok(rezultatai)&lt;br /&gt;
&lt;br /&gt;
# atspausdiname&lt;br /&gt;
atspausdinti(galutiniai_rezultatai)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sportas namuose ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 25 taškai&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Juozas dirba namuose. Norėdamas daugiau judėti, jis nusprendė sausio mėnesį pradėti sportuoti – pagal&lt;br /&gt;
galimybes atlikti namuose penkis įvairius pratimus. Juozas užrašuose žymėdavosi sportavimo duomenis:&lt;br /&gt;
kiek kartų sportavo tam tikrą dieną, pratimų pavadinimus, kuriuo dienos metu juos atliko ir kiek laiko&lt;br /&gt;
minutėmis skyrė nurodytiems pratimams atlikti.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, kuri apskaičiuotų ir išvestų Juozo sausio mėnesį atliktų pratimų statistiką.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U2.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje užrašyta, kiek dienų d (1 ≤ d ≤ 31) sausio mėnesį sportavo Juozas.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti Juozo sportavimo duomenys: kiek kartų jis sportavo tam tikrą dieną s (1 ≤ s ≤ 7) ir pratimų duomenys: pratimo pavadinimas (14 simbolių), dienos metas (žodis Rytas, Diena, Vakaras; 7 simboliai) ir kiek laiko minutėmis Juozas sugaišo, atlikdamas nurodytą pratimą. Juozas gali tą patį pratimą atlikti tą pačią dieną daugiau negu vieną kartą ir bet kuriuo dienos metu. Duomenys atskirti vienu tarpo simboliu. Buvo bent viena diena, kai Juozas atliko bent vieną pratimą.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U2rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Įrašykite pratimų pavadinimus, dienų, kai Juozas atliko nurodytus pratimus, skaičių ir kiek iš viso laiko minutėmis sugaišo šiems pratimams atlikti. Pratimų sąrašą surikiuokite abėcėliškai. Duomenis eilutėje atskirkite vienu tarpo simboliu.&lt;br /&gt;
* Po kiekvieno pratimo pavadinimo atskirose eilutėse parašykite žodžius Rytas, Diena, Vakaras ir nurodykite, kiek kartų sausio mėnesį Juozas nurodytu dienos metu atliko nurodytą pratimą. Duomenis eilutėje atskirkite vienu tarpo simboliu. Jeigu kurio nors pratimo kuriuo nors dienos metu nebuvo atlikta nė karto, duomenų apie šį dienos metą pateikti nereikia.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Programoje naudokite struktūros duomenų tipo masyvą sportavimo duomenims saugoti.&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri sudarytų pratimų unikalių (nepasikartojančių) pavadinimų sąrašą. Python programavimo kalboje naudokite žodyno duomenų struktūrą arba struktūrą sudarykite, naudodami klases.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ Duomenų ir rezultatų pavyzdžiai&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Duomenų failo pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
&lt;br /&gt;
2 Atsilenkimai   Rytas   10 Prisitraukimai Rytas   8&lt;br /&gt;
&lt;br /&gt;
3 Atsispaudimai  Diena   8 Tempimas       Vakaras 8 Atsilenkimai   Vakaras 9&lt;br /&gt;
&lt;br /&gt;
1 Svarmenys      Vakaras 11&lt;br /&gt;
&lt;br /&gt;
3 Svarmenys      Diena   10 Svarmenys      Diena   12 Atsilenkimai   Diena   15&lt;br /&gt;
&lt;br /&gt;
2 Atsilenkimai   Vakaras 22 Svarmenys      Vakaras 10&lt;br /&gt;
&lt;br /&gt;
3 Svarmenys      Diena   15 Atsispaudimai  Diena   15 Atsispaudimai  Diena   5&lt;br /&gt;
&lt;br /&gt;
2 Svarmenys      Rytas   23 Svarmenys      Vakaras 13&lt;br /&gt;
&lt;br /&gt;
3 Atsispaudimai  Rytas   10 Atsispaudimai  Diena   12 Tempimas       Vakaras 10&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* Kiek dienų sausio mėnesį sportavo Juozas.&lt;br /&gt;
* Kiek kartų Juozas sportavo tam tikrą dieną; pratimų duomenys:&lt;br /&gt;
:* pratimo pavadinimas;&lt;br /&gt;
:* dienos metas (Rytas, Diena, Vakaras);&lt;br /&gt;
:* kiek laiko minutėmis sugaišta, atliekant nurodytą pratimą.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys || Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|[[Vaizdas:2023-2-uzd-pvz.png|miniatiūra|313x313px]]&lt;br /&gt;
||&lt;br /&gt;
* Pratimo pavadinimas; dienų, kai Juozas atliko nurodytą pratimą, skaičius; kiek iš viso laiko minutėmis sugaišta šiam pratimui atlikti.&lt;br /&gt;
* Dienos metas, kai buvo atliktas nurodytas pratimas; kiek kartų sausio mėnesį nurodytu dienos metu buvo atliktas nurodytas pratimas.&lt;br /&gt;
* Sąrašas surikiuotas pagal pratimų pavadinimą abėcėliškai.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Konstantos kurias naudosime programoje&lt;br /&gt;
DUOMENŲ_FAILAS = &amp;quot;U2.txt&amp;quot;&lt;br /&gt;
REZULTATŲ_FAILAS = &amp;quot;U2rez.txt&amp;quot;&lt;br /&gt;
PRATIMO_PAVADINIMO_ILGIS = 14&lt;br /&gt;
DIENOS_METO_ILGIS = 7&lt;br /&gt;
DIENOS_METAS_RYTAS = &amp;quot;Rytas  &amp;quot;&lt;br /&gt;
DIENOS_METAS_DIENA = &amp;quot;Diena  &amp;quot;&lt;br /&gt;
DIENOS_METAS_VAKARAS = &amp;quot;Vakaras&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Klasė skirta konkretaus pratimo atlikimo duomenims saugoti&lt;br /&gt;
# Pratimo pavadimas bus naudojamas kaip raktas žodyne, tad jo saugoti klasėje papildomai nebereikia&lt;br /&gt;
class Sportavimas:&lt;br /&gt;
    def __init__(self):&lt;br /&gt;
        # Dienų kuriomis buvo atliktas pratimas indekasai&lt;br /&gt;
        self.dienos = []&lt;br /&gt;
        # Pratimo atlikimo bendra trukmė&lt;br /&gt;
        self.trukmė = 0&lt;br /&gt;
        # Kiek kartų pratimas atliktas konkrečiu dienos metu&lt;br /&gt;
        self.rytas = 0&lt;br /&gt;
        self.diena = 0&lt;br /&gt;
        self.vakaras = 0&lt;br /&gt;
    &lt;br /&gt;
    # Pridedamas naujas konkretaus pratimo atlikimo įrašas&lt;br /&gt;
    def pridėk_pratimą (self, diena, trukmė, dienos_metas):&lt;br /&gt;
        # Jeigu šią dieną pratimo dar nebuvo daryta, tai pažymime dienų sąraše, jog pratimas buvo atliktas&lt;br /&gt;
        if diena not in self.dienos:&lt;br /&gt;
            self.dienos.append(diena)&lt;br /&gt;
        self.trukmė += trukmė&lt;br /&gt;
        if dienos_metas == DIENOS_METAS_RYTAS:&lt;br /&gt;
            self.rytas += 1&lt;br /&gt;
        elif dienos_metas == DIENOS_METAS_DIENA:&lt;br /&gt;
            self.diena += 1&lt;br /&gt;
        elif dienos_metas == DIENOS_METAS_VAKARAS:&lt;br /&gt;
            self.vakaras += 1&lt;br /&gt;
            &lt;br /&gt;
    # Funkcija dienų skaičiui gauti&lt;br /&gt;
    def gauk_dienų_skaičių(self):&lt;br /&gt;
        return len(self.dienos)&lt;br /&gt;
&lt;br /&gt;
# Funcija gražinanti uniklų pratimų sąrašą, kaip reikalaujama egazmino sąlygoje&lt;br /&gt;
def gauk_unikalų_pratimų_sąrašą(duomenys):&lt;br /&gt;
    return list(duomenys.keys());&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Funkcija nuskaitanti faile esančius duomenis&lt;br /&gt;
def skaityk_failą():&lt;br /&gt;
    sportavimas = {}&lt;br /&gt;
    with open(DUOMENŲ_FAILAS, &amp;quot;r&amp;quot;) as skaitomas_failas:&lt;br /&gt;
        d = int(skaitomas_failas.readline())&lt;br /&gt;
        for i in range(0,d):&lt;br /&gt;
            # Nuskaitome s, kartu ir po jo einantį tarpą (1 ≤ s ≤ 7)&lt;br /&gt;
            s = int(skaitomas_failas.read(2))&lt;br /&gt;
&lt;br /&gt;
            for _ in range(0,s):&lt;br /&gt;
                pratimas = skaitomas_failas.read(PRATIMO_PAVADINIMO_ILGIS)&lt;br /&gt;
                # Praleidžiame tarpą skiriantį pratimo pavadinimą ir dienos metą&lt;br /&gt;
                skaitomas_failas.read(1)&lt;br /&gt;
                dienos_metas = skaitomas_failas.read(DIENOS_METO_ILGIS)&lt;br /&gt;
                &lt;br /&gt;
                # Praleidžiame tarpą skiriantį pratimo pavadinimą ir dienos metą&lt;br /&gt;
                skaitomas_failas.read(1)                &lt;br /&gt;
                &lt;br /&gt;
                # Skaitom atlikimo laiką iki aptinkame tarpą&lt;br /&gt;
                perskaitytas_simobolis = skaitomas_failas.read(1)&lt;br /&gt;
                trukmė = 0&lt;br /&gt;
&lt;br /&gt;
                # Skaitome po simbolį ir &amp;quot;sulipdome&amp;quot; trukmės skaičių&lt;br /&gt;
                while perskaitytas_simobolis.isdigit():&lt;br /&gt;
                    # Skaitome laiką po simbolį ir verčiame į skaičių&lt;br /&gt;
                    trukmė = trukmė * 10 + int(perskaitytas_simobolis)&lt;br /&gt;
                    perskaitytas_simobolis = skaitomas_failas.read(1)&lt;br /&gt;
                &lt;br /&gt;
                # Jeigu pratimas sutinkamas pirmą kartą - sukuriame naują `Sportavimas` tipo objektą&lt;br /&gt;
                if pratimas not in sportavimas:&lt;br /&gt;
                    sportavimas[pratimas] = Sportavimas()&lt;br /&gt;
                sportavimas[pratimas].pridėk_pratimą(i, trukmė, dienos_metas)&lt;br /&gt;
&lt;br /&gt;
    return sportavimas&lt;br /&gt;
&lt;br /&gt;
# Pagalbinė funkcija, skirta dienos meto duomenų įrašymui į failą&lt;br /&gt;
def rašyk_dienos_meto_duomenis_į_failą(rašomas_failas, dienos_metas, pratimų_kiekis):&lt;br /&gt;
    rašomas_failas.write(dienos_metas)&lt;br /&gt;
    rašomas_failas.write(&amp;quot; &amp;quot;)&lt;br /&gt;
    rašomas_failas.write(str(pratimų_kiekis))&lt;br /&gt;
    rašomas_failas.write(&amp;quot;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def rašyk_failą(duomenys):&lt;br /&gt;
    # Pasiimame žodyno raktus kad juos galėtume išrūšiuoti kaip sąrašą&lt;br /&gt;
    pratimai = gauk_unikalų_pratimų_sąrašą(duomenys)&lt;br /&gt;
    # Rūšiuojame pavadinimus&lt;br /&gt;
    pratimai.sort()&lt;br /&gt;
    with open(REZULTATŲ_FAILAS, &amp;quot;w&amp;quot;) as rašomas_failas:&lt;br /&gt;
        for pratimas in pratimai:&lt;br /&gt;
            rašomas_failas.write(pratimas)&lt;br /&gt;
            rašomas_failas.write(&amp;quot; &amp;quot;)&lt;br /&gt;
            rašomas_failas.write(str(duomenys[pratimas].gauk_dienų_skaičių()))&lt;br /&gt;
            rašomas_failas.write(&amp;quot; &amp;quot;)&lt;br /&gt;
            rašomas_failas.write(str(duomenys[pratimas].trukmė))&lt;br /&gt;
            rašomas_failas.write(&amp;quot;\n&amp;quot;)&lt;br /&gt;
            if duomenys[pratimas].rytas &amp;gt; 0:&lt;br /&gt;
                rašyk_dienos_meto_duomenis_į_failą(rašomas_failas, DIENOS_METAS_RYTAS, duomenys[pratimas].rytas)&lt;br /&gt;
            if duomenys[pratimas].diena &amp;gt; 0:&lt;br /&gt;
                rašyk_dienos_meto_duomenis_į_failą(rašomas_failas, DIENOS_METAS_DIENA, duomenys[pratimas].diena)&lt;br /&gt;
            if duomenys[pratimas].vakaras &amp;gt; 0:&lt;br /&gt;
                rašyk_dienos_meto_duomenis_į_failą(rašomas_failas, DIENOS_METAS_VAKARAS, duomenys[pratimas].vakaras)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    duomenys = skaityk_failą()    &lt;br /&gt;
    rašyk_failą(duomenys)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vaizdas:2023-2-uzd-pvz.png&amp;diff=237</id>
		<title>Vaizdas:2023-2-uzd-pvz.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vaizdas:2023-2-uzd-pvz.png&amp;diff=237"/>
		<updated>2023-02-23T10:51:06Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2023 2 užduoties pvz&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=236</id>
		<title>IT Egzaminai/2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=236"/>
		<updated>2023-02-23T10:45:15Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* 2 užduotis. Apklausa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Bėgimas ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 20 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Laurynas nusprendė liepos mėnesį ryte ir vakare bėgti miške tą pačią 5 km trasą. Tokį atstumą jis įprastai įveikia per 15–20 minučių. Savo bėgimo laiko rezultatus Laurynas pasižymėdavo užrašuose, įrašydamas dieną ir kiekvieno bėgimo pradžios bei pabaigos laiką valandomis ir minutėmis. Jeigu dėl kokios nors priežasties (pvz., prasto oro) bėgimą praleisdavo, tuomet vietoj to bėgimo pradžios ir pabaigos laiko valandomis ir minutėmis jis įrašydavo nulius.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, skirtą rasti dieną, kai Laurynas, &#039;&#039;&#039;bėgdamas ir ryte, ir vakare&#039;&#039;&#039;, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, turi būti pateikiamos jos visos&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;&lt;br /&gt;
* Pirmoje eilutėje užrašyta, kiek dienų &#039;&#039;&#039;d&#039;&#039;&#039; (1 ≤ &#039;&#039;&#039;d&#039;&#039;&#039; ≤ 31) Laurynas bėgo bent vieną kartą.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti bėgimo duomenys: liepos mėnesio diena; bėgimo ryte pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis; bėgimo vakare pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis. Duomenys atskirti bent vienu tarpo simboliu. Buvo bent viena diena, kai Laurynas bėgo ir ryte, ir vakare.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje parašykite tekstą „Minimalus laikas“.&lt;br /&gt;
* Antroje eilutėje užrašykite mažiausią bėgimo ryte ir vakare laiką minutėmis.&lt;br /&gt;
* Trečioje eilutėje parašykite tekstą „Dienos“.&lt;br /&gt;
* Ketvirtoje eilutėje užrašykite dieną, kai Laurynas, bėgdamas ir ryte, ir vakare, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, jos turi būti pateikiamos tokia eilės tvarka, kokia jas surašė Laurynas. Dienos turi būti atskiriamos vienu tarpo simboliu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri apskaičiuoja, kiek laiko (minutėmis) Laurynas sugaišo bėgimui.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ Duomenų ir rezultatų pavyzdžiai&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
6&amp;lt;br&amp;gt;&lt;br /&gt;
3 09 25 09 40 19 45 20 00&amp;lt;br&amp;gt;&lt;br /&gt;
6 08 30 08 48  0  0  0  0&amp;lt;br&amp;gt;&lt;br /&gt;
7 09 18 09 38 18 52 19 11&amp;lt;br&amp;gt;&lt;br /&gt;
10 08 48 09 03 18 45 19 00&amp;lt;br&amp;gt;&lt;br /&gt;
15 08 52 09 11 17 58 18 18&amp;lt;br&amp;gt;&lt;br /&gt;
30  0  0  0  0 19 02 19 20&lt;br /&gt;
||&lt;br /&gt;
* Skaičius dienų, kai Laurynas bėgo bent vieną kartą.&lt;br /&gt;
* Liepos mėnesio diena; bėgimo ryte pradžios ir pabaigos&amp;lt;br&amp;gt; laikas, nurodytas valandomis ir minutėmis; bėgimo&amp;lt;br&amp;gt; vakare pradžios ir pabaigos laikas, nurodytas valandomis&amp;lt;br&amp;gt; ir minutėmis.&lt;br /&gt;
* 0 0 0 0 rodo, jog tą rytą arba vakarą Laurynas nebėgo&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Minimalus laikas&amp;lt;br&amp;gt;&lt;br /&gt;
30&amp;lt;br&amp;gt;&lt;br /&gt;
Dienos&amp;lt;br&amp;gt;&lt;br /&gt;
3 10&lt;br /&gt;
||&lt;br /&gt;
* Mažiausias bėgimo ryte ir vakare laikas minutėmis.&lt;br /&gt;
* Liepos mėnesio dienos, kai Laurynas, bėgdamas ir ryte,&amp;lt;br&amp;gt; ir vakare, sugaišo mažiausiai laiko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Čia netrukus atsiras užduoties sprendimas.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Apklausa ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 30 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Monika projektinio darbo metu atliko apklausą, siekdama išsiaiškinti, kurie mokomieji dalykai jos draugams patinka labiausiai. Atlikdama apklausą, ji kaskart pasižymėdavo draugo vardą, jo mėgstamiausią dalyką ir to dalyko pažymius.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, kuri sudarytų mokinių nurodytų populiariausių dalykų sąrašą ir pateiktų šiuos dalykus pasirinkusių mokinių vardus. Sąraše turi būti pateikiami tik tie dalykai, kuriuos pasirinkusių mokinių pažymių vidurkis yra ne mažesnis kaip 9.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U2.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje užrašytas apklaustų mokinių skaičius m (1 ≤ m ≤ 50).&lt;br /&gt;
* Tolesnėse eilutėse užrašyti draugų duomenys: vardas (vienas žodis); jo mėgstamiausias dalykas (vienas žodis); to dalyko pažymių skaičius; pažymiai. Duomenys atskirti vienu tarpo simboliu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U2rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Įrašykite dalykus, kuriuos pasirinkusių mokinių pažymių vidurkis ne mažesnis kaip 9, ir juos pasirinkusių mokinių skaičių. Dalykus rašykite pagal jų populiarumą mažėjančiai. Jei yra keli dalykai, kurių populiarumas vienodas, tai juos pateikite abėcėliškai.&lt;br /&gt;
* Po kiekvieno dalyko atskirose eilutėse pateikite jį pasirinkusių mokinių, kurių to dalyko pažymių vidurkis yra ne mažesnis kaip 9, vardus tokia eilės tvarka, kokia jie buvo užrašyti pradinių duomenų faile.&lt;br /&gt;
* Jeigu tarp dalykų nėra tokių, kuriuos pasirinkusių mokinių pažymių vidurkis ne mažesnis kaip 9, tuomet turi būti pateiktas tekstinis pranešimas „Neatitinka vidurkis“.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&lt;br /&gt;
* Programoje naudokite struktūros duomenų tipo masyvą apklaustų mokinių duomenims saugoti.&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri surikiuoja populiariausių dalykų sąrašą.&lt;br /&gt;
* Programoje nenaudokite globalių kintamųjų.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Duomenų ir rezultatų pavyzdžiai&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 1 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
8&amp;lt;br&amp;gt;&lt;br /&gt;
Povilas Matematika 5 9 9 9 9 10&amp;lt;br&amp;gt;&lt;br /&gt;
Jonas Istorija 4 10 9 10 10&amp;lt;br&amp;gt;&lt;br /&gt;
Milda Matematika 6 10 8 9 9 9 9&amp;lt;br&amp;gt;&lt;br /&gt;
Asta Informatika 3 10 10 10&amp;lt;br&amp;gt;&lt;br /&gt;
Ieva Matematika 3 9 9 8&amp;lt;br&amp;gt;&lt;br /&gt;
Rima Informatika 3 10 10 7&amp;lt;br&amp;gt;&lt;br /&gt;
Juozas Fizika 2 8 9&amp;lt;br&amp;gt;&lt;br /&gt;
Laura Fizika 1 8&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
* Apklaustų mokinių skaičius.&lt;br /&gt;
* Mokinio vardas; jo mėgstamiausias dalykas; to&amp;lt;br&amp;gt; dalyko pažymių skaičius; pažymiai.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Informatika 2&amp;lt;br&amp;gt;&lt;br /&gt;
Asta&amp;lt;br&amp;gt;&lt;br /&gt;
Rima&amp;lt;br&amp;gt;&lt;br /&gt;
Matematika 2&amp;lt;br&amp;gt;&lt;br /&gt;
Povilas&amp;lt;br&amp;gt;&lt;br /&gt;
Milda&amp;lt;br&amp;gt;&lt;br /&gt;
Istorija 1&amp;lt;br&amp;gt;&lt;br /&gt;
Jonas&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
* Dalykai, kuriuos pasirinkusių mokinių pažymių&amp;lt;br&amp;gt;vidurkis ne mažesnis kaip 9, ir juos pasirinkusių&amp;lt;br&amp;gt;mokinių skaičius.&lt;br /&gt;
* Tą dalyką pasirinkusių mokinių vardai.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ 2 pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
4&amp;lt;br&amp;gt;&lt;br /&gt;
Linas Informatika 4 10 8 8 9&amp;lt;br&amp;gt;&lt;br /&gt;
Ieva Matematika 3 9 9 8&amp;lt;br&amp;gt;&lt;br /&gt;
Juozas Fizika 2 8 9&amp;lt;br&amp;gt;&lt;br /&gt;
Rokas Chemija 4 9 9 10 7&amp;lt;br&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
* Apklaustų mokinių skaičius.&lt;br /&gt;
* Mokinio vardas; jo mėgstamiausias dalykas; to&amp;lt;br&amp;gt;dalyko pažymių skaičius; pažymiai.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Neatitinka vidurkis&lt;br /&gt;
|| &lt;br /&gt;
Nėra nė vieno dalyko, kurį pasirinkusių mokinių&amp;lt;br&amp;gt;&lt;br /&gt;
pažymių vidurkis ne mažesnis kaip 9.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Čia netrukus atsiras užduoties sprendimas.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=235</id>
		<title>IT Egzaminai/2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=235"/>
		<updated>2023-02-23T10:35:14Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Bėgimas ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 20 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Laurynas nusprendė liepos mėnesį ryte ir vakare bėgti miške tą pačią 5 km trasą. Tokį atstumą jis įprastai įveikia per 15–20 minučių. Savo bėgimo laiko rezultatus Laurynas pasižymėdavo užrašuose, įrašydamas dieną ir kiekvieno bėgimo pradžios bei pabaigos laiką valandomis ir minutėmis. Jeigu dėl kokios nors priežasties (pvz., prasto oro) bėgimą praleisdavo, tuomet vietoj to bėgimo pradžios ir pabaigos laiko valandomis ir minutėmis jis įrašydavo nulius.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, skirtą rasti dieną, kai Laurynas, &#039;&#039;&#039;bėgdamas ir ryte, ir vakare&#039;&#039;&#039;, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, turi būti pateikiamos jos visos&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;&lt;br /&gt;
* Pirmoje eilutėje užrašyta, kiek dienų &#039;&#039;&#039;d&#039;&#039;&#039; (1 ≤ &#039;&#039;&#039;d&#039;&#039;&#039; ≤ 31) Laurynas bėgo bent vieną kartą.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti bėgimo duomenys: liepos mėnesio diena; bėgimo ryte pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis; bėgimo vakare pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis. Duomenys atskirti bent vienu tarpo simboliu. Buvo bent viena diena, kai Laurynas bėgo ir ryte, ir vakare.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje parašykite tekstą „Minimalus laikas“.&lt;br /&gt;
* Antroje eilutėje užrašykite mažiausią bėgimo ryte ir vakare laiką minutėmis.&lt;br /&gt;
* Trečioje eilutėje parašykite tekstą „Dienos“.&lt;br /&gt;
* Ketvirtoje eilutėje užrašykite dieną, kai Laurynas, bėgdamas ir ryte, ir vakare, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, jos turi būti pateikiamos tokia eilės tvarka, kokia jas surašė Laurynas. Dienos turi būti atskiriamos vienu tarpo simboliu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri apskaičiuoja, kiek laiko (minutėmis) Laurynas sugaišo bėgimui.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ Duomenų ir rezultatų pavyzdžiai&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
6&amp;lt;br&amp;gt;&lt;br /&gt;
3 09 25 09 40 19 45 20 00&amp;lt;br&amp;gt;&lt;br /&gt;
6 08 30 08 48  0  0  0  0&amp;lt;br&amp;gt;&lt;br /&gt;
7 09 18 09 38 18 52 19 11&amp;lt;br&amp;gt;&lt;br /&gt;
10 08 48 09 03 18 45 19 00&amp;lt;br&amp;gt;&lt;br /&gt;
15 08 52 09 11 17 58 18 18&amp;lt;br&amp;gt;&lt;br /&gt;
30  0  0  0  0 19 02 19 20&lt;br /&gt;
||&lt;br /&gt;
* Skaičius dienų, kai Laurynas bėgo bent vieną kartą.&lt;br /&gt;
* Liepos mėnesio diena; bėgimo ryte pradžios ir pabaigos&amp;lt;br&amp;gt; laikas, nurodytas valandomis ir minutėmis; bėgimo&amp;lt;br&amp;gt; vakare pradžios ir pabaigos laikas, nurodytas valandomis&amp;lt;br&amp;gt; ir minutėmis.&lt;br /&gt;
* 0 0 0 0 rodo, jog tą rytą arba vakarą Laurynas nebėgo&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Minimalus laikas&amp;lt;br&amp;gt;&lt;br /&gt;
30&amp;lt;br&amp;gt;&lt;br /&gt;
Dienos&amp;lt;br&amp;gt;&lt;br /&gt;
3 10&lt;br /&gt;
||&lt;br /&gt;
* Mažiausias bėgimo ryte ir vakare laikas minutėmis.&lt;br /&gt;
* Liepos mėnesio dienos, kai Laurynas, bėgdamas ir ryte,&amp;lt;br&amp;gt; ir vakare, sugaišo mažiausiai laiko&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Čia netrukus atsiras užduoties sprendimas.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Apklausa ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Čia netrukus atsiras užduoties sprendimas.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=234</id>
		<title>IT Egzaminai/2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=234"/>
		<updated>2023-02-23T10:33:23Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* 1 užduotis. Bėgimas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Bėgimas ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 20 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Laurynas nusprendė liepos mėnesį ryte ir vakare bėgti miške tą pačią 5 km trasą. Tokį atstumą jis įprastai įveikia per 15–20 minučių. Savo bėgimo laiko rezultatus Laurynas pasižymėdavo užrašuose, įrašydamas dieną ir kiekvieno bėgimo pradžios bei pabaigos laiką valandomis ir minutėmis. Jeigu dėl kokios nors priežasties (pvz., prasto oro) bėgimą praleisdavo, tuomet vietoj to bėgimo pradžios ir pabaigos laiko valandomis ir minutėmis jis įrašydavo nulius.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, skirtą rasti dieną, kai Laurynas, &#039;&#039;&#039;bėgdamas ir ryte, ir vakare&#039;&#039;&#039;, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, turi būti pateikiamos jos visos&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;&lt;br /&gt;
* Pirmoje eilutėje užrašyta, kiek dienų &#039;&#039;&#039;d&#039;&#039;&#039; (1 ≤ &#039;&#039;&#039;d&#039;&#039;&#039; ≤ 31) Laurynas bėgo bent vieną kartą.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti bėgimo duomenys: liepos mėnesio diena; bėgimo ryte pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis; bėgimo vakare pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis. Duomenys atskirti bent vienu tarpo simboliu. Buvo bent viena diena, kai Laurynas bėgo ir ryte, ir vakare.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje parašykite tekstą „Minimalus laikas“.&lt;br /&gt;
* Antroje eilutėje užrašykite mažiausią bėgimo ryte ir vakare laiką minutėmis.&lt;br /&gt;
* Trečioje eilutėje parašykite tekstą „Dienos“.&lt;br /&gt;
* Ketvirtoje eilutėje užrašykite dieną, kai Laurynas, bėgdamas ir ryte, ir vakare, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, jos turi būti pateikiamos tokia eilės tvarka, kokia jas surašė Laurynas. Dienos turi būti atskiriamos vienu tarpo simboliu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri apskaičiuoja, kiek laiko (minutėmis) Laurynas sugaišo bėgimui.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ Duomenų ir rezultatų pavyzdžiai&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
6&amp;lt;br&amp;gt;&lt;br /&gt;
3 09 25 09 40 19 45 20 00&amp;lt;br&amp;gt;&lt;br /&gt;
6 08 30 08 48  0  0  0  0&amp;lt;br&amp;gt;&lt;br /&gt;
7 09 18 09 38 18 52 19 11&amp;lt;br&amp;gt;&lt;br /&gt;
10 08 48 09 03 18 45 19 00&amp;lt;br&amp;gt;&lt;br /&gt;
15 08 52 09 11 17 58 18 18&amp;lt;br&amp;gt;&lt;br /&gt;
30  0  0  0  0 19 02 19 20&lt;br /&gt;
||&lt;br /&gt;
* Skaičius dienų, kai Laurynas bėgo bent vieną kartą.&lt;br /&gt;
* Liepos mėnesio diena; bėgimo ryte pradžios ir pabaigos&amp;lt;br&amp;gt; laikas, nurodytas valandomis ir minutėmis; bėgimo&amp;lt;br&amp;gt; vakare pradžios ir pabaigos laikas, nurodytas valandomis&amp;lt;br&amp;gt; ir minutėmis.&lt;br /&gt;
* 0 0 0 0 rodo, jog tą rytą arba vakarą Laurynas nebėgo&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Minimalus laikas&amp;lt;br&amp;gt;&lt;br /&gt;
30&amp;lt;br&amp;gt;&lt;br /&gt;
Dienos&amp;lt;br&amp;gt;&lt;br /&gt;
3 10&lt;br /&gt;
||&lt;br /&gt;
* Mažiausias bėgimo ryte ir vakare laikas minutėmis.&lt;br /&gt;
* Liepos mėnesio dienos, kai Laurynas, bėgdamas ir ryte,&amp;lt;br&amp;gt; ir vakare, sugaišo mažiausiai laiko&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=233</id>
		<title>IT Egzaminai/2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=233"/>
		<updated>2023-02-23T10:30:19Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* 1 užduotis. Bėgimas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Bėgimas ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 20 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Laurynas nusprendė liepos mėnesį ryte ir vakare bėgti miške tą pačią 5 km trasą. Tokį atstumą jis įprastai įveikia per 15–20 minučių. Savo bėgimo laiko rezultatus Laurynas pasižymėdavo užrašuose, įrašydamas dieną ir kiekvieno bėgimo pradžios bei pabaigos laiką valandomis ir minutėmis. Jeigu dėl kokios nors priežasties (pvz., prasto oro) bėgimą praleisdavo, tuomet vietoj to bėgimo pradžios ir pabaigos laiko valandomis ir minutėmis jis įrašydavo nulius.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, skirtą rasti dieną, kai Laurynas, &#039;&#039;&#039;bėgdamas ir ryte, ir vakare&#039;&#039;&#039;, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, turi būti pateikiamos jos visos&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;&lt;br /&gt;
* Pirmoje eilutėje užrašyta, kiek dienų &#039;&#039;&#039;d&#039;&#039;&#039; (1 ≤ &#039;&#039;&#039;d&#039;&#039;&#039; ≤ 31) Laurynas bėgo bent vieną kartą.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti bėgimo duomenys: liepos mėnesio diena; bėgimo ryte pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis; bėgimo vakare pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis. Duomenys atskirti bent vienu tarpo simboliu. Buvo bent viena diena, kai Laurynas bėgo ir ryte, ir vakare.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje parašykite tekstą „Minimalus laikas“.&lt;br /&gt;
* Antroje eilutėje užrašykite mažiausią bėgimo ryte ir vakare laiką minutėmis.&lt;br /&gt;
* Trečioje eilutėje parašykite tekstą „Dienos“.&lt;br /&gt;
* Ketvirtoje eilutėje užrašykite dieną, kai Laurynas, bėgdamas ir ryte, ir vakare, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, jos turi būti pateikiamos tokia eilės tvarka, kokia jas surašė Laurynas. Dienos turi būti atskiriamos vienu tarpo simboliu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri apskaičiuoja, kiek laiko (minutėmis) Laurynas sugaišo bėgimui.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ Duomenų ir rezultatų pavyzdžiai&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
6&amp;lt;br&amp;gt; 3 09 25 09 40 19 45 20 00&lt;br /&gt;
&lt;br /&gt;
6 08 30 08 48  0  0  0  0&lt;br /&gt;
&lt;br /&gt;
7 09 18 09 38 18 52 19 11&lt;br /&gt;
&lt;br /&gt;
10 08 48 09 03 18 45 19 00&lt;br /&gt;
&lt;br /&gt;
15 08 52 09 11 17 58 18 18&lt;br /&gt;
&lt;br /&gt;
30  0  0  0  0 19 02 19 20&lt;br /&gt;
||&lt;br /&gt;
* Skaičius dienų, kai Laurynas bėgo bent vieną kartą.&lt;br /&gt;
* Liepos mėnesio diena; bėgimo ryte pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis; bėgimo vakare pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis.&lt;br /&gt;
* 0 0 0 0 rodo, jog tą rytą arba vakarą Laurynas nebėgo&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Minimalus laikas&lt;br /&gt;
&lt;br /&gt;
30&lt;br /&gt;
&lt;br /&gt;
Dienos&lt;br /&gt;
&lt;br /&gt;
3 10&lt;br /&gt;
||&lt;br /&gt;
* Mažiausias bėgimo ryte ir vakare laikas minutėmis.&lt;br /&gt;
* Liepos mėnesio dienos, kai Laurynas, bėgdamas ir ryte,  ir vakare, sugaišo mažiausiai laiko&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=232</id>
		<title>IT Egzaminai/2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=232"/>
		<updated>2023-02-23T10:26:19Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Bėgimas ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 20 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Laurynas nusprendė liepos mėnesį ryte ir vakare bėgti miške tą pačią 5 km trasą. Tokį atstumą jis įprastai įveikia per 15–20 minučių. Savo bėgimo laiko rezultatus Laurynas pasižymėdavo užrašuose, įrašydamas dieną ir kiekvieno bėgimo pradžios bei pabaigos laiką valandomis ir minutėmis. Jeigu dėl kokios nors priežasties (pvz., prasto oro) bėgimą praleisdavo, tuomet vietoj to bėgimo pradžios ir pabaigos laiko valandomis ir minutėmis jis įrašydavo nulius.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, skirtą rasti dieną, kai Laurynas, &#039;&#039;&#039;bėgdamas ir ryte, ir vakare&#039;&#039;&#039;, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, turi būti pateikiamos jos visos&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;&lt;br /&gt;
* Pirmoje eilutėje užrašyta, kiek dienų &#039;&#039;&#039;d&#039;&#039;&#039; (1 ≤ &#039;&#039;&#039;d&#039;&#039;&#039; ≤ 31) Laurynas bėgo bent vieną kartą.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti bėgimo duomenys: liepos mėnesio diena; bėgimo ryte pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis; bėgimo vakare pradžios ir pabaigos laikas, nurodytas valandomis ir minutėmis. Duomenys atskirti bent vienu tarpo simboliu. Buvo bent viena diena, kai Laurynas bėgo ir ryte, ir vakare.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje parašykite tekstą „Minimalus laikas“.&lt;br /&gt;
* Antroje eilutėje užrašykite mažiausią bėgimo ryte ir vakare laiką minutėmis.&lt;br /&gt;
* Trečioje eilutėje parašykite tekstą „Dienos“.&lt;br /&gt;
* Ketvirtoje eilutėje užrašykite dieną, kai Laurynas, bėgdamas ir ryte, ir vakare, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, jos turi būti pateikiamos tokia eilės tvarka, kokia jas surašė Laurynas. Dienos turi būti atskiriamos vienu tarpo simboliu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri apskaičiuoja, kiek laiko (minutėmis) Laurynas sugaišo bėgimui.&lt;br /&gt;
* Programoje nenaudokite sakinių, skirtų darbui su ekranu.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ Duomenų ir rezultatų pavyzdžiai&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
6&amp;lt;br&amp;gt;&lt;br /&gt;
10 10 20 15 15 20&amp;lt;br&amp;gt;&lt;br /&gt;
2 2 5 3 3 5&amp;lt;br&amp;gt;&lt;br /&gt;
Ignas 12 22 0 10 12 17&amp;lt;br&amp;gt;&lt;br /&gt;
Skirmantas 5 12 0 40 12 30&amp;lt;br&amp;gt;&lt;br /&gt;
Milda 10 10 20 22 31 23&amp;lt;br&amp;gt;&lt;br /&gt;
Asta Ieva 5 0 17 10 23 23&amp;lt;br&amp;gt;&lt;br /&gt;
Rima 8 0 14 23 12 23&lt;br /&gt;
|| &lt;br /&gt;
* Finale pateiktų uždavinių skaičius.&lt;br /&gt;
* Kiekvienam uždaviniui spręsti skirtas laiko limitas minutėmis. &lt;br /&gt;
* Kiekvieno uždavinio maksimalus vertinimas taškais.&lt;br /&gt;
* Penkių finalo dalyvių duomenys:&amp;lt;br&amp;gt;dalyvio vardas; kiekvienam uždaviniui spręsti sugaištas laikas minutėmis,&amp;lt;br&amp;gt;užfiksuotas sistemos.&lt;br /&gt;
* Skaičius 0 rodo, jog dalyvis to uždavinio nesprendė arba išsprendė klaidingai.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
13&amp;lt;br&amp;gt;&lt;br /&gt;
Milda 6 116&amp;lt;br&amp;gt;&lt;br /&gt;
Ignas 5 73&amp;lt;br&amp;gt;&lt;br /&gt;
Asta Ieva 5 78&amp;lt;br&amp;gt;&lt;br /&gt;
Rima 5 80&lt;br /&gt;
|| &lt;br /&gt;
* Didžiausias finale surinktų taškų skaičius.&lt;br /&gt;
* Dalyvių, surinkusių didžiausią taškų skaičių, sąrašas:&amp;lt;br&amp;gt;vardas; teisingai išspręstų uždavinių skaičius; šiems&amp;lt;br&amp;gt;uždaviniams spręsti sugaištas laikas minutėmis.&lt;br /&gt;
* Sąrašas surikiuotas pagal teisingai išspręstų uždavinių&amp;lt;br&amp;gt;skaičių mažėjančiai&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=231</id>
		<title>IT Egzaminai/2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2021&amp;diff=231"/>
		<updated>2023-02-23T10:21:54Z</updated>

		<summary type="html">&lt;p&gt;Admin: Naujas puslapis: == 1 užduotis. Bėgimas == &amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&amp;#039;&amp;#039;Maksimalus vertinimas – 20 taškų&amp;#039;&amp;#039;&amp;lt;/div&amp;gt; &amp;lt;p&amp;gt;Laurynas nusprendė liepos mėnesį ryte ir vakare bėgti miške tą pačią 5 km trasą. Tokį atstumą jis įprastai įveikia per 15–20 minučių. Savo bėgimo laiko rezultatus Laurynas pasižymėdavo užrašuose, įrašydamas dieną ir kiekvieno bėgimo pradžios bei pabaigos laiką valandomis ir minutėmis. Jeigu dėl kokios nors priežasties (pvz., prasto oro)...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Bėgimas ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 20 taškų&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Laurynas nusprendė liepos mėnesį ryte ir vakare bėgti miške tą pačią 5 km trasą. Tokį atstumą jis įprastai įveikia per 15–20 minučių. Savo bėgimo laiko rezultatus Laurynas pasižymėdavo užrašuose, įrašydamas dieną ir kiekvieno bėgimo pradžios bei pabaigos laiką valandomis ir minutėmis. Jeigu dėl kokios nors priežasties (pvz., prasto oro) bėgimą praleisdavo, tuomet vietoj to bėgimo pradžios ir pabaigos laiko valandomis ir minutėmis jis įrašydavo nulius.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, skirtą rasti dieną, kai Laurynas, &amp;lt;strong&amp;gt;bėgdamas ir ryte, ir vakare&amp;lt;/strong&amp;gt;, sugaišo mažiausiai laiko. Jeigu yra kelios tokios dienos, turi būti pateikiamos jos visos&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai&amp;diff=230</id>
		<title>IT Egzaminai</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai&amp;diff=230"/>
		<updated>2023-02-23T10:19:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
;[[/2022|&#039;&#039;&#039;2022 metai&#039;&#039;&#039;]]&lt;br /&gt;
:&#039;&#039;- 2022 metų informacinių technologijų užduočių sprendimai&#039;&#039;&lt;br /&gt;
;[[/2021|&#039;&#039;&#039;2021 metai&#039;&#039;&#039;]]&lt;br /&gt;
:&#039;&#039;- 2021 metų informacinių technologijų užduočių sprendimai&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2022&amp;diff=229</id>
		<title>IT Egzaminai/2022</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2022&amp;diff=229"/>
		<updated>2023-02-23T10:18:03Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* 2 užduotis. Sprendimas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Programavimo konkursas ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 25 taškai&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
Į Lietuvos programavimo konkurso finalą pateko penki mokiniai, kurių rezultatai atrankos etape buvo geriausi. Finale mokiniams buvo pateiktos įvairaus sudėtingumo programavimo užduotys. Buvo nurodytas joms atlikti skirtas laiko limitas minutėmis ir jų maksimalus vertinimas taškais. Dalyviai programų failus kėlė į automatinio vertinimo sistemą, kuri tikrino, ar programos teisingos. Kai dalyvio programa pateikdavo teisingus visų testų rezultatus, sistema užfiksuodavo užduoties atlikimo laiką minutėmis. Jei dalyvis išsprendė uždavinį teisingai ir neviršijo tam uždaviniui skirto laiko limito, jis už tą uždavinį gavo maksimalų taškų skaičių; jeigu išsprendė teisingai, bet viršijo laiko limitą, gavo pusę maksimalaus taškų skaičiaus (rezultatas skaičiuojamas sveikaisiais skaičiais; pavyzdžiui, jei maksimalus užduoties vertinimas yra 3 taškai, tai už teisingą užduoties sprendimą, viršijus laiko limitą, dalyvis gavo 1 tašką); jeigu dalyvis uždavinio nesprendė arba išsprendė klaidingai, už jį gavo 0 taškų.&lt;br /&gt;
&lt;br /&gt;
Parašykite programą, kuri rastų didžiausią finale surinktų taškų skaičių ir sudarytų dalyvių, surinkusių&lt;br /&gt;
daugiausia taškų, sąrašą.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje užrašytas finale pateiktų uždavinių skaičius u (1 ≤ u ≤ 12).&lt;br /&gt;
* Antroje eilutėje iš eilės nurodytas kiekvienam uždaviniui spręsti skirtas laiko limitas minutėmis. Duomenys atskirti vienu tarpo simboliu.&lt;br /&gt;
* Trečioje eilutėje iš eilės nurodytas kiekvieno uždavinio maksimalus vertinimas taškais. Duomenys atskirti vienu tarpo simboliu.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti penkių finalo dalyvių duomenys: vardas (10 simbolių) ir kiekvienam uždaviniui spręsti sugaištas laikas minutėmis, užfiksuotas sistemos. Duomenys atskirti vienu tarpo simboliu. Buvo bent vienas dalyvis, kuris teisingai išsprendė bent vieną uždavinį.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje pateikite didžiausią finale surinktų taškų skaičių.&lt;br /&gt;
* Tolesnėse eilutėse pateikite dalyvių, surinkusių didžiausią taškų skaičių, sąrašą: dalyvio vardas, jo teisingai išspręstų uždavinių skaičius ir šiems uždaviniams spręsti sugaištas laikas minutėmis. Duomenys atskirti vienu tarpo simboliu. Sąrašas surikiuotas pagal teisingai išspręstų uždavinių skaičių mažėjančiai.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Sukurkite ir parašykite vieną funkciją, kuri apskaičiuoja dalyvio surinktų taškų skaičių, teisingai išspręstų uždavinių skaičių ir šiems uždaviniams spręsti sugaištą laiką minutėmis.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ Duomenų ir rezultatų pavyzdžiai&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
6&amp;lt;br&amp;gt;&lt;br /&gt;
10 10 20 15 15 20&amp;lt;br&amp;gt;&lt;br /&gt;
2 2 5 3 3 5&amp;lt;br&amp;gt;&lt;br /&gt;
Ignas 12 22 0 10 12 17&amp;lt;br&amp;gt;&lt;br /&gt;
Skirmantas 5 12 0 40 12 30&amp;lt;br&amp;gt;&lt;br /&gt;
Milda 10 10 20 22 31 23&amp;lt;br&amp;gt;&lt;br /&gt;
Asta Ieva 5 0 17 10 23 23&amp;lt;br&amp;gt;&lt;br /&gt;
Rima 8 0 14 23 12 23&lt;br /&gt;
|| &lt;br /&gt;
* Finale pateiktų uždavinių skaičius.&lt;br /&gt;
* Kiekvienam uždaviniui spręsti skirtas laiko limitas minutėmis. &lt;br /&gt;
* Kiekvieno uždavinio maksimalus vertinimas taškais.&lt;br /&gt;
* Penkių finalo dalyvių duomenys:&amp;lt;br&amp;gt;dalyvio vardas; kiekvienam uždaviniui spręsti sugaištas laikas minutėmis,&amp;lt;br&amp;gt;užfiksuotas sistemos.&lt;br /&gt;
* Skaičius 0 rodo, jog dalyvis to uždavinio nesprendė arba išsprendė klaidingai.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
13&amp;lt;br&amp;gt;&lt;br /&gt;
Milda 6 116&amp;lt;br&amp;gt;&lt;br /&gt;
Ignas 5 73&amp;lt;br&amp;gt;&lt;br /&gt;
Asta Ieva 5 78&amp;lt;br&amp;gt;&lt;br /&gt;
Rima 5 80&lt;br /&gt;
|| &lt;br /&gt;
* Didžiausias finale surinktų taškų skaičius.&lt;br /&gt;
* Dalyvių, surinkusių didžiausią taškų skaičių, sąrašas:&amp;lt;br&amp;gt;vardas; teisingai išspręstų uždavinių skaičius; šiems&amp;lt;br&amp;gt;uždaviniams spręsti sugaištas laikas minutėmis.&lt;br /&gt;
* Sąrašas surikiuotas pagal teisingai išspręstų uždavinių&amp;lt;br&amp;gt;skaičių mažėjančiai&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Konstantos&lt;br /&gt;
DUOMENŲ_FAILAS = &amp;quot;U1.txt&amp;quot;&lt;br /&gt;
REZULTATŲ_FAILAS = &amp;quot;U1rez.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# globalūs kintamieji&lt;br /&gt;
# nuskaitysim iš failų&lt;br /&gt;
viso_uždavinių = 0&lt;br /&gt;
laiko_limitai = []&lt;br /&gt;
maks_verinimai = []&lt;br /&gt;
&lt;br /&gt;
# naudosime visoje programoje&lt;br /&gt;
dalyviai = {}&lt;br /&gt;
maks_taškų = 1&lt;br /&gt;
&lt;br /&gt;
# funkcija skaičiuoti vieno dalyvio rezultatus&lt;br /&gt;
# rezultatus prideda prie globalaus kintamojo &#039;rezultatai&#039;&lt;br /&gt;
# parametrai: vardas ir sąrašas &lt;br /&gt;
def skaičiuok_balus(vardas, laikai):&lt;br /&gt;
&lt;br /&gt;
    # naudosime globalų kintamajį fiksuoti maksimalų surinkta taškų skaičių&lt;br /&gt;
    global maks_taškų&lt;br /&gt;
&lt;br /&gt;
    # kintamieji&lt;br /&gt;
    išspręsta_uždavinių = 0&lt;br /&gt;
    surinkta_taškų = 0&lt;br /&gt;
    viso_trukmė = 0&lt;br /&gt;
&lt;br /&gt;
    # kiekvieną uždavinį skaičiuojame atskirai&lt;br /&gt;
    for i in range(viso_uždavinių):&lt;br /&gt;
        # konvertuojame kintamuosius iš tekstinės eilutės į skaičius&lt;br /&gt;
        laikas = int(laikai[i])&lt;br /&gt;
        limitas = int(laiko_limitai[i])&lt;br /&gt;
        maks_vertinimas = int(maks_verinimai[i])&lt;br /&gt;
&lt;br /&gt;
        # skiriame maks taškų. Vėliau patikriname ar turėtų gauti pusę ar 0 taškų&lt;br /&gt;
        vertinimas = maks_vertinimas&lt;br /&gt;
        if laikas &amp;gt; limitas:&lt;br /&gt;
            vertinimas = maks_vertinimas // 2&lt;br /&gt;
        if laikas &amp;gt; 0:&lt;br /&gt;
            išspręsta_uždavinių += 1&lt;br /&gt;
            surinkta_taškų += vertinimas&lt;br /&gt;
        viso_trukmė += laikas&lt;br /&gt;
&lt;br /&gt;
    if maks_taškų &amp;lt; surinkta_taškų:&lt;br /&gt;
        maks_taškų = surinkta_taškų&lt;br /&gt;
    &lt;br /&gt;
    return { &#039;vardas&#039;: vardas, &#039;uždaviniai&#039;: išspręsta_uždavinių, &#039;balai&#039;: surinkta_taškų, &#039;laikas&#039;: viso_trukmė }&lt;br /&gt;
&lt;br /&gt;
# rūšiavimo funkcija&lt;br /&gt;
def rūšiuok(rezultatai):    &lt;br /&gt;
    sąrašas = []&lt;br /&gt;
&lt;br /&gt;
    # pasiimame tik tuos rezultatus, kurie suringko maks balų&lt;br /&gt;
    for r in rezultatai:&lt;br /&gt;
        if r[&#039;balai&#039;] == maks_taškų:&lt;br /&gt;
            sąrašas.append(r)&lt;br /&gt;
&lt;br /&gt;
    # rūšiuojame atrinktus rezultatus burbulo principu&lt;br /&gt;
    while True:&lt;br /&gt;
        buvo_pakeitimų = False&lt;br /&gt;
        for i in range(len(sąrašas) - 1):&lt;br /&gt;
            s1 = sąrašas[i]&lt;br /&gt;
            s2 = sąrašas[i + 1]&lt;br /&gt;
            if s1[&#039;uždaviniai&#039;] &amp;lt; s2[&#039;uždaviniai&#039;] or (s1[&#039;uždaviniai&#039;] == s2[&#039;uždaviniai&#039;] and s1[&#039;laikas&#039;] &amp;gt; s2[&#039;laikas&#039;]) :&lt;br /&gt;
                laikinasElementas = sąrašas[i]&lt;br /&gt;
                sąrašas[i] = sąrašas[i + 1]&lt;br /&gt;
                sąrašas[i + 1] = laikinasElementas&lt;br /&gt;
                buvo_pakeitimų = True&lt;br /&gt;
        &lt;br /&gt;
        if not buvo_pakeitimų:&lt;br /&gt;
            break&lt;br /&gt;
    return sąrašas&lt;br /&gt;
&lt;br /&gt;
# spausdiname rezultatus į failą&lt;br /&gt;
def atspausdinti(rezultatai):&lt;br /&gt;
    global maks_taškų&lt;br /&gt;
    with open(REZULTATŲ_FAILAS, &amp;quot;w&amp;quot;) as rašomas_failas:&lt;br /&gt;
        # pirma eilutė - maksimalus taškų skaičius&lt;br /&gt;
        rašomas_failas.write(str(maks_taškų))&lt;br /&gt;
        rašomas_failas.write(&amp;quot;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        # įrašome pateiktus rezultatus iš eilės&lt;br /&gt;
        for r in rezultatai:&lt;br /&gt;
            rašomas_failas.writelines([r[&#039;vardas&#039;], &amp;quot; &amp;quot;, str(r[&#039;uždaviniai&#039;]), &amp;quot; &amp;quot;, str(r[&#039;laikas&#039;]), &amp;quot;\n&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
# programa&lt;br /&gt;
# nuskaitome duomenis iš failo ir priskiriame juos globaliems kintamiesiems&lt;br /&gt;
with open(DUOMENŲ_FAILAS, &amp;quot;rt&amp;quot;) as skaitomas_failas:&lt;br /&gt;
    viso_uždavinių = int(skaitomas_failas.readline())&lt;br /&gt;
    laiko_limitai = skaitomas_failas.readline().split(&amp;quot; &amp;quot;)&lt;br /&gt;
    maks_verinimai = skaitomas_failas.readline().split(&amp;quot; &amp;quot;)&lt;br /&gt;
    while True:&lt;br /&gt;
        tekstas = skaitomas_failas.readline()&lt;br /&gt;
        if not tekstas:&lt;br /&gt;
            break&lt;br /&gt;
        dalyviai[tekstas[:10].strip()] = tekstas[11:].split(&amp;quot; &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# kiekvieno dalyvio balus apskaičiuojame atskirai pasinaudodami skaičiavimo funkcija&lt;br /&gt;
rezultatai = []&lt;br /&gt;
for dalyvis in dalyviai:&lt;br /&gt;
    rezultatai.append(skaičiuok_balus(dalyvis, dalyviai[dalyvis]))&lt;br /&gt;
&lt;br /&gt;
# prafiltruojame ir surūšiuojame rezultatus&lt;br /&gt;
galutiniai_rezultatai = rūšiuok(rezultatai)&lt;br /&gt;
&lt;br /&gt;
# atspausdiname&lt;br /&gt;
atspausdinti(galutiniai_rezultatai)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sportas namuose ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 25 taškai&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Juozas dirba namuose. Norėdamas daugiau judėti, jis nusprendė sausio mėnesį pradėti sportuoti – pagal&lt;br /&gt;
galimybes atlikti namuose penkis įvairius pratimus. Juozas užrašuose žymėdavosi sportavimo duomenis:&lt;br /&gt;
kiek kartų sportavo tam tikrą dieną, pratimų pavadinimus, kuriuo dienos metu juos atliko ir kiek laiko&lt;br /&gt;
minutėmis skyrė nurodytiems pratimams atlikti.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, kuri apskaičiuotų ir išvestų Juozo sausio mėnesį atliktų pratimų statistiką.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U2.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje užrašyta, kiek dienų d (1 ≤ d ≤ 31) sausio mėnesį sportavo Juozas.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti Juozo sportavimo duomenys: kiek kartų jis sportavo tam tikrą dieną s (1 ≤ s ≤ 7) ir pratimų duomenys: pratimo pavadinimas (14 simbolių), dienos metas (žodis Rytas, Diena, Vakaras; 7 simboliai) ir kiek laiko minutėmis Juozas sugaišo, atlikdamas nurodytą pratimą. Juozas gali tą patį pratimą atlikti tą pačią dieną daugiau negu vieną kartą ir bet kuriuo dienos metu. Duomenys atskirti vienu tarpo simboliu. Buvo bent viena diena, kai Juozas atliko bent vieną pratimą.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U2rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Įrašykite pratimų pavadinimus, dienų, kai Juozas atliko nurodytus pratimus, skaičių ir kiek iš viso laiko minutėmis sugaišo šiems pratimams atlikti. Pratimų sąrašą surikiuokite abėcėliškai. Duomenis eilutėje atskirkite vienu tarpo simboliu.&lt;br /&gt;
* Po kiekvieno pratimo pavadinimo atskirose eilutėse parašykite žodžius Rytas, Diena, Vakaras ir nurodykite, kiek kartų sausio mėnesį Juozas nurodytu dienos metu atliko nurodytą pratimą. Duomenis eilutėje atskirkite vienu tarpo simboliu. Jeigu kurio nors pratimo kuriuo nors dienos metu nebuvo atlikta nė karto, duomenų apie šį dienos metą pateikti nereikia.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Programoje naudokite struktūros duomenų tipo masyvą sportavimo duomenims saugoti.&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri sudarytų pratimų unikalių (nepasikartojančių) pavadinimų sąrašą. Python programavimo kalboje naudokite žodyno duomenų struktūrą arba struktūrą sudarykite, naudodami klases.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ Duomenų ir rezultatų pavyzdžiai&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Duomenų failo pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
&lt;br /&gt;
2 Atsilenkimai   Rytas   10 Prisitraukimai Rytas   8&lt;br /&gt;
&lt;br /&gt;
3 Atsispaudimai  Diena   8 Tempimas       Vakaras 8 Atsilenkimai   Vakaras 9&lt;br /&gt;
&lt;br /&gt;
1 Svarmenys      Vakaras 11&lt;br /&gt;
&lt;br /&gt;
3 Svarmenys      Diena   10 Svarmenys      Diena   12 Atsilenkimai   Diena   15&lt;br /&gt;
&lt;br /&gt;
2 Atsilenkimai   Vakaras 22 Svarmenys      Vakaras 10&lt;br /&gt;
&lt;br /&gt;
3 Svarmenys      Diena   15 Atsispaudimai  Diena   15 Atsispaudimai  Diena   5&lt;br /&gt;
&lt;br /&gt;
2 Svarmenys      Rytas   23 Svarmenys      Vakaras 13&lt;br /&gt;
&lt;br /&gt;
3 Atsispaudimai  Rytas   10 Atsispaudimai  Diena   12 Tempimas       Vakaras 10&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* Kiek dienų sausio mėnesį sportavo Juozas.&lt;br /&gt;
* Kiek kartų Juozas sportavo tam tikrą dieną; pratimų duomenys:&lt;br /&gt;
:* pratimo pavadinimas;&lt;br /&gt;
:* dienos metas (Rytas, Diena, Vakaras);&lt;br /&gt;
:* kiek laiko minutėmis sugaišta, atliekant nurodytą pratimą.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys || Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Atsilenkimai 4 56&amp;lt;br/&amp;gt;&lt;br /&gt;
Rytas 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Diena 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Vakaras 2&amp;lt;br/&amp;gt;&lt;br /&gt;
Atsispaudimai 3 50&amp;lt;br/&amp;gt;&lt;br /&gt;
Rytas 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Diena 4&amp;lt;br/&amp;gt;&lt;br /&gt;
Prisitraukimai 1 8&amp;lt;br/&amp;gt;&lt;br /&gt;
Rytas 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Svarmenys 5 94&amp;lt;br/&amp;gt;&lt;br /&gt;
Rytas 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Diena 3&amp;lt;br/&amp;gt;&lt;br /&gt;
Vakaras 3&amp;lt;br/&amp;gt;&lt;br /&gt;
Tempimas 2 18&amp;lt;br/&amp;gt;&lt;br /&gt;
Vakaras 2&lt;br /&gt;
||&lt;br /&gt;
* Pratimo pavadinimas; dienų, kai Juozas atliko nurodytą pratimą, skaičius; kiek iš viso laiko minutėmis sugaišta šiam pratimui atlikti.&lt;br /&gt;
* Dienos metas, kai buvo atliktas nurodytas pratimas; kiek kartų sausio mėnesį nurodytu dienos metu buvo atliktas nurodytas pratimas.&lt;br /&gt;
* Sąrašas surikiuotas pagal pratimų pavadinimą abėcėliškai.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Konstantos kurias naudosime programoje&lt;br /&gt;
DUOMENŲ_FAILAS = &amp;quot;U2.txt&amp;quot;&lt;br /&gt;
REZULTATŲ_FAILAS = &amp;quot;U2rez.txt&amp;quot;&lt;br /&gt;
PRATIMO_PAVADINIMO_ILGIS = 14&lt;br /&gt;
DIENOS_METO_ILGIS = 7&lt;br /&gt;
DIENOS_METAS_RYTAS = &amp;quot;Rytas  &amp;quot;&lt;br /&gt;
DIENOS_METAS_DIENA = &amp;quot;Diena  &amp;quot;&lt;br /&gt;
DIENOS_METAS_VAKARAS = &amp;quot;Vakaras&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Klasė skirta konkretaus pratimo atlikimo duomenims saugoti&lt;br /&gt;
# Pratimo pavadimas bus naudojamas kaip raktas žodyne, tad jo saugoti klasėje papildomai nebereikia&lt;br /&gt;
class Sportavimas:&lt;br /&gt;
    def __init__(self):&lt;br /&gt;
        # Dienų kuriomis buvo atliktas pratimas indekasai&lt;br /&gt;
        self.dienos = []&lt;br /&gt;
        # Pratimo atlikimo bendra trukmė&lt;br /&gt;
        self.trukmė = 0&lt;br /&gt;
        # Kiek kartų pratimas atliktas konkrečiu dienos metu&lt;br /&gt;
        self.rytas = 0&lt;br /&gt;
        self.diena = 0&lt;br /&gt;
        self.vakaras = 0&lt;br /&gt;
    &lt;br /&gt;
    # Pridedamas naujas konkretaus pratimo atlikimo įrašas&lt;br /&gt;
    def pridėk_pratimą (self, diena, trukmė, dienos_metas):&lt;br /&gt;
        # Jeigu šią dieną pratimo dar nebuvo daryta, tai pažymime dienų sąraše, jog pratimas buvo atliktas&lt;br /&gt;
        if diena not in self.dienos:&lt;br /&gt;
            self.dienos.append(diena)&lt;br /&gt;
        self.trukmė += trukmė&lt;br /&gt;
        if dienos_metas == DIENOS_METAS_RYTAS:&lt;br /&gt;
            self.rytas += 1&lt;br /&gt;
        elif dienos_metas == DIENOS_METAS_DIENA:&lt;br /&gt;
            self.diena += 1&lt;br /&gt;
        elif dienos_metas == DIENOS_METAS_VAKARAS:&lt;br /&gt;
            self.vakaras += 1&lt;br /&gt;
            &lt;br /&gt;
    # Funkcija dienų skaičiui gauti&lt;br /&gt;
    def gauk_dienų_skaičių(self):&lt;br /&gt;
        return len(self.dienos)&lt;br /&gt;
&lt;br /&gt;
# Funcija gražinanti uniklų pratimų sąrašą, kaip reikalaujama egazmino sąlygoje&lt;br /&gt;
def gauk_unikalų_pratimų_sąrašą(duomenys):&lt;br /&gt;
    return list(duomenys.keys());&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Funkcija nuskaitanti faile esančius duomenis&lt;br /&gt;
def skaityk_failą():&lt;br /&gt;
    sportavimas = {}&lt;br /&gt;
    with open(DUOMENŲ_FAILAS, &amp;quot;r&amp;quot;) as skaitomas_failas:&lt;br /&gt;
        d = int(skaitomas_failas.readline())&lt;br /&gt;
        for i in range(0,d):&lt;br /&gt;
            # Nuskaitome s, kartu ir po jo einantį tarpą (1 ≤ s ≤ 7)&lt;br /&gt;
            s = int(skaitomas_failas.read(2))&lt;br /&gt;
&lt;br /&gt;
            for _ in range(0,s):&lt;br /&gt;
                pratimas = skaitomas_failas.read(PRATIMO_PAVADINIMO_ILGIS)&lt;br /&gt;
                # Praleidžiame tarpą skiriantį pratimo pavadinimą ir dienos metą&lt;br /&gt;
                skaitomas_failas.read(1)&lt;br /&gt;
                dienos_metas = skaitomas_failas.read(DIENOS_METO_ILGIS)&lt;br /&gt;
                &lt;br /&gt;
                # Praleidžiame tarpą skiriantį pratimo pavadinimą ir dienos metą&lt;br /&gt;
                skaitomas_failas.read(1)                &lt;br /&gt;
                &lt;br /&gt;
                # Skaitom atlikimo laiką iki aptinkame tarpą&lt;br /&gt;
                perskaitytas_simobolis = skaitomas_failas.read(1)&lt;br /&gt;
                trukmė = 0&lt;br /&gt;
&lt;br /&gt;
                # Skaitome po simbolį ir &amp;quot;sulipdome&amp;quot; trukmės skaičių&lt;br /&gt;
                while perskaitytas_simobolis.isdigit():&lt;br /&gt;
                    # Skaitome laiką po simbolį ir verčiame į skaičių&lt;br /&gt;
                    trukmė = trukmė * 10 + int(perskaitytas_simobolis)&lt;br /&gt;
                    perskaitytas_simobolis = skaitomas_failas.read(1)&lt;br /&gt;
                &lt;br /&gt;
                # Jeigu pratimas sutinkamas pirmą kartą - sukuriame naują `Sportavimas` tipo objektą&lt;br /&gt;
                if pratimas not in sportavimas:&lt;br /&gt;
                    sportavimas[pratimas] = Sportavimas()&lt;br /&gt;
                sportavimas[pratimas].pridėk_pratimą(i, trukmė, dienos_metas)&lt;br /&gt;
&lt;br /&gt;
    return sportavimas&lt;br /&gt;
&lt;br /&gt;
# Pagalbinė funkcija, skirta dienos meto duomenų įrašymui į failą&lt;br /&gt;
def rašyk_dienos_meto_duomenis_į_failą(rašomas_failas, dienos_metas, pratimų_kiekis):&lt;br /&gt;
    rašomas_failas.write(dienos_metas)&lt;br /&gt;
    rašomas_failas.write(&amp;quot; &amp;quot;)&lt;br /&gt;
    rašomas_failas.write(str(pratimų_kiekis))&lt;br /&gt;
    rašomas_failas.write(&amp;quot;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def rašyk_failą(duomenys):&lt;br /&gt;
    # Pasiimame žodyno raktus kad juos galėtume išrūšiuoti kaip sąrašą&lt;br /&gt;
    pratimai = gauk_unikalų_pratimų_sąrašą(duomenys)&lt;br /&gt;
    # Rūšiuojame pavadinimus&lt;br /&gt;
    pratimai.sort()&lt;br /&gt;
    with open(REZULTATŲ_FAILAS, &amp;quot;w&amp;quot;) as rašomas_failas:&lt;br /&gt;
        for pratimas in pratimai:&lt;br /&gt;
            rašomas_failas.write(pratimas)&lt;br /&gt;
            rašomas_failas.write(&amp;quot; &amp;quot;)&lt;br /&gt;
            rašomas_failas.write(str(duomenys[pratimas].gauk_dienų_skaičių()))&lt;br /&gt;
            rašomas_failas.write(&amp;quot; &amp;quot;)&lt;br /&gt;
            rašomas_failas.write(str(duomenys[pratimas].trukmė))&lt;br /&gt;
            rašomas_failas.write(&amp;quot;\n&amp;quot;)&lt;br /&gt;
            if duomenys[pratimas].rytas &amp;gt; 0:&lt;br /&gt;
                rašyk_dienos_meto_duomenis_į_failą(rašomas_failas, DIENOS_METAS_RYTAS, duomenys[pratimas].rytas)&lt;br /&gt;
            if duomenys[pratimas].diena &amp;gt; 0:&lt;br /&gt;
                rašyk_dienos_meto_duomenis_į_failą(rašomas_failas, DIENOS_METAS_DIENA, duomenys[pratimas].diena)&lt;br /&gt;
            if duomenys[pratimas].vakaras &amp;gt; 0:&lt;br /&gt;
                rašyk_dienos_meto_duomenis_į_failą(rašomas_failas, DIENOS_METAS_VAKARAS, duomenys[pratimas].vakaras)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &#039;__main__&#039;:&lt;br /&gt;
    duomenys = skaityk_failą()    &lt;br /&gt;
    rašyk_failą(duomenys)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2022&amp;diff=228</id>
		<title>IT Egzaminai/2022</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2022&amp;diff=228"/>
		<updated>2023-02-23T08:48:02Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* 2 užduotis. Sportas namuose */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Programavimo konkursas ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 25 taškai&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
Į Lietuvos programavimo konkurso finalą pateko penki mokiniai, kurių rezultatai atrankos etape buvo geriausi. Finale mokiniams buvo pateiktos įvairaus sudėtingumo programavimo užduotys. Buvo nurodytas joms atlikti skirtas laiko limitas minutėmis ir jų maksimalus vertinimas taškais. Dalyviai programų failus kėlė į automatinio vertinimo sistemą, kuri tikrino, ar programos teisingos. Kai dalyvio programa pateikdavo teisingus visų testų rezultatus, sistema užfiksuodavo užduoties atlikimo laiką minutėmis. Jei dalyvis išsprendė uždavinį teisingai ir neviršijo tam uždaviniui skirto laiko limito, jis už tą uždavinį gavo maksimalų taškų skaičių; jeigu išsprendė teisingai, bet viršijo laiko limitą, gavo pusę maksimalaus taškų skaičiaus (rezultatas skaičiuojamas sveikaisiais skaičiais; pavyzdžiui, jei maksimalus užduoties vertinimas yra 3 taškai, tai už teisingą užduoties sprendimą, viršijus laiko limitą, dalyvis gavo 1 tašką); jeigu dalyvis uždavinio nesprendė arba išsprendė klaidingai, už jį gavo 0 taškų.&lt;br /&gt;
&lt;br /&gt;
Parašykite programą, kuri rastų didžiausią finale surinktų taškų skaičių ir sudarytų dalyvių, surinkusių&lt;br /&gt;
daugiausia taškų, sąrašą.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje užrašytas finale pateiktų uždavinių skaičius u (1 ≤ u ≤ 12).&lt;br /&gt;
* Antroje eilutėje iš eilės nurodytas kiekvienam uždaviniui spręsti skirtas laiko limitas minutėmis. Duomenys atskirti vienu tarpo simboliu.&lt;br /&gt;
* Trečioje eilutėje iš eilės nurodytas kiekvieno uždavinio maksimalus vertinimas taškais. Duomenys atskirti vienu tarpo simboliu.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti penkių finalo dalyvių duomenys: vardas (10 simbolių) ir kiekvienam uždaviniui spręsti sugaištas laikas minutėmis, užfiksuotas sistemos. Duomenys atskirti vienu tarpo simboliu. Buvo bent vienas dalyvis, kuris teisingai išsprendė bent vieną uždavinį.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje pateikite didžiausią finale surinktų taškų skaičių.&lt;br /&gt;
* Tolesnėse eilutėse pateikite dalyvių, surinkusių didžiausią taškų skaičių, sąrašą: dalyvio vardas, jo teisingai išspręstų uždavinių skaičius ir šiems uždaviniams spręsti sugaištas laikas minutėmis. Duomenys atskirti vienu tarpo simboliu. Sąrašas surikiuotas pagal teisingai išspręstų uždavinių skaičių mažėjančiai.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Sukurkite ir parašykite vieną funkciją, kuri apskaičiuoja dalyvio surinktų taškų skaičių, teisingai išspręstų uždavinių skaičių ir šiems uždaviniams spręsti sugaištą laiką minutėmis.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ Duomenų ir rezultatų pavyzdžiai&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
6&amp;lt;br&amp;gt;&lt;br /&gt;
10 10 20 15 15 20&amp;lt;br&amp;gt;&lt;br /&gt;
2 2 5 3 3 5&amp;lt;br&amp;gt;&lt;br /&gt;
Ignas 12 22 0 10 12 17&amp;lt;br&amp;gt;&lt;br /&gt;
Skirmantas 5 12 0 40 12 30&amp;lt;br&amp;gt;&lt;br /&gt;
Milda 10 10 20 22 31 23&amp;lt;br&amp;gt;&lt;br /&gt;
Asta Ieva 5 0 17 10 23 23&amp;lt;br&amp;gt;&lt;br /&gt;
Rima 8 0 14 23 12 23&lt;br /&gt;
|| &lt;br /&gt;
* Finale pateiktų uždavinių skaičius.&lt;br /&gt;
* Kiekvienam uždaviniui spręsti skirtas laiko limitas minutėmis. &lt;br /&gt;
* Kiekvieno uždavinio maksimalus vertinimas taškais.&lt;br /&gt;
* Penkių finalo dalyvių duomenys:&amp;lt;br&amp;gt;dalyvio vardas; kiekvienam uždaviniui spręsti sugaištas laikas minutėmis,&amp;lt;br&amp;gt;užfiksuotas sistemos.&lt;br /&gt;
* Skaičius 0 rodo, jog dalyvis to uždavinio nesprendė arba išsprendė klaidingai.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
13&amp;lt;br&amp;gt;&lt;br /&gt;
Milda 6 116&amp;lt;br&amp;gt;&lt;br /&gt;
Ignas 5 73&amp;lt;br&amp;gt;&lt;br /&gt;
Asta Ieva 5 78&amp;lt;br&amp;gt;&lt;br /&gt;
Rima 5 80&lt;br /&gt;
|| &lt;br /&gt;
* Didžiausias finale surinktų taškų skaičius.&lt;br /&gt;
* Dalyvių, surinkusių didžiausią taškų skaičių, sąrašas:&amp;lt;br&amp;gt;vardas; teisingai išspręstų uždavinių skaičius; šiems&amp;lt;br&amp;gt;uždaviniams spręsti sugaištas laikas minutėmis.&lt;br /&gt;
* Sąrašas surikiuotas pagal teisingai išspręstų uždavinių&amp;lt;br&amp;gt;skaičių mažėjančiai&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Konstantos&lt;br /&gt;
DUOMENŲ_FAILAS = &amp;quot;U1.txt&amp;quot;&lt;br /&gt;
REZULTATŲ_FAILAS = &amp;quot;U1rez.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# globalūs kintamieji&lt;br /&gt;
# nuskaitysim iš failų&lt;br /&gt;
viso_uždavinių = 0&lt;br /&gt;
laiko_limitai = []&lt;br /&gt;
maks_verinimai = []&lt;br /&gt;
&lt;br /&gt;
# naudosime visoje programoje&lt;br /&gt;
dalyviai = {}&lt;br /&gt;
maks_taškų = 1&lt;br /&gt;
&lt;br /&gt;
# funkcija skaičiuoti vieno dalyvio rezultatus&lt;br /&gt;
# rezultatus prideda prie globalaus kintamojo &#039;rezultatai&#039;&lt;br /&gt;
# parametrai: vardas ir sąrašas &lt;br /&gt;
def skaičiuok_balus(vardas, laikai):&lt;br /&gt;
&lt;br /&gt;
    # naudosime globalų kintamajį fiksuoti maksimalų surinkta taškų skaičių&lt;br /&gt;
    global maks_taškų&lt;br /&gt;
&lt;br /&gt;
    # kintamieji&lt;br /&gt;
    išspręsta_uždavinių = 0&lt;br /&gt;
    surinkta_taškų = 0&lt;br /&gt;
    viso_trukmė = 0&lt;br /&gt;
&lt;br /&gt;
    # kiekvieną uždavinį skaičiuojame atskirai&lt;br /&gt;
    for i in range(viso_uždavinių):&lt;br /&gt;
        # konvertuojame kintamuosius iš tekstinės eilutės į skaičius&lt;br /&gt;
        laikas = int(laikai[i])&lt;br /&gt;
        limitas = int(laiko_limitai[i])&lt;br /&gt;
        maks_vertinimas = int(maks_verinimai[i])&lt;br /&gt;
&lt;br /&gt;
        # skiriame maks taškų. Vėliau patikriname ar turėtų gauti pusę ar 0 taškų&lt;br /&gt;
        vertinimas = maks_vertinimas&lt;br /&gt;
        if laikas &amp;gt; limitas:&lt;br /&gt;
            vertinimas = maks_vertinimas // 2&lt;br /&gt;
        if laikas &amp;gt; 0:&lt;br /&gt;
            išspręsta_uždavinių += 1&lt;br /&gt;
            surinkta_taškų += vertinimas&lt;br /&gt;
        viso_trukmė += laikas&lt;br /&gt;
&lt;br /&gt;
    if maks_taškų &amp;lt; surinkta_taškų:&lt;br /&gt;
        maks_taškų = surinkta_taškų&lt;br /&gt;
    &lt;br /&gt;
    return { &#039;vardas&#039;: vardas, &#039;uždaviniai&#039;: išspręsta_uždavinių, &#039;balai&#039;: surinkta_taškų, &#039;laikas&#039;: viso_trukmė }&lt;br /&gt;
&lt;br /&gt;
# rūšiavimo funkcija&lt;br /&gt;
def rūšiuok(rezultatai):    &lt;br /&gt;
    sąrašas = []&lt;br /&gt;
&lt;br /&gt;
    # pasiimame tik tuos rezultatus, kurie suringko maks balų&lt;br /&gt;
    for r in rezultatai:&lt;br /&gt;
        if r[&#039;balai&#039;] == maks_taškų:&lt;br /&gt;
            sąrašas.append(r)&lt;br /&gt;
&lt;br /&gt;
    # rūšiuojame atrinktus rezultatus burbulo principu&lt;br /&gt;
    while True:&lt;br /&gt;
        buvo_pakeitimų = False&lt;br /&gt;
        for i in range(len(sąrašas) - 1):&lt;br /&gt;
            s1 = sąrašas[i]&lt;br /&gt;
            s2 = sąrašas[i + 1]&lt;br /&gt;
            if s1[&#039;uždaviniai&#039;] &amp;lt; s2[&#039;uždaviniai&#039;] or (s1[&#039;uždaviniai&#039;] == s2[&#039;uždaviniai&#039;] and s1[&#039;laikas&#039;] &amp;gt; s2[&#039;laikas&#039;]) :&lt;br /&gt;
                laikinasElementas = sąrašas[i]&lt;br /&gt;
                sąrašas[i] = sąrašas[i + 1]&lt;br /&gt;
                sąrašas[i + 1] = laikinasElementas&lt;br /&gt;
                buvo_pakeitimų = True&lt;br /&gt;
        &lt;br /&gt;
        if not buvo_pakeitimų:&lt;br /&gt;
            break&lt;br /&gt;
    return sąrašas&lt;br /&gt;
&lt;br /&gt;
# spausdiname rezultatus į failą&lt;br /&gt;
def atspausdinti(rezultatai):&lt;br /&gt;
    global maks_taškų&lt;br /&gt;
    with open(REZULTATŲ_FAILAS, &amp;quot;w&amp;quot;) as rašomas_failas:&lt;br /&gt;
        # pirma eilutė - maksimalus taškų skaičius&lt;br /&gt;
        rašomas_failas.write(str(maks_taškų))&lt;br /&gt;
        rašomas_failas.write(&amp;quot;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        # įrašome pateiktus rezultatus iš eilės&lt;br /&gt;
        for r in rezultatai:&lt;br /&gt;
            rašomas_failas.writelines([r[&#039;vardas&#039;], &amp;quot; &amp;quot;, str(r[&#039;uždaviniai&#039;]), &amp;quot; &amp;quot;, str(r[&#039;laikas&#039;]), &amp;quot;\n&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
# programa&lt;br /&gt;
# nuskaitome duomenis iš failo ir priskiriame juos globaliems kintamiesiems&lt;br /&gt;
with open(DUOMENŲ_FAILAS, &amp;quot;rt&amp;quot;) as skaitomas_failas:&lt;br /&gt;
    viso_uždavinių = int(skaitomas_failas.readline())&lt;br /&gt;
    laiko_limitai = skaitomas_failas.readline().split(&amp;quot; &amp;quot;)&lt;br /&gt;
    maks_verinimai = skaitomas_failas.readline().split(&amp;quot; &amp;quot;)&lt;br /&gt;
    while True:&lt;br /&gt;
        tekstas = skaitomas_failas.readline()&lt;br /&gt;
        if not tekstas:&lt;br /&gt;
            break&lt;br /&gt;
        dalyviai[tekstas[:10].strip()] = tekstas[11:].split(&amp;quot; &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# kiekvieno dalyvio balus apskaičiuojame atskirai pasinaudodami skaičiavimo funkcija&lt;br /&gt;
rezultatai = []&lt;br /&gt;
for dalyvis in dalyviai:&lt;br /&gt;
    rezultatai.append(skaičiuok_balus(dalyvis, dalyviai[dalyvis]))&lt;br /&gt;
&lt;br /&gt;
# prafiltruojame ir surūšiuojame rezultatus&lt;br /&gt;
galutiniai_rezultatai = rūšiuok(rezultatai)&lt;br /&gt;
&lt;br /&gt;
# atspausdiname&lt;br /&gt;
atspausdinti(galutiniai_rezultatai)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sportas namuose ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 25 taškai&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Juozas dirba namuose. Norėdamas daugiau judėti, jis nusprendė sausio mėnesį pradėti sportuoti – pagal&lt;br /&gt;
galimybes atlikti namuose penkis įvairius pratimus. Juozas užrašuose žymėdavosi sportavimo duomenis:&lt;br /&gt;
kiek kartų sportavo tam tikrą dieną, pratimų pavadinimus, kuriuo dienos metu juos atliko ir kiek laiko&lt;br /&gt;
minutėmis skyrė nurodytiems pratimams atlikti.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, kuri apskaičiuotų ir išvestų Juozo sausio mėnesį atliktų pratimų statistiką.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U2.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje užrašyta, kiek dienų d (1 ≤ d ≤ 31) sausio mėnesį sportavo Juozas.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti Juozo sportavimo duomenys: kiek kartų jis sportavo tam tikrą dieną s (1 ≤ s ≤ 7) ir pratimų duomenys: pratimo pavadinimas (14 simbolių), dienos metas (žodis Rytas, Diena, Vakaras; 7 simboliai) ir kiek laiko minutėmis Juozas sugaišo, atlikdamas nurodytą pratimą. Juozas gali tą patį pratimą atlikti tą pačią dieną daugiau negu vieną kartą ir bet kuriuo dienos metu. Duomenys atskirti vienu tarpo simboliu. Buvo bent viena diena, kai Juozas atliko bent vieną pratimą.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U2rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Įrašykite pratimų pavadinimus, dienų, kai Juozas atliko nurodytus pratimus, skaičių ir kiek iš viso laiko minutėmis sugaišo šiems pratimams atlikti. Pratimų sąrašą surikiuokite abėcėliškai. Duomenis eilutėje atskirkite vienu tarpo simboliu.&lt;br /&gt;
* Po kiekvieno pratimo pavadinimo atskirose eilutėse parašykite žodžius Rytas, Diena, Vakaras ir nurodykite, kiek kartų sausio mėnesį Juozas nurodytu dienos metu atliko nurodytą pratimą. Duomenis eilutėje atskirkite vienu tarpo simboliu. Jeigu kurio nors pratimo kuriuo nors dienos metu nebuvo atlikta nė karto, duomenų apie šį dienos metą pateikti nereikia.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Programoje naudokite struktūros duomenų tipo masyvą sportavimo duomenims saugoti.&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri sudarytų pratimų unikalių (nepasikartojančių) pavadinimų sąrašą. Python programavimo kalboje naudokite žodyno duomenų struktūrą arba struktūrą sudarykite, naudodami klases.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ Duomenų ir rezultatų pavyzdžiai&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Duomenų failo pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
&lt;br /&gt;
2 Atsilenkimai   Rytas   10 Prisitraukimai Rytas   8&lt;br /&gt;
&lt;br /&gt;
3 Atsispaudimai  Diena   8 Tempimas       Vakaras 8 Atsilenkimai   Vakaras 9&lt;br /&gt;
&lt;br /&gt;
1 Svarmenys      Vakaras 11&lt;br /&gt;
&lt;br /&gt;
3 Svarmenys      Diena   10 Svarmenys      Diena   12 Atsilenkimai   Diena   15&lt;br /&gt;
&lt;br /&gt;
2 Atsilenkimai   Vakaras 22 Svarmenys      Vakaras 10&lt;br /&gt;
&lt;br /&gt;
3 Svarmenys      Diena   15 Atsispaudimai  Diena   15 Atsispaudimai  Diena   5&lt;br /&gt;
&lt;br /&gt;
2 Svarmenys      Rytas   23 Svarmenys      Vakaras 13&lt;br /&gt;
&lt;br /&gt;
3 Atsispaudimai  Rytas   10 Atsispaudimai  Diena   12 Tempimas       Vakaras 10&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* Kiek dienų sausio mėnesį sportavo Juozas.&lt;br /&gt;
* Kiek kartų Juozas sportavo tam tikrą dieną; pratimų duomenys:&lt;br /&gt;
:* pratimo pavadinimas;&lt;br /&gt;
:* dienos metas (Rytas, Diena, Vakaras);&lt;br /&gt;
:* kiek laiko minutėmis sugaišta, atliekant nurodytą pratimą.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys || Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Atsilenkimai 4 56&amp;lt;br/&amp;gt;&lt;br /&gt;
Rytas 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Diena 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Vakaras 2&amp;lt;br/&amp;gt;&lt;br /&gt;
Atsispaudimai 3 50&amp;lt;br/&amp;gt;&lt;br /&gt;
Rytas 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Diena 4&amp;lt;br/&amp;gt;&lt;br /&gt;
Prisitraukimai 1 8&amp;lt;br/&amp;gt;&lt;br /&gt;
Rytas 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Svarmenys 5 94&amp;lt;br/&amp;gt;&lt;br /&gt;
Rytas 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Diena 3&amp;lt;br/&amp;gt;&lt;br /&gt;
Vakaras 3&amp;lt;br/&amp;gt;&lt;br /&gt;
Tempimas 2 18&amp;lt;br/&amp;gt;&lt;br /&gt;
Vakaras 2&lt;br /&gt;
||&lt;br /&gt;
* Pratimo pavadinimas; dienų, kai Juozas atliko nurodytą pratimą, skaičius; kiek iš viso laiko minutėmis sugaišta šiam pratimui atlikti.&lt;br /&gt;
* Dienos metas, kai buvo atliktas nurodytas pratimas; kiek kartų sausio mėnesį nurodytu dienos metu buvo atliktas nurodytas pratimas.&lt;br /&gt;
* Sąrašas surikiuotas pagal pratimų pavadinimą abėcėliškai.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Čia bus sprendimas&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2022&amp;diff=227</id>
		<title>IT Egzaminai/2022</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=IT_Egzaminai/2022&amp;diff=227"/>
		<updated>2023-02-23T08:40:08Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* 1 užduotis. Sprendimas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 užduotis. Programavimo konkursas ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 25 taškai&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
Į Lietuvos programavimo konkurso finalą pateko penki mokiniai, kurių rezultatai atrankos etape buvo geriausi. Finale mokiniams buvo pateiktos įvairaus sudėtingumo programavimo užduotys. Buvo nurodytas joms atlikti skirtas laiko limitas minutėmis ir jų maksimalus vertinimas taškais. Dalyviai programų failus kėlė į automatinio vertinimo sistemą, kuri tikrino, ar programos teisingos. Kai dalyvio programa pateikdavo teisingus visų testų rezultatus, sistema užfiksuodavo užduoties atlikimo laiką minutėmis. Jei dalyvis išsprendė uždavinį teisingai ir neviršijo tam uždaviniui skirto laiko limito, jis už tą uždavinį gavo maksimalų taškų skaičių; jeigu išsprendė teisingai, bet viršijo laiko limitą, gavo pusę maksimalaus taškų skaičiaus (rezultatas skaičiuojamas sveikaisiais skaičiais; pavyzdžiui, jei maksimalus užduoties vertinimas yra 3 taškai, tai už teisingą užduoties sprendimą, viršijus laiko limitą, dalyvis gavo 1 tašką); jeigu dalyvis uždavinio nesprendė arba išsprendė klaidingai, už jį gavo 0 taškų.&lt;br /&gt;
&lt;br /&gt;
Parašykite programą, kuri rastų didžiausią finale surinktų taškų skaičių ir sudarytų dalyvių, surinkusių&lt;br /&gt;
daugiausia taškų, sąrašą.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U1.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje užrašytas finale pateiktų uždavinių skaičius u (1 ≤ u ≤ 12).&lt;br /&gt;
* Antroje eilutėje iš eilės nurodytas kiekvienam uždaviniui spręsti skirtas laiko limitas minutėmis. Duomenys atskirti vienu tarpo simboliu.&lt;br /&gt;
* Trečioje eilutėje iš eilės nurodytas kiekvieno uždavinio maksimalus vertinimas taškais. Duomenys atskirti vienu tarpo simboliu.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti penkių finalo dalyvių duomenys: vardas (10 simbolių) ir kiekvienam uždaviniui spręsti sugaištas laikas minutėmis, užfiksuotas sistemos. Duomenys atskirti vienu tarpo simboliu. Buvo bent vienas dalyvis, kuris teisingai išsprendė bent vieną uždavinį.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U1rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje pateikite didžiausią finale surinktų taškų skaičių.&lt;br /&gt;
* Tolesnėse eilutėse pateikite dalyvių, surinkusių didžiausią taškų skaičių, sąrašą: dalyvio vardas, jo teisingai išspręstų uždavinių skaičius ir šiems uždaviniams spręsti sugaištas laikas minutėmis. Duomenys atskirti vienu tarpo simboliu. Sąrašas surikiuotas pagal teisingai išspręstų uždavinių skaičių mažėjančiai.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Sukurkite ir parašykite vieną funkciją, kuri apskaičiuoja dalyvio surinktų taškų skaičių, teisingai išspręstų uždavinių skaičių ir šiems uždaviniams spręsti sugaištą laiką minutėmis.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ Duomenų ir rezultatų pavyzdžiai&lt;br /&gt;
|-&lt;br /&gt;
! Duomenų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
6&amp;lt;br&amp;gt;&lt;br /&gt;
10 10 20 15 15 20&amp;lt;br&amp;gt;&lt;br /&gt;
2 2 5 3 3 5&amp;lt;br&amp;gt;&lt;br /&gt;
Ignas 12 22 0 10 12 17&amp;lt;br&amp;gt;&lt;br /&gt;
Skirmantas 5 12 0 40 12 30&amp;lt;br&amp;gt;&lt;br /&gt;
Milda 10 10 20 22 31 23&amp;lt;br&amp;gt;&lt;br /&gt;
Asta Ieva 5 0 17 10 23 23&amp;lt;br&amp;gt;&lt;br /&gt;
Rima 8 0 14 23 12 23&lt;br /&gt;
|| &lt;br /&gt;
* Finale pateiktų uždavinių skaičius.&lt;br /&gt;
* Kiekvienam uždaviniui spręsti skirtas laiko limitas minutėmis. &lt;br /&gt;
* Kiekvieno uždavinio maksimalus vertinimas taškais.&lt;br /&gt;
* Penkių finalo dalyvių duomenys:&amp;lt;br&amp;gt;dalyvio vardas; kiekvienam uždaviniui spręsti sugaištas laikas minutėmis,&amp;lt;br&amp;gt;užfiksuotas sistemos.&lt;br /&gt;
* Skaičius 0 rodo, jog dalyvis to uždavinio nesprendė arba išsprendė klaidingai.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys !! Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
13&amp;lt;br&amp;gt;&lt;br /&gt;
Milda 6 116&amp;lt;br&amp;gt;&lt;br /&gt;
Ignas 5 73&amp;lt;br&amp;gt;&lt;br /&gt;
Asta Ieva 5 78&amp;lt;br&amp;gt;&lt;br /&gt;
Rima 5 80&lt;br /&gt;
|| &lt;br /&gt;
* Didžiausias finale surinktų taškų skaičius.&lt;br /&gt;
* Dalyvių, surinkusių didžiausią taškų skaičių, sąrašas:&amp;lt;br&amp;gt;vardas; teisingai išspręstų uždavinių skaičius; šiems&amp;lt;br&amp;gt;uždaviniams spręsti sugaištas laikas minutėmis.&lt;br /&gt;
* Sąrašas surikiuotas pagal teisingai išspręstų uždavinių&amp;lt;br&amp;gt;skaičių mažėjančiai&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Konstantos&lt;br /&gt;
DUOMENŲ_FAILAS = &amp;quot;U1.txt&amp;quot;&lt;br /&gt;
REZULTATŲ_FAILAS = &amp;quot;U1rez.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# globalūs kintamieji&lt;br /&gt;
# nuskaitysim iš failų&lt;br /&gt;
viso_uždavinių = 0&lt;br /&gt;
laiko_limitai = []&lt;br /&gt;
maks_verinimai = []&lt;br /&gt;
&lt;br /&gt;
# naudosime visoje programoje&lt;br /&gt;
dalyviai = {}&lt;br /&gt;
maks_taškų = 1&lt;br /&gt;
&lt;br /&gt;
# funkcija skaičiuoti vieno dalyvio rezultatus&lt;br /&gt;
# rezultatus prideda prie globalaus kintamojo &#039;rezultatai&#039;&lt;br /&gt;
# parametrai: vardas ir sąrašas &lt;br /&gt;
def skaičiuok_balus(vardas, laikai):&lt;br /&gt;
&lt;br /&gt;
    # naudosime globalų kintamajį fiksuoti maksimalų surinkta taškų skaičių&lt;br /&gt;
    global maks_taškų&lt;br /&gt;
&lt;br /&gt;
    # kintamieji&lt;br /&gt;
    išspręsta_uždavinių = 0&lt;br /&gt;
    surinkta_taškų = 0&lt;br /&gt;
    viso_trukmė = 0&lt;br /&gt;
&lt;br /&gt;
    # kiekvieną uždavinį skaičiuojame atskirai&lt;br /&gt;
    for i in range(viso_uždavinių):&lt;br /&gt;
        # konvertuojame kintamuosius iš tekstinės eilutės į skaičius&lt;br /&gt;
        laikas = int(laikai[i])&lt;br /&gt;
        limitas = int(laiko_limitai[i])&lt;br /&gt;
        maks_vertinimas = int(maks_verinimai[i])&lt;br /&gt;
&lt;br /&gt;
        # skiriame maks taškų. Vėliau patikriname ar turėtų gauti pusę ar 0 taškų&lt;br /&gt;
        vertinimas = maks_vertinimas&lt;br /&gt;
        if laikas &amp;gt; limitas:&lt;br /&gt;
            vertinimas = maks_vertinimas // 2&lt;br /&gt;
        if laikas &amp;gt; 0:&lt;br /&gt;
            išspręsta_uždavinių += 1&lt;br /&gt;
            surinkta_taškų += vertinimas&lt;br /&gt;
        viso_trukmė += laikas&lt;br /&gt;
&lt;br /&gt;
    if maks_taškų &amp;lt; surinkta_taškų:&lt;br /&gt;
        maks_taškų = surinkta_taškų&lt;br /&gt;
    &lt;br /&gt;
    return { &#039;vardas&#039;: vardas, &#039;uždaviniai&#039;: išspręsta_uždavinių, &#039;balai&#039;: surinkta_taškų, &#039;laikas&#039;: viso_trukmė }&lt;br /&gt;
&lt;br /&gt;
# rūšiavimo funkcija&lt;br /&gt;
def rūšiuok(rezultatai):    &lt;br /&gt;
    sąrašas = []&lt;br /&gt;
&lt;br /&gt;
    # pasiimame tik tuos rezultatus, kurie suringko maks balų&lt;br /&gt;
    for r in rezultatai:&lt;br /&gt;
        if r[&#039;balai&#039;] == maks_taškų:&lt;br /&gt;
            sąrašas.append(r)&lt;br /&gt;
&lt;br /&gt;
    # rūšiuojame atrinktus rezultatus burbulo principu&lt;br /&gt;
    while True:&lt;br /&gt;
        buvo_pakeitimų = False&lt;br /&gt;
        for i in range(len(sąrašas) - 1):&lt;br /&gt;
            s1 = sąrašas[i]&lt;br /&gt;
            s2 = sąrašas[i + 1]&lt;br /&gt;
            if s1[&#039;uždaviniai&#039;] &amp;lt; s2[&#039;uždaviniai&#039;] or (s1[&#039;uždaviniai&#039;] == s2[&#039;uždaviniai&#039;] and s1[&#039;laikas&#039;] &amp;gt; s2[&#039;laikas&#039;]) :&lt;br /&gt;
                laikinasElementas = sąrašas[i]&lt;br /&gt;
                sąrašas[i] = sąrašas[i + 1]&lt;br /&gt;
                sąrašas[i + 1] = laikinasElementas&lt;br /&gt;
                buvo_pakeitimų = True&lt;br /&gt;
        &lt;br /&gt;
        if not buvo_pakeitimų:&lt;br /&gt;
            break&lt;br /&gt;
    return sąrašas&lt;br /&gt;
&lt;br /&gt;
# spausdiname rezultatus į failą&lt;br /&gt;
def atspausdinti(rezultatai):&lt;br /&gt;
    global maks_taškų&lt;br /&gt;
    with open(REZULTATŲ_FAILAS, &amp;quot;w&amp;quot;) as rašomas_failas:&lt;br /&gt;
        # pirma eilutė - maksimalus taškų skaičius&lt;br /&gt;
        rašomas_failas.write(str(maks_taškų))&lt;br /&gt;
        rašomas_failas.write(&amp;quot;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        # įrašome pateiktus rezultatus iš eilės&lt;br /&gt;
        for r in rezultatai:&lt;br /&gt;
            rašomas_failas.writelines([r[&#039;vardas&#039;], &amp;quot; &amp;quot;, str(r[&#039;uždaviniai&#039;]), &amp;quot; &amp;quot;, str(r[&#039;laikas&#039;]), &amp;quot;\n&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
# programa&lt;br /&gt;
# nuskaitome duomenis iš failo ir priskiriame juos globaliems kintamiesiems&lt;br /&gt;
with open(DUOMENŲ_FAILAS, &amp;quot;rt&amp;quot;) as skaitomas_failas:&lt;br /&gt;
    viso_uždavinių = int(skaitomas_failas.readline())&lt;br /&gt;
    laiko_limitai = skaitomas_failas.readline().split(&amp;quot; &amp;quot;)&lt;br /&gt;
    maks_verinimai = skaitomas_failas.readline().split(&amp;quot; &amp;quot;)&lt;br /&gt;
    while True:&lt;br /&gt;
        tekstas = skaitomas_failas.readline()&lt;br /&gt;
        if not tekstas:&lt;br /&gt;
            break&lt;br /&gt;
        dalyviai[tekstas[:10].strip()] = tekstas[11:].split(&amp;quot; &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# kiekvieno dalyvio balus apskaičiuojame atskirai pasinaudodami skaičiavimo funkcija&lt;br /&gt;
rezultatai = []&lt;br /&gt;
for dalyvis in dalyviai:&lt;br /&gt;
    rezultatai.append(skaičiuok_balus(dalyvis, dalyviai[dalyvis]))&lt;br /&gt;
&lt;br /&gt;
# prafiltruojame ir surūšiuojame rezultatus&lt;br /&gt;
galutiniai_rezultatai = rūšiuok(rezultatai)&lt;br /&gt;
&lt;br /&gt;
# atspausdiname&lt;br /&gt;
atspausdinti(galutiniai_rezultatai)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sportas namuose ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: right&amp;quot;&amp;gt;&#039;&#039;Maksimalus vertinimas – 25 taškai&#039;&#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Juozas dirba namuose. Norėdamas daugiau judėti, jis nusprendė sausio mėnesį pradėti sportuoti – pagal&lt;br /&gt;
galimybes atlikti namuose penkis įvairius pratimus. Juozas užrašuose žymėdavosi sportavimo duomenis:&lt;br /&gt;
kiek kartų sportavo tam tikrą dieną, pratimų pavadinimus, kuriuo dienos metu juos atliko ir kiek laiko&lt;br /&gt;
minutėmis skyrė nurodytiems pratimams atlikti.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Parašykite programą, kuri apskaičiuotų ir išvestų Juozo sausio mėnesį atliktų pratimų statistiką.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pradiniai duomenys&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Duomenys pateikiami tekstiniame faile &#039;&#039;&#039;U2.txt&#039;&#039;&#039;.&lt;br /&gt;
* Pirmoje eilutėje užrašyta, kiek dienų d (1 ≤ d ≤ 31) sausio mėnesį sportavo Juozas.&lt;br /&gt;
* Tolesnėse eilutėse užrašyti Juozo sportavimo duomenys: kiek kartų jis sportavo tam tikrą dieną s (1 ≤ s ≤ 7) ir pratimų duomenys: pratimo pavadinimas (14 simbolių), dienos metas (žodis Rytas, Diena, Vakaras; 7 simboliai) ir kiek laiko minutėmis Juozas sugaišo, atlikdamas nurodytą pratimą. Juozas gali tą patį pratimą atlikti tą pačią dieną daugiau negu vieną kartą ir bet kuriuo dienos metu. Duomenys atskirti vienu tarpo simboliu. Buvo bent viena diena, kai Juozas atliko bent vieną pratimą.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rezultatai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Rezultatus pateikite tekstiniame faile &#039;&#039;&#039;U2rez.txt&#039;&#039;&#039;.&lt;br /&gt;
* Įrašykite pratimų pavadinimus, dienų, kai Juozas atliko nurodytus pratimus, skaičių ir kiek iš viso laiko minutėmis sugaišo šiems pratimams atlikti. Pratimų sąrašą surikiuokite abėcėliškai. Duomenis eilutėje atskirkite vienu tarpo simboliu.&lt;br /&gt;
* Po kiekvieno pratimo pavadinimo atskirose eilutėse parašykite žodžius Rytas, Diena, Vakaras ir nurodykite, kiek kartų sausio mėnesį Juozas nurodytu dienos metu atliko nurodytą pratimą. Duomenis eilutėje atskirkite vienu tarpo simboliu. Jeigu kurio nors pratimo kuriuo nors dienos metu nebuvo atlikta nė karto, duomenų apie šį dienos metą pateikti nereikia.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nurodymai&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Programoje naudokite struktūros duomenų tipo masyvą sportavimo duomenims saugoti.&lt;br /&gt;
* Sukurkite ir parašykite funkciją, kuri sudarytų pratimų unikalių (nepasikartojančių) pavadinimų&lt;br /&gt;
sąrašą. Python programavimo kalboje naudokite žodyno duomenų struktūrą arba struktūrą sudarykite, naudodami klases.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%&amp;quot;&lt;br /&gt;
|+ Duomenų ir rezultatų pavyzdžiai&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Duomenų failo pavyzdys&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
&lt;br /&gt;
2 Atsilenkimai   Rytas   10 Prisitraukimai Rytas   8&lt;br /&gt;
&lt;br /&gt;
3 Atsispaudimai  Diena   8 Tempimas       Vakaras 8 Atsilenkimai   Vakaras 9&lt;br /&gt;
&lt;br /&gt;
1 Svarmenys      Vakaras 11&lt;br /&gt;
&lt;br /&gt;
3 Svarmenys      Diena   10 Svarmenys      Diena   12 Atsilenkimai   Diena   15&lt;br /&gt;
&lt;br /&gt;
2 Atsilenkimai   Vakaras 22 Svarmenys      Vakaras 10&lt;br /&gt;
&lt;br /&gt;
3 Svarmenys      Diena   15 Atsispaudimai  Diena   15 Atsispaudimai  Diena   5&lt;br /&gt;
&lt;br /&gt;
2 Svarmenys      Rytas   23 Svarmenys      Vakaras 13&lt;br /&gt;
&lt;br /&gt;
3 Atsispaudimai  Rytas   10 Atsispaudimai  Diena   12 Tempimas       Vakaras 10&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
* Kiek dienų sausio mėnesį sportavo Juozas.&lt;br /&gt;
* Kiek kartų Juozas sportavo tam tikrą dieną; pratimų duomenys:&lt;br /&gt;
:* pratimo pavadinimas;&lt;br /&gt;
:* dienos metas (Rytas, Diena, Vakaras);&lt;br /&gt;
:* kiek laiko minutėmis sugaišta, atliekant nurodytą pratimą.&lt;br /&gt;
|-&lt;br /&gt;
! Rezultatų failo pavyzdys || Paaiškinimai&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Atsilenkimai 4 56&amp;lt;br/&amp;gt;&lt;br /&gt;
Rytas 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Diena 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Vakaras 2&amp;lt;br/&amp;gt;&lt;br /&gt;
Atsispaudimai 3 50&amp;lt;br/&amp;gt;&lt;br /&gt;
Rytas 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Diena 4&amp;lt;br/&amp;gt;&lt;br /&gt;
Prisitraukimai 1 8&amp;lt;br/&amp;gt;&lt;br /&gt;
Rytas 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Svarmenys 5 94&amp;lt;br/&amp;gt;&lt;br /&gt;
Rytas 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Diena 3&amp;lt;br/&amp;gt;&lt;br /&gt;
Vakaras 3&amp;lt;br/&amp;gt;&lt;br /&gt;
Tempimas 2 18&amp;lt;br/&amp;gt;&lt;br /&gt;
Vakaras 2&lt;br /&gt;
||&lt;br /&gt;
* Pratimo pavadinimas; dienų, kai Juozas atliko nurodytą pratimą, skaičius; kiek iš viso laiko minutėmis sugaišta šiam pratimui atlikti.&lt;br /&gt;
* Dienos metas, kai buvo atliktas nurodytas pratimas; kiek kartų sausio mėnesį nurodytu dienos metu buvo atliktas nurodytas pratimas.&lt;br /&gt;
* Sąrašas surikiuotas pagal pratimų pavadinimą abėcėliškai.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2 užduotis. Sprendimas ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Čia bus sprendimas&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vaizdas:3_iteracija.png&amp;diff=149</id>
		<title>Vaizdas:3 iteracija.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vaizdas:3_iteracija.png&amp;diff=149"/>
		<updated>2023-01-27T15:33:29Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vaizdas:2_iteracija.png&amp;diff=148</id>
		<title>Vaizdas:2 iteracija.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vaizdas:2_iteracija.png&amp;diff=148"/>
		<updated>2023-01-27T15:33:20Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vaizdas:1_iteracija.png&amp;diff=147</id>
		<title>Vaizdas:1 iteracija.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vaizdas:1_iteracija.png&amp;diff=147"/>
		<updated>2023-01-27T15:33:13Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vaizdas:Ciklai.png&amp;diff=146</id>
		<title>Vaizdas:Ciklai.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vaizdas:Ciklai.png&amp;diff=146"/>
		<updated>2023-01-27T15:32:14Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vaizdas:Kintamieji.png&amp;diff=145</id>
		<title>Vaizdas:Kintamieji.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vaizdas:Kintamieji.png&amp;diff=145"/>
		<updated>2023-01-27T15:30:51Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vaizdas:Labas,_pasauli.png&amp;diff=144</id>
		<title>Vaizdas:Labas, pasauli.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vaizdas:Labas,_pasauli.png&amp;diff=144"/>
		<updated>2023-01-27T15:30:04Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vadov%C4%97lis/%C4%AEvadas&amp;diff=143</id>
		<title>Vadovėlis/Įvadas</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vadov%C4%97lis/%C4%AEvadas&amp;diff=143"/>
		<updated>2023-01-27T15:29:31Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{navigation |previous=Įžanga |next=Labas, Pasauli}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Įvadas ===&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Įvadas.png|600px|frameless|center]]&lt;br /&gt;
&lt;br /&gt;
Šis vadovėlis skirtas visiems norintiems išmokti Python: tiek pirmą kartą bandantiems programuoti, tiek bandžiusiems programuoti kitomis programavimo kalbomis ir norintiems išmokti Python, tiek jau pramokusiems Python, bei norintiems praplėsti žinias.&lt;br /&gt;
&lt;br /&gt;
Tėra vienintelis būdas išmokti programuoti. &#039;&#039;&#039;Tu&#039;&#039;&#039; turi skaityti &#039;&#039;kodą&#039;&#039; ir rašyti &#039;&#039;kodą&#039;&#039;.&lt;br /&gt;
Vadovėlyje parodysiu tau daug kodo. Bandyk jį vykdyti kompiuteriu ir pats išbandyti kaip jis veikia. Eksperimentuok ir bandyk daryti pakeitimus. Nebijok kažką sugandinti, blogiausiu atveju tavo kodas tiesiog neveiks. Kai aš pats rašysiu kodą knygoje, jį suformatuosiu šitaip:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# Python kalbą lengva išmokti&lt;br /&gt;
print(&amp;quot;Sveikas, pasauli!&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prieš komentarą – paprastą tekstą – dėsiu groteles. Šitaip lengvai atskirsi kodo pavyzdžius nuo teksto. Jei skaitai internetinį knygos variantą, atkreipk dėmesį į kodo spalvą – ji kitokia, tam kad tam tikros kodo dalys išsiskirtų. Tau vedant kodą kompiuteriu redagavimo programa jį gali nuspalvinti kitokiomis spalvomis arba iš viso nenuspalvinti. Kodo nuspalvinimas gali skirtis, bet jei įvesi kodą taip, kaip nurodyta pavyzdžiuose, jis veiks taip, kaip ir aprašyta vadovėlyje.&lt;br /&gt;
&lt;br /&gt;
Pavyzdžiui, vykdant anksčiau parašytą kodo pavyzdį kompiuteris ekrane išves tokį tekstą:&lt;br /&gt;
&lt;br /&gt;
 Sveikas, pasauli!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Šis vadovėlis skirtas Python 3 versijai. Bandant kodo pavyzdžius vykdyti su Python 2.7 ir ankstesnėmis versijomis, jis gali neveikti. Skirtumai tarp Python 2 ir 3 versijos nėra itin dideli, tad išmokęs Python 3 galėsi be didelių pastangų skaityti ir ankstesnėms versijoms skirtą kodą.&lt;br /&gt;
&lt;br /&gt;
Pavyzdžiuose dažnai parodysiu programos vykdymo metu tavo įvedamą tekstą (jis bus &#039;&#039;&#039;paryškintas&#039;&#039;&#039;) ir programos į ekraną išvedamą tekstą. Pavyzdžiui:&lt;br /&gt;
&lt;br /&gt;
 Stok!&lt;br /&gt;
 Kas eina? &#039;&#039;&#039;Benas&#039;&#039;&#039;&lt;br /&gt;
 Benai, gali eiti toliau&lt;br /&gt;
&lt;br /&gt;
Vadovėlyje tave supažindinsiu ir su programavimo terminologiją. Tai ne tik tau padės suprasti apie ką kalba programuotojai, bet ir padės mokytis.&lt;br /&gt;
&lt;br /&gt;
Kad galėtum pradėti kurti Python programas tau reikės Python 3 programinės įrangos, bei kodo redaktoriaus. Rekomenduojame naudoti &amp;quot;LR NŠA Python&amp;quot; programą, kurią gali parsisiųsti iš https://www.visma.lt/python-diegimas/. Ši diegimo programa įdiegs Python interpretatorių, Visual Studio Code kodo redaktorių, bei sukonfigūruos tavo kompiuterį, kad galėtum iš karto rašyti ir vykdyti kodą.&lt;br /&gt;
&lt;br /&gt;
=== Python ir Visual Studio Code diegimas ===&lt;br /&gt;
==== Diegimas Windows operacinėse sistemose ====&lt;br /&gt;
LR NŠA Python diegimo programa yra skirta Windows operacinės sistemos naudotojams.&lt;br /&gt;
&lt;br /&gt;
1. Parsisiųsk diegimo programą iš https://www.visma.lt/python-diegimas/. Rekomenduojama rinktis 64 bitų versiją, nebent naudoji 32 bitų operacinės sistemą.&lt;br /&gt;
&lt;br /&gt;
2. Paleisk parsisiųstą programą&lt;br /&gt;
&lt;br /&gt;
3. Atsivers diegimo programos langas. Kad pradėtum diegimą spausk mygtuką &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Vadovelis 1Sk 1.jpg|frame|center]]&lt;br /&gt;
&lt;br /&gt;
4. Atsivers naujas langas, kuriame galima pasirinkti kokias dalis norima įdiegti. Rekomenduojama nieko nekeisti ir spausti mygtuką &#039;&#039;&#039;Install&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Vadovelis 1Sk 2.jpg|frame|center]]&lt;br /&gt;
&lt;br /&gt;
5. Palauk kol baigsis diegimas&lt;br /&gt;
&lt;br /&gt;
6. Baigus diegimą pamatysi langą su pirmo paleidimo instrukcijomis. Šiame lange paspausk mygtuką &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Vadovelis 1Sk 3.jpg|frame|center]]&lt;br /&gt;
&lt;br /&gt;
7. Paspausk mygtuką &#039;&#039;&#039;Finish&#039;&#039;&#039;, kad užbaigtum diegimą.&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Vadovelis 1Sk 4.jpg|frame|center]]&lt;br /&gt;
&lt;br /&gt;
==== Diegimas Linux, BSD, bei Unix operacinėse sistemose ====&lt;br /&gt;
Jei naudoji ne Windows operacinę sistemą, Python ir kodo redaktorių reikės įsidiegti atskirai.&lt;br /&gt;
Linux, BSD, bei Unix operacinėse sistemose Python dažnai bus įdiegtas kartu su operacine sistema. Patikrinti ar Python įdiegtas ir kuri versija įdiegta galima įvykdžius komandą:&lt;br /&gt;
&lt;br /&gt;
 python3 --version&lt;br /&gt;
&lt;br /&gt;
Jei Python nėra įdiegtas, tai jį įsidiegti galima naudojantis instrukcija anglų kalba: https://docs.python-guide.org/starting/install3/linux/&lt;br /&gt;
&lt;br /&gt;
Parsiųsti ir įdiegti Visual Studio Code kodo redaktorių Linux operacinei sistemai galima iš https://code.visualstudio.com/Download&lt;br /&gt;
 &lt;br /&gt;
==== Diegimas Mac operacinėse sistemose ====&lt;br /&gt;
Nuo Mac OS X Tiger (10.4) versijos, Python 2 yra instaliuojama kartu su operacine sistema. Tad Python 3 reikia įdiegti atskirai (Nebent vėlesnėse versijose pasikeis su operacine sistema diegiamo Python versija). Parsisiųsti Python 3 MAC operacinėms sistemoms galima iš https://www.python.org/downloads/macos/.&lt;br /&gt;
&lt;br /&gt;
Parsiųsti ir įdiegti Visual Studio Code kodo redaktorių galima iš https://code.visualstudio.com/Download&lt;br /&gt;
&lt;br /&gt;
=== Pirmas paleidimas ===&lt;br /&gt;
Windows operacinėse sistemose Visual Studio Code kodo redaktorių gali paleisti paspaudžiant ant darbalaukio atsiradusios ikonėlės.&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Vadovelis 1Sk 5.jpg|miniatiūra]]&lt;br /&gt;
&lt;br /&gt;
Pirmo paleidimo metu programa atliks reikiamus konfigūravimo veiksmus, kad būtų galima pilnai naudotis reikiamais įskiepiais. Todėl pirmo paleidimo metu reikia palaukti kelias minutes kol konfigūravimas bus baigtas.&lt;br /&gt;
&lt;br /&gt;
==== Pirmosios programos sukūrimas ====&lt;br /&gt;
Sukurti pirmąją programą gali vykdydamas šiuos žingsnius Visual Studio Code redaktoriuje:&lt;br /&gt;
&lt;br /&gt;
1. Meniu pasirink Failas &amp;gt;&amp;gt; Atverti aplanką&lt;br /&gt;
&lt;br /&gt;
2. Pasirink ar susikurk aplanką kuriame laikysi Python programų kodo failus.&lt;br /&gt;
&lt;br /&gt;
3. Skyriuje &#039;&#039;&#039;NARŠYKLĖ&#039;&#039;&#039; prie aplanko paspausk ant naujo failo ikonėlės.&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Vadovelis 1Sk 6.jpg|frame|center]]&lt;br /&gt;
&lt;br /&gt;
4. Pavadink failą &amp;quot;Sveikas.py&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Automatiškai atsivers failo redagavimo langas. Jame įrašyk&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
print(&amp;quot;Sveikas, pasauli!&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Paspausk klavišus ctrl + F5, kad paleistum programą&lt;br /&gt;
&lt;br /&gt;
7. Apatinėje skiltyje išvysi programos vykdymo langą, kur matysi ir savo programos vykdymo rezultatą:&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Vadovelis 1Sk 7.jpg|frame|center]]&lt;br /&gt;
&lt;br /&gt;
Tokiu pat principu galėsi kurti ir kitas programas.&lt;br /&gt;
&lt;br /&gt;
==== Programų failų pavadinimai ====&lt;br /&gt;
 Kuriant naujus Python kodo failus labai naudinga laikytis tam tikrų taisyklių, parenkant failų pavadinimus. Nesilaikant šių taisyklių gali atsitikti taip, kad programa &amp;quot;netikėtai&amp;quot; neveiks.&lt;br /&gt;
# Visada naudok failo plėtinį &amp;lt;tt&amp;gt;.py&amp;lt;/tt&amp;gt;.&lt;br /&gt;
# Naudok vienintelį tašką - plėtinio atskyrimui&lt;br /&gt;
# Naudok tik: raides, skaičius, brūkšnį (&amp;lt;tt&amp;gt;-&amp;lt;/tt&amp;gt;) ir pabraukimo simbolį (&amp;lt;tt&amp;gt;_&amp;lt;/tt&amp;gt;)&lt;br /&gt;
# Nenaudok tarpų (žodziams atskirti galima naudoti pabraukimo simbolį (&amp;lt;tt&amp;gt;_&amp;lt;/tt&amp;gt;).&lt;br /&gt;
# Failo pavadinimą pradėk raide&lt;br /&gt;
# Nenaudok standartinių Python komandų pavadinimų (pvz. &amp;lt;tt&amp;gt;print.py&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;math.py&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;list.py&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
=== Python paleidimas per komandinę eilutę ===&lt;br /&gt;
Python programinį kodą galima vykdyti ir naudojant komandinę eilutę. Sukūrus failą su programos kodu ją įvykdyti galima komandinėj eilutėj vykdant komandą: &amp;lt;code&amp;gt;python &#039;&#039;failo_pavadinimas&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Vaizdas:Vadovelis 1Sk 8.jpg|frame|center]]&lt;br /&gt;
&lt;br /&gt;
{{navigation |previous=Įžanga |next=Labas, Pasauli}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vaizdas:Vadovelis_1Sk_8.jpg&amp;diff=142</id>
		<title>Vaizdas:Vadovelis 1Sk 8.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vaizdas:Vadovelis_1Sk_8.jpg&amp;diff=142"/>
		<updated>2023-01-27T15:28:49Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vaizdas:Vadovelis_1Sk_7.jpg&amp;diff=141</id>
		<title>Vaizdas:Vadovelis 1Sk 7.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vaizdas:Vadovelis_1Sk_7.jpg&amp;diff=141"/>
		<updated>2023-01-27T15:28:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.pitonas.lt/index.php?title=Vaizdas:Vadovelis_1Sk_6.jpg&amp;diff=140</id>
		<title>Vaizdas:Vadovelis 1Sk 6.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.pitonas.lt/index.php?title=Vaizdas:Vadovelis_1Sk_6.jpg&amp;diff=140"/>
		<updated>2023-01-27T15:28:32Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>