Mastero Ierakstīts Decembris 26, 2014 Share Ierakstīts Decembris 26, 2014 Labdien! Vai kāds varētu palīdzēt izlabot kļūdu? Uzdevums ir tāds: 1) programma aprēķina skaitļa n faktoriālu (visu naturālo skaitļu no 1 līdz n reizinājumu). Skaitļa n faktoriālu apzīmē ar n!, piemēram, 3! = 1 · 2 · 3 = 6. Skaitli n (mazāku par 11) ievada ar tastatūru; 2) mainīgos norādīt apraksta daļā, mainīgajiem piešķirot identifikatorus un izvēloties atbilstošu tipu (faktoriāla mainīgajam tipu longint). program faktorials; var n: integer; f: longint; begin write('Ievadiet veselu pozitivu skaitli: '); readln(n); n:=0; f:=1; while n<11 do n:=n-1; f:=f*n; writeln('Skaitla ',n, ' faktorials ir ',f); readln; end. Paldies jau iepriekš! Link to comment Share on other sites More sharing options...
androidss Decembris 26, 2014 Share Decembris 26, 2014 (labots) kāpēc tu userim liec ievadīt n un pēc tam n piešķir 0? pamēgini uz papīra ar zīmuli iziet cauri savai programmai Labots Decembris 26, 2014 - androidss 1 Link to comment Share on other sites More sharing options...
WildGun Decembris 26, 2014 Share Decembris 26, 2014 Šitā konstrukcija while n<11 do arī nedarbosies. Link to comment Share on other sites More sharing options...
Borja Decembris 26, 2014 Share Decembris 26, 2014 n:=0; while n<11 do n:=n-1; Ljoti labi darbosies. Klasiskais bezgaliigais cikls. Link to comment Share on other sites More sharing options...
WildGun Decembris 26, 2014 Share Decembris 26, 2014 (labots) Borja, ja biji domājis, ka procītim slodze nodrošināta un elektrības skaitītājam darbs nodrošināts, tad šaubu nav. Elegants risinājums. Tikai man ir aizdomas, ka autoram bij padomā cits rezultāts. Kaut gan - ej nu sazini. Kurš tos mūsdienu indigo spēj saprast..... Labots Decembris 26, 2014 - WildGun Link to comment Share on other sites More sharing options...
VIL Decembris 26, 2014 Share Decembris 26, 2014 Es skatītos rekursijas virzienā: fja(n) = if n=1 then 1 else n*fja(n-1); Read(n); write(fja(n)); 1 Link to comment Share on other sites More sharing options...
AndrisBB Decembris 26, 2014 Share Decembris 26, 2014 (labots) manliekas ka pozitivs vins nekljus nekad starpcitu visdrizak for vai do loops bus atraks par rekursiju, ja vien kompilieris tikunta neoptimizes to neparrakstis ka parastu while Labots Decembris 26, 2014 - AndrisBB Link to comment Share on other sites More sharing options...
AlCohol Decembris 26, 2014 Share Decembris 26, 2014 par google tupu izmantošanu jau vien pirkstus jānocērt, kur nu vel palīdzēt, lai izpildītu tik elementāru lietu. priekš kam vispār mācies to, kas pašam šķiet garlaicīgi? Link to comment Share on other sites More sharing options...
Леший Decembris 27, 2014 Share Decembris 27, 2014 (labots) tūlīt Londonas Māris iemetīs risinājumu Es viņa vietā: https://eval.in/237348 {-# LANGUAGE PostfixOperators #-} (!) = product . enumFromTo 1 main = do print (5!) print (1234!) print ((-5)!) Pēc šita, kurš grib lietot paskalu? Labots Decembris 27, 2014 - Леший Link to comment Share on other sites More sharing options...
beryl Decembris 27, 2014 Share Decembris 27, 2014 Pascal noteikti autoram lika augstskolas pasniedzējs. Firmas Pascal neprasa, cita varianta, kāpēc Pascal, neredzu. Link to comment Share on other sites More sharing options...
MarisO Decembris 27, 2014 Share Decembris 27, 2014 (labots) Pascal gan riebjas, nezinu tā 'int' ieražas, bet vai tad pēc mirkļa tas n nekļūs pat ļoti pozitīvs? jā, TurboPascal ir int "wrap around", pēc -32768 - 1 = 32767 Labots Decembris 27, 2014 - MarisO 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!