BRT2008 Ierakstīts Marts 26, 2010 Share Ierakstīts Marts 26, 2010 Labu dienu! Pirms pāris mēnešim nolēmu, ka gribu kļūt par programmētāju. Pilnīgi nopietni. Pa šo laiku pašmācības ceļā apguvu Python pamatus. Zemāk pievienoju pāris savas programmas, lai parādītu savu spēju līmeni uz doto brīdi. Gribētu pajautās pieredzējušiem programmētājiem, kur virzīties tālāk? Kāda veida programmēšana ir vai varētu būt pieprasīta tuvākajā laikā? Varbūt tepat Rīgā ir kādi kursi ( saprotams, ne tādi, kas māca delfi sortēt massīvus, bet kaut-ko kam ir reāls pielietojums ) ? Varbūt ir vērts iegūt kādus sertifikātus, ja jā, tad kādus? etc. Iepriekš pateicos! valūtas kalkulators from tkinter import * import urllib.request ###################################### Подключаемся к нету, узнаём курсы валют! ################## page = urllib.request.urlopen('https://ib.swedbank.lv/private/d2d/payments/rates/currency') text = page.read().decode('utf8') lvl=1 eur=text[text.find('EUR ')+55:text.find('EUR ')+62] usd=text[text.find('USD ')+61:text.find('USD ')+68] rur=text[text.find('RUB ')+67:text.find('RUB ')+74] ################################################################################################## app = Tk() # создаём основное окно app.title("Currency Calculator") app.geometry('302x355+600+350') carselect1 = StringVar() # создаём переменную для выбора валют Nr1 carselect2 = StringVar() # создаём переменную для выбора валют Nr2 carselect1.set('LVL') # валюта Nr1 = LVl carselect2.set('EUR') # валюта Nr2 = EUR incar = StringVar() # создаём переменную для ввода суммы валюты Nr1 outcar = StringVar() # создаём переменную для вывода суммы валюты Nr2 incar.set(1) # сумма валюту Nr1 = 1 def calculate(): try: x = int( incar.get() ) if carselect1.get() == 'LVL': c1 = float(lvl) if carselect1.get() == 'EUR': c1 = float(eur) if carselect1.get() == 'USD': c1 = float(usd) if carselect1.get() == 'RUR': c1 = float(rur) if carselect2.get() == 'LVL': c2 = float(lvl) if carselect2.get() == 'EUR': c2 = float(eur) if carselect2.get() == 'USD': c2 = float(usd) if carselect2.get() == 'RUR': c2 = float(rur) res = (x*c1)/c2 print(x,'*',c1,'/',c2,'=',res) outcar.set(round(res,4)) except: print("Error, wrong format!") Entry(app,textvar=incar).grid(row=1, column=1, padx=10, pady=10) Label(app, text = '=').grid(row=1, column=2) Entry(app,textvar=outcar).grid(row=1, column=3, padx=10, pady=10) curlist = ['LVL','EUR','USD','RUR'] OptionMenu(app,carselect1,*curlist).grid(row=2, column=1, padx=10, pady=10) OptionMenu(app,carselect2,*curlist).grid(row=2, column=3, padx=10, pady=10) Button(app, text = " Calculate! ", command = calculate ).grid(row=3, column=1, padx=10, pady=10) biglist = Listbox ( app ) biglist.grid(row=4, column=1, padx=10 ,pady=15) biglist.insert(END, "LVL = "+str(lvl)) biglist.insert(END, "EUR = "+eur) biglist.insert(END, "USD = "+usd) biglist.insert(END, "RUR = "+rur) calculate() app.mainloop() Tetris from tkinter import * import time import random app = Tk() app.title("TETRIS 101") app.geometry('305x426+600+300') canvas = Canvas(app, width=304, height=392) canvas.pack(side=TOP) svar= 0 score=StringVar() score.set('Tetris %s' % svar) Label(app, textvariable = score ).pack(side=BOTTOM,pady=10) blocks=[] freeblocks=[] def populate_with_free_blocks(): # функция, наполняющая канвас пустыми кубиками, для фона. freeblocks=[] for y in range(3,393,30): for x in range(3,300,30): freeblocks.append(canvas.create_rectangle(x,y,x+28,y+28, tag='free',fill='#f7f7f7',outline='#b8cfdc')) for x in range(3,300,30): freeblocks.append(canvas.create_rectangle(x,y+30,x+28,y+30+28, tag='stopped',fill='#64899d',outline='#64899d')) def makerandomfig(): # функция, выбирающая случайным образом, какую из 7 фигуру создавать. global figbox,color,ingame if ingame == 'play': randm = random.randrange(1,7) if randm == 1 : figbox =[1,0,0,0, 1,0,0,0, 1,1,0,0, 0,0,0,0,]; color='#AED4B0' if randm == 2 : figbox =[0,1,0,0, 0,1,0,0, 1,1,0,0, 0,0,0,0,]; color='#9BBE9D' if randm == 3 : figbox =[1,1,0,0, 1,1,0,0, 0,0,0,0, 0,0,0,0,]; color='#916959' if randm == 4 : figbox =[0,1,0,0, 1,1,1,0, 0,0,0,0, 0,0,0,0,]; color='#79ABCE' if randm == 5 : figbox =[1,0,0,0, 1,0,0,0, 1,0,0,0, 1,0,0,0,]; color='#E93200' if randm == 6 : figbox =[1,0,0,0, 1,1,0,0, 0,1,0,0, 0,0,0,0,]; color='#F2AC29' if randm == 7 : figbox =[0,1,0,0, 1,1,0,0, 1,0,0,0, 0,0,0,0,]; color='#E99800' makefig('none') elif ingame == 'gameover': canvas.create_rectangle(20,75,284,155, fill="white",outline="#b8cfdc") canvas.create_text(151,100, text="GAME OVER!", fill="purple", font=("Elephant", "24")) canvas.create_text(151,135, text="YOUR SCORE IS %s" % svar , fill="purple", font=("calibri", "12")) def makefig(rotate): # функция, создающая новую фигуру или поворачивающая уже имеющеюся. global figbox,color if rotate == 'left': # будем поворачивать y=500;randomx=500 falling = canvas.find_withtag('falling') for f in falling: if canvas.bbox(f)[1] < y : y =canvas.bbox(f)[1] if canvas.bbox(f)[0] < randomx : randomx =canvas.bbox(f)[0]+1 canvas.delete('falling') canvas.update() else: # делаем новую randomx = random.randrange(3,213,30) y=0 if figbox[0] == 1: blocks.append(canvas.create_rectangle(randomx,y,randomx+28,y+28, tag="falling",fill=color,outline='#303030')) if figbox[1] == 1: blocks.append(canvas.create_rectangle(randomx+30,y,randomx+58,y+28, tag="falling",fill=color,outline='#303030')) if figbox[2] == 1: blocks.append(canvas.create_rectangle(randomx+60,y,randomx+88,y+28, tag="falling",fill=color,outline='#303030')) if figbox[3] == 1: blocks.append(canvas.create_rectangle(randomx+90,y,randomx+118,y+28, tag="falling",fill=color,outline='#303030')) if figbox[4] == 1: blocks.append(canvas.create_rectangle(randomx,y+30,randomx+28,y+58, tag="falling",fill=color,outline='#303030')) if figbox[5] == 1: blocks.append(canvas.create_rectangle(randomx+30,y+30,randomx+58,y+58, tag="falling",fill=color,outline='#303030')) if figbox[6] == 1: blocks.append(canvas.create_rectangle(randomx+60,y+30,randomx+88,y+58, tag="falling",fill=color,outline='#303030')) if figbox[7] == 1: blocks.append(canvas.create_rectangle(randomx+90,y+30,randomx+118,y+58, tag="falling",fill=color,outline='#303030')) if figbox[8] == 1: blocks.append(canvas.create_rectangle(randomx,y+60,randomx+28,y+88, tag="falling",fill=color,outline='#303030')) if figbox[9] == 1: blocks.append(canvas.create_rectangle(randomx+30,y+60,randomx+58,y+88, tag="falling",fill=color,outline='#303030')) if figbox[10] == 1: blocks.append(canvas.create_rectangle(randomx+60,y+60,randomx+88,y+88, tag="falling",fill=color,outline='#303030')) if figbox[11] == 1: blocks.append(canvas.create_rectangle(randomx+90,y+60,randomx+118,y+88, tag="falling",fill=color,outline='#303030')) if figbox[12] == 1: blocks.append(canvas.create_rectangle(randomx,y+90,randomx+28,y+118, tag="falling",fill=color,outline='#303030')) if figbox[13] == 1: blocks.append(canvas.create_rectangle(randomx+30,y+90,randomx+58,y+118, tag="falling",fill=color,outline='#303030')) if figbox[14] == 1: blocks.append(canvas.create_rectangle(randomx+60,y+90,randomx+88,y+118, tag="falling",fill=color,outline='#303030')) if figbox[15] == 1: blocks.append(canvas.create_rectangle(randomx+90,y+90,randomx+118,y+118, tag="falling",fill=color,outline='#303030')) dropping_block() def dropping_block(): # функция, роняющая фигуру global dropspeed dropspeed=0.01 while ingame == 'play' : time.sleep(dropspeed) canvas.move( 'falling' , 0, 1) canvas.update() app.bind_all('<Key>', keydown) if canvas.bbox('falling')[3] % 30 == 2 : falling = canvas.find_withtag('falling') stopped = canvas.find_withtag('stopped') for f in falling: for s in stopped: if (canvas.bbox(f)[3] == canvas.bbox(s)[1])and(canvas.bbox(f)[0] == canvas.bbox(s)[0]): canvas.itemconfigure( 'falling' ,tag='stopped') checkrows() def fastdrop(): # функция, роняющая все фигуру, после того как заполненный ряд был удалён for i in range(500): time.sleep(0.001) canvas.move( 'fastdrop' , 0, 1) canvas.update() fastdrop = canvas.find_withtag('fastdrop') stopped = canvas.find_withtag('stopped') for f in fastdrop: for s in stopped: if (canvas.bbox(f)[3] == canvas.bbox(s)[1])and(canvas.bbox(f)[0] == canvas.bbox(s)[0]): canvas.itemconfigure( 'fastdrop' ,tag='stopped') def checkrows(): # функция, проверяющая все ряды на заполнение global svar, ingame for y in range(15,380,30): linelist = canvas.find_overlapping(10, y, 295,y+5) linechk=0 for l in linelist: if canvas.itemcget(l,'tag') == 'stopped': linechk+=1 if y == 15 : ingame = 'gameover' if linechk==10: for l in linelist: if canvas.itemcget(l,'tag') == 'stopped': canvas.delete(l) stopped = canvas.find_withtag('stopped') for s in stopped: if canvas.bbox(s)[1] < y : canvas.itemconfigure(s,tag='fastdrop') fastdrop() svar +=1 score.set('Tetris %s' % svar) makerandomfig() def keydown(event): # функция, 'при нажатии кнопки' global dropspeed,figbox,ingame if event.keysym == 'Left': # двигаем фигуру влево oktomove = True falling = canvas.find_withtag('falling') stopped = canvas.find_withtag('stopped') for f in falling: if canvas.bbox(f)[0] == 2 : oktomove = False for s in stopped: if (canvas.bbox(f)[2]-30 == canvas.bbox(s)[2]) and (canvas.bbox(f)[1] < canvas.bbox(s)[1]) and (canvas.bbox(f)[3] > canvas.bbox(s)[1]): oktomove = False if oktomove : canvas.move( 'falling' , -30, 0) if event.keysym == 'Right': # двигаем фигуру вправо oktomove = True falling = canvas.find_withtag('falling') stopped = canvas.find_withtag('stopped') for f in falling: if canvas.bbox(f)[0] == 272 : oktomove = False for s in stopped: if (canvas.bbox(f)[2]+30 == canvas.bbox(s)[2]) and (canvas.bbox(f)[1] < canvas.bbox(s)[1]) and (canvas.bbox(f)[3] > canvas.bbox(s)[1]): oktomove = False if oktomove : canvas.move( 'falling' , +30, 0) if event.keysym == 'Down': dropspeed=0.00001 # бросаем фигуру вниз if event.keysym == 'p': if ingame == 'play' : ingame = 'pause' canvas.create_rectangle(70,100,234,155, tag='pause', fill="white",outline="#b8cfdc") canvas.create_text(151,130, text="PAUSE", tag='pause', fill="red", font=("calibri", "16")) elif ingame == 'pause' : canvas.delete('pause') ingame = 'play' dropping_block() if event.keysym == 'z': # поворачиваем фигуру if figbox == [1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,] : figbox = [0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,] ; makefig('left') ### if longthing vertical elif figbox == [0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,] :figbox = [1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,] ; makefig('left') ### if longthing horizontal else: a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] ### creating temp.array for i in range(len(figbox)): a[i]=figbox[i] ### assing values from 'figbox' to temp figbox[0]=a[8]; figbox[1]=a[4]; figbox[2]=a[0]; figbox[3]=0 ### turn everything right figbox[4]=a[9]; figbox[5]=a[5]; figbox[6]=a[1]; figbox[7]=0 ### turn everything right figbox[8]=a[10]; figbox[9]=a[6]; figbox[10]=a[2]; figbox[11]=0 ### turn everything right figbox[12]=0; figbox[13]=0; figbox[14]=0; figbox[15]=0 ### turn everything right if (figbox[0]==0) and (figbox[4]==0) and (figbox[8]==0) and (figbox[12]==0): ### if first column is empty for i in range(len(figbox)): a[i]=figbox[i] ### assing values from 'figbox' to temp figbox[0]=a[1]; figbox[1]=a[2]; figbox[2]=a[3]; figbox[3]=0 ### move one col. left figbox[4]=a[5]; figbox[5]=a[6]; figbox[6]=a[7]; figbox[7]=0 ### move one col. left figbox[8]=a[9]; figbox[9]=a[10]; figbox[10]=a[11]; figbox[11]=0 ### move one col. left figbox[12]=a[13]; figbox[13]=a[14]; figbox[14]=a[15]; figbox[15]=0 ### move one col. left makefig('left') ingame = 'play' populate_with_free_blocks() makerandomfig() app.mainloop() Link to comment Share on other sites More sharing options...
zeds Marts 26, 2010 Share Marts 26, 2010 tu gribi būt kruts programmētājs vai tāds kurš sērīgi baksta DB priekš weba un citādas figņas ? 1 1 Link to comment Share on other sites More sharing options...
Devil_Inside Marts 26, 2010 Share Marts 26, 2010 Tiešām savas? Link to comment Share on other sites More sharing options...
Ronalds789 Marts 26, 2010 Share Marts 26, 2010 3 mēnešus mācijies un tādu kodu uzrakstīji??? laikam plaģiātu tu te esi ielicis.... http://forum.vingrad.ru/forum/s/090347a10aed6dfeea0a3a7e279bb7b0/topic-294287/anchor-entry2122375/0.html 1 1 Link to comment Share on other sites More sharing options...
Guest drunk_lizard Marts 26, 2010 Share Marts 26, 2010 (labots) pieGdienaaaaa!!1!111!! komenti krieviki # epic fail Labots Marts 26, 2010 - drunk_lizard 2 3 Link to comment Share on other sites More sharing options...
Grossmeister Marts 26, 2010 Share Marts 26, 2010 (labots) Varbūt plaģiāts , a varbūt viņš arī tajā forumā arī ir reģistrējies ? P.S. Nacionālā piederība jau šeit nav jāuzrāda . Labots Marts 26, 2010 - Grossmeister 1 1 Link to comment Share on other sites More sharing options...
(...) Marts 26, 2010 Share Marts 26, 2010 (labots) Jeij, jau nobrīnījos, vai ta tiešām nebūs šodien nekas autors pats ir viens liels plaģiāts... Labots Marts 26, 2010 - Bart 1 2 Link to comment Share on other sites More sharing options...
versatile Marts 26, 2010 Share Marts 26, 2010 Nez, paskatoties datumu taja forumaa, niku utt izskatas ka varetu but legit. vienigi mulsina kapec komentari 2 valodas. topika nosaukums "programmists" ari ir tipisks cilvekiem ar dzimto krievu val. 1 1 Link to comment Share on other sites More sharing options...
zeds Marts 26, 2010 Share Marts 26, 2010 Es nebiju ieskatiijies ka komentaari krieviski. epic fail Autor: pasaulei būs labāk ja tu par programmētāju nekļūsi, dzer indi... 1 1 Link to comment Share on other sites More sharing options...
Guest drunk_lizard Marts 26, 2010 Share Marts 26, 2010 hmm, tomeer nav plagjiaats :> anyway vunderkind ir dzimis :> 2 Link to comment Share on other sites More sharing options...
Devil_Inside Marts 26, 2010 Share Marts 26, 2010 zeds, komentāri krieviski vēl būtu pieņemami, bet nezkāpēc ir arī angliski. Es vēl neticu vunderkinda teorijai. Varbūt daļa no tā visa ir ar tā vingrad foruma palīdzību taisīta, bet daļa tomēr ir vākta no kaut kādiem gatavajiem koda piemēriem. Link to comment Share on other sites More sharing options...
BRT2008 Marts 26, 2010 Author Share Marts 26, 2010 (labots) >>> Jeje, jau nobrīnījos, vai ta tiešām nebūs šodien nekas autors pats ir viens liels plaģiāts... Da es tas esmu, pats uzrkstīju. Skat vēlreiz. http://forum.vingrad.ru/forum/topic-294287/anchor-entry2123691/0.html >>> tu gribi būt kruts programmētājs vai tāds kurš sērīgi baksta DB priekš weba un citādas figņas ? Nu, ideālā variantā, protams gribētos jo 'krutāks' jo labāk. >>> 3 mēnešus mācijies un tādu kodu uzrakstīji??? Ēēē... tādu, tas ir domāts labu vai sliktu? >>> Neticās, ka pats pa pāris mēnešiem esi iemācījies šitādus kodus rakstīt uz pitona. Nu, iemācījos gan. Ļoti palīdzēja grāmata 'head first programming'. >>> Iesaku apdomāt, kādā virzienā tu gribi strādāt. 3 varianti: Šeit man tā uzreiz būtu grūti izvēlēties, jo vēl pārāk maz zinu par to visu. >>> Dzelžu programmētājs (tad pēti ASMus, procesorus utt) Ēee... īsti nav zināšanas, kas tas viss tāds ir. :/ >>> Aplikāciju programmētājs (der jebkas, kaut tas pats pitons, vai C/C++) Visdrīzāk jau kaut kas uz šito pusi... >>> Web-programmētājs (tad vajadzēs izpētīt vairākas tehnoloģijas; der tas pats Pitons, vai PHP utml) Cik dzirdēju, ir ļoti daudz webprogrammētāju, sakara ar ko īsti nopelnīt šajā virzienā ir sarežģīti. Vai es kļūdos? >>> Personīgi iesāku papētīt tādas lietas, ka algoritmizācija, bināra/hex sistēmas, netraucētu atsvaidzināt/uzlabot matemātikas zināšanas. Varbūt varat ieteikt kādas konkrētas grāmatas/kurusus? Jā, ka algoritmizācija ir svarīga es sapratu rakstot tetrisu, kamēr nebiju vispirms uzrakstījis algoritmu, kādām funkcijām ir jābūt un ko tam ir jādara, kodu nācās pārrakstīt reizes 3. >>> zeds, komentāri krieviski vēl būtu pieņemami, bet nezkāpēc ir arī angliski. Oriģināli programmējot rakstīju komentus angliski, tīri priekš sevis. Pēcāk izliekot uz vingradu pierakstīju krieviski, lai tur būtu visiem interesentiem skaidrs, ko kāda funkcija dara. Gatavu kodu ņēmis nebiju, par to, kā ar tkinter canvasu darboties izlasīju šeit http://infohost.nmt.edu/tcc/help/pubs/tkinter/canvas-methods.html Labots Marts 26, 2010 - BRT2008 1 Link to comment Share on other sites More sharing options...
Ronalds789 Marts 26, 2010 Share Marts 26, 2010 (labots) pievienojos DL, vunderkinds dzimis laikam daudz brīvā laika ja tik atri iemācijies, vai arī jau ir bijusi pieredze ar citām p.valodām? īstenībā ja iemācies vienu, saproti būtību, sintaksi, nav grūti tālāk adoptēties pie nākošās valodas Labots Marts 26, 2010 - Ronalds789 Link to comment Share on other sites More sharing options...
0xDEAD BEEF Marts 26, 2010 Share Marts 26, 2010 Emm forši! Man patīk, kā viņi plūdoši krīt! Ar kuru pogu var pagriezt figūras? Well done! Cik ilgi rakstiji? Beefs PS - nu nevajag jau arī tik skeptiski uz to raudzīties. Pats, kad sāku 12 gadu vecumā kodēt, tad līdzīgus sasniegumus pēc 3 mēnešiem varēju rādīt. Beefs Link to comment Share on other sites More sharing options...
labiitis Marts 26, 2010 Share Marts 26, 2010 Neuztraucies par sūdīgo attieksmi, vecie grabji baidās konkurences Link to comment Share on other sites More sharing options...
0xDEAD BEEF Marts 26, 2010 Share Marts 26, 2010 .. tikai latviski.. ... un vispār daudz neliku komentārus! Mums vajag čelendžot čali! Piemēram - lai aši uzkodē (2 stundu laikā), ka ir kāda īpašā figūra ®, kuru nevar rotēt! Beefs Link to comment Share on other sites More sharing options...
BRT2008 Marts 26, 2010 Author Share Marts 26, 2010 >>> laikam daudz brīvā laika ja tik atri iemācijies, vai arī jau ir bijusi pieredze ar citām p.valodām? Vēl bērnībā ar Flash niekojos. Tad 2003ajā biju vienu kursu uz programmētājiem nomācījies TSI, tā kā kaut-kur zemapziņā jau bija tie pamati, funkcijas, ciklu u.t.t. >>> Autor, tu no svešiem kodiem kopēji tikai komentus? Kā jau teicu, visu kodu biju pats uzrakstījis. Angliskos komentus rakstīju priekš sevis, krieviskos pēcāk pieliku vingradam. >>> ir totāls BS. Nu... i ko es tev te varu atbildēt? >>> Emm forši! Man patīk, kā viņi plūdoši krīt! Ar kuru pogu var pagriezt figūras? Nu kaut viena laba atsauksme! Ar 'z' pogu pagriest. Ar bultiņu uz lejo nomest. 'p' - pause, 'r' - reset. Rekstīju nu ne tā ka no rīta līdz vakaram, bet kādas 10 dienas aizgāja uz galējo versiju. pēc 2 st. būšu atpakaļ uz sataisīšu jums krītošas figūras. )) Link to comment Share on other sites More sharing options...
Delphin Marts 26, 2010 Share Marts 26, 2010 Nedaudz offtopic'a, bet vai kādam nav x86 assembler'a mācību materiāli no vietējām augstskolām LV valodā (to vecums nav svarīgs). Link to comment Share on other sites More sharing options...
Vilx- Marts 26, 2010 Share Marts 26, 2010 Es arī pievienojos, ka šitāds pēc 3 mēnešiem nav nekas neiespējams, it sevišķi, ja tam var veltīt daudz laika, un cilvēkam domāšana ir ar pareizu noslieci. Nu, ko lai saka... Ja nemelo, un pa 3 mēnešiem esi tik tālu ticis saviem spēkiem, tad skaidrs, ka tā lieta interesē, citādi pacietība neizvilktu. Tas ir labi, tas Tavas izredzes kļūt par programmistu padara itin labas. Tālāk ieteiktu mazliet apgūt vairāk par to, kas tas dators tāds ir, un kā viņš strādā. ASM un x86 arhitektūru nevajag, tas biki par traku, bet iesaku apgūt C/C++ un uzrakstīt tur kaut ko sakarīgu. Var arī Pascal, ja tas šķiet tuvāks sirdij. Šīs valodas ir ļoti pamācošas ar to, ka nav gatavu konstrukciju sarežģītām operācijām, bet daudz kas ir jādara "pašam ar roku" - rodas sajēga par to, kas īsti datoram ir viegli, un kas nav. C/C++ vēl pār paskālu būs tāda priekšrocība, ka to sintakse ir plaši kopēta daudzās citās populārās valodās (Java, C#, JavaScript, PHP, u.t.t.). Apgūstot to būs vieglāk apgūt valodas ar līdzīgo sintaksi. Vēl es iesaku arī paņemt priekšā olimpiāžu uzdevumus un parisināt tos (LIO, Olimps, Usaco, u.c.). Vispār, ja esi vēl skolnieks (citādi nemāku izskaidrot lielo brīvā laika daudzumu), tad noteikti piedalies olimpiādēs! Šobrīd vissvarīgākais ir "iegrozīt domāšanu pareizajās sliedēs" un gūt aptuvenu sajēgu par to, kā strādā dators. Pēc tam varēs domāt tālāk. 2 Link to comment Share on other sites More sharing options...
Vilx- Marts 26, 2010 Share Marts 26, 2010 Vēl bērnībā ar Flash niekojos. Tad 2003ajā biju vienu kursu uz programmētājiem nomācījies TSI, tā kā kaut-kur zemapziņā jau bija tie pamati, funkcijas, ciklu u.t.t.Ā, nu, tad jau nav gluži 3 mēnešu pieredze. Tas jau, starp citu, pašā sākumā arī ir tas grūtākais - apjēgt pamata konstrukcijas un kā tās pareizi pielietot. Tāpēc arī tie 3 mēneši izklausās tik fantastiski. Bet, ja jau aptuvena sajēga bija, tad tā ir cita lieta. Link to comment Share on other sites More sharing options...
Delphin Marts 26, 2010 Share Marts 26, 2010 , jā, krieviem ir daudz labu tutoriāļu, bet diemžēl RU šoreiz nebūs risinājums. ENG arī ir kaudze tutoriāļu, bet tie ne tuvu šajā sfērā tik labi, kā krievu autoriem (neiemidzina jau pēc 10 lapas ). Ja tomēr ir kāds labs ENG tutroiālis, kuram kāds persnīgi no 0 izgājis cauri, var saukt to par labu - lūdzu linku/PDF'u studijā Link to comment Share on other sites More sharing options...
Knagis Marts 26, 2010 Share Marts 26, 2010 Vilx- jau nosauca avotus, kur var meklēt uzdevumus, kā attīstīt savas algoritmiskās programmēšanas prasmes. Diemžēl realitāte ir tāda, ka par to naudu maksā krietni retāk (lai gan nebūt ne sliktāk) kā par prastākām lietām. Ja interesē paskatīties kaut ko reālai dzīvei atbilstošāku, ņem http://olimpiade.lattelecom.lv/ un ej cauri visu gadu uzdevumiem. Varbūt daļa šķitīs sevišķi neinteresanti, bet tie visdrīzāk būs tie, kas visvairāk pietuvināti reālai dzīvei. Link to comment Share on other sites More sharing options...
0xDEAD BEEF Marts 26, 2010 Share Marts 26, 2010 Labs points vispār! Kaut arī reizēm C kodēt ir maķenīt grūtāk un prasa lielākas zināšanas, tomēr par web bakstīšanu bieži maksā vairāk (Latvijā točna). Protams - negribētu arī teikt, ka pārākās C++ zināšanas ir baigi sarežģīti, jo, piemēram - C++ manuālis laikam bija 300 lapu biezs, bet Microsoft Dynamics satur pāris tūkstošus tabulu, klašu, jobu, reportu un citu sūdu. To noteikti apgūt ir daudz grūtāk, kā iemācīties to C++ manuāli no galvas! Beefs Link to comment Share on other sites More sharing options...
Mezavecis Marts 26, 2010 Share Marts 26, 2010 Pilnīgi piekrītu. Laiks ir nauda. labs programmētājs ir nevis tas, kurš 3 nedēļas optimizēs for loop'u, bet gan tas, kurš, ar maksimālu efektivitāti, dos maksimālo darba atdevi, lai apmierinātu klientu. Lai gan nekā nereāla te nav, ko autors pieminēja. Es arī vienā dienā izdomāju, ka kļūšu par programmistu un jau dažus gadus ar to nodarbojos paralēli vadības lietām. Kas kādreiz bija hobijs, tagad ir darbs. Galvenais, lai ir interese. Lasīt manuāļus un citus sūdus labāk rekomendējiet skolniekiem bez pieredzes. No tā neviens īpaši gudrs nav palicis lasot bībelītes, jo teorija ātri vien izkūp gaisā. Vajag ķerties pie lietas un kaut ko taisīt. Link to comment Share on other sites More sharing options...
Mezavecis Marts 26, 2010 Share Marts 26, 2010 Ārča, man par koda tīrību neviens medāli nav iedevis Arī vienā būcenī ar 4 sienām riepu audzēt neliekas saistoši, šad tad der aizbraukt pie smukām meitenēm un padzert kapiju Tikai programmētājam tādi bonusi nespīd Link to comment Share on other sites More sharing options...
kroko Marts 26, 2010 Share Marts 26, 2010 (labots) Kāda veida programmēšana ir vai varētu būt pieprasīta tuvākajā laikā? Ja esi labākais savā sfērā (dzelži, programmas, webs), tu māki sevi reklamēt un ir labs menedžments, tad tu arī būsi pieprasīts visos laikos. Varbūt pēc 10 gadiem tieši dzelžu programmētāji būs pieprasīti, jo atlidos citplanētieši ar tehnoloģijām, kurām vajadzēs kontrolierus programmēt. Webs attīstīsies un attīstīsies, daudzas "desktop" aplikācijas jau šodien dodas "mākoņos" (google doci, tiešsaistes programmas mobilajos telefonos). Manuprāt, tāds vidusceļš būtu mācīties aplikāciju programmēšanu. Būšu nepopulārs un teikšu - mācies ANSI C un Objective-C 2.0, un kā iemesls- OSX tirgus augs un to lietotāji ir maksātspējīgi (aizmirsti LV tirgu, uzraksti programmu, uztaisi mājaslapu un sāc to pārdot ), ar C var programmēt arī kontrolierus, c iedresēs (vai sabojās) tevi, objC iedos objektorientētu izpratni. Citi neiesaka ar C sākt, tajā pašā laikā visus jautājumus par šo valodu un figņām var atrast netā, blakus turot arī ričija cē bībeli. Un reālās dzīves trenniņš, reālās problēmas ir tas, kas dzen uz priekšu. Es iemācījos to mazumiņu tieši šadi- nebija programmas, kas darītu, ko vēlos un tāpēc pats tādu uzrakstīju. Par to pašu C un ObjC runājot (tur gan arī C++ var)- taisi aiTrubai programmiņas. Tirgus milzīgs, pārdod pa 1$ gabalā. Labots Marts 26, 2010 - kroko Link to comment Share on other sites More sharing options...
Mezavecis Marts 26, 2010 Share Marts 26, 2010 (labots) Ja orientējas aplikāciju veidošanā, tad mūsdienās Latvijā ir daži aktuālākie virzieni: - spēles - biznesa aplikācijas, kur jābūt ļoti labām zināšanām par datu bāzēm un biznesa loģiku. Ja rubī fišķu, darbs ir vienmēr un normāli atalgots. Ārzemēs šie virzieni ir plašāki un lielākas iespējas izvērsties. Labots Marts 26, 2010 - Mežavecis Link to comment Share on other sites More sharing options...
(...) Marts 26, 2010 Share Marts 26, 2010 (labots) Webs attīstīsies un attīstīsies, daudzas "desktop" aplikācijas jau šodien dodas "mākoņos" (google doci, tiešsaistes programmas mobilajos telefonos). Neesmu programmētājs, paldies dievam , noceļu šo cilvēku priekšā cepuri Bet par Google Docs štelli tiešām esmu sajūsmā, un izskatās, ka šitā lieta attīstīsies un attīstīsies, labiem programmētājiem pat krīzes laikā darba pietiks un būs labi attalgoti vienmēr. Proffesija ar izaugsmi, bet ir arī savi mīnusi. Labots Marts 26, 2010 - Bart Link to comment Share on other sites More sharing options...
Mezavecis Marts 26, 2010 Share Marts 26, 2010 (labots) Ir starpība, vai tu tirgo kompilētu risinājumu vai kodu. Protams, ja tiek pārdots kods, tad tur jāievēro korekti principi, komentāri utt. Pie mums tas nav vēl tik populāri, tāpēc arī šāda lieta nav izplatīta. Nu, Latvijā, kas joprojam atrodās 20. gs, uz koda tīrību skatās reti. Citur tas ir standarts. @Aleksejs veidotajā skype čatā viens programmētājs taisa Protams, ir ļoti labi, ja automātiski veido skaidru un viegli lasāmu kodu. Labots Marts 26, 2010 - Mežavecis Link to comment Share on other sites More sharing options...
andza Marts 26, 2010 Share Marts 26, 2010 (labots) Nu i tirliņu bars. Kas tur tāds ārkartējs divos mēnešos apgūt pitona pamatus un uzrakstīt divus dotos piemērus? Komentāri angļu valodā? Vai tas būtu kas nepreizs? Kad man vajadzēja fiksi GUI R kodam uzstaisīt, bez nekādas programmēšanas pieredzes pāris dienās Tcl/Tk to izdarīju, tam taču tieši Tcl ir paredzēts: quick and dirty. Labots Marts 26, 2010 - andza Link to comment Share on other sites More sharing options...
Domugrauds Marts 26, 2010 Share Marts 26, 2010 mani pārsteidz tas ka te cilvēkam tiek stāstits virsū ka šis iemācijies pitonu 2 mēnešos, un kas par to ja pat viņš ir iemācijies? skauž ka tu nevarēji iemācīties tik ātri, da kaut lai pa nedēļu viņš iemācāš kas jums no tā? Link to comment Share on other sites More sharing options...
usver Marts 26, 2010 Share Marts 26, 2010 Balsoju par C# apgūšanu. Starp citu, paskaties uz tavsdarbs.lv atsauksmēm (šobrīd laikam down) - salīdzini lielās un mazās firmiņas. Lielajās ir tā, ka gan zemākā līmeņa vadītāji ir ļoti apmierināti ar darbu, gan arī programmētāji jūtas pieklājīgi atalgoti. Teiksim IT Alisē pirms krīzes bijis tā, ka pat darbinieku iekšējā rotācija notiek - apnicis rakstīt C#?Ej, moš Ruby pamēģini. Accenture, piemēram, ar Siebel, J# utml brīnumiem programmējas. Mums krutākais jaunietis kantorī programmē iekš C#. Turklāt .NET koderiem ir iespēja kārtot sertifikātus, kas ir ĻOTI labs arguments. Arča te runā par 400ls standarta programmētāja algu - nu nez, varbūt mazajās vebfirmiņās, kur cilvēki programmē "jūmlā". Link to comment Share on other sites More sharing options...
Delphin Marts 26, 2010 Share Marts 26, 2010 (labots) lai vai kā - tirgus vienmēr būs biznesa aplikācijām(datubāzes, spēles, uzskaites programmas) - jeb lietām, kas pašas taisa naudu vai palīdz tās procesā. pārējais ir miris. Tām aplikācijām ir vajadzīga platforma uz kuras strādāt (Os), bet to C#, .NET, etc. neizstrādāsi un Os'u izstrādei nevejag tikai 1, vai 2,3...10 cilvēkus ar labām zemā līmeņa programēšanas zināšanām. Šobrīd domāju ka tieši zemā līmeņa programēšana ir nosviesta novārtā. Labots Marts 26, 2010 - Delphin Link to comment Share on other sites More sharing options...
Aleksejs Marts 26, 2010 Share Marts 26, 2010 Zemā līmeņa programmēšana piedzīvo nelielu renesansi Arduino (šim gan tas zemais līmenis mazā izteikts, bet citiem, kurus šī embedded produkta popularitāte rauj sev līdzi, gan diezgan) un tam līdzīgo HW platformu popularizēšanās rezultātā. Link to comment Share on other sites More sharing options...
BRT2008 Marts 26, 2010 Author Share Marts 26, 2010 Ar tavam Einstein-like spējam tas aizņems pāris stundas. Ielikos 40 minūtēs. #Zaglis grib atvērt šifra atslēgu, kurai ir 4 ciparu kods, katrs no kuriem var būt cipars 0, 1, … 9. #Noskaidrot cik laika zaglim vajadzēs sliktākajā gadījumā atslēgas atvēršanai, #ja vienas kombinācijas pārbaudei ir nepieciešamas 5 sekundes un zaglis zina, ka #1)kodā nav divu vienādu ciparu, #2)koda ciparu summa ir 21, #3)jāpārbauda visi iespejamie varianti # Rezultātu izteikt stundās, minūtēs un sekundēs. # sāku 17.22 # sākotnēja doma, ilgi nemuļļāties un izņemt cauri visus iespējamos kodu variantus no # 0000 līdz 9999 , katru ar if pārbaudot uz dotajiem kritērijiem. keyint = -1 pkvs = 0 while keyint < 10000: keyint+=1 if len(str(keyint)) == 1: keystr = '000'+ str(keyint) elif len(str(keyint)) == 2: keystr = '00'+ str(keyint) elif len(str(keyint)) == 3: keystr = '0'+ str(keyint) elif len(str(keyint)) == 4: keystr = str(keyint) if ( int(keystr[0]) + int(keystr[1]) + int(keystr[2]) + int(keystr[3]) ) == 21 : if ( int(keystr[0]) != int(keystr[1]) ) and ( int(keystr[0]) != int(keystr[2]) ) and (int(keystr[3]) != int(keystr[1]) ): if ( int(keystr[1]) != int(keystr[0]) ) and ( int(keystr[2]) != int(keystr[3]) ) and (int(keystr[3]) != int(keystr[1]) ): if ( int(keystr[2]) != int(keystr[0]) ) and ( int(keystr[1]) != int(keystr[3]) ) and (int(keystr[3]) != int(keystr[1]) ): if ( int(keystr[3]) != int(keystr[0]) ) and ( int(keystr[1]) != int(keystr[2]) ) and (int(keystr[3]) != int(keystr[1]) ): pkvs+=1 print( 'tika atrastas %s iespējamas kombinācijas.' % pkvs ) print ( 'kam tika patērēts %s minūtes un %s sekundes!' % ( round((pkvs*5) / 60 ), (pkvs*5) % 60 ) ) # zaglis nav tik gudrs, lai meklētu šādas kombinācijas, tapēc tupa iemauks ar lauzni un miers! )) # pabeigts 18.02 tika atrastas 336 iespējamas kombinācijas. kam tika patērēts 28 minūtes un 0 sekundes! >>> 1 Link to comment Share on other sites More sharing options...
non7sens Marts 26, 2010 Share Marts 26, 2010 Iestājies kādā pulciņā vai kādā open source pasākumā. Kad redzēsi vairāk kā kas notiek, kas patīk, tad jau zināsi arī kam prasīt padomu un uz ko tieši gribi tiekties. Link to comment Share on other sites More sharing options...
E m a i L * Marts 26, 2010 Share Marts 26, 2010 Prieks skatīties uz šitādiem. Malacis. Tā turpini. Link to comment Share on other sites More sharing options...
Aleksejs Marts 26, 2010 Share Marts 26, 2010 ಠ_ಠ, es pat īsti par tirgu šobrīd nerunāju, vienkārši konstatēju faktu par zemā līmeņa valodu popularizēšanos. Bet lielu tirgu arī nevajag nevajag uzreiz tiekties pēc visas pasaules iekarošanas - lielākā daļa uzņēmumu itin labi pelna nebūdami ne paši lielākie, ne paši pazīstamākie... un galu galā - cilvēks tak neteica, kribu dibināt uzņ;ēmum8u, bet gan gribu programm;et. 1 Link to comment Share on other sites More sharing options...
0xDEAD BEEF Marts 26, 2010 Share Marts 26, 2010 Nu embedded softam vel pāris gadus C++ būs ko darīt. Bet vēlā? Pēc 10 gadiem pat putekļusūcēja ieslēgšanas pogai apakšā būs 10nm 1ghz processors uz kura jau mierīgi varēs laist augstāka līmeņa programmas. Un tad vispār ar C++ zināšanām varēs sūkāt fafeli. Kuru tad mūsdienās tas piš? Uztaisam 100 jaunus objektus ar 300 valuekonvertoriem un 50 reizes pārkopējam objektus - garbage kolektors tā pat tiks galā. Nu - tā izskatās, ka programmēšana kvalitatīvi mainās un jaspēj tik skriet līdzi! Kaut vai tas pats WPF ar XAML - labdien! Beefs Link to comment Share on other sites More sharing options...
Guest drunk_lizard Marts 26, 2010 Share Marts 26, 2010 a man BRT2008 iepatikaas. izskataas lietaskoks. Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!