Паскал - Pascal

Член од
26 јануари 2007
Мислења
828
Поени од реакции
842
Да се напише програма која ќе ги пронајде сите броеви помали од n за кои важи равенството x*x+y*y=z*z
Код:
program bikvadrati;
var i,j,k: longint;
    m,n,q : longint;
    p:set of byte;
begin
p:=[];

readln(m,n);
for i:=0 to n do
  for j:=i to n do
    if (sqr(i)+sqr(j)<=n) and (sqr(i)+sqr(j)>=m) then
    begin
      if not(sqr(i)+sqr(j) in p) then
       begin
       inc(q);
       p:=p+[sqr(i)+sqr(j)];
       end;
    end;

writeln(q);
readln;
end.
ако е помала од n тогаш и негативните броеви ќе треба да се вклучат, така да најубо е кога имаме од n до m, и ти печати вкупно колку биквадрати имаш
(1<=m<=longint) (m<n<=longint)

Не ми е задачата некако дефинирана до крај, се сметаат ли паровите од броеви x,y кои при квадрирање се добива исти биквадрат со друг пар броеви x',y'..
Во овој мој случај не ги смета, т.е брои колку биквадрати има..
Ако сакаш да ги печати тогаш вметни после условот writeln(i,'^2','+',j,'^2','=',sqr(i)+sqr(j));
 
Член од
27 август 2009
Мислења
1.540
Поени од реакции
1.671
^ Фала :smir:
само дали може задачава да се реши со while do
 
Член од
26 јануари 2007
Мислења
828
Поени од реакции
842
1.да се напише програма која ќе го испечати спротивниот број на трицифрен број
2.да се напише програма која ќе го испечати спротивниот број на трицифрен број со букви
(и во двете задачи со while и do )
1.

Код:
program prva;
i,broj1,broj2:integer;
begin
readln(broj1);
broj2:=0;
while (broj1>0) do
begin
        broj2:=broj2*10;
        broj2:=broj1 mod 10;
        broj1:=broj1 div 10;
end;
writeln(broj2);
end.
[/quote]

Мислам дека не треба да е во ред кодов што го имаш напишано..
Инаку не ја знам мн. синтаксата во pascal зашто одамна не го употребувам но мислам дека вака некако би требало да биде оптимално со while и do, И цифри од 1 до 3 и при тоа да :
пр:  (5=5) (23=32) (450=54) (124=421)

[code]program prva;
var i,j :integer;
    pom,broj :integer;

begin
i:=1;
readln(broj);
pom:=broj;

while i<=3 do
  begin
   broj:=pom mod 10;
   pom:=pom div 10;
    if (broj=0) and (i=1) then inc(i)
     else
      begin
      write(broj);
      inc(i);
      end;
       if (pom=0) then break;
  end;

readln
end.
^ Фала :smir:
само дали може задачава да се реши со while do
Па исто ќе му биде и со while, само што таму за броење ќе ставаш inc(i) и inc(j)
 
Член од
27 август 2009
Мислења
1.540
Поени од реакции
1.671
Да се напише програма која ќе ја преврти низата така што вредноста на првиот елемент ќе е последнен а последниот прв( со низи)
 
I

Intex

Гостин
Да се напише програма која ќе ја преврти низата така што вредноста на првиот елемент ќе е последнен а последниот прв( со низи)
Ај вака, гарант задачата ти е за у школо, и ќе ја добиеш решена од овде, и ќе ја имаш од школо. Шо научуваш ти од неа? Не е проблем задачата, еве јас ќе кажам како да ја решиш, ама треба да се помачиш ти малку.

Алгоритам, па ти ќе си ја решиш.

Внесуваш димензии на низата.
Со помош на некој вртечки циклус ја полниш, низата иде од најмала кон најголема димензија.
Со исти вртечки циклус ја испишуваш, само од најголемата кон најмалата димензија. И толку.
Ај остани ми со здравје.
 
Член од
27 март 2009
Мислења
180
Поени од реакции
4
Ај ако може некој да помогне. Значи задачата гласи да се направи програма со функција за пресметка на сумата на парните и непарните броеви посебно во опсег од 1 до N. Пробав нешто ама како што е вака ја печати само сумата на непарните.

Код:
program nekoj;
uses wincrt;
var
n:integer;
function x(n:integer):integer;
var
sumap,suman,i:integer;
begin
sumap:=0;
suman:=0;
for i:=1 to n do
begin
if i mod 2=0 then
sumap:=sumap+i
else
suman:=suman+i;
x:=sumap;
x:=suman;
end;
end;
begin
readln(n);
writeln(x(n));
end.
 
Член од
26 јануари 2007
Мислења
828
Поени од реакции
842
Ај вака, гарант задачата ти е за у школо, и ќе ја добиеш решена од овде, и ќе ја имаш од школо. Шо научуваш ти од неа? Не е проблем задачата, еве јас ќе кажам како да ја решиш, ама треба да се помачиш ти малку.

Алгоритам, па ти ќе си ја решиш.

Внесуваш димензии на низата.
Со помош на некој вртечки циклус ја полниш, низата иде од најмала кон најголема димензија.
Со исти вртечки циклус ја испишуваш, само од најголемата кон најмалата димензија. И толку.
Ај остани ми со здравје.

Тогаш зошто е направена оваа тема? Зошто постои овој форум? За да научиме нешто, за да помогнеме и да ни помогнат во одредени ситуации. Бај д веј од кај даде заклучок дека задачата е за во школо, па и да е за во школо голема работа, напиши ја и готово, ќе ти биде поубав денот бидејќи си помогнал во нешто...

Секој што сака да научи ќе научи, ако си добар овозможи му да научи, негово право е дали ќе го искористи тоа или не..

Еве ја задачката

Код:
program nizi;
var niza:array[1..256] of integer;
    i,n,pom:byte;

begin
write('Vnesi kolku clenovi ima nizata : ');
read(n);
write('Vnesi gi clenovite vo sledniov red : ');
for i:=1 to n do
  read(niza[i]);

for i:=1 to (n div 2) do
  begin
  pom:=niza[n-i+1];
  niza[n-i+1]:=niza[i];
  niza[i]:=pom;
  end;

writeln;
write('Clenovite na novata niza se : ');

for i:=1 to n do
  write(niza[i],' ');

 readln;
 readln
end.
Овој алгоритам ги мести членовите на низата, како што ја сфатив задачката, т.е целта е да ги премести членовите на низата во спротивен редослед
 

Кико Д.

ULTRAS - way of life
Член од
26 јануари 2010
Мислења
11.435
Поени од реакции
9.676
Ај ако можи некој нека ми ги кажи овие задачите:
1. Да се напише програма со која ќе се испишува дали некој број n е прост или не во опсег од n до m.


2. Да се напише програма со која ќе се пронајдат, истечатат и пребројат сите трицифрени броеви со растечки редослед во цифрите. Пр. 123 , 345, 259, а не 435 или 859
 
Член од
8 март 2008
Мислења
19
Поени од реакции
0
Бај д веј од кај даде заклучок дека задачата е за во школо, па и да е за во школо голема работа, напиши ја и готово, ќе ти биде поубав денот бидејќи си помогнал во нешто...
Значи тоа не е ПОМОШ да се напише програмата ... тоа е одмагање :D Помош е кога тој заглавил до некаде и праша што како ... а не од темел да му ја напише некој програмата ;) БТВ ... Добра помош му даде ДР Кулен ... му го напиша алгоритмот што е 2пати потешко отколку пишувањето на кодот ... Доколку сакаш да научиш ќе се потрудиш сам ... ако заглавиш некаде за тоа се*сме тука да те упатиме да ја завршиш задачата до крај сам...




Ај ако можи некој нека ми ги кажи овие задачите:
1. Да се напише програма со која ќе се испишува дали некој број n е прост или не во опсег од n до m.


2. Да се напише програма со која ќе се пронајдат, истечатат и пребројат сите трицифрени броеви со растечки редослед во цифрите. Пр. 123 , 345, 259, а не 435 или 859

Код:
Program Hypnotic;
VAR a,b:integer;
BEGIN
   Write('Vnesete go prviot broj:');
   ReadLn(a);
   Write('Vnesete go vtoriot broj:');
   ReadLn(b);
   For a To b Do
      if a => 10 then 
        Begin
           WriteLn(a,'e Slozen Broj');
        END
      else
         Begin
           WriteLn(a,'e Prost Broj');
         End;
   End;---> не сум сигурен за Ова End; Ако ти појави Ерор таму избриши го ...
 END.
BTW земи потруди се сам да ја размозгаш ... ќе ти треба ;)
 
Член од
6 јуни 2009
Мислења
3.094
Поени од реакции
445
^Се заебаваш? Тој код ништо не прави. Еве јас ќе му дадам ама сам нека го размозга.
--------------
Ај ако можи некој нека ми ги кажи овие задачите:
1. Да се напише програма со која ќе се испишува дали некој број n е прост или не во опсег од n до m.
Код:
Program Prosti;
VAR 
	a, b, delitel:integer;
	prost:boolean;
BEGIN
	Write('Vnesete go prviot broj:');
	ReadLn(a);
	Write('Vnesete go vtoriot broj:');
	ReadLn(b);
	for a:=a To b do begin
		prost:= TRUE;
		delitel:= 2;
		while delitel*delitel <= a do begin {mozi da stoi i while delitel <= a div 2, amaa taka kje ima povekje povtoruvanja nepotrebno}
			if a mod delitel = 0 then begin
				prost := false;
				break;
			end;
			delitel:=delitel+1;
		end;
		if prost = true then
			write(a, ' ');
	end;
	writeln;
END.
 

vlatko_95

Чоек
Член од
26 септември 2008
Мислења
260
Поени од реакции
66
Па вака значи, сега почнувам со Паскал, па симнав Турбо Паскал портелјбл компајлер но некако чуден ми е... Пишав нели за Hello World програмата сурс кодот ама не знаев како да го искомпајлирам горе има копче - Compile - но не работи :S па ми текна во Dev C++ беше - F9 па пробав и ми даде овоа



Стискам Спејс и ми се гаси тоа и ништо не се прави... :S Дај помогнете... Фала однапред :)
 
Член од
6 јуни 2009
Мислења
3.094
Поени од реакции
445
2. Да се напише програма со која ќе се пронајдат, истечатат и пребројат сите трицифрени броеви со растечки редослед во цифрите. Пр. 123 , 345, 259, а не 435 или 859
На полесниот начин :icon_lol:
Код:
Program asdsasdasd;
VAR
	broj: integer;
begin
	broj := 123;
	while broj < 1000 do
	begin
		writeln(broj);
		broj := broj + 111;
	end;
end.
И на потешкиот

Код:
Program asdsasdasd2;
VAR
	broj, tmp, cif1, cif2: integer;
	daliCifriteRastat: boolean;
begin
	for broj := 100 to 999 do
	begin
		tmp := broj;
		daliCifriteRastat:=true;
		cif1:=-1;
		while tmp <> 0 do
		begin
			cif2 := tmp mod 10;
			tmp := tmp div 10;
			
			if cif1 = -1 then
			begin
				cif1:= cif2 + 1;
			end;
			
			if not(cif1 = cif2+1) then 
			begin
				daliCifriteRastat:=false;
				break;
			end;
		cif1:=cif2;
		end;
		if daliCifriteRastat then
			writeln(broj);
	end;
end.
Има и трет. Прво да ги извадиш цифрите во низа па да ги провериш.

ЕДИТ. Мала грешка, сум напишал за оние со последователни цифри. Епа треба само да се смени условот од второто решние
if not(cif1 = cif2+1) then
во
if not(cif1 > cif2) then {ili pak vo if cif1 <= cif2 then}

--- надополнето ---

Па вака значи, сега почнувам со Паскал, па симнав Турбо Паскал портелјбл компајлер но некако чуден ми е... Пишав нели за Hello World програмата сурс кодот ама не знаев како да го искомпајлирам горе има копче - Compile - но не работи :S па ми текна во Dev C++ беше - F9 па пробав и ми даде овоа

Стискам Спејс и ми се гаси тоа и ништо не се прави... :S Дај помогнете... Фала однапред :)
Оф леле, уште со ова. Ова е за DOS.

Побарај Free Pascal за windows. Тоа е само компајлер но содржи и едитор ист како во турбо паскал. http://www.freepascal.org/
А Ако сакаш нешто слично како Dev C++ земи Lazarus (кој како компајлер внатрешно го користи free pascal) http://www.lazarus.freepascal.org/
 

Ibrakadabra

Wimoweh, wimoweh...
Член од
17 јуни 2007
Мислења
1.660
Поени од реакции
729
Па вака значи, сега почнувам со Паскал, па симнав Турбо Паскал портелјбл компајлер но некако чуден ми е... Пишав нели за Hello World програмата сурс кодот ама не знаев како да го искомпајлирам горе има копче - Compile - но не работи :S па ми текна во Dev C++ беше - F9 па пробав и ми даде овоа



Стискам Спејс и ми се гаси тоа и ништо не се прави... :S Дај помогнете... Фала однапред :)

Ај стави едно readln; пред end.

Тоа е можно решение што ти се јавува у врска со печатењето на екран...
Откако ќе го направиш тоа, треба да имаш едно "Hello world!" :)
 
Член од
22 август 2009
Мислења
30
Поени од реакции
5
Па вака значи, сега почнувам со Паскал, па симнав Турбо Паскал портелјбл компајлер но некако чуден ми е... Пишав нели за Hello World програмата сурс кодот ама не знаев како да го искомпајлирам горе има копче - Compile - но не работи :S па ми текна во Dev C++ беше - F9 па пробав и ми даде овоа



Стискам Спејс и ми се гаси тоа и ништо не се прави... :S Дај помогнете... Фала однапред :)
F9 - за да компајлира, CTRL- F9 за да се изврши, ALT - F5 за гледање резултат.
 

Kajgana Shop

На врв Bottom