Jump to content

Pascal uzdevums


Mastero
 Share

Recommended Posts

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

androidss

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 - androidss
  • Patīk 1
Link to comment
Share on other sites

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 - WildGun
Link to comment
Share on other sites

Es skatītos rekursijas virzienā:

 

fja(n) =
  if n=1 then 1 else n*fja(n-1);

Read(n);
write(fja(n)); 
  • Patīk 1
Link to comment
Share on other sites

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 - AndrisBB
Link to comment
Share on other sites

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

Леший

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 - Леший
Link to comment
Share on other sites

Pascal noteikti autoram lika augstskolas pasniedzējs. Firmas Pascal neprasa, cita varianta, kāpēc Pascal, neredzu.

Link to comment
Share on other sites

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 - MarisO
Link to comment
Share on other sites

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 kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...