Pereiti prie turinio

trops

Patvirtinti nariai
  • Pranešimai

    476
  • Užsiregistravo

  • Lankėsi

  • Atsiliepimai

    100%

trops Pranešimai

  1. Duoti du skaičiai skait ir vard – paprastosios trupmenos skaitiklis ir vardiklis. Para¬šykite programą duotai trupmenai suprastinti. Joje panaudokite procedūrą.

     

    Čia kažkaip reik kad if skait ir vard mod 3 = 0 then dalint?

    Ar kažkas panašaus? nesuprantu...

     

    Dekui. :lol:

     

     

    Manau kažkas tokio

     

    if skait mod vard = 0 then begin... toliau susiskaičiuoji skait ir vard, bet tai nėra lengva :)

  2. Eini per C masyvą. Imi einamąjį C masyvo elementą ir, pereidamas per visą DEL masyvą, patikrini, ar einamojo C masyvo elemento jame nėra. Jeigu, nėra dedi šį elementą į DEL masyvą :)

     

    program Noname48;

    var C,DEL:array [1..10] of integer;

    i,a,b,d,n,f,sum,sum2:integer;

    {============skaiciuoju daliklius=============}

    procedure dalikliai;

    begin

    WriteLn('Iveskite du skaicius');

    read (a,b);

    sum:=0;

    sum2:=0;

    for i:=1 to a do begin

    if a mod i=0 then begin

    d:=d+1;

    C[d]:=i;

    end;

    end;

    for i:=1 to b do begin

    if b mod i=0 then begin

    d:=d+1;

    C[d]:=i;

    end;

    end;

    writeln ('Suformuotas C masyvas');

    for i:=1 to d do write (C:4);

    end;

    {=================rikiuoju didejancia tvarka ir mazejancia===========================}

    procedure rikiuoju;

    var min,max,k,t,o:integer;

    begin

    for i:=1 to d-1 do begin

    min:=C;

    k:=i;

    for o:=i+1 to d do

    if min>C[o] then begin

    min:=C[o];

    C[o]:=C;

    C:=min;

    end;

    end;

     

    writeln;

    writeln ('Mazejimo tvarka: ');

    for i:=1 to d do write (C:4);

    for i:=1 to d-1 do begin

    max:=C;

    t:=i;

    for o:=i+1 to d do

    if max<C[o] then begin

    max:=C[o];

    C[o]:=C;

    C:=max;

    end;

    end;

    writeln;

    writeln ('Didejimo tvarka: ');

    for i:=1 to d do write (C:4);

    end;

    {================ismetame vienodus skaicius==============}

    procedure skaiciai;

    var pr,j,z:integer;

    begin

    for i:=1 to d-1 do begin

    pr:=C;

    z:=i;

    for j:=i+1 to d do

    if pr<>C[j] then DEL:=C;

    end;

    writeln;

    for i:=1 to d do write (DEL);

    end;

    begin

    dalikliai;

    rikiuoju;

    skaiciai;

    Readln;

    end.

     

    Kažkas tokio? nelabai suprantu :)

  3. program Noname48;

    var C,DEL:array [1..10] of integer;

    i,a,b,d,n,f,sum,sum2:integer;

    {============skaiciuoju daliklius=============}

    procedure dalikliai;

    begin

    WriteLn('Iveskite du skaicius');

    read (a,b);

    sum:=0;

    sum2:=0;

    for i:=1 to a do begin

    if a mod i=0 then begin

    d:=d+1;

    C[d]:=i;

    end;

    end;

    for i:=1 to b do begin

    if b mod i=0 then begin

    d:=d+1;

    C[d]:=i;

    end;

    end;

    writeln ('Suformuotas C masyvas');

    for i:=1 to d do write (C:4);

    end;

    {=====================rikiuoju didejancia tvarka ir mazejancia==================================}

    procedure rikiuoju;

    var min,max,k,t,o:integer;

    begin

    for i:=1 to d-1 do begin

    min:=C;

    k:=i;

    for o:=i+1 to d do

    if min>C[o] then begin

    min:=C[o];

    C[o]:=C;

    C:=min;

    end;

    end;

     

    writeln;

    writeln ('Mazejimo tvarka: ');

    for i:=1 to d do write (C:4);

    for i:=1 to d-1 do begin

    max:=C;

    t:=i;

    for o:=i+1 to d do

    if max<C[o] then begin

    max:=C[o];

    C[o]:=C;

    C:=max;

    end;

    end;

    writeln;

    writeln ('Didejimo tvarka: ');

    for i:=1 to d do write (C:4);

    end;

    {================ismetame vienodus skaicius==============}

    procedure skaiciai;

    var ?:integer;

    begin

    ???????

    end;

    begin

    dalikliai;

    rikiuoju;

    skaiciai;

    Readln;

    end.

     

    Vietoj klaustuku reikia suformuoti DEL masyva, kuriame būtų C masyvo skaičai tik iš jo išmesti pasikartojantys skaičiai pvz.: C masyvas 1 1 4 2 2 5 6, DEL masyvas turi gautis 1 4 2 5 6

     

    Reikia rytojuj :)

  4. Parašykite funkciją, kurios rezultatas būtų skaičius, gautas iš natūraliojo skaičiaus, sukeitus jo i-tąjį ir k-tąjį skaitmenis vietomis. Skaitmenys numeruojami iš kairės į dešinę.

     

     

    program skaicius;

    var a,b,c,ps,sk,a1,sum,o,o1:integer;

    begin

    WriteLn('Iveskite skaiciu ir skaitmenis kuriuos norite apkeisti');

    readln (a,b,c);

    a1:=a;

    sum:=0;

    sk:=0;

    while a>0 do begin

    ps:=a mod 10;

    sum:=sum+1;

    a:=a div 10;

    end;

    o:=sum-b+1;

    o1:=sum-c+1;

    while a1>0 do begin

    ps:=a1 mod 10;

    sk:=sk+1;

    if o=sk then b:=ps;

    if o1=sk then c:=ps;

    a1:=a1 div 10;

    end;

     

    Readln;

    end.

     

    Randu skaičius, kuriuos reikia apkeisti, bet kaip išvesti tą galutinį skaičių (su apkeistais skaitmenimis) ?

  5. Tai tokį ir pats buvau sugalvojęs, tačiau man reik, kad funkciją atliktų vienu veiksmu...

    Beje, gal žinot kaip tokį uždavinį atlikt reiktų?

    "Parašykite programą, kur nustatytų, ar intervale [x1;x2] yra nors vienas palindromas (palindromu laikomas skaičius, kurį, perrašius iš antro galo, gaunamas tas pats skaičius pvz 12321). Radus pirmąjį palindromą, paiešką reikia nutraukti. Programoje panaudokite loginį kintamąjį".

    Tai galvojau šiame uždaviny iš pradžių surasti pirmą ir paskutinius skaitmenis, juos palygint, taip ir 2-4... Tačiau neįsivaizduoju kaip jį daryt reiktų.

     

     

     

    program palindromas;

    var x1,x2,k,k1,ps,ns:integer;

    begin

    WriteLn('iveskite skaiciu intervala');

    readln (x1,x2);

    For k:=x1 to x2 do begin

    k1:=k;

    ns:=0;

    while k1>0 do begin

    ps:=k1 mod 10;

    ns:=ns*10+ps;

    k1:=k1 div 10;

    end;

    if ns=k then writeln (k);

    end;

    Readln;

    end.

     

    Čia surašys visus palindromus intervale, pasitobulink, kad suradus pirmą, programa sustotu :)

  6. Parašykite programą, kuri išspausdintų visus tobuluosius skaičius, telpančius jūsų kompiuterio atmintyje. Tobulasis skaičius - toks natūralusis skaičius, kurio visų daliklių (išskyrus patį skaičių) suma lygi jam pačiam.

     

    Kaip suprasti telpančius jūsų kompiuterio atmintyje? Užveskit ant kelio, nes nelabai suprantu.

  7. Man tai kažkaip iš sąlygos atrodo, kad jis išleidžia tiesiog R litų, o tos palūkanos pasilieka sąskaitoje. ;)

    Bet jei darant taip, kaip Tu sakai, tai būtų taip:

    program antras_variantas;
    var n,k,r,p,o,w,isleista:real;
    i: integer;
    begin
    WriteLn('Įveskite laimėtą sumą, procentus valstybei, kasmetines išlaidas');
    readln (n,k,r);
    p:=n -(n/100*k);
    i := 1;
    while i <= 10 do
    	begin
    		writeln (i, ':');
    		i := i + 1;
    		if p <= r then
    			begin
    				writeln ('Išleista pinigų: ',p:2:2);
    				writeln ('Pinigų nebėra.');
    				break;
    			end
    		else begin
    				isleista := r+(p/100*6);
    				writeln ('Išleista pinigų: ',isleista:2:2);
    				p:=p-r;
    				writeln ('Liko pinigų: ',p:2:2);
    			end;
    	end;
    Readln;
    end.

     

    nu va, dėkuj :D

  8. program antras_variantas;
    var n,k,r,p,o,w:real;
    i: integer;
    begin
    WriteLn('Įveskite laimėtą sumą, procentus valstybei, kasmetines išlaidas');
    readln (n,k,r);
    p:=n -(n/100*k);
    For i:=1 to 10 do
    	begin
    		writeln (i, ':');
    		if p < r then
    			begin
    				writeln ('Išleista pinigų: ',p:2:2);
    				writeln ('Pinigų nebėra.');
    				break;
    			end
    		else begin
    				writeln ('Išleista pinigų: ',r:2:2);
    				p:=p-r;
    				writeln ('Liko pinigų: ',p:2:2);
    				p:=p+(p/100*6);
    			end;
    	end;
    Readln;
    end.

     

     

    Sakė daryti su While ciklu, bėja ta išleista pinigų suma manau turi būti suma kurią įvedi bet prie jos dar reikia pridėti k- procentus kuriuos duoda bankas palūkanų.

  9. Dėkuj, turiu dar viena kurio visaj nesuprantu ;)

     

    program antras_variantas;

    var n,k,r,p,o,w:real;

    begin

    WriteLn('Iveskite laimeta suma, procentus valstyvei, kasmetines islaidas');

    read (n,k,r);

    p:=n -(n/100*k);

    while p>r do begin

    For p:=1 to 10 do begin

    o:=p+(p/100*6);

    p:=o-r;

    w:=???????????????????????;

    writeln ('isleista pinigu ',w:2:2);

    writeln ('liko pinigu ',p:2:2);

    end;

    if n<>0 then writeln ('pinigu nebera');

    Readln;

    end.

     

    Čia pilna klaidų.. Kaip w rasti? :D

    post-6670-1224182086_thumb.jpg

  10. program pirmas_variantas;

    var n,k,p:real;

    begin

    WriteLn('Iveskite obuoliu skaiciu');

    read (n);

    while n>3 do begin

    p:=n/100*20;;

    n:=n-p;

    writeln ('suvalge obuoliu ',p:2:2);

    writeln ('liko obuoliu ',n:2:2);

    if n<3 then begin

    writeln ('suvalge obuoliu ',n:2:2);

    writeln ('obuoliu nebera');

    end;

    end;

     

    Readln;

    end.

     

     

    Kaip cia ta "trunc" dabar padaryti?

    SALYGA:

    post-6670-1224180912_thumb.jpg

  11. Mano variantas B-)

     

    program paskola;
    var sk, skola : real;
    	i, m, n, k : longint;
    begin
    	k := 0; n := 1;
    	writeln('Iveskit metu skaiciu');
    	read(m);
    	n := 12 * m;
    	for i := 1 to n do
    		begin
    		if i mod 2 = 0 then
    		k := k + 250;
    		if i mod 2 <> 0 then
    		k := k + k + 20;
    		end;
    	skola := (m * ((20000/100) * 5)) + 20000;
    	if k >= skola
    		then writeln('Petraiciai skola grazins')
    		else writeln('Petraciai negrazins skolos');
    	Readln;
    end.

     

    p.s. jei teisingai suprantu metinių palūkanų terminą :) Laziau, juk metinės palūkanos ir sudėtinės ne tas pats, ar klystu? ;]

     

    p.s.2. trops > buvai pamiršęs pridėt 20000 paskolos litukų ;] juk ne vien palūkanas grąžint reiks.

     

    Jūsų abiejų variantai teisingi :). Dėkuj

  12. For n:=1 to n do begin  //čia yra durnas ciklas

     

    aš daryčiau taip

    For men :=1 to n*12 do begin
     if men mod 2=0 
     then .....		 //lyginis mėnesis
     else .....		 //nelyginis mėnesis
      .....
    end;

     

    Vistiek gaunasi, kad visada gražins pinigus, o šiaip paskaičiavau, kad per metus gražina apie 17k. tai po metų turėtu negražinti skolos. Yra dar klaidų ;/

  13. Tenka vėl prašyti jūsų pagalbos.

     

     

    Petraičių šeima 2005m. iš banko paėmė 20 000Lt paskolą. Bankas ima 5% metinių palūkanų. Per M metų Petraičiai planuoja pinigus su palūkanomis bankui gražinti. Mama Petraitė sudarė pinigų gražinimo grafiką: kiekvieną lyginį mėnesį yra įnešti po 250Lt, kiekvieną nelyginį mėnesį įnešti po 20Lt daugiau nei yra inešta iki tol. Ar per M metų Petraičiai gražins bankui pinigus? Parašykite programą.

    M - metų skaičius.

     

    Bandžiau kažką daryti, bet jaučiu prigrybavau, nes kiek metų be įvesčiau rašo, kad negražins...

     

    program bankas;

    var sk,p:real;

    men,n,y:longint;

    begin

    WriteLn('Iveskite metu skaiciu');

    read (n);

    sk:=0;

    For n:=1 to n do begin

    men:=n*12;

    if men mod 2=0 then sk:=sk+250 else sk:=sk+sk+20;

    end;

    p:=n*((20000/100)*5);

    if sk>=p then writeln ('Pertraiciai grazins pinigus') else writeln ('pertraiciai negrazins pinigu');

    Readln;

    end.

  14. Reikia parašyti programą, atspausdinančia tuos triženklius skaičius, kurie dalijasi iš visų savo skaitmnų.

     

    program trizenklis;

    var i,i1,i2,i3:integer;

    begin

    Write('trizenkliai skaiciai kurie dalijasi is visu savo skaitmenu: ');

    For i:=100 to 999 do begin

    i1:=i mod 10;

    i2:=i div 10 mod 10;

    i3:=i div 100;

    if (i mod i1=0) and (i mod i2=0) and (i mod i3=0) then writeln(i);

    end;

    Readln;

    end.

     

     

    Kur klaida?

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