Паскал - Pascal

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

За во школо ми е програмата и треба без никакви влезни податоци кога ќе притиснеш контрол + Ф9 да го печати следното:

untitledksk.bmp


Таа и го прави токму тоа(провери во Паскал), ама јас барам начин некако пократко да се заипше ова, пример во еден циклус со write(да се запишат сите вредности за синус(30,60,90,180))!:helou:
 
Колку јас шо знам пократко од тоа не може. Може со некој циклус за повтарање, ама ќе биде само тупење повеќе. :)
 
Евентуално да ја направиш со фор да се повторува 4 пати и аголот да расти за 30°. За четврто да испечати за 180.

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

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

Уф сега гледам! Точно! Може ли Паскал да смета во степени или само во радијани?
 
Степен = радијан*(180/Pi).

Тоа е за радијан во степен. Со трансформации се добива
(pi/180°)* степени = радијани

А за 30, 60 итн не мора да претвараш, вредностите се:
30°=пи/6; 60°=пи/3; 90°=пи/2; 180°=пи
 
Ми треба помош во Паскал. Треба да напишам програма со стрингови која че печати колку пати даден збор е напишан во даден текст. Еве го моето досегашно размислување, сега не знам како да го запишам ц:

Код:
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 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]
 
@ 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:
 
Може некој да ми ги реши задачиве
1.Да се напише програма која на сите полиња од матрицата кои се еднакви на 0, ќе ги пополни со број за еден поголем од претходниот.
2.Да се напише програма која сите редици од матрицата ќе ги направи колони и обратно ако m=n.

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

Kajgana Shop

Back
На врв Bottom