Pereiti prie turinio

Rekomenduojami pranešimai

Dave tokias uzduotis mokytoja, kad nyftiemu, metus jau tokiu nedares, jeigu is vis dares, tai neturiu supratimo kaip jas reiketu atlikti...

2.Parasykite programa, kuri apskaiciuotu nurodyto skaiciaus skaitmenu suma(pvz:152,skaitmenu suma yra 8);

3.Parasykite programa, kuri rastu ir isspausdintu skaiciaus n pirma ir paskutini skaitmeni;

4.Parasykite programa, kuri rastu didziausiaji sekos nari ir jo eiles numeri sekoje(ciklas while);

 

Aciu kas pades, noriu pagaut ritma :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dave tokias uzduotis mokytoja, kad nyftiemu, metus jau tokiu nedares, jeigu is vis dares, tai neturiu supratimo kaip jas reiketu atlikti...

2.Parasykite programa, kuri apskaiciuotu nurodyto skaiciaus skaitmenu suma(pvz:152,skaitmenu suma yra 8);

3.Parasykite programa, kuri rastu ir isspausdintu skaiciaus n pirma ir paskutini skaitmeni;

4.Parasykite programa, kuri rastu didziausiaji sekos nari ir jo eiles numeri sekoje(ciklas while);

 

Aciu kas pades, noriu pagaut ritma :)

Tai kad tu čia nori kad tau nepadėtu, o viska už tave padarytu, bent pats bandei žiūrėt? nors viena eilute parašei? kas būtent neaišku?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

2. Parasykite programa, kuri apskaiciuotu nurodyto skaiciaus skaitmenu suma(pvz:152,skaitmenu suma yra 8);

program programa;

var sk, sum:longint;
Begin
readln(sk);
sum := 0;
while sk > 0 do
   begin
   sum += sk mod 10;
   sk := sk div 10;
   end;
writeln(sum);
readln;
End.

 

3. Parasykite programa, kuri rastu ir isspausdintu skaiciaus n pirma ir paskutini skaitmeni;

program programa;

var n:longint;
Begin
readln(n);
writeln('Pirmas skaitmuo: ', n div 10 ** (trunc(ln(n)/ln(10))));
writeln('Paskutinis skaitmuo: ', n mod 10);
readln;
End.

 

4. Parasykite programa, kuri rastu didziausiaji sekos nari ir jo eiles numeri sekoje(ciklas while);

Nesupratau šios užduoties biškį :/

Nuoroda į pranešimą
Dalintis kituose puslapiuose

1. gauni skačių, patikrini iš kiek simbolių tas skaičius sudarytas, jeigu tai dviženklis (ir didesnis) skaičius tuomet suki ciklą ir imi kiekviena skaičiaus skaitmenį ir sumuoji. manau jeigu programavime gaudaisi tuomet padarysi be problemų.

 

2. na čia principas kaip pirmoj užduotyje tik paimi pirmą skaičiaus skaitmenį ir paskutinį.

 

3. na tai suki ciklą ir į laikiną kintamąjį įrašai skaičius didesnius, mažesnius priklauso nuo užduoties ir tuo pačiu renki to skaičiaus vietą:


  •  
  • įvestas skaičius: (x:=152);
  • tikriname ar "x" didesnis tarkime už "10" (jeigu didesnis tuomet tai dviženklis skaičius arba dar didesnis), jeigu salyga tenkina sukame ciklą (šiuo metu mūsų įvestas skaičius triženklis, reiškiasi sąlyga tenkina ir sukame ciklą).
  • cikle tikriname pirmą skaičių (1), kadangi mūsų laikinas kintamasis tarkim (y) yra 0 tuomet tikriname ar "y>x[0]" (ar laikinas kintamasis didesnis už mūsų skaičiaus pirmąjį skaitmenį) taigi viskas atrodo taip: 0>1, kaip matome salyga klaidinga ir mūsų netenkina nes "0" nėra didesnis už 1, tokiu atveju įrašome į laikiną kintamąjį "1" ir dabar y=1; sukame sekanti skaičių (5) ir vėl tikrinamą (y>x[1] arba 1>5) vel sąlyga klaidinga, tuomet pakeičiame "y" reikšmę į 5 (y:=5), toliau sukame ciklą (y>x[2] arba 5>2) matome kad šį kartą salyga mus tenkina, tai reiškia kad nieko nedarome ir judame toliau. pasirodo kad tai paskutinis mūsų skaičiau skaitmuo ir baigiame ciklą. rezultatas toks: y=5 :) štai ir didžiausias mūsų skaitmuo. na dar pasidaryk vieną laikiną kintamąjį ir į jį talpink skaičiaus vietą. :) viskas, matai paprasta.
  • išvedame mūsų laikino kintamojo reikšmę į ekraną

 

užduotys gana paprastos, bet jeigu nori, kad kas padarytų prašau mokėk pinigus ir bus padaryta per 30min. :) aš savo darbą įvertinčiau 100 lietuviškų pinigų., jei tinka kreipkis.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Labai jums dekoju, kita karta taip nedarysiu ir desiu tik pabandes spresti, bet tiesiog, siuo atveju niekaip nesugalvojau kaip jas daryti.Dar klausimukas o ka reiskia operatorius +=, praieskojau visur bet taip ir neradau... :)

a := a+b

yra tas pats kaip

a += b

(jei tik gerai supratau paskalio sintaksę)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

a := a+b

yra tas pats kaip

a += b

(jei tik gerai supratau paskalio sintaksę)

Pirma supratau pilnai jau, o dabar nesuprantu 2, pavyzdziui ka visa si eilutes dalis reiskia ** (trunc(ln(n)/ln(10))))? :D Na as suprantu, kad cia kazkas su logaritmais, bet mums informatikoje, dar nemoke kaip su jais naudotis, be to tu ** simboliu irgi nerode, reiskia turi buti ir kitoks budas kaip si uzdavini isspresti...

Redagavo RealEfect
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Labai dekui, o tai tada kam reikia dalinti is 10 ir gauti sveikaji skaiciu, o veliau liekana?Kazkaip man nedaeina :D Taigi, mes visu pirmiausia nezinome keliu skyriu skaiciu gausime, ar dvizenkli,trizenkli ir t.t.

Na, toks algoritmas. Dalinant iš dešimt, paskutinis skaitmuo liks liekanoje. Pvz. (python konsolėje):

>>> 152%10
2
>>> 15%10
5
>>> 1%10
1

Na, o tai, kas lieka padalijus su liekana (rezultatą, kaip 152/10 = 15) pasiliekame, ir atsirenkinėjame toliau tuos skaitmenis :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na, toks algoritmas. Dalinant iš dešimt, paskutinis skaitmuo liks liekanoje. Pvz. (python konsolėje):

>>> 152%10
2
>>> 15%10
5
>>> 1%10
1

Na, o tai, kas lieka padalijus su liekana (rezultatą, kaip 152/10 = 15) pasiliekame, ir atsirenkinėjame toliau tuos skaitmenis :)

Aciu labai tau, kad padedi, dabar pilnai suprantu pirmaja uzduoti, siaip net nebuciau pagalvojes, kad taip reikia daryti, bet dabar vieno dalyko nesuprantu antrojoje uzduotyje:** (trunc(ln(n)/ln(10))).Musu informatikoje dar nemoke naudoti logaritmu ir tokiu funkciju kaip trunc, arba zenklu **,tai gal yra kitoks budas kaip ji isspresti, nes sito as visiskai nesuprantu.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Aciu labai tau, kad padedi, dabar pilnai suprantu pirmaja uzduoti, siaip net nebuciau pagalvojes, kad taip reikia daryti, bet dabar vieno dalyko nesuprantu antrojoje uzduotyje:** (trunc(ln(n)/ln(10))).Musu informatikoje dar nemoke naudoti logaritmu ir tokiu funkciju kaip trunc, arba zenklu **,tai gal yra kitoks budas kaip ji isspresti, nes sito as visiskai nesuprantu.

Šaunu, kad stengiesi suprasti, ką kur kas daro:

trunc - ūkiškai, paverčia skaičių su kableliu į skaičių be jo.

** - kelimo laipsniu operatorius.

O (trunc(ln(n)/ln(10))) yra vienu mažesnis, nei ženklų skaičius skaitmenyje.

T.Y.

n = 4567; (trunc(ln(n)/ln(10))) = 3;

n = 1; (trunc(ln(n)/ln(10))) = 0;

n = 45787654; (trunc(ln(n)/ln(10))) = 7;

T.Y.Y.

Niekas nedraudžia sugalvoti(ar išsigooglinti) protingą algoritmą kvailai užduočiai atlikti. Puikus būdas pasirodyti prieš mokytoją.

Redagavo nagisa
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Šaunu, kad stengiesi suprasti, ką kur kas daro:

trunc - ūkiškai, paverčia skaičių su kableliu į skaičių be jo.

** - kelimo laipsniu operatorius.

O (trunc(ln(n)/ln(10))) yra vienu mažesnis, nei ženklų skaičius skaitmenyje.

T.Y.

n = 4567; (trunc(ln(n)/ln(10))) = 3;

n = 1; (trunc(ln(n)/ln(10))) = 0;

n = 45787654; (trunc(ln(n)/ln(10))) = 7;

T.Y.Y.

Niekas nedraudžia sugalvoti(ar išsigooglinti) protingą algoritmą kvailai užduočiai atlikti. Puikus būdas pasirodyti prieš mokytoją.

Dekui supratau, bet kaip imanoma apskritai toki dalyka ismastyti, ar cia tiesiog reikia toki gabala isiminti? :D Ir siaip paaiskinkit man kvailam, kodel reikia rasyti ta ln10, juk jis bet kokiu atveju nieko nepakeis, ln10=1, ar ne taip?O visus skaicius, kuriuos dalinsime is 1 vistiek paliksime tokius pacius, nepakeistus.

Redagavo RealEfect
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dekui supratau, bet kaip imanoma apskritai toki dalyka ismastyti, ar cia tiesiog reikia toki gabala isiminti? :D Ir siaip paaiskinkit man kvailam, kodel reikia rasyti ta ln10, juk jis bet kokiu atveju nieko nepakeis, ln10=1, ar ne taip?O visus skaicius, kuriuos dalinsime is 1 vistiek paliksime tokius pacius, nepakeistus.

 

ln - natūrinis logaritmas, t.y. logaritmas su pagrindu e (e ~= 2.7, jei atmintis nepaveda).

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dekui supratau, bet kaip imanoma apskritai toki dalyka ismastyti, ar cia tiesiog reikia toki gabala isiminti? :D Ir siaip paaiskinkit man kvailam, kodel reikia rasyti ta ln10, juk jis bet kokiu atveju nieko nepakeis, ln10=1, ar ne taip?O visus skaicius, kuriuos dalinsime is 1 vistiek paliksime tokius pacius, nepakeistus.

>>> log(10)
2.302585092994046

Nuoroda į pranešimą
Dalintis kituose puslapiuose

>>> log(10)
2.302585092994046

Bet kaip mus moke praeitais metais, tai logaritmas yra pagrindas pakeltas laipsniu yra lygus pologaritminiui reiskiniui.Tai ln pagrindas yra 10, o jeigu pologaritminis reiskinys yra irgi 10, tai logiskai, reikia 1 laipsnio pagrindui, kad butu pologaritminis reiskinys lygus 10, is kur jus cia toki skaiciu e istrauket? :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Bet kaip mus moke praeitais metais, tai logaritmas yra pagrindas pakeltas laipsniu yra lygus pologaritminiui reiskiniui.Tai ln pagrindas yra 10, o jeigu pologaritminis reiskinys yra irgi 10, tai logiskai, reikia 1 laipsnio pagrindui, kad butu pologaritminis reiskinys lygus 10, is kur jus cia toki skaiciu e istrauket? :D

http://en.wikipedia.org/wiki/Natural_logarithm

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tada jau nezinau kuom pasitiketi, ar mokytojumi, ar wikipedijos irasu, arba galbut as pats neteisingai supratau, nes lygtais man isimine, kad ln, tai yra log sutrumpinimas, kuriame nerasomas pagrindas, ir jeigu log jis rasomas ir yra 10, tai ln nerasomas, bet turime zinoti, kad pagrindas yra 10.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tada jau nezinau kuom pasitiketi, ar mokytojumi, ar wikipedijos irasu, arba galbut as pats neteisingai supratau, nes lygtais man isimine, kad ln, tai yra log sutrumpinimas, kuriame nerasomas pagrindas, ir jeigu log jis rasomas ir yra 10, tai ln nerasomas, bet turime zinoti, kad pagrindas yra 10.

Ką jau ką, bet Google manau pasitikėti galima - http://www.google.com/search?cx=w&sourceid=chrome&ie=UTF-8&q=ln(10)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kadangi paskalis neturi logoritmo pagrindu 10, turi tik ln naturinį logoritmą pagrindu e, tai aš pasinaudojęs logoritmo pagrindo keitimo formule, susikuriu logoritmą pagrindu 10 t.y. (log10x = ln(x)/ln(10)). Nieko čia nereikia įsiminti, tiesiog reikia mokėti matematiką ;)

 

Aišku galima ir su ciklu padaryti 3 užduotį:

program programa;

var n:longint;
   pirmas, paskutinis:integer;
Begin
readln(n);
paskutinis := n mod 10;
while n div 10 <> 0 do
   begin
   n := n div 10;
   pirmas := n mod 10;
   end;
writeln('Pirmas skaitmuo: ', pirmas);
writeln('Paskutinis skaitmuo: ', paskutinis);
readln;
End.

Redagavo audrius^
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kadangi paskalis neturi logoritmo pagrindu 10, turi tik ln naturinį logoritmą pagrindu e, tai aš pasinaudojęs logoritmo pagrindo keitimo formule, susikuriu logoritmą pagrindu 10 t.y. (log10x = ln(x)/ln(10)). Nieko čia nereikia įsiminti, tiesiog reikia mokėti matematiką ;)

 

Aišku galima ir su ciklu padaryti 3 užduotį:

program programa;

var n:longint;
   pirmas, paskutinis:integer;
Begin
readln(n);
paskutinis := n mod 10;
while n div 10 <> 0 do
   begin
   n := n div 10;
   pirmas := n mod 10;
   end;
writeln('Pirmas skaitmuo: ', pirmas);
writeln('Paskutinis skaitmuo: ', paskutinis);
readln;
End.

Super, aciu, tikrai man labai daug padejai :) Bet tik nesuvokiu is kur tu suzinojai, kad si lygtis teisinga (log10x = ln(x)/ln(10)) ir apskritai, kaip kilo mintis toki dalyka padaryti? :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Taigi jau aiškinau, kadangi matematikoje logoritmo pagrindą galima keisti su labai paprasta formule (logaX =logcX / logca). O mintis kilo spręndžiant kažkurį iš http://projecteuler.net/ uždavinių ;). Nes logoritmas pagrindu 10 duoda skaičių kuris nurodo laipsnį kuriuo reikia kelti pagrindą 10, kad gauti pradinį skaičių, (log10100 = 2, log1010 = 1), taigi jeigu nori sužinoti kiek skaičius turi skaitmenų, iš log10X (X - betkoks skaičius) reikia paimti sveikąją dalį be kablelio ir pridėti vienetą, matematiškai tai atrodytų taip: [log10X] + 1, šie skliaustai [ ], reiškia iš reiškinio yra paimama sveikoji dalis, viskas kas po kablelio yra numetama.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...