Паскал - Pascal

I

Intex

Гостин
па баш вака му е дадена равенката:
P = (1+4+7+ ..+(3n-2))/(1*2*3*…*n)
Точни вредности пресметува мојата програма:wink:
Во ред е. Сега сфатив дека сум згрешил. Мислев дека треба да има 3 повтарачки циклуси.
Ае, веќе ја реши. Повеќе среќа за мене нареден пат. xD
 

Jordan Rudess

Tonight's the night.
Член од
3 декември 2008
Мислења
412
Поени од реакции
53
1*3*5*...(2n-1) / (2*4*6*....*n) ајде ак може оваа.. нешто ме ебава, а и поднапиен сам малку :pijan:

едит:

program prozivod;
uses crt;
var i,n: integer; p,k,s: real;
begin
clrscr;
write ('n='); readln (n);
s:=1; p:=1;
for i:=1 to n do
begin
s:=s*(2*i-1);
p:=p*2*i;
end;
k:=s/p;
writeln('k=',k:10:2);
readln;
end.
изгледа овака ќе да е :uvo:
 

Jax Rebel

Navajo Rider
Член од
6 јули 2008
Мислења
5.265
Поени од реакции
2.261
1*3*5*...(2n-1) / (2*4*6*....*n) ајде ак може оваа.. нешто ме ебава, а и поднапиен сам малку :pijan:

едит:

program prozivod;
uses crt;
var i,n: integer; p,k,s: real;
begin
clrscr;
write ('n='); readln (n);
s:=1; p:=1;
for i:=1 to n do
begin
s:=s*(2*i-1);
p:=p*2*i;
end;
k:=s/p;
writeln('k=',k:10:2);
readln;
end.
изгледа овака ќе да е :uvo:
Алтернатива:

Код:
program prozivod;
uses crt;
var i,n: integer;p: real;
begin
write('n=');readln(n);
p:=1;
for i:=1 to n do
p:=p*(2*i-1)/(2*i);
write('p=',p:10:2);
readln;
end.
 

Jax Rebel

Navajo Rider
Член од
6 јули 2008
Мислења
5.265
Поени од реакции
2.261
Ај да прашам има ли пократка постапка(а 100% има) за следната програма која ќе печати таблица за синус, косинус, тангенс и котангенс. Јас ја напишав вака:

Код:
program niza;
uses crt;
var i:integer;
begin
     clrscr;
     writeln( '30':15,'60':9,'90':10,'180':10);
     for i:=1 to 50 do write(chr(196)); writeln;
     write('sin':5);writeln(sin(30):10:2,sin(60):10:2,sin(90):10:2,sin(180):10:2);
     write('cos':5);writeln(cos(30):10:2,cos(60):10:2,cos(90):10:2,cos(180):10:2);
     write('tg':5);writeln(sin(30)/cos(30):10:2,sin(60)/cos(60):10:2,sin(90)/cos(90):10:2,sin(180)/cos(180):10:2);
     write('ctg':5);writeln(cos(30)/sin(30):10:2,cos(60)/sin(60):10:2,cos(90)/sin(90):10:2,cos(180)/sin(180):10:2);
readln;
end.
 
I

Intex

Гостин
Ај да прашам има ли пократка постапка(а 100% има) за следната програма која ќе печати таблица за синус, косинус, тангенс и котангенс. Јас ја напишав вака:

Код:
program niza;
uses crt;
var i:integer;
begin
     clrscr;
     writeln( '30':15,'60':9,'90':10,'180':10);
     for i:=1 to 50 do write(chr(196)); writeln;
     write('sin':5);writeln(sin(30):10:2,sin(60):10:2,sin(90):10:2,sin(180):10:2);
     write('cos':5);writeln(cos(30):10:2,cos(60):10:2,cos(90):10:2,cos(180):10:2);
     write('tg':5);writeln(sin(30)/cos(30):10:2,sin(60)/cos(60):10:2,sin(90)/cos(90):10:2,sin(180)/cos(180):10:2);
     write('ctg':5);writeln(cos(30)/sin(30):10:2,cos(60)/sin(60):10:2,cos(90)/sin(90):10:2,cos(180)/sin(180):10:2);
readln;
end.
А да објасниш шо треба да прави програмата, оти не те сфаќам баш. :)
 

Jax Rebel

Navajo Rider
Член од
6 јули 2008
Мислења
5.265
Поени од реакции
2.261
А да објасниш шо треба да прави програмата, оти не те сфаќам баш. :)
За во школо ми е програмата и треба без никакви влезни податоци кога ќе притиснеш контрол + Ф9 да го печати следното:



Таа и го прави токму тоа(провери во Паскал), ама јас барам начин некако пократко да се заипше ова, пример во еден циклус со write(да се запишат сите вредности за синус(30,60,90,180))!:helou:
 
I

Intex

Гостин
Колку јас шо знам пократко од тоа не може. Може со некој циклус за повтарање, ама ќе биде само тупење повеќе. :)
 
Член од
6 јуни 2009
Мислења
3.094
Поени од реакции
445
Евентуално да ја направиш со фор да се повторува 4 пати и аголот да расти за 30°. За четврто да испечати за 180.

Друга работа. Функциите бараат да се внеси во радиjани а не во степени. Кај можи sin(30°) = -0,99? sin(30) e -0.99, a sin(30°) = 1/2 = 0,5
 

Jax Rebel

Navajo Rider
Член од
6 јули 2008
Мислења
5.265
Поени од реакции
2.261
Евентуално да ја направиш со фор да се повторува 4 пати и аголот да расти за 30°. За четврто да испечати за 180.

Друга работа. Функциите бараат да се внеси во радиjани а не во степени. Кај можи sin(30°) = -0,99? sin(30) e -0.99, a sin(30°) = 1/2 = 0,5
Уф сега гледам! Точно! Може ли Паскал да смета во степени или само во радијани?
 
Член од
6 јуни 2009
Мислења
3.094
Поени од реакции
445
Степен = радијан*(180/Pi).
Тоа е за радијан во степен. Со трансформации се добива
(pi/180°)* степени = радијани

А за 30, 60 итн не мора да претвараш, вредностите се:
30°=пи/6; 60°=пи/3; 90°=пи/2; 180°=пи
 

Jax Rebel

Navajo Rider
Член од
6 јули 2008
Мислења
5.265
Поени од реакции
2.261
Ми треба помош во Паскал. Треба да напишам програма со стрингови која че печати колку пати даден збор е напишан во даден текст. Еве го моето досегашно размислување, сега не знам како да го запишам ц:

Код:
program tekst;
uses crt;
var a,b:string;c:integer;
begin
     clrscr;
     writeln('Vnesi tekst');readln(a);
     write('Baraj zbor:');readln(b);
     write('zborot se povtoruva',' ',c,' ','pati');readln(c);
.
.
.
.
 
Член од
14 април 2007
Мислења
1.812
Поени од реакции
1.047
Ми треба помош во Паскал. Треба да напишам програма со стрингови која че печати колку пати даден збор е напишан во даден текст. Еве го моето досегашно размислување, сега не знам како да го запишам ц:

Код:
program tekst;
uses crt;
var a,b:string;c:integer;
begin
     clrscr;
     writeln('Vnesi tekst');readln(a);
     write('Baraj zbor:');readln(b);
     write('zborot se povtoruva',' ',c,' ','pati');readln(c);
.
.
.
.
Код:
Program zborvotekst;

tekst,zbor,delodtekst:string;
i,pati:integer;

Begin
Write('vnesete go tekstot');
Readln(tekst);
Writeln('vnesete go zborot sto sakate da se najde');
readln(zbor);
pati:=0;
FOR I:=1 to (Length(tekst)-length(zbor)+1) DO
BEGIN
DelOdTekst:=copy(tekst,i,length(zbor));
IF delodtekst=zbor
then
begin
writeln('zborot ',zbor,' se naoga na pozicija ',i);
pati:=pati+1;
end;
end;
writeln('zborot ',zbor,' vo ',tekst,' se naoga  ',pati,' pati');
end.
Ivan^^ напиша:
Код:
Program zborvotekst;

tekst,zbor,delodtekst:string;
i,pati:integer;

Begin
Write('vnesete go tekstot');
Readln(tekst);
Writeln('vnesete go zborot sto sakate da se najde');
readln(zbor);
pati:=0;
FOR I:=1 to (Length(tekst)-length(zbor)+1) DO
BEGIN
DelOdTekst:=copy(tekst,i,length(zbor));
IF delodtekst=zbor
then
begin
writeln('zborot ',zbor,' se naoga na pozicija ',i);
pati:=pati+1;
end;
end;
writeln('zborot ',zbor,' vo ',tekst,' se naoga  ',pati,' pati');
end.
Ice_Hendrix Ми се пожали дека не работела програмата.

еве сега ова работи 100 % , види да не имаш некоја грешка при пишувањето.

Код:
   [FONT=&quot]Program devet_niza_znaci;[/FONT]
  [FONT=&quot] [/FONT]
  [FONT=&quot]uses crt;[/FONT]
  [FONT=&quot] [/FONT]
  [FONT=&quot]var tekst,zbor,delodtekst:string;[/FONT]
  [FONT=&quot]    n1,n2,i,pati:integer;[/FONT]
  [FONT=&quot] [/FONT]
  [FONT=&quot]Begin[/FONT]
  [FONT=&quot]clrscr;[/FONT]
  [FONT=&quot]     writeln('vnesi go tekstot');[/FONT]
  [FONT=&quot]     readln(tekst);[/FONT]
  [FONT=&quot]     writeln('vnesi go zborot');[/FONT]
  [FONT=&quot]     readln(zbor);[/FONT]
  [FONT=&quot] [/FONT]
  [FONT=&quot]     N1:=length(tekst);[/FONT]
  [FONT=&quot]     N2:=length(zbor);[/FONT]
  [FONT=&quot]     FOR I:=1 TO (N1-N2+1) DO[/FONT]
  [FONT=&quot]     begin[/FONT]
  [FONT=&quot]     DelOdTekst:=copy(tekst,i,n2);[/FONT]
  [FONT=&quot]     IF DelOdTekst=zbor[/FONT]
  [FONT=&quot]     THEN[/FONT]
  [FONT=&quot]         BEGIN[/FONT]
  [FONT=&quot] [/FONT]
  [FONT=&quot]     writeln('zborot "',zbor,'" vo tekstot "',tekst,'"');[/FONT]
  [FONT=&quot]     writeln('se naoga na pozicija ',i);[/FONT]
  [FONT=&quot]     pati:=pati+1;[/FONT]
  [FONT=&quot]     end;[/FONT]
  [FONT=&quot]     end;[/FONT]
  [FONT=&quot]     writeln('zborot ',zbor,' se naoga ',pati,' pati.');[/FONT]
  [FONT=&quot]     readln;[/FONT]
  [FONT=&quot]     end.[/FONT]
 

Jax Rebel

Navajo Rider
Член од
6 јули 2008
Мислења
5.265
Поени од реакции
2.261
@ Ivan^^

Добро е сега Иванчо. Инаку еве како ја решив јас во меѓувреме:

Код:
program broj_na_zborovi;
uses crt;
var a,b:string;i,n:integer;
begin
     clrscr;
     writeln('vnesi tekst');readln(a);
     write('baraj zbor:');readln(b);
     n:=0;
     for i:=1 to length(a) do
         if copy(a,i,length(b))=b then inc(n);
     writeln('zborot se povtoruva ',n,' pati');
     readln;
end.
:helou:
 

pAnDa`

Original..
Член од
5 ноември 2009
Мислења
578
Поени од реакции
35
Може некој да ми ги реши задачиве
1.Да се напише програма која на сите полиња од матрицата кои се еднакви на 0, ќе ги пополни со број за еден поголем од претходниот.
2.Да се напише програма која сите редици од матрицата ќе ги направи колони и обратно ако m=n.

Фала однапред ! :icon_lol:
 

Kajgana Shop

На врв Bottom