PDA

Դիտել ողջ տարբերակը : Pascal խնդիրներ



Էջեր : [1] 2

Tigana
05.12.2007, 15:49
Ժողովուրդ խնդրում եմ եթե էս խնդրի լուծումը ունեք գրեք էլի:
Տրված է n թիվը ու n տարր պարունակող վեկտոր:Ստանալ նոր վեկտոր,որի տարրերը ստացվում են առաջինի դրական տարրերից,եթե m թիվը պարզ է,հակառակ դեպքում`բացասականներից:
Բայց ամեն դեպքում,եթե պոլիտեխի կուրսայիններ ունեք ասեք էլի:

Script
05.12.2007, 15:53
Ես Պասկալով գրած կուրսաիններ ունեմ, մենակ թե շուտվա բաներ են պիտի ման գամ որ գտնեմ, եթե հետաքրքրեց mail-դ գրի կուղարկեմ:)

_DEATH_
05.12.2007, 16:06
Ժողովուրդ խնդրում եմ եթե էս խնդրի լուծումը ունեք գրեք էլի:
Տրված է n թիվը ու n տարր պարունակող վեկտոր:Ստանալ նոր վեկտոր,որի տարրերը ստացվում են առաջինի դրական տարրերից,եթե m թիվը պարզ է,հակառակ դեպքում`բացասականներից:
Բայց ամեն դեպքում,եթե պոլիտեխի կուրսայիններ ունեք ասեք էլի:

Լուծումը չունեմ, բայց հեսա կլուծեմ ու կգրեմ ստեղ :), շատ պարզ խնդիրա, ով որ գոնե Pascal-ի ճիշտ անունը գիտի կկարանա լուծի :), տրամաբանելու կարիք չկա նույնիսկ, էսի լուրջ կուրսայինա՞՞

Բլոկ սխեման պետքա, թե մենակ պասկալի կոդը??

PoeT
05.12.2007, 18:42
Իմ կուրսայինն էլա սենց մի բան։

Մանոն
06.12.2007, 10:46
Tigana ինձ թվում է հարցի մեջ ոչ թե m թիվը պարզ է, այլ n թիվը: Մի հատ ճշտի դա լա՞վ:

քաղաքացի
06.12.2007, 11:34
Կներեք թեմայից շեղվելու համար, բայց մի հարց ունեմ: Pascal, « c »-ով չի գրվո՞ւմ: :think

Հա, հա… հաստատ « c »-ով ա՝ Blaise Pascal, ֆրանսիացի ա եղել :hands

Tigana
06.12.2007, 12:46
Ես Պասկալով գրած կուրսաիններ ունեմ, մենակ թե շուտվա բաներ են պիտի ման գամ որ գտնեմ, եթե հետաքրքրեց mail-դ գրի կուղարկեմ:)

[email protected] Script ջան,նախապես շնորհակալ եմ:
իսկ ինչ վերաբերվում ա խնդրին , էդքան էլ հեշտ չի,pascal գիտեմ,պատասխանները չեմ ստանում,էն պարզ թվի պահը չի լինում:
Իսկ Պասկալ լավ գիտեմ:

Ավելացվել է 2 րոպե անց

Tigana ինձ թվում է հարցի մեջ ոչ թե m թիվը պարզ է, այլ n թիվը: Մի հատ ճշտի դա լա՞վ:

Երանի չէր?

_DEATH_
06.12.2007, 16:06
Նախ սխալա ձևակերպված խնդիրը:

Տրված է n թիվը ու n տարր պարունակող վեկտոր:Ստանալ նոր վեկտոր,որի տարրերը ստացվում են առաջինի դրական տարրերից,եթե m թիվը պարզ է,հակառակ դեպքում`բացասականներից:

1)m-ը ովա՞ :think, Տրված է n թիվը, բա m-ը տրված չի՞
2)Օրենքով պետք է շեշտվի թե ինչ տիպի է թիվը, n-ը պարզ է որ ամբողջ, բա m-ը՞՞


Իսկ Պասկալ լավ գիտեմ:

Ես էլ Մեշրոպ Մաստոցի ստեղծած տառերը շատ լավ գիտեմ :D
Pascal լավ իմանալու համար 2 բանա պետք 1)անգլերենի իմացություն Paskal :think
2)գոնեեեե հասարակ մաթեմատիկական խնդիրները լուծել կարողանալ, որոնցից ամենահեշտերից մեկը պարզ թվի ալգորիթմնա:

Պարզ թիվը իմ կարծիքով նենց մի բարդ բան չի, մի անգամից հազար հատ ալգորիթմ մտքովս անցավ: Հեսա մի հատը գրեմ, :) Բայց մի հատ պարզ թվի ճիշտ սահմանումը հիշացրեք էլի, մենակ ամբողջ թվերի վրա էր սահմանվում չէ՞: Ես m-ը որպես real թիվ եմ ընդունել, եթե integer–ա ասա ուրիշ ձև գրեմ:

Եթե թիվը պարզ է, ուրեմն պետքա էս պայմանը տեղի ունենա

if (m=2) or (m=3) or (m=5) or (m=7) or ((m/2<>trunc(m/2)) and (m/3<>trunc(m/3)) and (m/5<>trunc(m/5)) and (m/7<>trunc(m/7) then write('Էս թիվը պարզա'))

Եթե պետքա ասա լրիվ խնդիրը գրեմ :)

_DEATH_
06.12.2007, 16:45
Բայց ոնց որ սխալ եմ գրել, պարզ թիվը մի հատ բացատրեք էլի որնա, պտի մենակ 1-ի ու իրա վրա բաժանվի??, եթե հա սխալ եմ գրել, հեսա կմտածեմ ճիշտը գրեմ

BOBO
06.12.2007, 17:08
Բայց ոնց որ սխալ եմ գրել, պարզ թիվը մի հատ բացատրեք էլի որնա, պտի մենակ 1-ի ու իրա վրա բաժանվի??, եթե հա սխալ եմ գրել, հեսա կմտածեմ ճիշտը գրեմ
Հա: Չեմ ջոկում 1-ին, 2-րդ դասարան չես գնացել?:D
Ընչի քո գրածով 2-ի վրա էլ էր բաժանվում?:))

Արշակ
06.12.2007, 17:08
_DEATH_, պարզ թվի ծրագրի կտորը սխալ ես գրել։ :B
Վերջը ստիպեցիք, որ ջահելությունս հիշեմ էլի։ :)) Հարյուր տարի էր Pascal-ով բան չէի գրել։
Ահա թվի պարզ լինել–չլինելը ստուգող ծրագիր։ Խնդրի մնացած մասերը հավես չարեցի գրեմ։


var
k, m, n: integer;
isPrime:boolean;
begin
write('m=');
read(m);
n := round(sqrt(m));
isPrime := true;
for k:=2 to n do
begin
if(m mod k = 0) then
begin
isPrime := false;
break;
end;
end;
if((n>1) and (isPrime)) then
writeln(m, ' is a prime number.')
else
writeln(m, ' is not a prime number.');
end.

Ավելացվել է 3 րոպե անց

պարզ թիվը մի հատ բացատրեք էլի որնա
Պարզ կոչվում է այն բնական թիվը որը բացի իրենից ու 1–ից ուրիշ թվի վրա չի բաժանվում։
Ոնց–որ թե սենց։:)

_DEATH_
06.12.2007, 17:21
Պարզ կոչվում է այն բնական թիվը որը բացի իրենից ու 1–ից ուրիշ թվի վրա չի բաժանվում։
Ոնց–որ թե սենց։:)

Հա լավ հասկացա :D, մոռացել էի սահմանումը, եթե տենցա ուրեմն իմ ձևով գրել չի լինի, պտի թե չէ ստուգելու համար սաղ պարզ թվերի վրա բաժանվի ու ստուգվի :D

Ավելացվել է 6 րոպե անց

Հա: Չեմ ջոկում 1-ին, 2-րդ դասարան չես գնացել?:D


Գնացել եմ բայց հաստատ տենց բան ինձ չեն սովորացրել, հետո 8-ում օլիմպիադայի վախտ տենց մի հատ խնդիր կար պարզ թվին վերաբերող, չգիտեի որնա :(, հետո մաթեմի դասատուիս հարցրի բացատրեց, բայց մոռացել էի, քանի որ հիշողությունից շատ վատ եմ :B

Սամվել
06.12.2007, 18:05
Պարզ թվերը դրանք այն ամբողջ թվերն են որոնք առանց մնացորդի բաժանվում են միայն իրենց ու 1ի վրա ;)

Պարզ թվի ալգորիթմը շատ յուղա ;)

var
EntParzTiv integer ;
k boolean ;
i integer ;
begin
k = true ;
for i := 2 to ( EntParzTiv div 2 ) do
if ( EntParzTiv mod i) = 0 then k := false ;
if k=true then write (" Պարզա;)" ) else ":mda Պարզ չի"
end.

Կոմպիլացիա չեմ արել կարողա մի 2 հատ հավայի սխալ լինի մեջը բայց ստռուկտուռան ճիշտա ;)

Ավելացվել է 2 րոպե անց
Լա՜վ համոզիք էսա կտեղադրեմ խնդրի լուծումը

Սամվել
06.12.2007, 18:36
program Kursayin ;
uses crt ;
var
k:boolean ;
i,m,n :integer ;
x,y:array[0..50] of integer ;
begin clrscr ;
write ( 'n=' ) ; readln ( n ) ;
write ( 'm=' ) ; readln ( m ) ;
for i:=1 to n do
begin
write ( 'x[',i,']=' ) ;
readln ( x[i] ) ;
end ;
k:=true ;
for i:=2 to m div 2 do
if (m mod i)=0 then k:=false ;
m:=0 ;
if k=true then
begin
for i:=1 to n do if ( x[i]>0 ) then begin m:=m+1; y[m]:=x[i] end ;
if m=0 then writeln ( 'drakan tarr chka' )
end
else
begin
for i:=1 to n do if ( x[i]<0 ) then begin m:=m+1; y[m]:=x[i] end ;
if m=0 then writeln ( 'bacasakan tarr chka' )
end ;
for i:=1 to m-1 do write ( 'y[',i,']=',y[i],' ' ) ;
end.

:B ;)

հեհե անցցած տարի պոլիտեխում մի 20 հատ կիբեռի կուրսային եմ գրել :8

Հ.Գ. Մաղարիչ ունես :lol

Tigana
08.12.2007, 00:06
Բոլորին շնորհակալ եմ:
Սամվել գրածդ ամենահարմարն էր,վերջում m-1 չէ,m:
Մերսի::hands

Սամվել
08.12.2007, 00:41
Բոլորին շնորհակալ եմ:
Սամվել գրածդ ամենահարմարն էր,վերջում m-1 չէ,m:
Մերսի::hands

Հա ճիշտա :oy ընդեղ սկզբում պատահմամբ մը 1ից էի սկսել դրա համար էր տենց ստացվել հետո դզեցի մոռացա էտ ցիկլում էլ դզել ;)

Սամվել
09.12.2007, 13:22
program Kursayin ;
uses crt ;
type vector=array[1..50] of integer ;
var
k:boolean ;
i,m,n :integer ;
x,y:vector ;
procedure output ( m:integer ; y : vector ) ;
var i:integer ;
begin
for i:=1 to m do write ( 'y[',i,']=',y[i],' ' ) ;
end ;
function input ( i:integer ):integer ;
var x:integer ;
begin
write ( 'x[',i,']=' ) ;
readln ( x ) ;
input:=x ;
end ;
begin clrscr ;
write ( 'n=' ) ; readln ( n ) ;
write ( 'm=' ) ; readln ( m ) ;
for i:=1 to n do x[i]:=input(i) ;
k:=true ;
for i:=2 to m div 2 do
if (m mod i)=0 then k:=false ;
m:=0 ;
if k=true then
begin
for i:=1 to n do if ( x[i]>0 ) then begin m:=m+1; y[m]:=x[i] end ;
if m=0 then writeln ( 'drakan tarr chka' )
end
else
begin
for i:=1 to n do if ( x[i]<0 ) then begin m:=m+1; y[m]:=x[i] end ;
if m=0 then writeln ( 'bacasakan tarr chka' )
end ;
output ( m , y ) ;
end.

լավ տեստ չեմ արել, որ սխալներ լինի ասա կդզենք :ok

Guest
20.12.2007, 16:55
1000 դրամով կուրսային եմ գրում:D Ո՞վ ա ցանկանում ասեք:

Շեղվելով թեմայից...
Ժամանակին մտախում էի թե ինչքան փող կարելի ա ստանալ պոլիտեխնիկի ուսանողներից:8 Ահագին զարմանում էի, որ պրիմիտիվ առաջադրանքների համար մարդիկ պատրաստ են բավականին մեծ(պոլիտեխնիկցու համար) գումարներ տալ: Կազմել էի ցանկ ու ուզում էի բիզնեսը սկսեի, բայց մտափոխվեցի… գնացի մորմալ աշխատանքի:)

Ինչ կասեք, ամսկան 2000$-ը քիչ փող ա՞…

Dayana
20.12.2007, 17:09
1000 դրամով կուրսային եմ գրում:D Ո՞վ ա ցանկանում ասեք:

Շեղվելով թեմայից...
Ժամանակին մտախում էի թե ինչքան փող կարելի ա ստանալ պոլիտեխնիկի ուսանողներից:8 Ահագին զարմանում էի, որ պրիմիտիվ առաջադրանքների համար մարդիկ պատրաստ են բավականին մեծ(պոլիտեխնիկցու համար) գումարներ տալ: Կազմել էի ցանկ ու ուզում էի բիզնեսը սկսեի, բայց մտափոխվեցի… գնացի մորմալ աշխատանքի:)

Ինչ կասեք, ամսկան 2000$-ը քիչ փող ա՞…

Գիտես մեր համատեղ խմբում մեկը կար անունը հետո ականջիդ կասեմ :D իրա հեռախոսը մեր ուսանողների հաշվին էր առել :D տենց կուրսաիիներ ու առաջադրանքներ էր արել, նենց որ անհնարին միտք չի :D բայց հանկարծ տենց բան չանես :oy

hush
20.03.2008, 19:50
Բարև ձեզ: Ժողովուրդ, խնդրում եմ օգնեք էլի, եթե ինչ-որ մեկը կարողա էս 2 խնդրի լուծումը գրի: Շատա պետք է :8 նախապես մերսի :oy

1. Ձևավորել f1 և f2 տեքստային ֆայլեր: Ելք տալ այն տարրերը, որոնք ընդհանուր են երկու ֆայլերի համար:

2. Տրված են n բնական թիվը և n3n քառակուսի մատրիցան: Հաշվել մատրիցայի այն էլեմենտների գումարը, որոնք չեն գտնվում գլխավոր և օժանդակ անկյունագծերի վրա և բազմապատիկ են իրենց ինդեքսների գումարին: Ինդեքսների գումարին բազմապատկությունը ձևակերպել որպես մոդուլ ծրագրի առանձին ֆունկցիա:

Սամվել
20.03.2008, 19:51
Բարև ձեզ: Ժողովուրդ, խնդրում եմ օգնեք էլի, եթե ինչ-որ մեկը կարողա էս 2 խնդրի լուծումը գրի: Շատա պետք է :8 նախապես մերսի :oy

1. Ձևավորել f1 և f2 տեքստային ֆայլեր: Ելք տալ այն տարրերը, որոնք ընդհանուր են երկու ֆայլերի համար:

2. Տրված են n բնական թիվը և n3n քառակուսի մատրիցան: Հաշվել մատրիցայի այն էլեմենտների գումարը, որոնք չեն գտնվում գլխավոր և օժանդակ անկյունագծերի վրա և բազմապատիկ են իրենց ինդեքսների գումարին: Ինդեքսների գումարին բազմապատկությունը ձևակերպել որպես մոդուլ ծրագրի առանձին ֆունկցիա:

Ես կարամ բայց հիմա տեղ եմ գնում...մի 2 ժամից հիշացրու անպայման կանեմ :ok

hush
20.03.2008, 19:53
Շատ շնորհակալ կլինեմ :)

hush
21.03.2008, 17:07
Ես կարամ բայց հիմա տեղ եմ գնում...մի 2 ժամից հիշացրու անպայման կանեմ :ok

Հիշեցնում եմ ;)

firewall
22.03.2008, 00:57
Բարև ձեզ: Ժողովուրդ, խնդրում եմ օգնեք էլի, եթե ինչ-որ մեկը կարողա էս 2 խնդրի լուծումը գրի: Շատա պետք է :8 նախապես մերսի :oy

1. Ձևավորել f1 և f2 տեքստային ֆայլեր: Ելք տալ այն տարրերը, որոնք ընդհանուր են երկու ֆայլերի համար:

2. Տրված են n բնական թիվը և n3n քառակուսի մատրիցան: Հաշվել մատրիցայի այն էլեմենտների գումարը, որոնք չեն գտնվում գլխավոր և օժանդակ անկյունագծերի վրա և բազմապատիկ են իրենց ինդեքսների գումարին: Ինդեքսների գումարին բազմապատկությունը ձևակերպել որպես մոդուլ ծրագրի առանձին ֆունկցիա:

1-ը իսկապես շատ հետաքրքիր խնդիր եր, բայց բան չհասկացա… :B

2.


var i,j,n,l,:integer;
a:array[1..10,1..10] of integer;
function bazm(i1,i2,k):bool;
begin
bazm := ( (k mod (i1+i2))=0 );
end;
begin
read(n);
for i:=1 to n do
for j:=1 to n do
read(a[i,j]);
for i:=1 to n do
for j:=1 to n do
if (i<>j) and (i<>n-j+1) and bazm(i,j,a[i,j]) then l := l + a[i,j];
writeln('Պատ: ', l);
end.

բայց հիմա ժամանակ չկա տեստավորելու…

hush
22.03.2008, 17:47
1-ը իսկապես շատ հետաքրքիր խնդիր եր, բայց բան չհասկացա… :B

2.


var i,j,n,l,:integer;
a:array[1..10,1..10] of integer;
function bazm(i1,i2,k):bool;
begin
bazm := ( (k mod (i1+i2))=0 );
end;
begin
read(n);
for i:=1 to n do
for j:=1 to n do
read(a[i,j]);
for i:=1 to n do
for j:=1 to n do
if (i<>j) and (i<>n-j+1) and bazm(i,j,a[i,j]) then l := l + a[i,j];
writeln('Պատ: ', l);
end.

բայց հիմա ժամանակ չկա տեստավորելու…

շատ շնորհակալ եմ, որ ժամանակ ես տրամադրել ու արել էսքանը, բայց չաշխատեց :(

Սամվել
22.03.2008, 18:57
2. Տրված են n բնական թիվը և n3n քառակուսի մատրիցան: Հաշվել մատրիցայի այն էլեմենտների գումարը, որոնք չեն գտնվում գլխավոր և օժանդակ անկյունագծերի վրա և բազմապատիկ են իրենց ինդեքսների գումարին: Ինդեքսների գումարին բազմապատկությունը ձևակերպել որպես մոդուլ ծրագրի առանձին ֆունկցիա:


var i,j,n,s:integer;
x:array[1..50,1..50] of integer ;
y:array[1..50] of integer ;
{**** Function *******}
function func ( member:integer ; row:integer; col:integer ):integer;
begin
if ( (member mod (row+col)) = 0 ) then func:=member
else func:=0 ;
end;
{**** main program ******}
begin
write ('n='); readln (n);
for i:=1 to n do for j:=1 to n do
begin write ('x[', i,',',j,']=');readln(x[i,j]); end ;
s:=0 ;
for i:=1 to n do for j:=1 to n do
if ((i<>j) or ((i+j)<>(n+1))) then s:=s+func(x[i,j],i,j) ;

writeln ('s=',s);
end.

Կներեք ուշացման համար...
Հ.Գ. 1ին խնդիրը կանեմ կամ այսօր կամ վաղը առավոտյան...մենակ մի հատ էլի հիշեցրեք էլի :oy

hush
22.03.2008, 19:39
var i,j,n,s:integer;
x:array[1..50,1..50] of integer ;
y:array[1..50] of integer ;
{**** Function *******}
function func ( member:integer ; row:integer; col:integer ):integer;
begin
if ( (member mod (row+col)) = 0 ) then func:=member
else func:=0 ;
end;
{**** main program ******}
begin
write ('n='); readln (n);
for i:=1 to n do for j:=1 to n do
begin write ('x[', i,',',j,']=');readln(x[i,j]); end ;
s:=0 ;
for i:=1 to n do for j:=1 to n do
if ((i<>j) or ((i+j)<>(n+1))) then s:=s+func(x[i,j],i,j) ;

writeln ('s=',s);
end.

Կներեք ուշացման համար...
Հ.Գ. 1ին խնդիրը կանեմ կամ այսօր կամ վաղը առավոտյան...մենակ մի հատ էլի հիշեցրեք էլի :oy

Շաաատ շնորհակալ եմ :)

firewall
23.03.2008, 02:48
շատ շնորհակալ եմ, որ ժամանակ ես տրամադրել ու արել էսքանը, բայց չաշխատեց :(

ամենացածր մակարդակի պասկալ իմացողը կուղեր այդ սխալները…

hush
23.03.2008, 11:21
ամենացածր մակարդակի պասկալ իմացողը կուղեր այդ սխալները…

եթե pascal իմանայի չէի դիմի ձեր օգնությանը… :angry


Հ.Գ. 1ին խնդիրը կանեմ կամ այսօր կամ վաղը առավոտյան...մենակ մի հատ էլի հիշեցրեք էլի

էլի հիշեցում :P :oy

hush
26.03.2008, 19:06
1ին խնդիրը կանեմ կամ այսօր կամ վաղը առավոտյան...մենակ մի հատ էլի հիշեցրեք էլի :oy[/QUOTE]


:( :oy

XeS
27.03.2008, 11:45
Ժողովուրդ խնդրում եմ եթե էս խնդրի լուծումը ունեք գրեք էլի:
Տրված է n թիվը ու n տարր պարունակող վեկտոր:Ստանալ նոր վեկտոր,որի տարրերը ստացվում են առաջինի դրական տարրերից,եթե m թիվը պարզ է,հակառակ դեպքում`բացասականներից:
Բայց ամեն դեպքում,եթե պոլիտեխի կուրսայիններ ունեք ասեք էլի:
հնն բան չհասկացա քօ պահանջներից, եթե մանրամասն գրես կոգնեմ, ավելի շուտ կասեմ ալգորիթմն դու ինքտ կգրես ես վերջի անգամ Pascal տեսել եմ մի տարի աոաջ բան չեմ հիում ետ լեզվից

Հրատացի
17.11.2008, 16:39
Կուրսային հանձնելու ժամանակն ա իսկ ես Պասկալից տեղյակ չեմ:Խնդում եմ օգնեք:

Տրված է n բնական թիվը և n տարր պարունակող x վեկտորը:Կազմել այնպիսի նոր y վեկտորի ստացման և տպման բլոկ-սխեման ու ծրագիրը,որի տարրերը ստացվում են վեկտորի ամեն 3-ի աստիճան հանդիսացող տարրից հետո ավելացնելով մեկ հատ 2 արժեք ունեցող տարր:

Ռեդ
17.11.2008, 17:23
Կուրսային հանձնելու ժամանակն ա իսկ ես Պասկալից տեղյակ չեմ:Խնդում եմ օգնեք:

Տրված է n բնական թիվը և n տարր պարունակող x վեկտորը:Կազմել այնպիսի նոր y վեկտորի ստացման և տպման բլոկ-սխեման ու ծրագիրը,որի տարրերը ստացվում են վեկտորի ամեն 3-ի աստիճան հանդիսացող տարրից հետո ավելացնելով մեկ հատ 2 արժեք ունեցող տարր:
Պասկալ հլա որ չեմ մոռացել :)
Անհասկանալի բան լինի ասա բացատրեմ :) ;)

Program REn005;
const n=20;
var i,y_size,j,cur:integer;
x:array[1..n] of integer;
y:array[1..2*n] of integer;

function baj(m:integer; p:integer):boolean;
{stugum e ardyoq m tiv@ bajanvum e p tvi vra aranc mnacordi}
begin
if m=p*trunc(m/p) then baj:=true else baj:=false;
end;

function ast(m:integer; p:integer):boolean;
{stugum e ardyoq m tiv@ p tvi astichan e te voch ev veradarznum}
begin
if m=1 then
ast:=true
else
if not baj(m,p) then
ast:=false
else
ast:=ast(trunc(m/p),p);
end;

begin
y_size:=0;
for i:=1 to n do
begin
readln(x[i]);
inc(y_size);
y[y_size]:=x[i];
if ast(x[i],3) then
begin
inc(y_size);
y[y_size]:=2;
end;
end;
writeln;
for i:=1 to y_size do writeln(y[i]);
readln;
end.

Հրատացի
17.11.2008, 17:38
Որ մի երկու խոսկով բացատրես շատ գոհ կլինեմ

Ռեդ
17.11.2008, 19:09
Որ մի երկու խոսկով բացատրես շատ գոհ կլինեմ
օու քեյ ;)
Նախ հայտարարման մասին

y:array[1..2*n]վերցրել եմ 2*n չափի վեկտոր, որովհետև մաքսիմալ դեպքում /այսինքն երբ x-ի ամեն մի տարր 3-ի աստիճան է/ y-ի երկարությունը 2*n կլինի ;)
baj ֆունկցիայի իրականացումը
Ֆունկցիան պետք է պարզի, թե արդյոք m թիվն առանց մնացորդի բաժանվում է p-ի վրա:

m=p*trunc(m/p)
սրանով մենք ստուգում ենք պահանջվող պայմանը: trunc-ը, գիտես, ամբողջ մաս վերցնելու ֆունկցիան ա: Որ մի քանի անգամ ստուգես, կտեսնես, որ ճիշտ է :)
ast ֆունկցիայի իրականացումը
Ֆունկցիան պետք է պարզի՝ արդյո՞ք m թիվը p թվի աստիճան է /տվյալ խնդրի համար p=3/
Իրականացումը կատարվում է ռեկուրսիայի եղանակով: Եթե ծրագրավորում չգիտես ընդհանրապես, ռեկուրսիան կարող է դժվար թվալ: Բայց որ մի քանի անգամ ուշադիր կարդաս ֆունկցիան, կհասկանաս:
Հիմնական ծրագիրը
Դե էս մեկը ծրագրի թերևս ամենահեշտ մասն է
Նախօրոք պահում ենք y_size=0 արժեքով փոփոխական, որը ցույց է տալիս y-ի տվյալ դիրքաթիվը /այսինքն վերջին լրացված դիրքը/ :
Այնուհետև կատարում ենք n հատ թվերի մուտքագրում: Յուրաքանչյուր մուտք արված թիվ "գցում ենք" y-ի մեջ inc(y_size); y[y_size]:=x[i]; տողերի օգնությամբ

if ast(x[i],3) then
begin
inc(y_size);
y[y_size]:=2;
end;

Այս մասը ստուգում է եթե թիվը 3-ի աստիճան է ապա y-ում ավելացնում ենք 2 վերջին լրացված դիրքին հաջորդող /առաջին չլրացված/ դիրքում:
Դրան հաջորդող տողերը կատարում են y վեկտորի արտածում :)
Վերջ, մի քիչ երկար ստացվեց, բայց դե, :oy
Դե հիմա ինձ ասա
1. քո մոտ աշխատե՞ց
2. հասկացա՞ր լրիվ ասածս :);)

BOBO
29.11.2008, 17:21
Տրված ե n բնական թիվ և n տարր պարունակող միաչափ զանգված: Զագգվածից հեռացնել այն տարրերը որոնք երկուսից ավել անգամ են կրկնվում:
Ով կլուծի?:oy

Ռեդ
30.11.2008, 00:26
Տրված ե n բնական թիվ և n տարր պարունակող միաչափ զանգված: Զագգվածից հեռացնել այն տարրերը որոնք երկուսից ավել անգամ են կրկնվում:
Ով կլուծի?:oy
Մոտս պասկալ չկա որ աշխատեցնեմ
Փորձի ;)

program BOBO;
const n=20;
var a,b:array[1..n] of real; i,ind:integer;
function krkn(k:integer):integer;
var p,j:integer;
begin
p:=0;
for j:=1 to k - 1 do if(a[j]=a[k]) then inc(p);
for j:=k+1 to n do if(a[j]=a[k]) then inc(p);
krkn:=p;
end;
begin
ind:=0;
for i:=1 to n do readln(a[i]);
for i:=1 to n do
if(krkn(i)<=2) then begin
inc(ind);
b[ind]:=a[i];
end;
for i:=1 to ind do writeln('b[ ',i,' ] = ', b[i]);
readln;
end

BOBO
30.11.2008, 14:25
Մերսի, աշխատում ա::) Բայց էս inc-ը ինչ ա? Առանց դրա չի ըլնում?
Մեկել առանց ենթածրագրերի, եթե դժվար չի դրանցից տենց էլ բան չհասկացա:(

Ռեդ
30.11.2008, 15:21
Մերսի, աշխատում ա::) Բայց էս inc-ը ինչ ա? Առանց դրա չի ըլնում?
Մեկել առանց ենթածրագրերի, եթե դժվար չի դրանցից տենց էլ բան չհասկացա:(
inc(p)-ն փոխարինել եմ p:=p+1-ով, նույն բանն ա :);)
Առանց ենթածրագրի խնդրի կոդը կունենա հետևյալ տեսքը՝

program BOBO;
const n=20;
var a,b:array[1..n] of real; i,ind,p,j:integer;
begin
ind:=0;
for i:=1 to n do readln(a[i]);
for i:=1 to n do begin
p:=0;
for j:=1 to i - 1 do if(a[j]=a[i]) then p:=p+1;
for j:=i+1 to n do if(a[j]=a[i]) then p:=p+1;
if p<=2 then begin
inc(ind);
b[ind]:=a[i];
end;
end;
for i:=1 to ind do writeln('b[ ',i,' ] = ', b[i]);
readln;
end
Կրկնում եմ, մոտս պասկալ չկա, աշխատեցրու ;)

Levon221
23.12.2008, 11:07
Տրված է n բնական տիվը և n տարրեր պարունակող x վեկտորը : Կազմել այնպիսի
նոր y վեկտօրի ստացման և տպման բլոկ սխեման ու ծրագիրը, որի տարրերը
ստացվում են վեկտորից, նրա մեջ փոքրագույն տարրի արժեքը ավելացնելով
վեկտորի միակ բաղադրիալ տվի արժեքի չափով:

Ծրագրում փոգրագույնի արժեքը որոշել Ֆունկցիայում,
Նոր զանգվածի ստացւմը կազմակերպել Պրոցեդուրայում:

Նախապես Անչափ Շնորհակալուտյուն...

Ռեդ
23.12.2008, 15:59
նրա մեջ փոքրագույն տարրի արժեքը ավելացնելով
վեկտորի միակ բաղադրիալ տվի արժեքի չափով:
Էս պահը չհասկացա: Վեկտորում մի հա՞տ ա բաղադրյալ թիվ

Levon221
23.12.2008, 17:06
Էս պահը չհասկացա: Վեկտորում մի հա՞տ ա բաղադրյալ թիվ

Ահա պահանջում տենց է գրված... Եթե բաղադրյալի դզեվնել չգիտես հոգ ցհի մնացածը
գրի այդտեղը բաց թող... Վաղը պետքա գնամ հանձնելու դեռ բան չեմ կառացել անեմ...

Ռեդ
23.12.2008, 23:15
Ահա պահանջում տենց է գրված... Եթե բաղադրյալի դզեվնել չգիտես հոգ ցհի մնացածը
գրի այդտեղը բաց թող... Վաղը պետքա գնամ հանձնելու դեռ բան չեմ կառացել անեմ...
Տենանք ոնցա ստացվում ;)
Մի նրբություն եթե մինիմում տարրերը մի քանիսն են, ապա բոլորին վերագրել եմ միակ բաղադրյալ թվի արժեքը

program Cragir;
const maxsize=10;
var x,y:array[1..maxsize] of integer; n,i,t,bax,m:integer; brk:boolean;
function poqraguyn:integer;
var min:integer;
begin
min:=x[1];
for i:=2 to n do if x[i]<min then min:=x[i];
poqraguyn:=min;
end;
procedure stacum;
begin
brk:=false;
for i:=1 to n do begin
for t:=2 to trunc(sqrt(x[i]))+1 do begin
if x[i] mod t=0 then
begin
bax:=i;
brk:=true;
break;
end;
end;
if brk then break;
end;
m:=poqraguyn;
for i:=1 to n do begin
if x[i]=m then y[i]:=x[bax]+x[i] else y[i]:=x[i];
end;
end;
begin
write('Mutqagreq n - ');
readln(n);
for i:=1 to n do begin
write('Mutqagreq x[',i,'] - ');
readln(x[i]);
end;
stacum;
for i:=1 to n do writeln('y[',i,'] = ',y[i]);
end.

Կաթիլ
16.04.2009, 20:12
Ժողովու՜րդ, եթե հնարավոր է ծրագիրը գրեք էլի՜ :oy
Տրված է A=[aij]nn մատրիցան, հաշվել A մատրիցի որոշիչը (դետերմինանտը) Գաուսի մեթոդով:

freethinker
19.04.2009, 13:43
Կաթիլ, եթե ասես Գաուսի մեթոդը որնա կարողա օգնենք :)

Կաթիլ
19.04.2009, 15:49
Կաթիլ, եթե ասես Գաուսի մեթոդը որնա կարողա օգնենք :)

Քանի որ չստացվեց հավաքել տեքստը, տեղադրում եմ նկարի ձևով :oy
Նախապես շնորհակալություն :oy

freethinker
19.04.2009, 18:19
Կաթիլ , ցավոք, Pascal-ի իմ ունեցած գիտելիքները բավարար չեն լուծելու համար (8 տարում համարյա ամեն ինչ մոռացել եմ) :(

Կաթիլ
20.04.2009, 15:02
Կաթիլ , ցավոք, Pascal-ի իմ ունեցած գիտելիքները բավարար չեն լուծելու համար (8 տարում համարյա ամեն ինչ մոռացել եմ) :(

Ամեն դեպքում շնորհակալ եմ :)

Արտիստ
26.04.2009, 22:01
Ժող պասկալում ոնց էին CRT ռեժիմում սովորական տեքստը մեր ուզած տեղում տպում?
ինչ որ outputtextxy էր ինչ էր?:think

Վայ մամա ջան հեսա կքցվեմ:Դ

Cyborg
10.06.2009, 10:13
Այսոր սկսեցի pascal սովորել ու գրեցի մի հատ ծրագիր
Program Anunt_Incha;
const
anungreq='Anunt incha?';
Barev='Barev ';
var A:string;
begin
WriteLn(Anungreq);
read (A);
WriteLn(Barev+A);
end.
կոմպիլացիաից հետո հարձը տալիսա:
Anunt incha?
Tiko
Ու ստեղ ծրագիրը պագվումա առանց բարեվելու:

Ներսես_AM
10.06.2009, 12:01
Այսոր սկսեցի pascal սովորել ու գրեցի մի հատ ծրագիր
Program Anunt_Incha;
const
anungreq='Anunt incha?';
Barev='Barev ';
var A:string;
begin
WriteLn(Anungreq);
read (A);
WriteLn(Barev+A);
end.
կոմպիլացիաից հետո հարձը տալիսա:
Anunt incha?
Tiko
Ու ստեղ ծրագիրը պագվումա առանց բարեվելու:
end. առաջ մի հատ readln(); դիր որ ծրագիրդ կանգնի

Աշխեն
10.06.2009, 12:04
Այսոր սկսեցի pascal սովորել ու գրեցի մի հատ ծրագիր
Program Anunt_Incha;
const
anungreq='Anunt incha?';
Barev='Barev ';
var A:string;
begin
WriteLn(Anungreq);
read (A);
WriteLn(Barev+A);
end.
կոմպիլացիաից հետո հարձը տալիսա:
Anunt incha?
Tiko
Ու ստեղ ծրագիրը պագվումա առանց բարեվելու:

ծրագիրը փակվումա, որովհետև էլ կարդալու բան չունի, բայց եթե մի անգամ էլ աշխատացնես, կամ սեղմես alt+f5 կտեսնես որ գրելա բարևը:
Եթե ցանկանում ես միանգամից տեսնել բարևը, նոր փակվի, առաջարկում եմ սկզբից ավելացնես uses crt; ամենավերջում էլ գրես readkey;
Այդ դեպքում ծրագիրը կսպասի, որ ստեղն սեղմես նոր կփակվի:;)

Cyborg
10.06.2009, 17:22
Մերսի

Nnn
05.07.2010, 22:15
Ես սկսնակ եմ և ինձ խորհուրդ են տվել սկսել այս լեզվից…
Ես կարդացել ու կարդում եմ տարբեր գրքեր այս լեզվի մասին...բայց չեմ կարողանում ստեղծած ֆայլի պարունակությունը տպիչով տպել...
Օգնեք խնդրում եմ
:(

A.r.p.i.
06.07.2010, 11:01
Ես սկսնակ եմ և ինձ խորհուրդ են տվել սկսել այս լեզվից…
Ես կարդացել ու կարդում եմ տարբեր գրքեր այս լեզվի մասին...բայց չեմ կարողանում ստեղծած ֆայլի պարունակությունը տպիչով տպել...
Օգնեք խնդրում եմ
:(
Ֆայլի պարունակությունը տեղափոխի Word--ի էջ, նոր տպի, իսկ դրա համար կատարիր հետևյալ քայլերը.
1.տես նկար
http://i027.radikal.ru/1007/c0/797c5fb54dd6.jpg (http://www.radikal.ru)
2.ապա մկնիկի նշիչով նշիր ծրագիրդ ու սեղմիր Enter կոճակը
3.տեղադրիր Word-ում:
միայն թե մի բան հաշվի առ , Paskal-ում ծրագիրն ամբողջությամբ նշել հնարավոր չի, ինչքան որ ցույցա տրվում էջի վրա , այնքան էլ նշի, ամբողջ ծրագիրը էջ առ էջ նշիր ու տեղափոխիր Word ու տպի::)

Nnn
06.07.2010, 16:22
Շատ շնորհակալություն արձագանքելու համար, բայց ես ի նկատի ունեի որ ծրագիր եմ գրել, որը պետք է տպիչին հղում կատարի և ինչ-որ բան տպի նրանով, բայց ցավոք ընդհամենը ծրագիրն է կախում… Ահա այդ ծրագիրը՝

program nnn;
uses crt;
var out_file:text;
Begin
assign(out_file, 'prn');
rewrite(out_file);
writeln(out_file,'aaa');
close(out_file);
End.

JoKer777
11.09.2010, 19:53
Շատ շնորհակալություն արձագանքելու համար, բայց ես ի նկատի ունեի որ ծրագիր եմ գրել, որը պետք է տպիչին հղում կատարի և ինչ-որ բան տպի նրանով, բայց ցավոք ընդհամենը ծրագիրն է կախում… Ահա այդ ծրագիրը՝

program nnn;
uses crt;
var out_file:text;
Begin
assign(out_file, 'prn');
rewrite(out_file);
writeln(out_file,'aaa');
close(out_file);
End.
Պասկալից գիտելիքներս հերիքումա որ ասեմ «իհարկե ծրագիրը չպիտի աշխատի»... բայց կներեք, ենքան էլ գիտելիք չունեմ որ ծրագիրը գրեմ...

Աթեիստ
11.09.2010, 21:01
Պասկալից գիտելիքներս հերիքումա որ ասեմ «իհարկե ծրագիրը չպիտի աշխատի»... բայց կներեք, ենքան էլ գիտելիք չունեմ որ ծրագիրը գրեմ...

Իսկ եթե գիտելիքները այդքան բանը պնդելուն հերիքում է, մի գուցե հարց տվողին նաև հուշեք, թե ի՞նչու սպիտի աշխատի:
Թեև հաշվի առնելով թե երբ է տրվել հարցը, կարծում եմ հարց տվողին արդե ոչ Ձեր նախորդ գրառումն է պետք, ոչ էլ բացատրությունը:

Simonyan
17.09.2010, 14:38
Խնդրում եմ ոգնեք լուծել հետևյալ խնդիրը`
տրված է n բնական թիվը և n տարր պարունակող x վեկտոր: կազմել այնպիսի y վեկտորի ստացման և
տպման բլոկսխեմա ու ծրագիր, որի տարերը ստացվում են վեկտորի ամեն մի եռյակից,
սկսած առաջին տարից, վերցնելով մոդուլով մեծ արժեք ունեցող տարրը: ստացված վեկտորի
յուրաքանչյուր դրական տարերը մեծացնել իր փոքրագույն տարի արժեքոի չափով:

Nnn
29.09.2010, 17:12
Իսկ եթե գիտելիքները այդքան բանը պնդելուն հերիքում է, մի գուցե հարց տվողին նաև հուշեք, թե ի՞նչու սպիտի աշխատի:
Թեև հաշվի առնելով թե երբ է տրվել հարցը, կարծում եմ հարց տվողին արդե ոչ Ձեր նախորդ գրառումն է պետք, ոչ էլ բացատրությունը:

Ցավոք սրտի սխալվում եք: Դեռ չեմ գտել սխալս:(

---------- Ավելացվել է՝ 18:12 ---------- Սկզբնական գրառումը՝ 18:10 ----------


Պասկալից գիտելիքներս հերիքումա որ ասեմ «իհարկե ծրագիրը չպիտի աշխատի»... բայց կներեք, ենքան էլ գիտելիք չունեմ որ ծրագիրը գրեմ...
Իսկ կարող եք ասել թե ինչու չի աշխատում:(

Ներսես_AM
29.09.2010, 18:37
հարյուր տարի առաջ եմ պասկալով գրել, սենց բան գտա
http://books.google.com/books?id=XFaB8rDpUjYC&pg=PA140&lpg=PA140&dq=pascal+write+to+printer&source=bl&ots=rMtbH7U171&sig=PPUlW7JouOcpWsY4HURRkWYg1T4&hl=en&ei=vk2jTMH6JMrCswawtvCKBQ&sa=X&oi=book_result&ct=result&resnum=4&ved=0CCEQ6AEwAw#v=onepage&q=pascal%20write%20to%20printer&f=false

պետք է անես մոտավոր սենց բան:


USES printer;

.....
Writeln(Lst, 'text printer tpi');
.....


Բայց համոզված չեմ որ կաշխատի: Ինչքան հիշում եմ սա աշխատում էի միայն հին տպիչների հետ որոնք միացվում էին LPT պորտի միջոցով, ու plug & play չէին: Առավել ևս հիմիկվա USB-ով տպիչները:

JoKer777
29.09.2010, 19:20
Ցավոք սրտի սխալվում եք: Դեռ չեմ գտել սխալս:(

Իսկ կարող եք ասել թե ինչու չի աշխատում:(
Nnn ջան, հիմա անցնում ենք պասկալ, բայց դեռ տպիչններին չենք հասել.... երբ իմացա անպայման կգրեմ

Nnn
30.09.2010, 21:34
հարյուր տարի առաջ եմ պասկալով գրել, սենց բան գտա
http://books.google.com/books?id=XFaB8rDpUjYC&pg=PA140&lpg=PA140&dq=pascal+write+to+printer&source=bl&ots=rMtbH7U171&sig=PPUlW7JouOcpWsY4HURRkWYg1T4&hl=en&ei=vk2jTMH6JMrCswawtvCKBQ&sa=X&oi=book_result&ct=result&resnum=4&ved=0CCEQ6AEwAw#v=onepage&q=pascal%20write%20to%20printer&f=false

պետք է անես մոտավոր սենց բան:


USES printer;

.....
Writeln(Lst, 'text printer tpi');
.....


Բայց համոզված չեմ որ կաշխատի: Ինչքան հիշում եմ սա աշխատում էի միայն հին տպիչների հետ որոնք միացվում էին LPT պորտի միջոցով, ու plug & play չէին: Առավել ևս հիմիկվա USB-ով տպիչները:

հա ճիշտ ես, բայց հին տպիչ էլ ունեմ, ուղղակի համապատասխան շինա չունեմ:)

n1djhayko
02.10.2010, 14:16
Ժող ջան կխնդրեի կաազմել այս(տրված է a,b,c թվերը ասումա>եթե այդպիսի երկարություն ունեցող հատվածներով հնարավոր է կառուցել եռանկյունի ,ապա կարտածեն 'y=1',հակառակ դեպքում 'y=2' արտահայտությունը) խնդրի բլոկ սխեման և ծրագիրը

BOBO
02.10.2010, 14:40
var a,b,c:real;
begin
read(a,b,c);
if (a+b>c) and (a+c>b) and (b+c>a) then
write("y=1") else write("y=2");
end.

BOBO
02.10.2010, 16:46
ավելի ճիշտ սենց

var a,b,c,y:real;
begin
read(a,b,c);
if (a+b>c) and (a+c>b) and (b+c>a) then y:=1 else y:=2;
write("y=",y)
end.

Melin
03.10.2010, 12:38
ժող. կարող եք մենյուի ծրագիր գրել:(?

n1djhayko
07.10.2010, 19:40
Կխնդրեի կազմել (տրված է a,b,c,d թվերը ,դասավորել աճման կարգով) բլոկ սխեման և ծրագիրը,,,նախապես շնորհակալ եմ

Nnn
08.10.2010, 22:11
Կխնդրեի կազմել (տրված է a,b,c,d թվերը ,դասավորել աճման կարգով) բլոկ սխեման և ծրագիրը,,,նախապես շնորհակալ եմ

program NMN;
uses crt;
var
i,j:integer;
m:array[1..100] of integer; {cankutyan depqum real}
z:integer; {kaxvat verevinic}
begin
writeln('Give me please the number for zangvat and the zangvat : ');
readln(n);
for i:=1 to n do read(m[i]);

for j:= 1 to n do
for i:=1 to n-1 do
if m[i]> m[i+1] then begin
z:=m[i];
m[i]:=m[i+1];
m[i+1]:=z;
end;

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

readln(j);
end.

ծրագրի արտաքին տեսքի սիրունությունը քեզ եմ թողնում/:)բլոկ-սխեման էլ/
քո խնդրի համար n=4

n1djhayko
08.10.2010, 23:51
program NMN;
uses crt;
var
i,j:integer;
m:array[1..100] of integer; {cankutyan depqum real}
z:integer; {kaxvat verevinic}
begin
writeln('Give me please the number for zangvat and the zangvat : ');
readln(n);
for i:=1 to n do read(m[i]);

for j:= 1 to n do
for i:=1 to n-1 do
if m[i]> m[i+1] then begin
z:=m[i];
m[i]:=m[i+1];
m[i+1]:=z;
end;

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

readln(j);
end.

ծրագրի արտաքին տեսքի սիրունությունը քեզ եմ թողնում/:)բլոկ-սխեման էլ/
քո խնդրի համար n=4
Շնորհակալ եմ շատ,բայց մենք հլը բաներ կա քո գրածից որ հլը չենք անցել...

Dayana
09.10.2010, 18:27
Ժող, դադարեք ուրիշի փոխարեն խնդիր լուծել, դրանով դուք էդ մարդուն վատություն եք անում: Խնդրի մասին հարցեր տվողներ, դադարեք ուրիշի խելքով խնդիրներ լուծել, դրանով դուք դեգրադացիայի եք ենթարկում ինքներդ ձեզ: Ավելի լավ է ձեր խելքով 40 ստանաք, քան ուրշի խելքով՝ 100: :aha

n1djhayko
11.10.2010, 17:14
Շնորհակալ եմ DAYANA ջան խորհուրդի համար ,ուղղակի արդեն 2 ամիսա դասախոսը տվելա լուծենք ու ոչմեկի մոտ չի ստացվում ,2 շաբաթից էլ միջանկյալնա չգիտեմ ինչ եմ անելու...

Dayana
11.10.2010, 17:31
Շնորհակալ եմ DAYANA ջան խորհուրդի համար ,ուղղակի արդեն 2 ամիսա դասախոսը տվելա լուծենք ու ոչմեկի մոտ չի ստացվում ,2 շաբաթից էլ միջանկյալնա չգիտեմ ինչ եմ անելու...

Շատ ներողություն, բայց էդ ո՞ր ֆակուլտետում եք ու որ ինսիտուտում, որովհետև կներես, բայց էստեղ խնդիր չկա, որ ամբողջ կուրսն էլ չկարողանա լուծել: Եթե ձեզ ընդհանրապես ոչինչ չեն բացատրել, դա ուրիշ խնդիր է պիտի դասախոսի աչքերը հանեք հարցեր տալով, ուրիշ տարբերակ չկա: Ինձ ու ցանկացած մեկի համար դժվար չի էս տեսակ խնդիրը լուծել, բայց դրանից ոչ ես եմ օգտվում , ոչ դու: Անիմաստ ժամանակի վատնում ա: Նեղանալ չկա: :)

VisTolog
11.10.2010, 17:32
Շնորհակալ եմ DAYANA ջան խորհուրդի համար ,ուղղակի արդեն 2 ամիսա դասախոսը տվելա լուծենք ու ոչմեկի մոտ չի ստացվում ,2 շաբաթից էլ միջանկյալնա չգիտեմ ինչ եմ անելու...

2 ամսում հնարավոր չէ՞ր դասախոսից հարցնել::think

n1djhayko
11.10.2010, 18:45
Հարցնում ենք ասումա չարչարվեք,ես էլ չարչարվում եմ բայց միշտ կիսատ պռատա լինում..

Dayana
11.10.2010, 21:36
Հարցնում ենք ասումա չարչարվեք,ես էլ չարչարվում եմ բայց միշտ կիսատ պռատա լինում..

Դե արի սենց պայմանավորվենք, դու գծում ես բլոկ սխեման կամ ծրագրի հատված ես գրում, տեղադրում ես էստեղ, մենք էլ քեզ ճիշտ ուղու վրա են դնում: Համ օգնում ենք, համ ինքնուրույն ես անում, համ էլ վաղը-մյուս օրը դու կսկսես ուրիշներին օգնել: :)

n1djhayko
13.10.2010, 18:07
Dayana ջան անչափ շնորհակալ եմ ,ու անպայաման կհետևեմ խորհուրդիտ...

n1djhayko
13.10.2010, 19:16
Dayana եթե հնարավորա ստուգի խղնդրեմ ,ճիշտ եմ կազմել բլոկը,թե չէ....
Խնդիրը հետևյալն է - կազմել բլոկ սխեմա ,որոնք տրված n բնական թվի համար կհաշվեն ու կտպեն տրված արտահայտության արժեքը.
http://djhaykobreaq.ucoz.ru/havai/asd.png

ԲԼՈԿԸ

http://djhaykobreaq.ucoz.ru/havai/.jpg

Dayana
13.10.2010, 22:00
Ճիշտ ա :)

JoKer777
01.11.2010, 11:59
Ժող ջան օգնեք խնդիրս վերջացնեմ էլի... տրված է բառը, կամ նախասությունը,ծրագիրը պետքե ջնջի բոլոր բացատանիշները, ու ծրագիրը պետքե բաժանենք ենթածրագրերի... առաջին ենթածրագիրը պետքե ջնջի սկզբի բացատանիշները.

program orinak8;
uses crt;
var x,z,k,l:string;
i:integer;
begin
clrscr;
z:=' ';
readln (x);
for i:=1 to 20 do
begin
k:=copy(x,1,1);
if k=z then
delete (x,1,1);
end;
writeln (x);
readkey;
end.

երկրորդ մասը ջնջում է նախադասության մեջ բացատանիշերը

uses crt;
var x,z,j,l,k:string;
i,d:integer;
begin
clrscr;
z:=' ';
readln (x);
d:=length(x);
for i:=1 to d do
begin
k:=copy(x,i,1);
if k=z then
delete (x,i,1);
end;
writeln (x);
readkey;
end.

հիմա օգնեք վերջի բացատանիշերը ջնջեմ, ու այս ամենը կապեմ որ մի ծրագրով աշխատի իսկ երեք մասերը պրոցեդուրանել լինեն.... նախապես շնորհակալություն...

JoKer777
02.11.2010, 14:07
Ժող ջան օգնեք խնդիրս վերջացնեմ էլի... տրված է բառը, կամ նախասությունը,ծրագիրը պետքե ջնջի բոլոր բացատանիշները, ու ծրագիրը պետքե բաժանենք ենթածրագրերի... առաջին ենթածրագիրը պետքե ջնջի սկզբի բացատանիշները.

երկրորդ մասը ջնջում է նախադասության մեջ բացատանիշերը

հիմա օգնեք վերջի բացատանիշերը ջնջեմ, ու այս ամենը կապեմ որ մի ծրագրով աշխատի իսկ երեք մասերը պրոցեդուրանել լինեն.... նախապես շնորհակալություն...
Չեք կարող օգնել՞

JoKer777
02.11.2010, 21:19
Չեք կարող օգնել՞

Pascali զեմլյակներ չգիտեք՞՞՞

armen9494
27.11.2010, 22:14
Մոտս պասկալ չկա որ աշխատեցնեմ
Փորձի ;)

program BOBO;
const n=20;
var a,b:array[1..n] of real; i,ind:integer;
function krkn(k:integer):integer;
var p,j:integer;
begin
p:=0;
for j:=1 to k - 1 do if(a[j]=a[k]) then inc(p);
for j:=k+1 to n do if(a[j]=a[k]) then inc(p);
krkn:=p;
end;
begin
ind:=0;
for i:=1 to n do readln(a[i]);
for i:=1 to n do
if(krkn(i)<=2) then begin
inc(ind);
b[ind]:=a[i];
end;
for i:=1 to ind do writeln('b[ ',i,' ] = ', b[i]);
readln;
end

Ռեդ ջան քո գրած խնդիրը սխալ է: Ճիշտա, էտ մանրուք ա, բայց դրա պատճառով կարող են միավոր հանել: Քեզ խնդիրը ասում է, որ "տրված է n թիվը", դու ինչի ես n-ը const բաժնում հայտարարում, այն էլ գրում =20 ?Ավելի լավա, ծրագրի begin-ից անմիջապես հետո գրես read(n):

BOBO
27.11.2010, 22:22
էտ ուրդից պեղեցիր:D

armen9494
27.11.2010, 22:24
Ես սկսնակ եմ և ինձ խորհուրդ են տվել սկսել այս լեզվից…
Ես կարդացել ու կարդում եմ տարբեր գրքեր այս լեզվի մասին...բայց չեմ կարողանում ստեղծած ֆայլի պարունակությունը տպիչով տպել...
Օգնեք խնդրում եմ
:(

Կարելի ա նաև այս ձև: Ձեր ծրագիրը գրելուց և save անելուց հետո մտեք այն տեղը, որտեղ կտեսնեք այդ ֆայլը (օրինակ cragir.pas) և այդ ծրագրի "տիպը" (.pas) փոխեք և սարքեք (.txt): Այսպես cragir.txt: Դրանից հետո դուք կկարողանաք բացել այն տեքստային խմբագրիչով և տպել, կամ փոխադրել word-ի միջավայր:

armen9494
27.11.2010, 22:34
program NMN;
uses crt;
var
i,j:integer;
m:array[1..100] of integer; {cankutyan depqum real}
z:integer; {kaxvat verevinic}
begin
writeln('Give me please the number for zangvat and the zangvat : ');
readln(n);
for i:=1 to n do read(m[i]);

for j:= 1 to n do
for i:=1 to n-1 do
if m[i]> m[i+1] then begin
z:=m[i];
m[i]:=m[i+1];
m[i+1]:=z;
end;

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

readln(j);
end.

ծրագրի արտաքին տեսքի սիրունությունը քեզ եմ թողնում/:)բլոկ-սխեման էլ/
քո խնդրի համար n=4

Սա էլ ա սխալ, խնդիը ասում ա, տրված են a,b,c,d թվերը, իսկ դու ինչ որ վեկտոր ես ներմուծել: Այս խնդիրը պետք է լուծվի "պղպջակի ալգորիթմով", n1djhayko եթե դեռ պետք ա, ասա, կգրեմ:

armen9494
27.11.2010, 22:41
Dayana եթե հնարավորա ստուգի խղնդրեմ ,ճիշտ եմ կազմել բլոկը,թե չէ....
Խնդիրը հետևյալն է - կազմել բլոկ սխեմա ,որոնք տրված n բնական թվի համար կհաշվեն ու կտպեն տրված արտահայտության արժեքը.
http://djhaykobreaq.ucoz.ru/havai/asd.png

ԲԼՈԿԸ

http://djhaykobreaq.ucoz.ru/havai/.jpg

սխալա, դու էդտեղ պետք ա հետպայանով ցիկլ կազմակերպես, այնպես որ քո տրված n թիվը մեծ կամ հավասար լինի 5-ից: Ծրագրով կլինի այսպես
repeat read(n) until n>=5
Ու կաշխատի այսպես
եթե դու 5-ից փոքր թիվ ներմուծես, ծրագիրը կուզի, որ դու նորից n թիվը ներմուծես:

armen9494
27.11.2010, 22:43
էտ ուրդից պեղեցիր:D

Այսինքն?

BOBO
27.11.2010, 22:44
Այսինքն?

այսինքն էն որ 2 տարի առաջա գրվել դու ասումես կարողա միավոր հանեն:D

armen9494
27.11.2010, 22:48
այսինքն էն որ 2 տարի առաջա գրվել դու ասումես կարողա միավոր հանեն:D

Դե ես նոր եմ ստեղ մտել, սխալներ տեսա, ասեցի գրեմ, ինչ տարբերություն հին ա թե նոր: Կարողա ուրիշները տենան, իմանան թե ճիշտա ու շարունակեն օգտվել դրանից:)

deived
03.12.2010, 19:26
ժողովուրդ թե կարաք օգնեք գրեմ էլի շատա պետք.
Տրված է տող:Ստանալ նոր տող,որի մեջ սկզբից գրված լինեն տրված պայմանանշանից մեծ պայմանանշանները,հետո հավասարները,իսկ վերջում նրանից փոքրերը.

robot
12.12.2010, 11:18
Ժողովուրդ ջան, էս խնդիրը ով կարա լուծի? շատ շտապ ա պետք: mail կթողնեմ խնդրում եմ բլոկ-սխեման ու ծրագիրը ուղարկեք էդ mail-ին: Հիմա խնդիրը;

Տրված են n բնական թիվը և n արր պարունակող X միաչափ զանգվածը: Կազմել բլոկ սխեմա ու ծրագիր, որոնք կհաշվեն ու կտպեն զանգվածի այն տարրերի գումարը, որոնք մեծ են զանգվածի միակ երեքի աստիճան հանդիսացող տարրից:

e_mail: a357753[շնիկ]mail[կետ]ru

մի խնդրանք էլ, եթե դժվար չի, ծրագիրը բացի mail-ով ուղարկելուց, ստեղ էլ գրեք: Նախօրոք շնորհակալ եմ:

BOBO
14.12.2010, 15:00
բայց չկարացի նենց անեմ որ 3-ն էլ համարվի 3-ի աստիճան


program robot;
var x:array[1..100] of integer;
i,k,n,s,z:integer;
begin;
repeat write('n='); read(n) until (n>1) and (n<=100);
for i:=1 to n do
begin
write('x[',i,']=');
read(x[i]);
end;
for i:=1 to n do
if ((x[i] div 3) mod 3=0) and ((x[i] mod 3) mod 3=0) then begin k:=x[i];
repeat x[i]:=x[i] div 3 until x[i]<=3;
if x[i]=3 then z:=z+1;
end;
for i:=1 to n do
if x[i]>k then s:=s+x[i];
if z=1 then writeln('s=',s) else writeln('paymanin chi bavararum');
end.

konqi
18.12.2010, 20:28
բայց չկարացի նենց անեմ որ 3-ն էլ համարվի 3-ի աստիճան


program robot;
var x:array[1..100] of integer;
i,k,n,s,z:integer;
begin;
repeat write('n='); read(n) until (n>1) and (n<=100);
for i:=1 to n do
begin
write('x[',i,']=');
read(x[i]);
end;
for i:=1 to n do
if ((x[i] div 3) mod 3=0) and ((x[i] mod 3) mod 3=0) then begin k:=x[i];
repeat x[i]:=x[i] div 3 until x[i]<=3;
if x[i]=3 then z:=z+1;
end;
for i:=1 to n do
if x[i]>k then s:=s+x[i];
if z=1 then writeln('s=',s) else writeln('paymanin chi bavararum');
end.


BOBO դու հաստատ պոլիտեխից էս ))

robot
19.12.2010, 13:22
Շատ շնորհակալ եմ պատասխանի համար, konqi.

Արամ
19.12.2010, 13:57
Շատ շնորհակալ եմ պատասխանի համար, konqi.

այ ռոբոտ ջան Կոնքին չի լուծել Բոբոնա լուծել:

robot
19.12.2010, 22:54
Գտեմ այ Արամ ջան, ես BOBO-ին մի քանի օրա հարցեր էի տալիս, ինքը համբերատար պատասխանում էր, ամեն կերպ ուզում էր ինձ օգնած լիներ, ու շատ շատ օգնել ա, իրանից ես շնորհակալ եմ ու շնորհակալ, ուղղակի էտ գրագրությունը թեմայում չի էրևում, ես իրան նամակով եմ գրել

armen9494
20.12.2010, 17:23
var i,n:integer; x,y:array[1..20] of real; t,s:real;
begin repeat readln(n) until (n>1) and (n<=20);
For i:=1 to n do readln(x[i]);
t:=0;
For i:=1 to n do y[i]:=x[i];
For i:=1 to n do
begin repeat if y[i]/3=1 then break else y[i]:=y[i]/3 until y[i]<1;
If y[i]<1 then continue else
begin t:=x[i]; break
end
end;
S:=0;
For i:=1 to n do If x[i]>t then s:=s+x[i]; writeln('s=',s) end.


Հաշշվում է բոլոր դրական թվերի համար (3-ը ներառյալ):

armen9494
27.12.2010, 17:16
Ժողովուրդ խնդրում եմ օգնեք: Մի քանի օր առաջ կոմպիս վրա windows 7 դրեցի: Հիմա Turbo Pascal-ը չեմ կարողանում Fullscreen-ով օգտագործեմ (նաև չեմ կարողանում գրաֆիկական ռեժիմը օգտագործեմ), չի թողնում, գրումա "This system does not support fullscreen mode": Հնարավորա՞ ինչ-որ մի բան անեմ, որ կարողանամ օգտագործել սա, թե՞ պետք ա հրաժարվեմ windows 7-ից:

n1djhayko
30.12.2010, 01:42
Ժողովուրդ խնդրում եմ օգնեք: Մի քանի օր առաջ կոմպիս վրա windows 7 դրեցի: Հիմա Turbo Pascal-ը չեմ կարողանում Fullscreen-ով օգտագործեմ (նաև չեմ կարողանում գրաֆիկական ռեժիմը օգտագործեմ), չի թողնում, գրումա "This system does not support fullscreen mode": Հնարավորա՞ ինչ-որ մի բան անեմ, որ կարողանամ օգտագործել սա, թե՞ պետք ա հրաժարվեմ windows 7-ից:
Խորհուրդ կտաի հրաժարվել Turbo Pascal-ից և օգտագործել ABC Pascal...

armen9494
30.12.2010, 17:26
Խորհուրդ կտաի հրաժարվել Turbo Pascal-ից և օգտագործել ABC Pascal...

Մերսի խորհրդի համար, ես ել գիտեմ, որ ABC Pascal-ը ավելի լավնա, բայց հնարավոր չի դրանով օգտվել, քանի որ հիմա ինստիտուտում անցնում ենք Turbo Pascal, իսկ նրանց մեջ տարբերություն կա (նամանավանդ գրաֆիկական ռեժիմում): Իմ խնդրին ինչ որ լուծում կա՞:

armen9494
27.01.2011, 11:06
Ո՞ր օպերատորով կարելի է այնպես անել, որ տվյալ ստեղի(клавиш-ի) սեղմման դեպքում կատարվի ինչ-որ ֆունկցիա:

n1djhayko
05.05.2011, 16:23
Ժողովուրդ խնդրում եմ օգնեք: Մի քանի օր առաջ կոմպիս վրա windows 7 դրեցի: Հիմա Turbo Pascal-ը չեմ կարողանում Fullscreen-ով օգտագործեմ (նաև չեմ կարողանում գրաֆիկական ռեժիմը օգտագործեմ), չի թողնում, գրումա "This system does not support fullscreen mode": Հնարավորա՞ ինչ-որ մի բան անեմ, որ կարողանամ օգտագործել սա, թե՞ պետք ա հրաժարվեմ windows 7-ից:
Ես ինքս օգտագործում եմ Turbo Pascal Windows 7 օպերացիոն համակարգի վրա:Հիմա մենք անցնում ենք գրաֆիկա ,բայց քանի որ TPascal-ը win7-ում Fullscreen-ով չի աշխատում հետևաբար նաև գրաֆիկան չի աշխատում:Երկար փորփրեցի և գտա լուծում,,,Երբ համակարգիչը միացնում ես անվտանգ ռեժիմով ինքը ավտոմատ անջատումա մի քանի սլուժբաներ և վիդեոկարտա-ի դրայվերը ու առանց պռոբլեմ fullscreen-ով աշխատումա turbo pascal-ը,գրաֆիկան էլ հետը,,,

Դա կատարվում է այսպես


1.http://interactive.do.am/123/1.jpg
2.http://interactive.do.am/123/2.jpg
3. http://interactive.do.am/123/3.jpg

armen9494
07.05.2011, 08:59
Ես ինքս օգտագործում եմ Turbo Pascal Windows 7 օպերացիոն համակարգի վրա:Հիմա մենք անցնում ենք գրաֆիկա ,բայց քանի որ TPascal-ը win7-ում Fullscreen-ով չի աշխատում հետևաբար նաև գրաֆիկան չի աշխատում:Երկար փորփրեցի և գտա լուծում,,,Երբ համակարգիչը միացնում ես անվտանգ ռեժիմով ինքը ավտոմատ անջատումա մի քանի սլուժբաներ և վիդեոկարտա-ի դրայվերը ու առանց պռոբլեմ fullscreen-ով աշխատումա turbo pascal-ը,գրաֆիկան էլ հետը,,,

Դա կատարվում է այսպես


1.http://interactive.do.am/123/1.jpg
2.http://interactive.do.am/123/2.jpg
3. http://interactive.do.am/123/3.jpg

Ափսոս:( Իմանաի, չէի ջնջի windows7-ը

armen9494
16.09.2011, 22:20
Բարև ձեզ: Ժողովուրդ ջան, խնդրանքս ուղղված ա 2-րդ կուրսից բարձր կուրսի ՎՏ-ի Պոլիտեխնիկցիներին: Երկրորդ կուրսում դուք կուրսային աշխատանք եք գրել՝ ինֆորմատիկայից: Հիմա մեր հերթն է:)
Որ խնդրեմ, կարող եք ուղարկել ձեր գրած կուրսայինները: Ասեմ, որ ես հաստատ դրանցից ոչ մեկը չեմ ներկայացնելու, ունեմ էնքան խելք, որ ինքս գրեմ ու ինձ էլ կրակի մեջ չգցեմ, որ հարցնեն, թե էս մասը ինչի՞ ա արած, բերանս ջուր առնեմ, կանգնեմ:
Ինձ միայն պետք ա տեսնել, թե ինչ ձևի գործեր կան, ուզում եմ "ճաշակս զարգացնեմ":

Հ.Գ. եվ եթե խնդրեմ, կարող եք գրել, թե ո՞նց ա լինում կուրսայինի հանձնելու պահը: Ուղղակի հետաքրքիր ա: Ավելի լավ ա ՊՄ-ով գրեք, որ թեման օֆֆտոպի չվերածենք:
Նախապես շնորհակալություն:

armen9494
25.09.2011, 21:55
Ժողովուրդ, այս թեմայում գրառում անող կա :pardon
Եթե կա, կխնդրեի, որ օգնեիք: Իմ մոտ մի շաաաատ լուրջ պռոբլեմ կա:(
Ուզում էի գրեի ցանցային խաղ՝ Պասկալով, երկու համակարգչի համար: Կառուցվածքը այսպիսին է՝
մի համակարգիչը լինում է server իսկ մյուսը՝ client : Server-ի մեջ պահվում են ֆայլերը: Client-ը կարողանում է օգտվել այդ ֆայլերից:
Հիմա ամենալուրջ պահը՝ ինչպես անեմ, որ մի ծրագիրը կարողանա գրել, իսկ մյուսը կարդալ ֆայլը (միաժամանակ): Տալիս ա սխալ՝ Error 100: Disc read error
Կարծում եմ, որ սխալն այն պատճառաով է, որ այդ ֆայլը օգտագործվում է մյուս համակարգի կողմից:
Ինչպե՞ս լուծել այս պռոբլեմը, օգնեեեեեք:(

Նախապես շաաաաաատ շնորհակալություն

armen9494
26.09.2011, 22:01
Լավ, ոնց երևում ա էս թեման իրոք իմ մենախոսությունն ա դարձել :))
Ասեմ, որ արդեն գտա լուծումը: Եթե հանկարծ ինչ-որ մեկը լինի այս թեմայում և նրան հետաքրքրի սա, ասեք, կգրեմ:

MrKaren
26.11.2011, 11:19
Հարգելի ծրագրավորողներ, խնդրում եմ օգնեք մի այսպիսի խնդիր գրել Պասկալով...

Երկչափ զանգվածի մեջ հեռացնել բոլոր այն տողերը և սյուները, որոնց հատման տեղում գտնվում են բացասական էլեմենտները։ Տողի և սյունակի հեռացումը կատարել պրոցեդուրայի միջոցով։

եթե խնդիրը բարդ է և ժամանակատար, ապա խնդիրի դիմաց, կվճարեմ....

armen9494
30.11.2011, 17:37
Հարգելի ծրագրավորողներ, խնդրում եմ օգնեք մի այսպիսի խնդիր գրել Պասկալով...

Երկչափ զանգվածի մեջ հեռացնել բոլոր այն տողերը և սյուները, որոնց հատման տեղում գտնվում են բացասական էլեմենտները։ Տողի և սյունակի հեռացումը կատարել պրոցեդուրայի միջոցով։

եթե խնդիրը բարդ է և ժամանակատար, ապա խնդիրի դիմաց, կվճարեմ....

MrKaren ջան, խնդիրը մի փոքր ժամանակատար ա, կգրեմ մոտավորապես ինչ պիտի անես, կարծում եմ կհասկանաս:
Ուրեմն դու պիտի ստուգես մատրիցիդ բոլոր տարրերը ու որ տարրը որ բացասական ա դրա տողն ու սյունը պահես մի տեղ (կարող ես մի վեկտորի մեջ պահել, էս առաջին բանն էր որ մտքիս եկավ, հնարավոր է ակումբցիները ավելի խելոք բան առաջարկեն): Տողի ու սյան հեռացումն էլ պիտի կատարես այսպես. էդրա ներքևի տողից (կամ սյունից) սկսած պիտի մի-մի տող վերև բարձրացնես (սյուների դեպքում մի-մի սյուն ձախ տանես), այսինքն էդ տողում գրված յուրաքանչյուր տարր ցիկլով վերագրես վերևի տարրին:
Այ էս բոլդով գրածը պիտի պրոցեդուրայով սարքես. պրոցեդուրան պիտի ընդունի (ու վերադարձնի) քո մատրիցը, մատրիցիդ տողերի ու սյուների քանակը (էս պարտադիր չի, որ վերադարձնի, կարաս ղեկավարող ծրագրիդ մեջ պակասացնես), բացասական տարրիդ գտնվելու տողի ու սյան համարը:

Էս առաջին բանն էր, որ մտքիս եկավ;)

ucomik
01.12.2011, 16:49
ժողովուրդ կարողք օգնեք գրեմ էլի շատա պետք.
Տրված են n բնական թիվը և n տարր պարունակող x վեկտորը:Կազմել այնպիսի նոր Y վեկտորի ստացման և տպման բլոկ-սխեման ու ծրագիը որի տարերը ստացվում են սկզբից վերցնելով այն տարրերը, որոնք մեծ են տրված վեկտորի առաջին պարզ տարից, հետո նրան հավասար տարերը, իսկ վերջում նրանից փոքր տարրերը:

armen9494
01.12.2011, 18:10
ժողովուրդ կարողք օգնեք գրեմ էլի շատա պետք.
Տրված են n բնական թիվը և n տարր պարունակող x վեկտորը:Կազմել այնպիսի նոր Y վեկտորի ստացման և տպման բլոկ-սխեման ու ծրագիը որի տարերը ստացվում են սկզբից վերցնելով այն տարրերը, որոնք մեծ են տրված վեկտորի առաջին պարզ տարից, հետո նրան հավասար տարերը, իսկ վերջում նրանից փոքր տարրերը:

Էս դեպքում էլ էլի կարճ կոնկրետ գրեմ լուծման ձևը, չեմ կարող ամբողջը գրել:
Նախ ցիկլով ստուգի x-իդ յուրաքանչյուր տարրը և հենց հանդիպես պարզ տարրի ցիկլդ break արա: Հիմա նորից ցիկլով անցի տարրերի վրայով ու ստուգի՝ եթե էդ տարրից մեծ տարր կա, ապա գրի y վեկտորի հերթական համարով տարրի մեջ: Հետո նորից ցիկլ արա ու ստուգի, եթե էդ տարրին հավասար տարր կա, ապա գրի y վեկտորի հերթական համարով տարրի մեջ: Հետո նորից ցիկլ արա ու ստուգի, եթե էդ տարրից փոքր տարր կա, ապա գրի y վեկտորի հերթական համարով տարրի մեջ:

Պարզ տարրը ստուգի հետևյալ կերպ.
վերցրու թիվը ու սկսի ցիկլով բաժանել իրենից փոքր բոլոր թվերի վրա (մինչև երկուսը ներառյալ): Յուրաքանչյուր դեպքում ստուգի, եթե ինքը մնացորդ չունի, ապա շարունակի բաժանելը:
Օրինակ 5 թվի համար՝
5/4 - մնացորդը 1
5/3 - մնացորդը 2
5/2 - մնացորդը 1

հետևաբար 5-ը պարզ ա:

4 թվի համար՝
4/3 - մնացորդը 1
4/2 - մնացորդը 0

հետևաբար պարզ չի:

Aperna
02.12.2011, 22:59
ախպերներ ջան մի հատ սենց խնդիր ունեմ,կարաք օգնեք շատ գոհ կինեմ:)
տրված է N բնական թիվը և N տար պարունակող X միաչափի զանգվածը:
Կազմել բլոկ սխեմա և որը կհաշվեն և կտպեն y=X1+X1X2+X1X2X3..X1X2X3..Xm արտահայտել արժեքը որտեղ M վերջի բացասական տարի համարն է:
Եթե վեկտորը բացասական է տարր չունի ապա ընդունել է Y=0

Aperna
03.12.2011, 23:36
ախպերներ ջան մի հատ սենց խնդիր ունեմ,կարաք օգնեք շատ գոհ կինեմ:)
տրված է N բնական թիվը և N տար պարունակող X միաչափի զանգվածը:
Կազմել բլոկ սխեմա և որը կհաշվեն և կտպեն y=X1+X1X2+X1X2X3..X1X2X3..Xm արտահայտել արժեքը որտեղ M վերջի բացասական տարի համարն է:
Եթե վեկտորը բացասական է տարր չունի ապա ընդունել է Y=0
ոչմեկ չի կարա օգնի ես հարցում?

Varzor
05.12.2011, 13:36
ոչմեկ չի կարա օգնի ես հարցում?
Բլոկ-սեխամ ուղարկեմ, թե ծրագիրը? :)
Նաև կարող եմ ընդհանուր սկզբունքը նկարագրել:

Varzor
05.12.2011, 14:31
Խնդրի բլոկ-սխեման`
53570

Ծրագիրը`

PROGRAM P1;
USES CRT;
VAR
i, M, N, y : INTEGER;
S : REAL;
X:ARRAY[1..100] OF INTEGER;
BEGIN
CLRSCR;
WRITE ( 'N=' ) ; READLN ( N ) ;
FOR i:=1 TO N DO BEGIN
WRITE ( 'X[',i,']=' ) ;
READLN ( X[i] ) ;
END ;
M:=0;
y:=0;
FOR i:=1 TO N DO
IF ( X[i]<0 ) THEN
M:=i;
IF ( M>0 ) THEN BEGIN
S = 1;
FOR i:=1 TO M DO BEGIN
S:=S*X[i];
y:=y+S;
END;
END;
WRITELN('y=', y);
END.

Հ.Գ.
Արդեն 10 տարի է Pascal-ով բան չէի գրել :))

Aperna
05.12.2011, 15:02
Խնդրի բլոկ-սխեման`
53570

Ծրագիրը`

PROGRAM P1;
USES CRT;
VAR
i, M, N, y : INTEGER;
S : REAL;
X:ARRAY[1..100] OF INTEGER;
BEGIN
CLRSCR;
WRITE ( 'N=' ) ; READLN ( N ) ;
FOR i:=1 TO N DO BEGIN
WRITE ( 'X[',i,']=' ) ;
READLN ( X[i] ) ;
END ;
M:=0;
y:=0;
FOR i:=1 TO N DO
IF ( X[i]<0 ) THEN
M:=i;
IF ( M>0 ) THEN BEGIN
S = 1;
FOR i:=1 TO M DO BEGIN
S:=S*X[i];
y:=y+S;
END;
END;
WRITELN('y=', y);
END.

Հ.Գ.
Արդեն 10 տարի է Pascal-ով բան չէի գրել :))

Շաաատ շաաաատ մերսի շատ օգնեցիր ինձ:)
ես ես պասկալ ծրագրավորման լեզուն տանել չեմ կարում,չնայած եսա հիմքը C++-ի

ucomik
12.12.2011, 22:30
չեք ասի թե վոնց կարող եմ պասկալի բլոկ սխեման տեղափոխել word ծրագիրի մեջ?

armen9494
12.12.2011, 22:52
չեք ասի թե վոնց կարող եմ պասկալի բլոկ սխեման տեղափոխել word ծրագիրի մեջ?

word-ով գծի :pardon

MrKaren
21.12.2011, 19:25
Հարգելի ծրագրավորողներ, խնդրում եմ օգնեք մի այսպիսի խնդիր գրել Պասկալով...

Երկչափ զանգվածի մեջ հեռացնել բոլոր այն տողերը և սյուները, որոնց հատման տեղում գտնվում են բացասական էլեմենտները։ Տողի և սյունակի հեռացումը կատարել պրոցեդուրայի միջոցով։

եթե խնդիրը բարդ է և ժամանակատար, ապա խնդիրի դիմաց, կվճարեմ....

Չեք կարող օգնել՞ :(

Varzor
22.12.2011, 13:20
Չեք կարող օգնել՞ :(
Մենակ ծրագիրն է պետք, թե բլոկ-սխեման էլ հետը?
Դու ասա, հաստատ կօգնեմ ;)

MrKaren
22.12.2011, 17:41
Մենակ ծրագիրն է պետք, թե բլոկ-սխեման էլ հետը?
Դու ասա, հաստատ կօգնեմ ;)

ցանկալիէ բլոկ սխեման էլ հետը... նախորոք շաաաատ շնորհակալություն......

Varzor
23.12.2011, 10:14
ցանկալիէ բլոկ սխեման էլ հետը... նախորոք շաաաատ շնորհակալություն......
Դե ուրեմն հստակ և կոռեկտ ձևակերպիր խնդիրը` գրառումիդ մեջ անհասկանալի է խնդրի ձևակերպումը:
1. "տողերի և սյուների հատման կետում" արտահայտությունը անիմաստ է, որովհետև մատրիցի ցանկացած տարր գտնվում է որևէ տողի և սյան հատման կետում:
2. "հեռացնել տողը և սյունը" - այդպես կարող է մատրիցից բան չմնալ: Իսկ հեռացնելով պիտի ստանանք նոր մատրից, թե հենց նույն մատրիցի մեջ պիտի հեռացնենք?

MrKaren
23.12.2011, 18:46
Դե ուրեմն հստակ և կոռեկտ ձևակերպիր խնդիրը` գրառումիդ մեջ անհասկանալի է խնդրի ձևակերպումը:
1. "տողերի և սյուների հատման կետում" արտահայտությունը անիմաստ է, որովհետև մատրիցի ցանկացած տարր գտնվում է որևէ տողի և սյան հատման կետում:
2. "հեռացնել տողը և սյունը" - այդպես կարող է մատրիցից բան չմնալ: Իսկ հեռացնելով պիտի ստանանք նոր մատրից, թե հենց նույն մատրիցի մեջ պիտի հեռացնենք?

դե ետպես էր գրված...

1. երևի դա հաշվի չառնենք, իսկ երկրորդը պիտի 0 դարձվի, որ մատրիցը չխախտվի

Varzor
23.12.2011, 23:28
դե ետպես էր գրված...

1. երևի դա հաշվի չառնենք, իսկ երկրորդը պիտի 0 դարձվի, որ մատրիցը չխախտվի
Այսինքն` յուրաքանչյուր բացասական տարրի համար դրա տողի և սյան բոլոր տարրերը պիտի = 0? Եթե տենց լուծենք, հո սխալ չեն հաշվի?

MrKaren
24.12.2011, 00:24
Այսինքն` յուրաքանչյուր բացասական տարրի համար դրա տողի և սյան բոլոր տարրերը պիտի = 0? Եթե տենց լուծենք, հո սխալ չեն հաշվի?

չէ․․․ սխալ չի լինի․․․․

Varzor
24.12.2011, 03:09
չէ․․․ սխալ չի լինի․․․․

Էս քեզ ծրագիրը


PROGRAM P1;
USES
CRT;
TYPE
Matrix = array [1..10, 1..10] of REAL;
Vector = array [1..10] of INTEGER;
Var
X:Matrix;
Rows, Columns : Vector;
i, j, M, N : INTEGER;
PROCEDURE CANGEROWCOLUMN(RowColumnIndex, MaxRowColumn : INTEGER; ChangeRow : BOOLEAN; VAR X : Matrix);
Var
i, j : INTEGER;
BEGIN
IF ChangeRow = True THEN
FOR i:=1 to MaxRowColumn Do
X[RowColumnIndex,i]:=0
ELSE
FOR i:=1 to MaxRowColumn Do
X[i, RowColumnIndex]:=0;
END;
BEGIN
TEXTBACKGROUND(Blue);
CLRSCR;
WRITE('INPUT M=');
READLN(M);
WRITE('INPUT N=');
READLN(N);
FOR i:=1 to M Do
For j:=1 to N Do
BEGIN
GOTOXY(1+6*(j-1), 4+i);
READ(X[i,j]);
END;
FOR i:=1 to M Do
Rows[i]:=0;
FOR i:=1 to N Do
Columns[i]:=0;
FOR i:=1 to M Do
FOR j:=1 to N Do
IF X[i,j] < 0 THEN
BEGIN
Rows[i]:=1;
Columns[j]:=1;
END;
FOR i:=1 to M Do
IF Rows[i] = 1 THEN
CANGEROWCOLUMN(i, M, True, X);
FOR i:=1 to N Do
IF Columns[i] = 1 THEN
CANGEROWCOLUMN(i, N, False, X);
FOR i:=1 to M Do
For j:=1 to N Do
BEGIN
GOTOXY(1+6*(j-1), 4+M+1+i);
WRITE(X[i,j]:4:1);
END;
WRITELN;
READKEY;
END.


Էս էլ բլոկ-սխեման ու pas ֆայլը
53695

Բարով հանձնես ;)

MrKaren
24.12.2011, 08:47
Էս քեզ ծրագիրը


PROGRAM P1;
USES
CRT;
TYPE
Matrix = array [1..10, 1..10] of REAL;
Vector = array [1..10] of INTEGER;
Var
X:Matrix;
Rows, Columns : Vector;
i, j, M, N : INTEGER;
PROCEDURE CANGEROWCOLUMN(RowColumnIndex, MaxRowColumn : INTEGER; ChangeRow : BOOLEAN; VAR X : Matrix);
Var
i, j : INTEGER;
BEGIN
IF ChangeRow = True THEN
FOR i:=1 to MaxRowColumn Do
X[RowColumnIndex,i]:=0
ELSE
FOR i:=1 to MaxRowColumn Do
X[i, RowColumnIndex]:=0;
END;
BEGIN
TEXTBACKGROUND(Blue);
CLRSCR;
WRITE('INPUT M=');
READLN(M);
WRITE('INPUT N=');
READLN(N);
FOR i:=1 to M Do
For j:=1 to N Do
BEGIN
GOTOXY(1+6*(j-1), 4+i);
READ(X[i,j]);
END;
FOR i:=1 to M Do
Rows[i]:=0;
FOR i:=1 to N Do
Columns[i]:=0;
FOR i:=1 to M Do
FOR j:=1 to N Do
IF X[i,j] < 0 THEN
BEGIN
Rows[i]:=1;
Columns[j]:=1;
END;
FOR i:=1 to M Do
IF Rows[i] = 1 THEN
CANGEROWCOLUMN(i, M, True, X);
FOR i:=1 to N Do
IF Columns[i] = 1 THEN
CANGEROWCOLUMN(i, N, False, X);
FOR i:=1 to M Do
For j:=1 to N Do
BEGIN
GOTOXY(1+6*(j-1), 4+M+1+i);
WRITE(X[i,j]:4:1);
END;
WRITELN;
READKEY;
END.


Էս էլ բլոկ-սխեման ու pas ֆայլը
53695

Բարով հանձնես ;)

Մերսի........

MrKaren
24.12.2011, 18:28
Իրականացնել տրված ռեկուրենտ առնչությունները , կառուցել ստացված մեծությունների գրաֆիկները :

ԱԼԳՈՐԻԹՄ-1

1. α2=d1/c1 , α3=(d2-β2*b2)/Δ2 , αi+1=(di+βi*φi)/Δ i i=3, n-2

2. β2=e1/c1 , βi-1=ei/ Δ i i=2, n-3

3. γ2=f1/c1 , γ 3=(f2+ γ2*b2)/ Δ 2 , γi+1=(fi-γi-1*ai-γi*φi)/Δi i=3, n-1

4. Δ2=c2-α2*b2 , Δi=ci-βi-1*ai+αi*φi i=3 ,n-1

5. φi=αi-1*ai-bi i=3, n-1

6. yn-1=γn

7. yn-2=αn-1*yn-1+γn-1

8. yi=αi+1*yi+1-βi+1*yi+2+γi+1 i=n-3, 1




3

c1=29+12h/r12 , ci=30 i =2,n-2, cn-1=29+h/rn-1 Q=0.24

ai=1-h/ri i=3,n-1, bi=8(2-h/ri) i=2,n-1 a=0.513

di=8(2+h/ri) i=1,n-2, ei=1+h/ri i=1,n-3 c=0.00025

fi=48Qh2/πa2c2, i=1,n-1 , ri=a+ih , i=1,n-1 , h=c/n



Սենց բան հանդիպել է՞

MrKaren
24.12.2011, 18:56
Իրականացնել տրված ռեկուրենտ առնչությունները , կառուցել ստացված մեծությունների գրաֆիկները :

1. α2=d1/c1 , α3=(d2-β2*b2)/Δ2 , αi+1=(di+βi*φi)/Δ i i=3, n-2

2. β2=e1/c1 , βi-1=ei/ Δ i i=2, n-3

3. γ2=f1/c1 , γ 3=(f2+ γ2*b2)/ Δ 2 , γi+1=(fi-γi-1*ai-γi*φi)/Δi i=3, n-1

4. Δ2=c2-α2*b2 , Δi=ci-βi-1*ai+αi*φi i=3 ,n-1

5. φi=αi-1*ai-bi i=3, n-1

6. yn-1=γn

7. yn-2=αn-1*yn-1+γn-1

8. yi=αi+1*yi+1-βi+1*yi+2+γi+1 i=n-3, 1




3

c1=29+12h/r12 , ci=30 i =2,n-2, cn-1=29+h/rn-1 Q=0.24

ai=1-h/ri i=3,n-1, bi=8(2-h/ri) i=2,n-1 a=0.513

di=8(2+h/ri) i=1,n-2, ei=1+h/ri i=1,n-3 c=0.00025

fi=48Qh2/πa2c2, i=1,n-1 , ri=a+ih , i=1,n-1 , h=c/n

armen9494
25.12.2011, 16:35
Իրականացնել տրված ռեկուրենտ առնչությունները , կառուցել ստացված մեծությունների գրաֆիկները :

1. α2=d1/c1 , α3=(d2-β2*b2)/Δ2 , αi+1=(di+βi*φi)/Δ i i=3, n-2

2. β2=e1/c1 , βi-1=ei/ Δ i i=2, n-3

3. γ2=f1/c1 , γ 3=(f2+ γ2*b2)/ Δ 2 , γi+1=(fi-γi-1*ai-γi*φi)/Δi i=3, n-1

4. Δ2=c2-α2*b2 , Δi=ci-βi-1*ai+αi*φi i=3 ,n-1

5. φi=αi-1*ai-bi i=3, n-1

6. yn-1=γn

7. yn-2=αn-1*yn-1+γn-1

8. yi=αi+1*yi+1-βi+1*yi+2+γi+1 i=n-3, 1




3

c1=29+12h/r12 , ci=30 i =2,n-2, cn-1=29+h/rn-1 Q=0.24

ai=1-h/ri i=3,n-1, bi=8(2-h/ri) i=2,n-1 a=0.513

di=8(2+h/ri) i=1,n-2, ei=1+h/ri i=1,n-3 c=0.00025

fi=48Qh2/πa2c2, i=1,n-1 , ri=a+ih , i=1,n-1 , h=c/n


Որ ճիշտը ասեմ՝ չհասկացա թե ինչ ա, որ բացատրես, կփորձեմ օգնել:

Rudik_100
25.12.2011, 16:53
Տրված է n բնական թիվը և n տարր պարունակող միաչափ զանգվածը: Հաշվել զանգվածի առաջին պարզ տարրին նախորդող և վերջին պարզ տարրին հաջորդող տարրերի գումարը: Ենթադրվում է տրված վեկտորի առաջին և վերջին տարրերը պարզ չեն:
53706
Program a170;
var x:array[1..10] of integer;
i,n,j,l,k,s,t:integer;
begin read(n);

for i:=1 to n do read (x[i]);
s:=0;
for i:=1 to n do t:=0;
for j:=2 to x[i]-1 do if x[i] mod j = 0 then begin t:=1; if t=0 then l:=x[i];
write(l=x[i]);
end;
ՈՒզում եմ իմանամ ալգորիթմը եթե ճիշտ է...ծրագիրը ոնց կազմեմ:(

end.

armen9494
25.12.2011, 17:45
Տրված է n բնական թիվը և n տարր պարունակող միաչափ զանգվածը: Հաշվել զանգվածի առաջին պարզ տարրին նախորդող և վերջին պարզ տարրին հաջորդող տարրերի գումարը: Ենթադրվում է տրված վեկտորի առաջին և վերջին տարրերը պարզ չեն:
դե նախ եթե ասում է, որ "ենթադրվում է տրված վեկտորի առաջին և վերջին տարրերը պարզ չեն", ապա նրանց կարելի է ցիկլի մեջ չվերցնել: (ցիկլը առաջին տեղը սարքի 2,n-1 , իսկ երկրորդ տեղը n-1,2)
Ընդեղ երկու անգամն էլ որ գտնում ես պարզ թիվը ցիկլից միանգամից դուրս արի (break արա): Կարմիրով էդ մասը ուղղել եմ: Ալգորիթմը ոնց որ թե վերջացրած չէր, էդքան մասը ուղղել եմ, իմ կարծիքով ճիշտ եմ արել: Մեկ էլ հիշի ոչ թե x[i]-ն այլ հենց [i]-ն, որովհետև դու x[i]-ի հետ ոչ մի բան չես անելու, ինքը քեզ պետք չի գալու, քեզ իրա դիրքն ա պետք:
Էն կանաչ գույնով արածներս պարտադիր չեն, բայց ցանկալի են, քանի որ հենց ինքը մի անգամ T=1 գործողությունը արեց, նշանակում ա հասկացավ, որ թիվը պարզ չի, էլ ի՞նչ իմաստ ունի ստուգել մնացածի համար, դրա համար ըտեղից էլ break արա:
http://xmages.net/storage/10/1/0/4/3/upload/1f73f426.jpg

հիմա դու L-ի մեջ ունես առաջին պարզ թվի դիրքը, իսկ K-ի մեջ վերջին: Փորձի շարունակես, հիմա երկու ցիկլ էլի պիտի անես, որոնց մեջ հաշվես գումարը:

Կարամ նաև մի ավելի օպտիմալ տարբերակ առաջարկեմ.
ներմուծելուց հետո մի s փոփոխական վերցրու (s=x[1] ): Նորից 2,n-1 ցիկլ արա, որի մեջ նորից ստուգի պարզ թիվ լինելը: Եթե թիվը պարզ չի, ապա թող s=s+x[i] անի, հակառակ դեպքում (եթե պարզ ա) դուրս գա ցիկլից:
Ցիկլից դուրս գալուց հետո դու կունենաս s-ի մեջ մինչև առաջին պարզ թիվը եղած տարրերի գումարը:
Հետո s=s+x[n] արա: Ու նորից ցիկլ բացի (n-1, 2) ու նույն բանը արա, ինչ նախորդ ցիկլում:
Ի դեպ՝ էն s=s+x[n] կարող ես չանել, բայց սկզբում s=x[1]-ի փոխարեն պիտի գրես s=x[1]+x[n] , ուղղակի սկզբում ըտենց գրեցի, որ պարզ լինի, սաղ չխառնվի իրար:

Rudik_100
25.12.2011, 17:49
Իսկ ծրագիրը?

armen9494
25.12.2011, 17:52
Իսկ ծրագիրը?

դու փորձի գրես ինչքան կարում ես, ես սխալները կուղղեմ:
Ճիշտ կանես էն ասածս երկրորդ ալգորիթմը գծես, իմ կարծիքով էդ ավելի լավ եղանակ ա, ըտեղ 2 ցիկլ ես անում, իսկ ընդեղ 4:

Rudik_100
26.12.2011, 00:46
Արմեն ջան...ես կուզենայի 1 ալգորիթմով կազմել ծրագիրը...բայց մինչև ստեղ եմ կարացել գրել...
Program a170;
var x:array[1..10] of integer;
i,n,j,l,k,s,t:integer;
begin read(n);

for i:=1 to n do read (x[i]);
s:=0;
for i:=2 to n do t:=0;
for j:=2 to x[i]-1 do if x[i] mod j = 0 then begin t:=1; if t=0 then l:=յ;

end;
end.
Beginneri պահը չեմ կարողանում հասկանալ...((

Rudik_100
26.12.2011, 01:17
Program a170;
var x:array[1..10] of integer;
i,n,j,l,k,s,t:integer;
begin read(n);

for i:=1 to n do read (x[i]);
s:=0;
for i:=2 to n do t:=0;
for j:=2 to x[i]-1 do if x[i] mod j = 0 then begin t:=1; if t=0 then l:=j;
for i:=n to 2 do t:=0;
for j:=2 to x[i]-1 i do if x[i] mod j = 0 then t::=1 else if t:=0 then k:=j;
write(s:=(k+1)+(l-1));
end;
end.

Varzor
26.12.2011, 10:34
Տրված է n բնական թիվը և n տարր պարունակող միաչափ զանգվածը: Հաշվել զանգվածի առաջին պարզ տարրին նախորդող և վերջին պարզ տարրին հաջորդող տարրերի գումարը: Ենթադրվում է տրված վեկտորի առաջին և վերջին տարրերը պարզ չեն:
53706
Program a170;
var x:array[1..10] of integer;
i,n,j,l,k,s,t:integer;
begin read(n);

for i:=1 to n do read (x[i]);
s:=0;
for i:=1 to n do t:=0;
for j:=2 to x[i]-1 do if x[i] mod j = 0 then begin t:=1; if t=0 then l:=x[i];
write(l=x[i]);
end;
ՈՒզում եմ իմանամ ալգորիթմը եթե ճիշտ է...ծրագիրը ոնց կազմեմ:(

end.
Կցածդ նկարում ալգորիթմը անավարտ է` գումարի հաշվման մասը բացակայում է, բացի այդ տրամաբանական ու կառուցվածքային սխալներ կան, մասնավորապես թվի պարզության որոշման մասում:
Ծրագիրն էլ սխալ ես գրել:

Varzor
26.12.2011, 10:48
դե նախ եթե ասում է, որ "ենթադրվում է տրված վեկտորի առաջին և վերջին տարրերը պարզ չեն", ապա նրանց կարելի է ցիկլի մեջ չվերցնել: (ցիկլը առաջին տեղը սարքի 2,n-1 , իսկ երկրորդ տեղը n-1,2)
Ընդեղ երկու անգամն էլ որ գտնում ես պարզ թիվը ցիկլից միանգամից դուրս արի (break արա): Կարմիրով էդ մասը ուղղել եմ: Ալգորիթմը ոնց որ թե վերջացրած չէր, էդքան մասը ուղղել եմ, իմ կարծիքով ճիշտ եմ արել: Մեկ էլ հիշի ոչ թե x[i]-ն այլ հենց [i]-ն, որովհետև դու x[i]-ի հետ ոչ մի բան չես անելու, ինքը քեզ պետք չի գալու, քեզ իրա դիրքն ա պետք:
Էն կանաչ գույնով արածներս պարտադիր չեն, բայց ցանկալի են, քանի որ հենց ինքը մի անգամ T=1 գործողությունը արեց, նշանակում ա հասկացավ, որ թիվը պարզ չի, էլ ի՞նչ իմաստ ունի ստուգել մնացածի համար, դրա համար ըտեղից էլ break արա:
հիմա դու L-ի մեջ ունես առաջին պարզ թվի դիրքը, իսկ K-ի մեջ վերջին: Փորձի շարունակես, հիմա երկու ցիկլ էլի պիտի անես, որոնց մեջ հաշվես գումարը:

Կարամ նաև մի ավելի օպտիմալ տարբերակ առաջարկեմ.
ներմուծելուց հետո մի s փոփոխական վերցրու (s=x[1] ): Նորից 2,n-1 ցիկլ արա, որի մեջ նորից ստուգի պարզ թիվ լինելը: Եթե թիվը պարզ չի, ապա թող s=s+x[i] անի, հակառակ դեպքում (եթե պարզ ա) դուրս գա ցիկլից:
Ցիկլից դուրս գալուց հետո դու կունենաս s-ի մեջ մինչև առաջին պարզ թիվը եղած տարրերի գումարը:
Հետո s=s+x[n] արա: Ու նորից ցիկլ բացի (n-1, 2) ու նույն բանը արա, ինչ նախորդ ցիկլում:
Ի դեպ՝ էն s=s+x[n] կարող ես չանել, բայց սկզբում s=x[1]-ի փոխարեն պիտի գրես s=x[1]+x[n] , ուղղակի սկզբում ըտենց գրեցի, որ պարզ լինի, սաղ չխառնվի իրար:

Արմեն ջան, դու էլ բլոկ-սխեմայում մի փոքր բացթողում ես արել ;)
Բացի դրանից պարզ թվի որոշման մասն ունի երկրորդ (ավելի ճիշտ համարվող) տարբերակ` առանց ցիկլի բլոկի, պայմանի միջոցով, որ ծրագրում դառնա Repeat կամ While

armen9494
26.12.2011, 11:03
Program a170;
var x:array[1..10] of integer;
i,n,j,l,k,s,t:integer;
begin read(n);

for i:=1 to n do read (x[i]);
s:=0;
for i:=2 to n do t:=0;
for j:=2 to x[i]-1 do if x[i] mod j = 0 then begin t:=1; if t=0 then l:=j;
for i:=n to 2 do t:=0;
for j:=2 to x[i]-1 i do if x[i] mod j = 0 then t::=1 else if t:=0 then k:=j;
write(s:=(k+1)+(l-1));
end;
end.

Խորհուրդ կտամ մինչև ստեղ դնելը մի անգամ դիր Պասկալի մեջ ու տես, թե ոնց ա աշխատում: Ընդեղ մի երկու հատ կետերի ու ստորակետերի սխալներ կան, բայց կարծում եմ էդ էդքան կարևոր չի, որ գրես ընդեղ, ինքդ էլ կհասկանաս:
Ամենակարևոր բաներից մեկն ասեմ, ընդեղ բլոկ սխեմայի մեջ ուշադրություն չէի դարձրել, հիմա նկատեցի, խոսքը n-ի ներմուծման մասին ա: Քանի որ դու հայտարարում ես, որ վեկտորդ պիտի 10 տարր ունենա, ուրեմն պիտի նաև ապահովես, որ n-դ լինի ընկած [1,10] միջակայքում: Եվ քանի որ քո ծրագրում գոնե 4 թիվ պիտի լինի, էդ միջակայքը կդառնա [4,10]: Ծրագրում էդ կլինի սենց՝
repeat read(n) until (n>=4) and (n<=10);
եթե ուզում ես, կարող եմ բլոկ սխեման էլ էդ մասը գծել:

Հա, մեկ էլ write(s:=(k+1)+(l-1)); սա Պասկալում անիմաստություն ա, դու չես կարող արտածման ֆունկցիայի մեջ վերագրում անես: Դու կարո՞ղ ա c++ գիտես, որովհետև ընդեղ ա էս կարգի բաներ թույլատրվում:

Հլը կարող ենք չվռազել, ոնց որ Վարզորը ավելի լավ առաջարկ ունի:

armen9494
26.12.2011, 11:04
Արմեն ջան, դու էլ բլոկ-սխեմայում մի փոքր բացթողում ես արել ;)
Բացի դրանից պարզ թվի որոշման մասն ունի երկրորդ (ավելի ճիշտ համարվող) տարբերակ` առանց ցիկլի բլոկի, պայմանի միջոցով, որ ծրագրում դառնա Repeat կամ While

Հնարավոր ա, դրա համար էլ գրեցի իմ կարծիքով ճիշտ եմ արել :)
Պարզ թվի պահով եթե չեմ սխալվում մի ձև կար, որ բաժանելով գալիս էինք մինչև էդ թվի կեսը, եթե մինչ այդ չեղավ, ուրեմն էլ չէր լինի: Եթե ճիշտ եմ հիշում, սենց ինչ-որ տարբերակ կար, բայց ես սրա բացատրությունը չգիտեմ, դրա համար չեմ գրել, հնարավոր ա նաև որ սխալվում եմ:

Varzor
26.12.2011, 13:03
Հնարավոր ա, դրա համար էլ գրեցի իմ կարծիքով ճիշտ եմ արել :)
Պարզ թվի պահով եթե չեմ սխալվում մի ձև կար, որ բաժանելով գալիս էինք մինչև էդ թվի կեսը, եթե մինչ այդ չեղավ, ուրեմն էլ չէր լինի: Եթե ճիշտ եմ հիշում, սենց ինչ-որ տարբերակ կար, բայց ես սրա բացատրությունը չգիտեմ, դրա համար չեմ գրել, հնարավոր ա նաև որ սխալվում եմ:
Այո, "մինչև կեսը" տարբերակը կա` դա ճիշտ է ու մաթեմատիկորեն հիմնավորված: Բացի այդ դասական տարբերակով դա չեն անում for ցիկլի միջոցով, այլ կիրառում են Whileև Repeat օպերատորները:

armen9494
26.12.2011, 19:27
Այո, "մինչև կեսը" տարբերակը կա` դա ճիշտ է ու մաթեմատիկորեն հիմնավորված: Բացի այդ դասական տարբերակով դա չեն անում for ցիկլի միջոցով, այլ կիրառում են Whileև Repeat օպերատորները:

իսկ for-ի ի՞նչն ա "վատ"

Varzor
27.12.2011, 09:47
իսկ for-ի ի՞նչն ա "վատ"
Վատի մասին չի խոսքը, խոսքը դասական ալգորիթմի մասին է: Զուտ բառերով էլ որ նկարագրում ես ալգորիթմը ու հետո թարգմանում բլոկ-սխեմայի` ցիկլի բլոկ չես ունենում:

armen9494
27.12.2011, 12:24
Վատի մասին չի խոսքը, խոսքը դասական ալգորիթմի մասին է: Զուտ բառերով էլ որ նկարագրում ես ալգորիթմը ու հետո թարգմանում բլոկ-սխեմայի` ցիկլի բլոկ չես ունենում:

Հասկացա ասածդ ինչ ա, ճիշտ ա, էդ դեպքու մի "առավելություն" էլ ունես՝ break չես օգտագործում: Ինձ չի թվում, որ դա մի եսիմինչ առավելություն ա, բայց երևի թե առանց դրա ավելի գրագետ ա: Չնայած էն դեպքում էլ կարաս break չօգտագործես, բայց դե ինչ որայա :))

Varzor
27.12.2011, 17:36
Հասկացա ասածդ ինչ ա, ճիշտ ա, էդ դեպքու մի "առավելություն" էլ ունես՝ break չես օգտագործում: Ինձ չի թվում, որ դա մի եսիմինչ առավելություն ա, բայց երևի թե առանց դրա ավելի գրագետ ա: Չնայած էն դեպքում էլ կարաս break չօգտագործես, բայց դե ինչ որայա :))
Բացի այդ պրոցեսորի տակտերի օգտագործման տեսանկյունից ավելի օպտիմալ է համարվում: Վախտին կոմպերը այսքան արագագործ չէին ;)
Ըստ էության For I:=M to N Do Begn .... End; կոնստրուկցիան իրենից ներկայացնում է հետևյալ կոնստրուկտիվ հաջորդականությունը.

I:=M
Repeat
Begin
....
I:=I+1
End;
Until I<=N;

Սա էլ իր հերթին կառուցված է մոտավորապես այսպե
I:=M
Label: 10 If I < =N Then
Begin
....
I:=I+1
GoTo 10;
End;

Այս վերջին տարբերակն էլ հենց համարվում է ալգորիթմի դասական նկարագրությունը: Սակայն ծրագրավորման մեջ ձևավորված է մի ավանդույթ` անպայման անցման հրամաններից անհրաժեշտ է հնարավորինս խուսափել:

armen9494
28.12.2011, 00:03
Բացի այդ պրոցեսորի տակտերի օգտագործման տեսանկյունից ավելի օպտիմալ է համարվում: Վախտին կոմպերը այսքան արագագործ չէին ;)
Ըստ էության For I:=M to N Do Begn .... End; կոնստրուկցիան իրենից ներկայացնում է հետևյալ կոնստրուկտիվ հաջորդականությունը.

I:=M
Repeat
Begin
....
I:=I+1
End;
Until I<=N;

Սա էլ իր հերթին կառուցված է մոտավորապես այսպես
I:=M
Label: 10 If I < =N Then
Begin
....
I:=I+1
GoTo 10;
End;

Այս վերջին տարբերակն էլ հենց համարվում է ալգորիթմի դասական նկարագրությունը: Սակայն ծրագրավորման մեջ ձևավորված է մի ավանդույթ` անպայման անցման հրամաններից անհրաժեշտ է հնարավորինս խուսափել:

Ճիշտն ասած՝ չգիտեի որ For-ը ավելի դանդաղ է աշխատում, քան նախապայմանով կամ հետպայմանով ցիկլը: Ճիշտն ասած էս վերջերս մի քիչ "քթի մազ" եմ դառել էդ արագության հարցով, միշտ ամեն մի խնդիր գրելիս առաջնային պայմաններից ա արագագործությունը (ծավալը երկրորդային ա): Վատը էն ա, որ շատ գործողությունների արագություններ (որը որից է արագ) չկան ոչ մի տեղ նշված (համենայն դեպս ես չեմ հանդիպել):
Այ էդ անցման հրամաններից խուսափելու ավանդույթը ըտենց էլ չսիրեցի, շատ տեղեր կա, որ կարաս շատ հեշտ goto-ով անես, բայց դա "թույլատրված չէ":
Ասում են, մթոմ դժվար գտնելու հետ է կապված, բայց դե ես չեմ կարծում, որ խնդիրը դրանում լինի:

Varzor
28.12.2011, 06:16
Ճիշտն ասած՝ չգիտեի որ For-ը ավելի դանդաղ է աշխատում, քան նախապայմանով կամ հետպայմանով ցիկլը: Ճիշտն ասած էս վերջերս մի քիչ "քթի մազ" եմ դառել էդ արագության հարցով, միշտ ամեն մի խնդիր գրելիս առաջնային պայմաններից ա արագագործությունը (ծավալը երկրորդային ա): Վատը էն ա, որ շատ գործողությունների արագություններ (որը որից է արագ) չկան ոչ մի տեղ նշված (համենայն դեպս ես չեմ հանդիպել):
Այ էդ անցման հրամաններից խուսափելու ավանդույթը ըտենց էլ չսիրեցի, շատ տեղեր կա, որ կարաս շատ հեշտ goto-ով անես, բայց դա "թույլատրված չէ":
Ասում են, մթոմ դժվար գտնելու հետ է կապված, բայց դե ես չեմ կարծում, որ խնդիրը դրանում լինի:
Հա, FOR-ը ավելի դանդաղ է աշխատում` չափումներ ենք արել ;)
Արագ-դանդաղ կատարվելը կարելի է որոշել` ASSEMBLER-ի կոդը բացում ես ու որքան ավելի շատ տողեր կան մեջը, այդքան ավելի շատ գործողություններ են ատարվում` ավելի շատ պրոցեսորի տակտեր է օգտագործվում:
Իրոք` ոչ մի տեղ գրված չի, քանի որ դա կախված է կոնկրետ կոմպիլյատորից ու մենակ դրա հեղինակը կիմանա:
Շատ տեղեր կա, որ առանց GoTO ուղղակի անհնար է:
Խնդիրը կայանում էր հետևյալում.
յուրաքանչյուր ծրագրի համար համակարգչի հիշողությունում բացվում է ստեկ, որի մեջ էլ գրանցվում են փոփոխականները, կատարվող գործողությունները և այլն: GoTo-ի պարագայում լինում էին դեպքեր, որ ուղղակի կատարվող կոդի հատվածը դուրս էր մնում ստեկից ու կախվում էր: Հիմա այլևս տենց բա չկա: Սա տեխնիկական մասն է, բայց կա նաև մաթեմատիկական մասը: Եթե օգտագործել ես անպայման անցման հրամանը, ապա դա նշանակում է, որ օգտագործածդ ալգորիթմը մեծ հավանականությամբ վերանայման կարիք ունի` ինչ որ պայմանով կարելի էր բավարարվել:

Դե դժվար գտնելն էլ զուտ սուբեկտիվ գործոններից է` եթե label-ից GoTo հատվածը երկար է, եթե ծրագրի կոդում կան բազմաթիվ ցիկլեր: Պատկերացնում ես քանի հատ Label պիտի գրվի? ու եթե ասենք նախոր label-ը մի 1500 տող վերևում է, ապա դրա համարը հանկարծ չկրկնելու համար ստիպված ես լինում բարձրանալ վերև ու նայել ;)

MrKaren
28.12.2011, 09:40
Իրականացնել տրված ռեկուրենտ առնչությունները , կառուցել ստացված մեծությունների գրաֆիկները :

ԱԼԳՈՐԻԹՄ-1

1. α2=d1/c1 , α3=(d2-β2*b2)/Δ2 , αi+1=(di+βi*φi)/Δ i i=3, n-2

2. β2=e1/c1 , βi-1=ei/ Δ i i=2, n-3

3. γ2=f1/c1 , γ 3=(f2+ γ2*b2)/ Δ 2 , γi+1=(fi-γi-1*ai-γi*φi)/Δi i=3, n-1

4. Δ2=c2-α2*b2 , Δi=ci-βi-1*ai+αi*φi i=3 ,n-1

5. φi=αi-1*ai-bi i=3, n-1

6. yn-1=γn

7. yn-2=αn-1*yn-1+γn-1

8. yi=αi+1*yi+1-βi+1*yi+2+γi+1 i=n-3, 1




3

c1=29+12h/r12 , ci=30 i =2,n-2, cn-1=29+h/rn-1 Q=0.24

ai=1-h/ri i=3,n-1, bi=8(2-h/ri) i=2,n-1 a=0.513

di=8(2+h/ri) i=1,n-2, ei=1+h/ri i=1,n-3 c=0.00025

fi=48Qh2/πa2c2, i=1,n-1 , ri=a+ih , i=1,n-1 , h=c/n



Սենց բան հանդիպել է՞

Վերևում պահանջը սխալ է....
http://s57.radikal.ru/i158/1112/e7/96face82ef0ct.jpg (http://radikal.ru/F/s57.radikal.ru/i158/1112/e7/96face82ef0c.jpg.html)

armen9494
28.12.2011, 12:04
Հա, FOR-ը ավելի դանդաղ է աշխատում` չափումներ ենք արել ;)
Արագ-դանդաղ կատարվելը կարելի է որոշել` ASSEMBLER-ի կոդը բացում ես ու որքան ավելի շատ տողեր կան մեջը, այդքան ավելի շատ գործողություններ են ատարվում` ավելի շատ պրոցեսորի տակտեր է օգտագործվում:
Իրոք` ոչ մի տեղ գրված չի, քանի որ դա կախված է կոնկրետ կոմպիլյատորից ու մենակ դրա հեղինակը կիմանա:
Շատ տեղեր կա, որ առանց GoTO ուղղակի անհնար է:

իսկ մեզ ասում էին, որ յուրաքանչյուր GoTo կարելի է փոխարինել while-երով և /կամ/ repeat-երով:



Դե դժվար գտնելն էլ զուտ սուբեկտիվ գործոններից է` եթե label-ից GoTo հատվածը երկար է, եթե ծրագրի կոդում կան բազմաթիվ ցիկլեր: Պատկերացնում ես քանի հատ Label պիտի գրվի? ու եթե ասենք նախոր label-ը մի 1500 տող վերևում է, ապա դրա համարը հանկարծ չկրկնելու համար ստիպված ես լինում բարձրանալ վերև ու նայել ;)
դե էդ էդքան էլ լուրջ խնդիր չեմ համարում, օգտագործելիս յուրաքանչյուր goto-ի կողքը կոմմենտի ձևով կարող ես գրել, թե որ տողում է label-ը:

Varzor
28.12.2011, 15:58
իսկ մեզ ասում էին, որ յուրաքանչյուր GoTo կարելի է փոխարինել while-երով և /կամ/ repeat-երով:
Այո, իհարկէ ցանկացած goto կարելի է փոխարինել ցիկլով ուղղակի դրանք կլինեն անիմաստ ցիկլիկ հրամաններ: Նույն հաջողությամբ կարելի է ամբողջ թվերով a:=b*c ի փոխարեն գրել a:=0; FOR i:=1 to b do a:=a+c; Էլի կաշխատի, սակայն քլունգ տարբերակ է:
Կոնկրետ օրինակ բերեմ?

դե էդ էդքան էլ լուրջ խնդիր չեմ համարում, օգտագործելիս յուրաքանչյուր goto-ի կողքը կոմմենտի ձևով կարող ես գրել, թե որ տողում է label-ը:
Դե արդեն իսկ գրել էի, որ դա սուբյեկտիվ պատճառ է: Մարդ կա տասնյակ հազարավոր ծրագրային կոդ է հիշում (:oy)

armen9494
28.12.2011, 21:34
Այո, իհարկէ ցանկացած goto կարելի է փոխարինել ցիկլով ուղղակի դրանք կլինեն անիմաստ ցիկլիկ հրամաններ: Նույն հաջողությամբ կարելի է ամբողջ թվերով a:=b*c ի փոխարեն գրել a:=0; FOR i:=1 to b do a:=a+c; Էլի կաշխատի, սակայն քլունգ տարբերակ է:
Կոնկրետ օրինակ բերեմ?


Կոնկրետ օրինակ պետք չի, ինքս էլ եմ հանդիպել. ամենասովորական բանը էն ա, որ մի քանի հատ իրար մեջ կառուցված ցիկլերից միանգամից ուզում ես դուրս գաս :)

JoKer777
13.01.2012, 14:18
Հարգելի ծրագրավորողներ, խնդրում եմ օգնեք գրել հետևյալ խնդիրը պասկալ լեզվով...

Տրված է տեքստ, դուրս գրել բոլոր պալինդրոմները և որոշել դրանց քանակը (Պալինդրոմը դա հակադարձվող բառերն են)։

նախապես շնորհակալություն

Varzor
13.01.2012, 14:28
Հարգելի ծրագրավորողներ, խնդրում եմ օգնեք գրել հետևյալ խնդիրը պասկալ լեզվով...
Տրված է տեքստ, դուրս գրել բոլոր պալինդրոմները և որոշել դրանց քանակը (Պալինդրոմը դա հակադարձվող բառերն են)։
նախապես շնորհակալություն
Մենակ ծրագիրը, թե բլոկ-սխեման էլ հետը?

armen9494
13.01.2012, 14:31
Հարգելի ծրագրավորողներ, խնդրում եմ օգնեք գրել հետևյալ խնդիրը պասկալ լեզվով...

Տրված է տեքստ, դուրս գրել բոլոր պալինդրոմները և որոշել դրանց քանակը (Պալինդրոմը դա հակադարձվող բառերն են)։

նախապես շնորհակալություն

իսկ հակադարձվող բառը ո՞րն ա

Varzor
13.01.2012, 14:35
իսկ հակադարձվող բառը ո՞րն ա
այն բառն է, որ երկու կողմից կարդում ես` նույն բառն է:
Օրինակ`
տատ, պապ, կատակ, ցեց, մոմ և այլն

JoKer777
13.01.2012, 15:16
Մենակ ծրագիրը, թե բլոկ-սխեման էլ հետը?

եթե հնարավորա բլոկ սխեման էլ հետը։ շնորհակալություն

JoKer777
13.01.2012, 21:08
եթե հնարավորա բլոկ սխեման էլ հետը։ շնորհակալություն

ինետում խնդիրը գտա, բայց սա մենակ գտնում է այդ բառերը...


program z5;
{ Дан текст. Найти все палиндромы (т.е. слова-перевертыши) в этом тексте.}
uses crt;
var
b,a,k: string;
i,j,q: longint;
c: array[1..30] of string;
begin
clrscr; {очищаем дисплей}
write('vvedite text razdelennij probelami: ');
readln(a); {чтение введенного текста}
b:=''; {инициализация переменных}
j:=1;
k:='';
for i:=1 to length(a) do if (a[i]=' ') then begin {ищем пробелы в тексте}
c[j]:=b; {если есть ' ', то }
inc(j); { запоминаем слово }
b:='';
end else b:=b+a[i]; c[j]:=b;
for i:=1 to j do begin {проверяем, является ли слово палиндромом}
b:=c[i];
k:='';

for q:=1 to length(b) do k:=b[q]+k;
if b=k then writeln(b); {сравнение и вывод результата}
end;
readln;
end.

armen9494
14.01.2012, 15:21
Այսինքն մնու՞մ ա մենակ քանակը, հա՞ :)


program z5;
{ Дан текст. Найти все палиндромы (т.е. слова-перевертыши) в этом тексте.}
uses crt;
var
b,a,k: string;
i,j,q: longint;
n: integer;
c: array[1..30] of string;
begin
clrscr; {очищаем дисплей}
write('vvedite text razdelennij probelami: ');
readln(a); {чтение введенного текста}
b:=''; {инициализация переменных}
n:=0;
j:=1;
k:='';
for i:=1 to length(a) do if (a[i]=' ') then begin {ищем пробелы в тексте}
c[j]:=b; {если есть ' ', то }
inc(j); { запоминаем слово }
b:='';
end else b:=b+a[i]; c[j]:=b;
for i:=1 to j do begin {проверяем, является ли слово палиндромом}
b:=c[i];
k:='';

for q:=1 to length(b) do k:=b[q]+k;
if b=k then begin n:=n+1; writeln(b); end; {сравнение и вывод результата}
end; writeln(n);
readln;
end.

barbatus
20.11.2012, 13:49
Հարգելի ծրագրավորողներ խնդրում եմ օգնեք

Տրված են n բնական թիվը և n բնական տարրեր պարունակող x վեկտորը:Կազմել այնպիսի նոր Y վեկտորի ստացման և տպման բլոկ-սխեման ու ծրագիը որի տարերը ստացվում են սկզբից վերցնելով տրված վեկտորի պարզ տարերը, հետո մնացածները:
Տրված վեկտորի տարերը նախապես դարձնել ամբողջ տիպի:



Շաատ շնորհակալ կլինեմ որ օգնեք մաիլ [email protected]

karik
21.12.2012, 19:17
խնդրում եմ օգնեք
կազմել ծրագիր որը կհաշվի s=∑_(k=1)^12▒〖(k+5〗) *∑_(i=1)^k▒〖i+k〗արտահայտության արժեքը

loginUTD
07.01.2014, 13:12
Բարև բոլորին,ինձ անհրաժեշտ է հետևյալ խնդրի լուծումը և բլոկ սխեման......ուղղակի նոր եմ բանակից եկել ու ամեն ինչ մոռացել եմ)))նախապես շնորհակալություն:

Տրված է n տարր պարունակող միաչափ զանգված:Հաշվել և արտածել զանգվածի մեծագույն տարրը և տարրի համարը:

Life
21.12.2014, 20:39
Էս թեման լրիվ մեռած ա ոնցոր:blin հասկաղոցներ կան,ինչ-որ մեկը կարա օգնի մի հատ խնդրի լուծել?

Արամ
04.01.2015, 17:53
Էս թեման լրիվ մեռած ա ոնցոր:blin հասկաղոցներ կան,ինչ-որ մեկը կարա օգնի մի հատ խնդրի լուծել?
Խնդիրդ ասա, փորձեմ օգնել։

P.S. Pascal-ը դեռ շնչում ա՞ ։ ))

Nor Ogtater
24.04.2015, 18:39
Բարև ձեզ, որ խնդրեմ ինձ կօգնե՞ք գրել երկու խնդիր:
1. Տրված են n բնական թիվը և a1,a2,...,an միաչափ զանգվածը: x={a1,a2,...,an} արժեքներից որի դեպքում aix2-x-1,5=0 հավասարումը կունենա լուծում: Տպել ai-ի համապատասխան արժեքները:
2. Տրված են n բնական թիվը և a1,a2,...,an միաչափ զանգվածը: Ստանալ մի նոր b զանգված,որի յուրաքանչյուր bi -րդ էլեմենտը հավասար է տրված զանգվածի մեծագույն և ai -րդ էլեմենտների տարբերությանը: Մուտքի և ելքի տվյալները ձևակերպել որպես գրառում:

Նախապես շնորհակալություն:

antranigv
14.09.2015, 17:28
Խնդիրդ ասա, փորձեմ օգնել։

P.S. Pascal-ը դեռ շնչում ա՞ ։ ))

իհարկէ։ շատ վատ է որ հայաստանում (եւ երեւի այլ շատ երկրներում) պասկալին լուրջ տեղ չեն տալիս, պասկալը ասենք Սի-ից պակաս լեզու չի (նոյնիսկ աւել ա ոմն ֆիչըր-ներով), ու նոյնիսկ շատ հզօր գրադարաններ ունի, ինչպէս նաեւ մի ամբողջ քաղաքակրթութիւն է լեզուի։

շատ մոդա է ԳՈւԻ ծրագիր գրել C++-ով եւ Qt-ով, բայց ասենք նոյն բանը շատ աւելի հեշտ (եւ աւելի փոխադրելի (portable)) է անել Object Pascal-ով եւ Lazarus-ով (։

Արամ
15.09.2015, 01:48
իհարկէ։ շատ վատ է որ հայաստանում (եւ երեւի այլ շատ երկրներում) պասկալին լուրջ տեղ չեն տալիս, պասկալը ասենք Սի-ից պակաս լեզու չի (նոյնիսկ աւել ա ոմն ֆիչըր-ներով), ու նոյնիսկ շատ հզօր գրադարաններ ունի, ինչպէս նաեւ մի ամբողջ քաղաքակրթութիւն է լեզուի։
շատ մոդա է ԳՈւԻ ծրագիր գրել C++-ով եւ Qt-ով, բայց ասենք նոյն բանը շատ աւելի հեշտ (եւ աւելի փոխադրելի (portable)) է անել Object Pascal-ով եւ Lazarus-ով (։

Անիմաստ եմ համարում, շատ մանրանալ թե ինչու Pascal-ը "մեռած" լեզու եմ համարում, բայց մի քանի բան այնուամենայնիվ նշեմ․ typecast չկա, array-ի չափսը array-ի տիպի մաս ա կազմում, static փոփոխականներ չկան, էլ չեմ ասում Pascal-ի I/O Operation-ների մասին ( record - oriented ա ), if ... then begin ... end ??? if { } !!!

Սա մի քիչ մասնագիտական, բայց եկեք մի քիչ նայենք թե որտե՞ղ են ընդհանարապես Pascal-ով աշխատանք տրամադրում․
Օրինակ՝
https://careers.stackoverflow.com/jobs?searchTerm=Pascal
http://www.indeed.com/q-Pascal-Developer-jobs.html
http://www.simplyhired.com/k-pascal-developer-jobs.html

Ինձ թվում ա կարիք չկա շարունակելու։

Եթե գրածդ վերաբերվում էր X-ի ֆակտորիալ հաշվելուն, հա կարող ա Pascal-ը ոչ մի բանով չի զիջում։
Կամ, եթե գրածդ վերաբերվում ա 1980-1990 ական թվականներին, էլի համաձայն եմ հետդ, Pascal-ը ու C-ին գրեթե հավասար էին։

Հիմնական պատճառը, որ էդ թվականներին C-ին առաջ գնաց Pascal—ից 2-ն էին։
1․ Unix-ը, որը C-ով ա գրվել։
2․ Apple-ը հրաժարվեց Pascal-ից ու անցավ C-ի ( հետո էլ objective c-ի )

antranigv
15.09.2015, 12:06
նախ՝ արդար չի իհարկէ ասածդ, քանի որ դու վերցնում համեմատում ես մաքուր պասկալը ժամանակակից սի-ի հետ ։Ճ ասենք մաքուր Սի-ում նոյնիսկ անփոփոխներ չկային, կային մենակ #DEFINE իսկ մաքուր պասկալում (որը անկապութիւն լինելով, ու մաքուր սի-ից աւելի հին լինելով) կար const ։Ճ ժամանակակից օբջեկտ պասկալը/դելֆին նոյնիսկ անցնում է Սի-ից։

յետոյ, շատ սխալ է Պասկալի համար ասել «այս եւ այն ֆիչըրները չկան», ոչ, պասկալը այդ լեզուն չի, ինքը C# չի, որ ամէն մի ֆունկցիա խցկեն մէջը, less is more :) ես էլ պէտք է ասե՞մ որ Սի-ն չունի with statement, իհարկէ ոչ, երբ անում ենք համեմատութիւն, պէտք է համեմատենք այն ինչ երկուսը ունեն, ոչ թէ ով է միւսից աւել/պակաս։ սինթաքսի պահով էլ ինքը աւելի էլեգանտ ա, ասենք նոյն Սի-ի հիմնադիրները երբ անցան Go-ի, արդէն շատ Վիրտեան բաներ են օգտագործում «:=, », օրինակ ես Սի սովորեցի, յետոյ մի օր որոշեցի կրկին կարդամ պասկալը, Սիրիայի օրերս էի յիշել, ու begin endը շատ աւելի յարմար է ասենք, աչքդ տեսնում է, իսկ { } աւելի հաւանական է որ փախի աչքերիցդ նոյնիսկ սինթաքս հայլայթինգ-ով, դէ ուր է ամբողջ բառը, ուր է մի հատ տառը։ դէ մէկը պէտք էր մի քանի տարում ՕՀ-ի համար լեզու գրէր, իսկ միւսը գիտնականի կողմից գրուած լեզու է, իհարկէ մի քանի տարում ՕՀ-ի համար գրած լեզուն աւելի լաւ պէտք է լինի քան գիտնականի լեզուն ։Ճ ի դէպ Սի-ն մինչեւ այսօր նոյնիսկ իւնիկոդի հետ է դեռ խնդիր անում ։)))

ես չեմ ասում Պասկալը աստուածային լեզու է, ո՛չ, լիքը թերութիւններ ունի, բայց ի տարբերութիւն Սի-ի, իր հեղինակն ասել է որ այն այդքան էլ լաւ լեզու չէ, եւ ստեղծել է Modula-2, Oberon, Oberon-2, որը կարծում դրանք են աստուածային, եւ կրկնում եմ, խօսքս լեզուի մասին է, ոչ թէ գրադարանների, դոկիւմենդացիայի, եւ իհարկէ աշխատանքի ։))

Սի-ի յաջողութիւնը, այո, UNIX-ն էր, իսկ հիմայ էլ GNU/Linux-ը եւ մնացած բոլոր Իւնիքսանման ՕՀ-ները, բայց փաստացի Lazarusը շատ հզօր թուլ է,որը կախուած չէ նոյնիսկ պլատֆորմից (։ յիշեցնեմ որ VS-ից յետոյ ամենաշատ վաճառուած (ու աւելի թանկ) IDE-ն իր գրադարաններով եւ թուլերով դա միշտ էլ Դելֆին է եղել ;)

աշխատանքի պահը ցաւալի է, ասենք ես եւրոպայում եմ, քանի որ հայաստանում չեմ գտնի աշխատանք եթէ գիտեմ պասկալ, օբերոն, ադա (ի դէպ ադան ամենալուրջ լեզուն է որ տեսել եմ), իսկ չեն էլ մտածում որ պասկալ սովորողը ոչ թէ միայն շատ հանգիստ Սի կը սովորի, այլ այն սխալները որ անում են մարդիկ Սի սովորելիս, Պասկալի ծրագրաւորողը չի անի, ասենք դիֆայն չի օգտագործի կոնստի տեղ (քանի որ պասկալի մշակոյթում չկայ դիֆայն)։ բայց մէկ է, Հայաստանում շատ են թերագնահատում պասկալին ։))) մի «փոքր» ցուցադրութիւն՝ http://wiki.freepascal.org/Lazarus_Application_Gallery

երկար թեմայ է քննարկման, եթէ աշխատանքը եւ շուկան դնենք մի կողմ, շատ աւելի պարզ կը լինի, բայց դէ այսօր բոլոր աշխատանքի համար են ծրագրաւորող, ոչ թէ ասենք նստեն եւ զուտ գիտական փորձ անելու համար pascal-to-oberon կամ pascal-to-c կոմպիլյատոր գրեն ;)

Արամ
15.09.2015, 14:58
Անդրանիկ ջան, ինքդ էիր ասում Pascal-ը ֆիչըներով C-ից ավել ա, ու հիմա ինձ ասում ես, որ ֆիչըրներով լեզուն գնահատելը սխալ է։ Հետո, իմ թվարկածները քո օրինակ բերած with-ի հետ ընդհանրապես կապ չունեն, քո օրինակ բերածը ընդամենը syntax-sugar ա, դա լեզվի ֆունդամենտալ հնարավորթյուն չի։ Իսկ, քո array-ի տիպը փոփոխվում ա կախված array -ի չափսերից, սա ֆունդամենտալ խնդիր ա, կամ երբ որ լեզուն թույլ չի տալիս մի տիպից տեղափոխվես մի այլ տիպի, կամ սահմանես տիպ-ից տիպ փոփոխությունը, կամ static փոփոխականները ֆունդամենտալ խնդիրներ են :

Սի-ն մինչեւ այսօր նոյնիսկ իւնիկոդի հետ է դեռ խնդիր անում - լավ էլի․․․խնդիրներ ունի ոչ թե C-ին այլ ոչ-unicode գրադարաների հետ unicode ծրագրով աշխատելը(կամ հակառակը) որը լրիվ տրամաբանական ա

Սինտակսի պահով։ Եղբայր ասում ես less is more, երբ պետք ա ? Բա խի չի սինտակսի դեպքում էլ less is more-ը աշխատում։
Ցանկություն չունեմ սինտակսը քննարկել, որովհետև ընդամենր 3 տողովդ ժամանակակից լեզուների ստանդարտները լրիվ քարովը տվեցիր։

Եթե Պասկալում դիֆայն չկա, էդ մինուս ա, ոչ թե պլյուս․․․․ նայեք pascal-ում define չկա և դուք C-ի սովորելիս ընդհանրապես դիֆայնը չեք օգտագործի ։յահօօ։ Իմաստը՞։ Նույն հաջողությամբ կարելի էր, որպես արգումենտ բերել, որ չգիտեմ C-ի իմացողը C# հեշտ կսովորի, որովհետև տողի վերջում կետ ստորակետ դնել գիտի․․․։ ՃՃՃ

Զուտ գիտական փորձ անելու մասին մենք չենք խոսում Անդրանիկ ջան։ Զուտ գիտական փորձի համար կարող ես pascal-ը թարգմանել C#-ի, pascal-ում static փոփոխականներ ավելացնես, կամ ասենք նոր լեզու գրես։ Ես էլ մեծ հաճույքով նման "բզբզ" բաներ անում եմ, բայց դա ի՞նչ կապ ունի լեզվի գնահատակնի մասին։ ( Ու իմ ու քո բերած օրինակները, շա՜՜տ հեռու են գիտական փորձերից ՃՃՃ )

Ասում ես, աշխատանքը, շուկան դնենք մի կողմ, feature-ները կապ չունեն, pascal իմացողը C էլ կսովորի, with-ի մասին ես ասում։ Հազար ներեղություն դու սրանք համարում ես առգումենտներ ?!
Էն որ ոչ աշխատանք կա, ոչ շուկա , ոչ ներկայիս պահանջներին բավարարող feature-ներ, էս ամենինչը վկայում ա էն մասին, որ Pascal-ը մեռած լեզու ա։ Ես ուրիշ բան չեմ ասել ))

Հ․Գ․ Անդրանիկ ջան միգուցե դա քո գրելավոճն է, բայց կխնդրեմ գրածներիս դոգմատիկ գնահատականներ չտաս։ Եթե ինչ որ բան սխալ ես համարում, ասա որ սխալ ես համարում ու պարզաբանի ինչի համար։ Հակառակ դեպքում մեր խոսակցությունը կվերածվի ավելորդ ժամանակի կորստի։ Շնորհակալություն։

Linka25
26.09.2015, 15:26
Եթե կարող եք խնդրում եմ օգնեք ինձ լուծել այս խնդիրը

Թվով N նախադասություններ գրանցել առանձին-առանձին տեքստային ֆայլում: Տրված A նախադասության համար պահանջվում է ֆունկցիայի կիրառմամբ պարզել, թե այդ նախադասության յուրաքանչյուր բառ ֆայլի որ նախադասությունում է հանդիպում:
Տեսատիպի էկրանի վրա գրաֆիկական ռեժիմում արտածել ֆայլի բոլոր նախադասությունները, որոնցում հանդիպած A-ի բառերը գունափոխել:

Աթեիստ
26.09.2015, 23:13
Եթե կարող եք խնդրում եմ օգնեք ինձ լուծել այս խնդիրը

Թվով N նախադասություններ գրանցել առանձին-առանձին տեքստային ֆայլում: Տրված A նախադասության համար պահանջվում է ֆունկցիայի կիրառմամբ պարզել, թե այդ նախադասության յուրաքանչյուր բառ ֆայլի որ նախադասությունում է հանդիպում:
Տեսատիպի էկրանի վրա գրաֆիկական ռեժիմում արտածել ֆայլի բոլոր նախադասությունները, որոնցում հանդիպած A-ի բառերը գունափոխել:

Ես հիմա պասկալից շատ քիչ բան եմ հիշում։
Ինչքանը կարում ես, գրի, կողքից օգնելով հասնենք արդյունքին։

meryyyy
06.10.2015, 22:25
Բարև Ձեզ կներեք pascalic խնդիր ունեմ կոգնեք գրեմ

Աթեիստ
06.10.2015, 22:36
Բարև Ձեզ կներեք pascalic խնդիր ունեմ կոգնեք գրեմ

Ողջույն, դժվար թե ձեր փոխարեն գրենք, բայց եթե գրեք խնդիրն ու ասեք, թե ինչքանն եք կարողանում, իսկ ինչը՝ ոչ, ով որ գիտի պասկալ, կփորձի օգնել։

աղջնակ
10.11.2015, 18:30
բարև Ձեզ,,,,,,մի խնդրանք ունեմ եթե դժվար չի կօգնեք լուծեմ պասկալով խնդիրը,,,,նախապես շնորհակալություն ուղղակի շատ շտապ է անհրաժեշտ

1, տրված է 0 և 1-ից բաղկացած երկչափ զանգված:Ուղանկյուն կանվանենք 1ով լրացված զանգվածի մաս:Հայտնի է որ ուղղանկյունները իրար հետ չեն հպվում:որոշել ուղանկյունների քանակը:

2,տրված է տեքստ:Արտածել բոլոր բառերը թողնելով բառի մեջ յուրաքանչյուր տառի միայն առաջին մուտքը:

Արամ
10.11.2015, 18:43
բարև Ձեզ,,,,,,մի խնդրանք ունեմ եթե դժվար չի կօգնեք լուծեմ պասկալով խնդիրը,,,,նախապես շնորհակալություն ուղղակի շատ շտապ է անհրաժեշտ

1, տրված է 0 և 1-ից բաղկացած երկչափ զանգված:Ուղանկյուն կանվանենք 1ով լրացված զանգվածի մաս:Հայտնի է որ ուղղանկյունները իրար հետ չեն հպվում:որոշել ուղանկյունների քանակը:

2,տրված է տեքստ:Արտածել բոլոր բառերը թողնելով բառի մեջ յուրաքանչյուր տառի միայն առաջին մուտքը:

Իսկ ի՞նչ եք փորձել անել։ Ինչը՞ չի ստացվել։

աղջնակ
10.11.2015, 19:06
դե պասկալ այդքանել լավ չգիտեմ ու կուրսային աշխատանք է տրված ընդհանութ գաղափար ունեմ բարդ խնդիրներ չեմ կարող լուծել.....ներկա պահին խնդրի պահանջը չեմ հասկնաում

Աթեիստ
10.11.2015, 22:37
դե պասկալ այդքանել լավ չգիտեմ ու կուրսային աշխատանք է տրված ընդհանութ գաղափար ունեմ բարդ խնդիրներ չեմ կարող լուծել.....ներկա պահին խնդրի պահանջը չեմ հասկնաում

Մի քիչ վերև արդեն գրել եմ։


Ողջույն, դժվար թե ձեր փոխարեն գրենք, բայց եթե գրեք խնդիրն ու ասեք, թե ինչքանն եք կարողանում, իսկ ինչը՝ ոչ, ով որ գիտի պասկալ, կփորձի օգնել։

Ընդունում եմ, որ խնդիրները լավ չեն շարադրված։
Փորձեմ բացատրել թե ես ինչ եմ հասկացել։

1. Խնդիրը շատ վատ ա շարադրած, կխնդրեի տեղադրել ամբողջական տարբերակը, ենթադրում եմ, որ ինչ որ բան թերի ա գրած։


110100011000
110100011010
110000000010

Էս օրինակում տեսնում ենք 4 ուղղանկյուն։ Առաջինը՝ 2x3, երկրորդը՝ 1x2, երրորդը՝ 2x2, չորրորդը՝ 1x2։

2. Ունենք նախադասություն, որի բառերում կան կրկնվող տառեր։ Հարկավոր է ամեն բառում թողնել ամեն տառից մի հատ։
Օրինակ՝ «բոքոնիկը գնաց գազանանոց։»-ւ կդառնա «բոքնիկը գնաց գազնոց»։

Հիմա փորձեք գտնել, շարադրել էս խնդիրների լուծման ալգորիթմը, հետո դա փորձել ներկայացնել պասկալի լեզվով, ու ասել, թե կոնկրետ ինչը չեք կարողանում։ Մենք էլ փորձենք օգնել։

աղջնակ
11.11.2015, 14:39
Մի քիչ վերև արդեն գրել եմ։



Ընդունում եմ, որ խնդիրները լավ չեն շարադրված։
Փորձեմ բացատրել թե ես ինչ եմ հասկացել։

1. Խնդիրը շատ վատ ա շարադրած, կխնդրեի տեղադրել ամբողջական տարբերակը, ենթադրում եմ, որ ինչ որ բան թերի ա գրած։


110100011000
110100011010
110000000010

Էս օրինակում տեսնում ենք 4 ուղղանկյուն։ Առաջինը՝ 2x3, երկրորդը՝ 1x2, երրորդը՝ 2x2, չորրորդը՝ 1x2։

2. Ունենք նախադասություն, որի բառերում կան կրկնվող տառեր։ Հարկավոր է ամեն բառում թողնել ամեն տառից մի հատ։
Օրինակ՝ «բոքոնիկը գնաց գազանանոց։»-ւ կդառնա «բոքնիկը գնաց գազնոց»։

Հիմա փորձեք գտնել, շարադրել էս խնդիրների լուծման ալգորիթմը, հետո դա փորձել ներկայացնել պասկալի լեզվով, ու ասել, թե կոնկրետ ինչը չեք կարողանում։ Մենք էլ փորձենք օգնել։


հենց դա է որ պարզ չի խնդիրը դրա համարեմ դժվարացել......ես կփորցեմ մի հատ նորից ճշտել կամ ինչ որ ուղություն իմանալ լուծելու... ու ասեմ Ձեզ որտեղ եմ դժվարանում.....շատ շնորհակալեմ Ձեր գրացնել ինչ որ հւուշեմ է փորցեմ նորից հասկնալ.

աղջնակ
12.11.2015, 16:34
կարող եք օգնել ինչ որ բաներ խնդիրների վերաբերյալ ես ճշտելեմ

Աթեիստ
12.11.2015, 16:38
կարող եք օգնել ինչ որ բաներ խնդիրների վերաբերյալ ես ճշտելեմ

Ասա թե ինչ ես ճշտել, տեսնենք ինչքանով ա խնդիրը դառնում ավելի հասկանալի։
Մնացածը արդեն գրել եմ։

Փորձում եք գտնել, շարադրել խնդիրների լուծման ալգորիթմը, հետո դա փորձել ներկայացնել պասկալի լեզվով, ու ասել, թե կոնկրետ ինչը չեք կարողանում։ Մենք էլ փորձենք օգնել։

աղջնակ
12.11.2015, 19:34
Ասա թե ինչ ես ճշտել, տեսնենք ինչքանով ա խնդիրը դառնում ավելի հասկանալի։
Մնացածը արդեն գրել եմ։

Փորձում եք գտնել, շարադրել խնդիրների լուծման ալգորիթմը, հետո դա փորձել ներկայացնել պասկալի լեզվով, ու ասել, թե կոնկրետ ինչը չեք կարողանում։ Մենք էլ փորձենք օգնել։

2. խնդիրը.....քանի որ մեզ տրված է տեքստ իսկ յուրաքանչյուր բառ հայտնաբերվելու է նրան կից բացատանիշերի շնորհիվ աըդ դեպքում տողի վերջում ավելացվում է բացատանիշ
նախ եթե պատճենահանենք և պահենք BAR փոփոխականի մեջ առաջին պատահած բառը որը S տողի առաջին սիմվոլից սկսած մինչև առաջին հանդիպած բացատանիշի կարգահամարը ընգրկված սիմվոլների հաջորդականությունն է… եթե փորձենք օգտվել POS ֆունկցիայից և K ով նշանակենք կրկնվող տառերը կունենաք POS(K,S) տվյալ բառը արտածելուց հետո այն հեռացնենք տողից DELETE (S,1, LENGHT(BAR)+1 իրեն կից բացատանիշի հետ միասին բառերը կարեղեն իրարից անջատված լինել մի քանի բացատանիշերով որոնք անհրաժեշտ է հեռացնել WHILE S[1]=''DO DELETE (S,1,1)........այսքանն եմ մտածել փորձել եմ գրել պասկալով մտածում եմ որ սխալ եմ նշանակել կրկնվող տառերը էդ չգիդեմ ոնց անեմ

PROGRAM OR_2;
VAR S,BAR:STRING; K:INTEGER;
BEGIN
READLN(S);
S:S+' ';
WHILE S<>'' DO
BEGIN
BAR:= COPY (S,1, POS(K,S));
DELETE (S,1, LENGHT(BAR)+1);
WHILE S[1]=''DO DELETE (S,1,1)
END;
WRITELN(BAR)
END.

Աթեիստ
12.11.2015, 21:29
Ես մի 15 տարի ա պասկալով բան չեմ գրել, սինտակսիսը չեմ հիշում։

Բայց մեկ ա չհասկացա, թե էս լագորիթմում K-ն ոնց ա որոշում էդ տառը կրկնվում ա, թե ոչ։


Առաջարկեմ սեփական ալգորիթմը։

Վերցնում ենք մի դատարկ զանգված tarer(), որի մեջ պահելու ենք ընթացիկ բառի տառերը, գտնենք կրկնվողները։
Mutq - մուտքային նախադասություն
Yelq - արդյունք

i աճում է 1-ից մինչև Lenght(mutq)

Վերցնում ենք mutq-ի i-րդ տառը։ (անվանենք t)

Եթե t = " ", ապա դատարկում ենք Tarer()-ը և mutq-ին ավելացնում " ", այլապես ստուգում ենք առկա՞ է արդյոք t-ն tarer()-ում։ Եթե կա, անտեսում ենք այն, այլապես ավելացնում ենք tarer()-ի հերթական վանդակում (հերթական վանդակի համար կարող ենք օգտագործել այլ փոփոխական) ու mutq-ին ավելացնում t-ն։

ՎԵՐՋ։

Ինչը պարզ չի, ասա ավելի մանրամասն փորձեմ բացատրել։

աղջնակ
12.11.2015, 22:29
Ես մի 15 տարի ա պասկալով բան չեմ գրել, սինտակսիսը չեմ հիշում։

Բայց մեկ ա չհասկացա, թե էս լագորիթմում K-ն ոնց ա որոշում էդ տառը կրկնվում ա, թե ոչ։


Առաջարկեմ սեփական ալգորիթմը։

Վերցնում ենք մի դատարկ զանգված tarer(), որի մեջ պահելու ենք ընթացիկ բառի տառերը, գտնենք կրկնվողները։
Mutq - մուտքային նախադասություն
Yelq - արդյունք

i աճում է 1-ից մինչև Lenght(mutq)

Վերցնում ենք mutq-ի i-րդ տառը։ (անվանենք t)

Եթե t = " ", ապա դատարկում ենք Tarer()-ը և mutq-ին ավելացնում " ", այլապես ստուգում ենք առկա՞ է արդյոք t-ն tarer()-ում։ Եթե կա, անտեսում ենք այն, այլապես ավելացնում ենք tarer()-ի հերթական վանդակում (հերթական վանդակի համար կարող ենք օգտագործել այլ փոփոխական) ու mutq-ին ավելացնում t-ն։

ՎԵՐՋ։

Ինչը պարզ չի, ասա ավելի մանրամասն փորձեմ բացատրել։

Չհասկացա i աճում է 1-ից մինչև Lenght(mutq) այդ էդ

Աթեիստ
12.11.2015, 23:32
Չհասկացա i աճում է 1-ից մինչև Lenght(mutq) այդ էդ

i-ն հերթով անցնում ա նախադասության բոլոր տառերի վրայով, վերցնում ա ընթացիկ տառն ու որոշում, էդ տառից արդեն էդ բառի մեջ եղել ա՞, թե չէ։

աղջնակ
13.11.2015, 16:06
i-ն հերթով անցնում ա նախադասության բոլոր տառերի վրայով, վերցնում ա ընթացիկ տառն ու որոշում, էդ տառից արդեն էդ բառի մեջ եղել ա՞, թե չէ։

հա հասկացա.....այսինքն կարողեմ գրել for i:=1 to n to if t[i]=t[i]+1 (այսինքն որ ստուգի տվյալ տառից կա թե չէ եթե կա ջնջենք եթե ոչ շարունակեննք) delete t[i]+1 else then ...պասկալով ես ձև կլինի՞՞

Աթեիստ
13.11.2015, 16:30
հա հասկացա.....այսինքն կարողեմ գրել for i:=1 to n to if t[i]=t[i]+1 (այսինքն որ ստուգի տվյալ տառից կա թե չէ եթե կա ջնջենք եթե ոչ շարունակեննք) delete t[i]+1 else then ...պասկալով ես ձև կլինի՞՞

if t[i]=t[i]+1
Սրանով դու չես կարա ստուգես տառը կա թե չէ։
Պտի վերցնես էդ պահի տառը`t ու համեմատես tarer[1], tarer[2], tarer[3], այսինքն tarer[] զանգվածի բոլոր արժեքների հետ։ Ու մոռացի delete-ը։
Իմ առաջարկած ալգորիթմը ոչ թե ինչ որ բան ջնջում ա, այլ mutq- փոփոխականից ընտրում եմ մեր պայմաններին բավարարող տառերն ու լցնում yelq փոփոխականի մեջ, որըն էլ կլնի մեր արդյունքը։
Այսինքն որ տառը պետք չի, անտեսում ենք, մնացածը հերթով կպցնում ենք yelq-ի հետևից։

Օրինակ՝

mutq = «կանաչ աքաղաղ»
i=1
t=«կ»
tarer[] -ը դատարակ ա, հետևաբար yelq=yelq+«կ» = կ, tarer[]-ը դառնում ա tarer[«կ»]

i=2
t=«ա»
«ա»-ն tarer-ում չկա, հետևաբար yelq=yelq+«կա» = կա, tarer[«կ»]-ը դառնում ա tarer[«կ»,«ա»]

i=3
t=«ն»
«ն»-ն tarer-ում չկա, հետևաբար yelq=yelq+«ն» = կան, tarer[«կ»,«ա»]-ը դառնում ա tarer[«կ»,«ա»,«ն»]

i=4
t=«ա»
«ա»-ն tarer-ում կա, հետևաբար դրա վրով թռում ենք

i=5
t=«չ»
«չ»-ն tarer-ում չկա, հետևաբար yelq=yelq+«չ» = կանչ, tarer[«կ»,«ա»,«ն»]-ը դառնում ա tarer[«կ»,«ա»,«ն»,«չ»]

i=6
t=« », հետևաբար yelq=yelq+« » = կանչ , tarer[«կ»,«ա»,«ն»,«չ»]-ը դառնում ա tarer[]

i=7
t=«ա»
«ա»-ն tarer-ում չկա, հետևաբար yelq=yelq+«ա» = կանչ ա, tarer[]-ը դառնում ա tarer[«ա»]

Սենց մինչև i-ն հասնի Mutq-ի վերջին տառին

աղջնակ
13.11.2015, 16:42
if t[i]=t[i]+1
Սրանով դու չես կարա ստուգես տառը կա թե չէ։
Պտի վերցնես էդ պահի տառը`t ու համեմատես tarer[1], tarer[2], tarer[3], այսինքն tarer[] զանգվածի բոլոր արժեքների հետ։ Ու մոռացի delete-ը։
Իմ առաջարկած ալգորիթմը ոչ թե ինչ որ բան ջնջում ա, այլ mutq- փոփոխականից ընտրում եմ մեր պայմաններին բավարարող տառերն ու լցնում yelq փոփոխականի մեջ, որըն էլ կլնի մեր արդյունքը։
Այսինքն որ տառը պետք չի, անտեսում ենք, մնացածը հերթով կպցնում ենք yelq-ի հետևից։

Օրինակ՝

mutq = «կանաչ աքաղաղ»
i=1
t=«կ»
tarer[] -ը դատարակ ա, հետևաբար yelq=yelq+«կ» = կ, tarer[]-ը դառնում ա tarer[«կ»]

i=2
t=«ա»
«ա»-ն tarer-ում չկա, հետևաբար yelq=yelq+«կա» = կա, tarer[«կ»]-ը դառնում ա tarer[«կ»,«ա»]

i=3
t=«ն»
«ն»-ն tarer-ում չկա, հետևաբար yelq=yelq+«ն» = կան, tarer[«կ»,«ա»]-ը դառնում ա tarer[«կ»,«ա»,«ն»]

i=4
t=«ա»
«ա»-ն tarer-ում կա, հետևաբար դրա վրով թռում ենք

i=5
t=«չ»
«չ»-ն tarer-ում չկա, հետևաբար yelq=yelq+«չ» = կանչ, tarer[«կ»,«ա»,«ն»]-ը դառնում ա tarer[«կ»,«ա»,«ն»,«չ»]

i=6
t=« », հետևաբար yelq=yelq+« » = կանչ , tarer[«կ»,«ա»,«ն»,«չ»]-ը դառնում ա tarer[]

i=7
t=«ա»
«ա»-ն tarer-ում չկա, հետևաբար yelq=yelq+«ա» = կանչ ա, tarer[]-ը դառնում ա tarer[«ա»]

Սենց մինչև i-ն հասնի Mutq-ի վերջին տառին

հաաաա պարզա մի հատ գրեմ պասկալով ստւգեմ իմ կարծիքով արդյունք կա շատ շնորհակալ եմ օգնության համար ....տեսնեմ ինչ կարողեմ անել

աղջնակ
14.11.2015, 00:31
if t[i]=t[i]+1
Սրանով դու չես կարա ստուգես տառը կա թե չէ։
Պտի վերցնես էդ պահի տառը`t ու համեմատես tarer[1], tarer[2], tarer[3], այսինքն tarer[] զանգվածի բոլոր արժեքների հետ։ Ու մոռացի delete-ը։
Իմ առաջարկած ալգորիթմը ոչ թե ինչ որ բան ջնջում ա, այլ mutq- փոփոխականից ընտրում եմ մեր պայմաններին բավարարող տառերն ու լցնում yelq փոփոխականի մեջ, որըն էլ կլնի մեր արդյունքը։
Այսինքն որ տառը պետք չի, անտեսում ենք, մնացածը հերթով կպցնում ենք yelq-ի հետևից։

Օրինակ՝

mutq = «կանաչ աքաղաղ»
i=1
t=«կ»
tarer[] -ը դատարակ ա, հետևաբար yelq=yelq+«կ» = կ, tarer[]-ը դառնում ա tarer[«կ»]

i=2
t=«ա»
«ա»-ն tarer-ում չկա, հետևաբար yelq=yelq+«կա» = կա, tarer[«կ»]-ը դառնում ա tarer[«կ»,«ա»]

i=3
t=«ն»
«ն»-ն tarer-ում չկա, հետևաբար yelq=yelq+«ն» = կան, tarer[«կ»,«ա»]-ը դառնում ա tarer[«կ»,«ա»,«ն»]

i=4
t=«ա»
«ա»-ն tarer-ում կա, հետևաբար դրա վրով թռում ենք

i=5
t=«չ»
«չ»-ն tarer-ում չկա, հետևաբար yelq=yelq+«չ» = կանչ, tarer[«կ»,«ա»,«ն»]-ը դառնում ա tarer[«կ»,«ա»,«ն»,«չ»]

i=6
t=« », հետևաբար yelq=yelq+« » = կանչ , tarer[«կ»,«ա»,«ն»,«չ»]-ը դառնում ա tarer[]

i=7
t=«ա»
«ա»-ն tarer-ում չկա, հետևաբար yelq=yelq+«ա» = կանչ ա, tarer[]-ը դառնում ա tarer[«ա»]

Սենց մինչև i-ն հասնի Mutq-ի վերջին տառին

չի ստացվում ոնց անում եմ :(:(:8:8

Աթեիստ
14.11.2015, 09:26
Իսկ ո՞նց ես անում

աղջնակ
14.11.2015, 21:21
Իսկ ո՞նց ես անում

դե հենց սկիզբը ստացվում է, բայց հենց հասնում եմ են պահին որ կրկնվող տառերին ել չգիդեմ ոնց անեմ հասկանում եմ լրիվ բայց գրելուց հեդո չի աշխատում չգիդեմ հենց եդ ալգորիթմը ոնց կազմակերպեմ :(

աղջնակ
14.11.2015, 21:22
հենց ես օրինակով շատ լավ հասկանում եմ բայց թե ոնց գրեմ չի ստացվում

աղջնակ
14.11.2015, 21:24
if t[i]=t[i]+1
Սրանով դու չես կարա ստուգես տառը կա թե չէ։
Պտի վերցնես էդ պահի տառը`t ու համեմատես tarer[1], tarer[2], tarer[3], այսինքն tarer[] զանգվածի բոլոր արժեքների հետ։ Ու մոռացի delete-ը։
Իմ առաջարկած ալգորիթմը ոչ թե ինչ որ բան ջնջում ա, այլ mutq- փոփոխականից ընտրում եմ մեր պայմաններին բավարարող տառերն ու լցնում yelq փոփոխականի մեջ, որըն էլ կլնի մեր արդյունքը։
Այսինքն որ տառը պետք չի, անտեսում ենք, մնացածը հերթով կպցնում ենք yelq-ի հետևից։

Օրինակ՝

mutq = «կանաչ աքաղաղ»
i=1
t=«կ»
tarer[] -ը դատարակ ա, հետևաբար yelq=yelq+«կ» = կ, tarer[]-ը դառնում ա tarer[«կ»]

i=2
t=«ա»
«ա»-ն tarer-ում չկա, հետևաբար yelq=yelq+«կա» = կա, tarer[«կ»]-ը դառնում ա tarer[«կ»,«ա»]

i=3
t=«ն»
«ն»-ն tarer-ում չկա, հետևաբար yelq=yelq+«ն» = կան, tarer[«կ»,«ա»]-ը դառնում ա tarer[«կ»,«ա»,«ն»]

i=4
t=«ա»
«ա»-ն tarer-ում կա, հետևաբար դրա վրով թռում ենք

i=5
t=«չ»
«չ»-ն tarer-ում չկա, հետևաբար yelq=yelq+«չ» = կանչ, tarer[«կ»,«ա»,«ն»]-ը դառնում ա tarer[«կ»,«ա»,«ն»,«չ»]

i=6
t=« », հետևաբար yelq=yelq+« » = կանչ , tarer[«կ»,«ա»,«ն»,«չ»]-ը դառնում ա tarer[]

i=7
t=«ա»
«ա»-ն tarer-ում չկա, հետևաբար yelq=yelq+«ա» = կանչ ա, tarer[]-ը դառնում ա tarer[«ա»]

Սենց մինչև i-ն հասնի Mutq-ի վերջին տառին

այ ես

Աթեիստ
14.11.2015, 21:44
Դու գրի, ես կոդին նայելով կփորձեմ գտնեմ, թե ինչն ա սխալ։

աղջնակ
15.11.2015, 12:07
Դու գրի, ես կոդին նայելով կփորձեմ գտնեմ, թե ինչն ա սխալ։

եթե կարող եք ու դժվար չի դուք կգրեք, սկիզբը պետք չի միայն կրկնվող տառերը

Աթեիստ
15.11.2015, 13:09
Ես արդեն ասել եմ, որ պասկալ չգիտեմ, կարամ ասեմ ինչն ա սխալ, բայց գրել չեմ կարա։

Գրածդ դիր, ես փորձեմ ուղղորդեմ։

աղջնակ
15.11.2015, 17:51
Ես արդեն ասել եմ, որ պասկալ չգիտեմ, կարամ ասեմ ինչն ա սխալ, բայց գրել չեմ կարա։

Գրածդ դիր, ես փորձեմ ուղղորդեմ։

bar:= copy(s,1,pos('',s)-1; ես հաստատ ճիշտ ա.....դրանից հետոն չգիտեմ
for i:=1 to n do
tarer:=pos(x[i],bar):
tarer:=tarer+x[i]
write (tarer)

Աթեիստ
15.11.2015, 17:56
Կողքերից մեկնաբանություններ գրի, թե չէ առաջին թողում օգտագործում ես փոփոխական՝ s, որը ես ինչքան էլ մատիցս հոտ քաշեցի, չհասկացա, թե ով ա։

Կամ ո՞վ ա 3-րդ տողի x-ը։

Եթե իմ առաջարկած ալգորիթմով ես լուծում, ուրեմն իմ առաջարկած անուններով փոփոխականներն օգտագործի, կամ էլ հատ-հատ բացատրի, թե որ փոփոխականն ով ա։

աղջնակ
15.11.2015, 18:24
Կողքերից մեկնաբանություններ գրի, թե չէ առաջին թողում օգտագործում ես փոփոխական՝ s, որը ես ինչքան էլ մատիցս հոտ քաշեցի, չհասկացա, թե ով ա։

Կամ ո՞վ ա 3-րդ տողի x-ը։

Եթե իմ առաջարկած ալգորիթմով ես լուծում, ուրեմն իմ առաջարկած անուններով փոփոխականներն օգտագործի, կամ էլ հատ-հատ բացատրի, թե որ փոփոխականն ով ա։

խնդիրը սկզբից կասեմ ու կասեմ որտեղից էլ չեմ կարող,որն էլ հաստատ ճիշտ ա եդել կասեմ...

աղջնակ
15.11.2015, 18:40
հենց սկզբից քանի որ մեզ տրված է տեքստ իսկ յուրաքանչյուր բառ հայտնաբերվելու է նրան կից բացատանիշերի շնորհիվ այդ դեպքում տողի վերջում ավելացվում է բացատանիշ S:S+' ';
նախ պատճենահանենք և պահենք BAR փոփոխականի մեջ առաջին պատահած բառը որը S տողի առաջին սիմվոլից սկսած մինչև առաջին հանդիպած բացատանիշի կարգահամարն է,,եթե փորձենք օգտվել POS ֆունկցիայից POS(՛՛,S),,,արդեն կունենանք տվյալ բառը k:=k+1 կունենանք բառերի քանակ,,,,այսքանը ճիշտ է դրանից հետո ես վերցրել եմ TARER փոփոխականը որի մեջ ավելացրել եմ BAR–ի մեջ առաջին անգամ հանդիպող X[I]-րդ տառի կարգահամրը TARER:=POS(X[I],BAR) TARER:=TARER+X[I].....ես չգիդեմ ճիշտա թե չէ....դրանից հեդո ջնջում ենք բառը իրեն կից բացատանիշի հետ միասին DELETE (S,1, LENGHT(BAR)+1.... բառերը կարող են իրարից անջատված լինել մի քանի բացատանիշերով որոնք անհրաժեշտ է հեռացնելլ որպեսզի հաջորդ բառը լինի հենց սկիզբը ու դրա դիմաց չլինեն բացատանիշեր WHILE S[1]=''DO DELETE (S,1,1).....ես էլ ա ճիշտ....մնում ա են մի մասը...

Աթեիստ
15.11.2015, 20:38
Ես ստեղ չտեսա իմ ալգորիթմը։ Հետևաբար դու լուծում ես քո ալգորիթմով։ Էդ դեպքում խնդրեմ այն սկզբում բառերով շարադրես, որ հասկանամ մտքերիդ ընթացքը։

Օրինակ ես չհասկացա, թե ինչ իմաստ ունի հաշվել բառերի քանակը։ Ի՞նչ ա X[i]-ն։

Հետո չհասկացա, թե սրանով ինչ ես ուզում անել՝ TARER:=POS(X[I],BAR) TARER:=TARER+X[I]

Հուսով եմ, որ ալգորիթմը բացատրելուց հետո կհասկանամ։

աղջնակ
15.11.2015, 22:56
Ես ստեղ չտեսա իմ ալգորիթմը։ Հետևաբար դու լուծում ես քո ալգորիթմով։ Էդ դեպքում խնդրեմ այն սկզբում բառերով շարադրես, որ հասկանամ մտքերիդ ընթացքը։

Օրինակ ես չհասկացա, թե ինչ իմաստ ունի հաշվել բառերի քանակը։ Ի՞նչ ա X[i]-ն։

Հետո չհասկացա, թե սրանով ինչ ես ուզում անել՝ TARER:=POS(X[I],BAR) TARER:=TARER+X[I]

Հուսով եմ, որ ալգորիթմը բացատրելուց հետո կհասկանամ։


TARER:=POS(X[I],BAR) TARER:=TARER+X[I] սրանով ուզում եմ մուտք անեմ միայն այն տառերը որոնք չեն կրկնվում X[I]-ն տառի կարգահամրներն է BAR փոփոխականի մեջ....այսինքն ես BAR ից ուզեւմ եմ չկրկնվող տառերը տեղափոխեմ TARER-ի մեջ,,,,,

Աթեիստ
15.11.2015, 23:56
TARER:=POS(X[I],BAR) TARER:=TARER+X[I] սրանով ուզում եմ մուտք անեմ միայն այն տառերը որոնք չեն կրկնվում X[I]-ն տառի կարգահամրներն է BAR փոփոխականի մեջ....այսինքն ես BAR ից ուզեւմ եմ չկրկնվող տառերը տեղափոխեմ TARER-ի մեջ,,,,,

Չեմ տեսնում որևէ համեմատություն, որ տեսնես տառը կրկնվում ա, թե չէ։

Էլի կրկնեմ, որպեսզի հասկանամ թե ինչ ես գրում, պտի բացատրես ալգորիթմը՝ բլոկ սխեման։

Մի հատ իմ բերած օրինակի վրա՝ «կանաչ աքաղաղ», քայլ առ քայլ բացատրի, թե որ պահին քո որ փոփոխականն ինչ արժեք ա ստանալու։


նախ պատճենահանենք և պահենք BAR փոփոխականի մեջ առաջին պատահած բառը որը S տողի առաջին սիմվոլից սկսած մինչև առաջին հանդիպած բացատանիշի կարգահամարն է,,եթե փորձենք օգտվել POS ֆունկցիայից POS(՛՛,S),,,արդեն կունենանք տվյալ բառը k:=k+1 կունենանք բառերի քանակ,,,,այսքանը ճիշտ է դրանից հետո ես վերցրել եմ TARER փոփոխականը որի մեջ ավելացրել եմ BAR–ի մեջ առաջին անգամ հանդիպող X[I]-րդ տառի կարգահամրը TARER:=POS(X[I],BAR) TARER:=TARER+X[I].....ես չգիդեմ ճիշտա թե չէ....դրանից հեդո ջնջում ենք բառը իրեն կից բացատանիշի հետ միասին DELETE (S,1, LENGHT(BAR)+1.... բառերը կարող են իրարից անջատված լինել մի քանի բացատանիշերով որոնք անհրաժեշտ է հեռացնելլ որպեսզի հաջորդ բառը լինի հենց սկիզբը ու դրա դիմաց չլինեն բացատանիշեր WHILE S[1]=''DO DELETE (S,1,1).....ես էլ ա ճիշտ....մնում ա են մի մասը...

Սկզբից S="կանաչ աքաղաղ", BAR="կանաչ", k=1

i=1
X[1]=??????
TARER:=POS(X[I],BAR) = ?????
TARER:=TARER+X[I]Tarer = ?????

աղջնակ
19.11.2015, 17:17
Չեմ տեսնում որևէ համեմատություն, որ տեսնես տառը կրկնվում ա, թե չէ։

Էլի կրկնեմ, որպեսզի հասկանամ թե ինչ ես գրում, պտի բացատրես ալգորիթմը՝ բլոկ սխեման։

Մի հատ իմ բերած օրինակի վրա՝ «կանաչ աքաղաղ», քայլ առ քայլ բացատրի, թե որ պահին քո որ փոփոխականն ինչ արժեք ա ստանալու։



Սկզբից S="կանաչ աքաղաղ", BAR="կանաչ", k=1

i=1
X[1]=??????
TARER:=POS(X[I],BAR) = ?????
TARER:=TARER+X[I]Tarer = ?????

ես սխալ ա իմ ասացով,,,,,,,,եթե կարողեք են մյուս խնդիրը կնայեք.....ինչ որ օրնակ առաջարկելեիք եդ ճիշտ ա իսկ դրանից հեդո՞...
1, տրված է 0 և 1-ից բաղկացած երկչափ զանգված:Ուղանկյուն կանվանենք 1ով լրացված զանգվածի մաս:Հայտնի է որ ուղղանկյունները իրար հետ չեն հպվում:որոշել ուղանկյունների քանակը:

ԼիլիթՏ
29.11.2015, 19:27
Կօգնեք լուծել էս խնդիրը. տրված է N բնական թիվը:Պահանջվում է պարզել, թե որքան տարբեր թվանշաններից է կազմված այդ թիվը:

Աթեիստ
29.11.2015, 19:55
Կօգնեք լուծել էս խնդիրը. տրված է N բնական թիվը:Պահանջվում է պարզել, թե որքան տարբեր թվանշաններից է կազմված այդ թիվը:


Ես պատրաստ եմ ամեն հերթական խնդրից հետո սա կրկնել ։)


Ողջույն, դժվար թե ձեր փոխարեն գրենք, բայց եթե գրեք խնդիրն ու ասեք, թե ինչքանն եք կարողանում, իսկ ինչը՝ ոչ, ով որ գիտի պասկալ, կփորձի օգնել։

Կոնկրետ էս դեպքում ասում եք թե ինչը չեք կարողանում, ես էլ փորձում եմ ուղղորդել։

Կարող եմ օգնել ալգորթիմի ընտրության հարցում ու ձեր գրած լուծման սխալների ուղղման հարցում։

ԼիլիթՏ
29.11.2015, 21:04
Ես պատրաստ եմ ամեն հերթական խնդրից հետո սա կրկնել ։)



Կոնկրետ էս դեպքում ասում եք թե ինչը չեք կարողանում, ես էլ փորձում եմ ուղղորդել։

Կարող եմ օգնել ալգորթիմի ընտրության հարցում ու ձեր գրած լուծման սխալների ուղղման հարցում։

Բարև Ձեզ: Ճիշտն ասած նոր եմ գրանցվել ակումբում ու չէի սպասի , որ էսքան արագ կարձագանքեն, ինչի համար շատ ուրախ եմ : իսկ ինչ վերաբերումա խնդրին . նոր-նոր եմ սկսել Պասկալ ուսումնասիրել ու ալգորիթմներ կազմել ու ահագին դժվարա իմ համար: Մոտավոր կարամ ասեմ ինչ եմ մտածում էս խնդրի լուծման շուրջ:
Դե քանի որ չի նշվում , թե N թիվը քանի նիշ ունի պիտի օգտվենք զանգվածներից որ n հատ տարր ունի : Հետո էլ պիտի համեմատենք էդ թվանշանները: Շատ շնորհակալ եմ:

ԼիլիթՏ
29.11.2015, 21:18
Բարև Ձեզ: Ճիշտն ասած նոր եմ գրանցվել ակումբում ու չէի սպասի , որ էսքան արագ կարձագանքեն, ինչի համար շատ ուրախ եմ : իսկ ինչ վերաբերումա խնդրին . նոր-նոր եմ սկսել Պասկալ ուսումնասիրել ու ալգորիթմներ կազմել ու ահագին դժվարա իմ համար: Մոտավոր կարամ ասեմ ինչ եմ մտածում էս խնդրի լուծման շուրջ:
Դե քանի որ չի նշվում , թե N թիվը քանի նիշ ունի պիտի օգտվենք զանգվածներից որ n հատ տարր ունի : Հետո էլ պիտի համեմատենք էդ թվանշանները: Շատ շնորհակալ եմ։
Այսինքն էդ n տարրերը մեր N թվի թվանշանների քանակնա լինում :

ԼիլիթՏ
29.11.2015, 22:29
Տվյալ խնդրի ալգորիթմը գրել եմ , բայց համոզված չեմ , որ ճիշտա: Ուղղակի չի ստացվում նկար ներբեռնել, չգիտեմ ինչիցա: Կարող եք mail-ի հասցեն ասել, ուղարկեմ ստուգեք :

Աթեիստ
29.11.2015, 22:53
Տվյալ խնդրի ալգորիթմը գրել եմ , բայց համոզված չեմ , որ ճիշտա: Ուղղակի չի ստացվում նկար ներբեռնել, չգիտեմ ինչիցա: Կարող եք mail-ի հասցեն ասել, ուղարկեմ ստուգեք :

http://postimage.org/

Ստեղ գցի նկարն ու ստացված հղումով տեղադրի ակումբում։

ԼիլիթՏ
29.11.2015, 22:56
http://postimg.org/image/w7ln0qtud/ k-ն չկրկնվող թվանշանների քանակնա: Սկզբից ենթադրել եմ , որ բոլոր թվանշանները տարբեր են, հետո պայմանի ստուգումով եթե կրկնվումա k-ն մի հատով պակասեցրել եմ:

Աթեիստ
29.11.2015, 23:03
http://postimg.org/image/w7ln0qtud/ k-ն չկրկնվող թվանշանների քանակնա: Սկզբից ենթադրել եմ , որ բոլոր թվանշանները տարբեր են, հետո պայմանի ստուգումով եթե կրկնվումա k-ն մի հատով պակասեցրել եմ:

Մի քիչ անհասկանալի էր բլոկ սխեման, բայց ճիշտ ուղղությամբ ես մտածում։ Հիմա դա փորձի պասկալով ձևակերպել, ես էլ փորձեմ օգնել։

ԼիլիթՏ
29.11.2015, 23:06
Մի քիչ անհասկանալի էր բլոկ սխեման, բայց ճիշտ ուղղությամբ եմ մտածում։ Հիմա դա փորձի պասկալով ձևակերպել, ես էլ փորձեմ օգնել։


Բայց ճիշտ էր բլոկ սխեման?

ԼիլիթՏ
29.11.2015, 23:14
Բայց ճիշտ էր բլոկ սխեման?

Դժվարանում եմ պասկալով գրել:

Աթեիստ
29.11.2015, 23:14
Բայց ճիշտ էր բլոկ սխեման?

Հա, բայց օրինակ արանքում Array ես օգտագործում a[i], a[j], որոնք ոչ մի տեղ չի նշվում թե ինչ ա։ Կամ n փոփոխականդ պտի գուշակենք թե ինչ ա։

ԼիլիթՏ
29.11.2015, 23:18
Հա, բայց օրինակ արանքում Array ես օգտագործում a[i], a[j], որոնք ոչ մի տեղ չի նշվում թե ինչ ա։ Կամ n փոփոխականդ պտի գուշակենք թե ինչ ա։



Դե ալգորիթմի մեջ ես ուղղակի զանգվածն եմ ներմուծել , որ A տառով եմ նշանակել : Իսկ Պասկալում գրելուց երևի պիտի գրեմ Array [1..n] of integer; ու n-ն էլ read(n)-ով կներմուծեմ: Երևի :)

ԼիլիթՏ
29.11.2015, 23:32
Դե ալգորիթմի մեջ ես ուղղակի զանգվածն եմ ներմուծել , որ A տառով եմ նշանակել : Իսկ Պասկալում գրելուց երևի պիտի գրեմ Array [1..n] of integer; ու n-ն էլ read(n)-ով կներմուծեմ: Երևի :)

հիմա էդ ամեն ինչը ոնց գրեմ պասկալով?

Աթեիստ
29.11.2015, 23:49
հիմա էդ ամեն ինչը ոնց գրեմ պասկալով?

Ես պասկալով գրել եմ 12 տարի առաջ, չգիտեմ ոնց պտի գրես, դու ինչքանը որ գիտես, էդքանը գրի, ես կողքից հիշելով օգնեմ։

Դու ներմուծելու ես մենակ N թիվը, դրա հիման վրա սկզբում պտի ստանաս n թվանշանների քանակը, հետո դրանք հերթով ներմուծես A[1..n] զանգված։

ԼիլիթՏ
29.11.2015, 23:51
Բա էդ N թվի թվանշանների քանակը ոնց պիտի ստանամ?

Աթեիստ
29.11.2015, 23:53
Բա էդ N թվի թվանշանների քանակը ոնց պիտի ստանամ?


Օրինակ՝ լոգարիթմ N-ից 10 հիմքով գումարած 1։

ԼիլիթՏ
29.11.2015, 23:57
Ճիշտ եմ հասկացել ? n:=[lnN]+1

ԼիլիթՏ
30.11.2015, 00:00
այսինքն պիտի ln(N)-ի ամբողջ մասը վերցնենք ու դրան գումարենք 1 , որ ստանանք թվանշանների քանակը: Չէ?

Աթեիստ
30.11.2015, 00:16
Ես սինտակսիսը չգիտեմ, մի հատ տարբեր թվերով փորձի, համոզվի, որ էդ բանաձևով ստացվում ա։

ԼիլիթՏ
30.11.2015, 00:22
Ես սինտակսիսը չգիտեմ, մի հատ տարբեր թվերով փորձի, համոզվի, որ էդ բանաձևով ստացվում ա։

Ես էլ չգիտեմ սինտակսիսը ինչա: Բայց բանաձևը ճիշտ ես ասել : ուղղակի ամբողջ մասը պիտի վերցնենք լոգարիթմի: ամբողջ մասը վերցնելու համար ինչ ա օգտագործվում ?

Աթեիստ
30.11.2015, 09:54
Ես էլ չգիտեմ սինտակսիսը ինչա: Բայց բանաձևը ճիշտ ես ասել : ուղղակի ամբողջ մասը պիտի վերցնենք լոգարիթմի: ամբողջ մասը վերցնելու համար ինչ ա օգտագործվում ?

սինտակսիսը դա ֆունկցիաների ու հրամանների գրելաձևն ա տվյալ լեզվում։
Ամբողջ թիվը օրինակ բեյսիկում գրվում ա int(x)։ Պասկալում էլ պտի նման ֆունկցիա լինի։

Աթեիստ
30.11.2015, 09:56
Wiki (https://ru.wikipedia.org/wiki/Паскаль_(язык_программирования))

Փաստորեն պասկալում էլ նույնն ա։

ԼիլիթՏ
02.12.2015, 01:44
Մերսի շատ : Հա մեկ էլ սխալ բան եմ գրել lg-ի փոխարեն ln եմ գրել : Բայց ոնցվոր թե էդ էդքան էլ պետք չի գալիս: Ոնց հասկանում եմ մենք թիվը պիտի ներմուծենք , հետո ինչ-որ կերպ առանձնացնենք իրա թվանշանները: Նու երևի 10-ի 100 -ի և այլնի վրա բաժանելով: հետո նոոր պիտի էդ թվանշաններով զանգված սարքենք, մի հատ էլ չկրկնվողները հանենք ու հաշվենք էդ քանակը: էն իմ առաջին գրածը ինձ թվումա սխալա:

Աթեիստ
02.12.2015, 11:07
Մերսի շատ : Հա մեկ էլ սխալ բան եմ գրել lg-ի փոխարեն ln եմ գրել : Բայց ոնցվոր թե էդ էդքան էլ պետք չի գալիս: Ոնց հասկանում եմ մենք թիվը պիտի ներմուծենք , հետո ինչ-որ կերպ առանձնացնենք իրա թվանշանները: Նու երևի 10-ի 100 -ի և այլնի վրա բաժանելով: հետո նոոր պիտի էդ թվանշաններով զանգված սարքենք, մի հատ էլ չկրկնվողները հանենք ու հաշվենք էդ քանակը: էն իմ առաջին գրածը ինձ թվումա սխալա:

Լոգարիթմը պետք ա, որ հաշվես, թե քանի թվանշանից ա կազմված թիվդ։

ԼիլիթՏ
06.12.2015, 00:15
http://postimg.org/image/iecpu8b3p/ Կարող է ինչ-որ մեկը ուղղել սխալս? Եթե հնարավորա շուտ.

Աթեիստ
06.12.2015, 01:44
http://postimg.org/image/iecpu8b3p/ Կարող է ինչ-որ մեկը ուղղել սխալս? Եթե հնարավորա շուտ.

Ես արդեն պառկած եմ, բայց ասի ասեմ, որ էս գրածիդ մեջ ոչ մի տրամաբանություն չկա։

Մի հատ էն իմ ցույց տված ձևով քեզ դիր կոմպի տեղն ու քայլ առ քայլ գրի թե որ պահին որ փոփոխականն ինչ արժեք ա ստանում։

ԼիլիթՏ
06.12.2015, 02:02
Ես արդեն պառկած եմ, բայց ասի ասեմ, որ էս գրածիդ մեջ ոչ մի տրամաբանություն չկա։

Մի հատ էն իմ ցույց տված ձևով քեզ դիր կոմպի տեղն ու քայլ առ քայլ գրի թե որ պահին որ փոփոխականն ինչ արժեք ա ստանում։

Էդ խնդիրն արդեն ուրիշ ձևով լուծեցի , պասկալում էլ գրեցի աշխատեց: Մերսի շատ ամեն դեպքում

ԼիլիթՏ
06.12.2015, 02:07
Էդ խնդիրն արդեն ուրիշ ձևով լուծեցի , պասկալում էլ գրեցի աշխատեց: Մերսի շատ ամեն դեպքում

http://postimg.org/image/lf4l7qwxh/

ԼիլիթՏ
06.12.2015, 21:15
Տվյալ խնդրի լուծման եղանակ կառաջարկեք? Տպել այն ամենափոքր եռանիշ թիվը,որը 16-ով բազմապատկելիս դառնում է բնական թվի քառակուսի:

Աթեիստ
07.12.2015, 09:45
Տվյալ խնդրի լուծման եղանակ կառաջարկեք? Տպել այն ամենափոքր եռանիշ թիվը,որը 16-ով բազմապատկելիս դառնում է բնական թվի քառակուսի:

Էս բանավոր են հաշվում՝ 100

Chuk
07.12.2015, 14:44
Էս բանավոր են հաշվում՝ 100

Արտ, այսինքն առաջարկում ես սե՞նց գրել :))



program HelloWorld;
uses crt;

(* Here the main program block starts *)
begin
writeln('100');
readkey;
end.

ԼիլիթՏ
07.12.2015, 18:55
Էս բանավոր են հաշվում՝ 100
Բանավոր հաշվելով ես էլ գիտեմ որ պատասխանը 100 -ա : Իսկ եթե 16-ի փոխարեն լիներ մի հատ a թիվ : Օրինակ 15 : տվյալ դեպքում կարող եք լուծման ու բլոկի կազմման եղանակ առաջարկել:

Աթեիստ
07.12.2015, 19:09
Բանավոր հաշվելով ես էլ գիտեմ որ պատասխանը 100 -ա : Իսկ եթե 16-ի փոխարեն լիներ մի հատ a թիվ : Օրինակ 15 : տվյալ դեպքում կարող եք լուծման ու բլոկի կազմման եղանակ առաջարկել:




Ներմուծել a թիվը

i-ն աճում ա 100-ից մինչև 999։

եթե Ամբողջմաս(արմատ(i*a))=(արմատ(i*a)) ուրեմն արդյունքը = i*a ։ Վերջ

Հաջորդ i

Վերջ

ԼիլիթՏ
07.12.2015, 19:54
[QUOTE=Աթեիստ;2526222]

Ներմուծել a թիվը

i-ն աճում ա 100-ից մինչև 999։

եթե Ամբողջմաս(արմատ(i*a))=(արմատ(i*a)) ուրեմն արդյունքը = i*a ։ Վերջ

Հաջորդ i

Վերջ
[/QU

մերսի շատ: Կներեք մի հատ բան էլ էլի հարցնեմ : ես , որ գրում եմ ինքը 100-999 միջակայքում բոլոր էն թվերը, որ բավարարում են էդ պայմանին գրումա , ոնց անեմ , որ առաջինը գրելուց հետո էլ չգրի?

ԼիլիթՏ
07.12.2015, 20:06
[QUOTE=Աթեիստ;2526222]

Ներմուծել a թիվը

i-ն աճում ա 100-ից մինչև 999։

եթե Ամբողջմաս(արմատ(i*a))=(արմատ(i*a)) ուրեմն արդյունքը = i*a ։ Վերջ





Հաջորդ i

Վերջ
[/QU

մերսի շատ: Կներեք մի հատ բան էլ էլի հարցնեմ : ես , որ գրում եմ ինքը 100-999 միջակայքում բոլոր էն թվերը, որ բավարարում են էդ պայմանին գրումա , ոնց անեմ , որ առաջինը գրելուց հետո էլ չգրի?

http://postimg.org/image/mihd3qnm7/ էն y-ը ավելորդա գիտեմ...

Աթեիստ
07.12.2015, 20:14
[QUOTE=Աթեիստ;2526222]

Ներմուծել a թիվը

i-ն աճում ա 100-ից մինչև 999։

եթե Ամբողջմաս(արմատ(i*a))=(արմատ(i*a)) ուրեմն արդյունքը = i*a ։ Վերջ

Հաջորդ i

Վերջ
[/QU

մերսի շատ: Կներեք մի հատ բան էլ էլի հարցնեմ : ես , որ գրում եմ ինքը 100-999 միջակայքում բոլոր էն թվերը, որ բավարարում են էդ պայմանին գրումա , ոնց անեմ , որ առաջինը գրելուց հետո էլ չգրի?

While-ով ա պետք անել։



i=100
Քանի դեռ Ամբողջմաս(արմատ(i*a))<>(արմատ(i*a)) կրկնել i=i+1
արդյունքը = i*a

Աթեիստ
07.12.2015, 20:18
կամ սենց



Ներմուծել a թիվը
արդյունք=0
i-ն աճում ա 100-ից մինչև 999։
եթե Ամբողջմաս(արմատ(i*a))=(արմատ(i*a)) ուրեմն արդյունքը = i*a ։ Վերջ /Բեյսիկում ցանկացած ծրագիր կեսից անջատելու հրաման կա, էս Վերջ-ը դրա համար էի գրել։
Եթե արդյունքը = 0 ապա Հաջորդ i
Վերջ



նոր նայեցի, պասկալում էլ կա exit հրամանը, որով կարելի ա ավարտել, առանց սպասելու վերջի END-ին։

ԼիլիթՏ
07.12.2015, 20:34
կամ սենց



Ներմուծել a թիվը
արդյունք=0
i-ն աճում ա 100-ից մինչև 999։
եթե Ամբողջմաս(արմատ(i*a))=(արմատ(i*a)) ուրեմն արդյունքը = i*a ։ Վերջ /Բեյսիկում ցանկացած ծրագիր կեսից անջատելու հրաման կա, էս Վերջ-ը դրա համար էի գրել։
Եթե արդյունքը = 0 ապա Հաջորդ i
Վերջ



նոր նայեցի, պասկալում էլ կա exit հրամանը, որով կարելի ա ավարտել, առանց սպասելու վերջի END-ին։

Ուխ, աշխատեց: Մերսի շատ:

Chuk
08.12.2015, 01:24
Ներմուծել a թիվը

i-ն աճում ա 100-ից մինչև 999։

եթե Ամբողջմաս(արմատ(i*a))=(արմատ(i*a)) ուրեմն արդյունքը = i*a ։ Վերջ

Հաջորդ i

Վերջ


Մի հատ էլ ասենք սենց.


Ներմուծել a թիվը

i-ն 1-ից սկսած աճում ա էնքան, քանի դեռ i-ի քառակուսին բաժանած a-ն եռանիշ թիվ չի:

քայլերի թիվը հաստատ ավելի քիչ կլինի :)

Hayko985
19.12.2015, 20:22
jox karaq ognem vor xndrem
pascali xndira asuma kazmel blok sxema ev tsragir voronq khashven ev ktpen trvac artahaytutyan arjeq@ http://hy-it.org/4747/ծրագրավորման-խնդիրների-ժողովածու/ es saytic et girq@ qasheq grqi 125 hamarna shatem xndrum eli shtapa petq


Մոդերատորական։ Ակումբում արգելվում են տրասլիտով գրառումները։

Hayko985
19.12.2015, 20:33
mekel henc ay et grqic vor xndrem ete karaq es hamarnernel ogneq
25 eji 160 hamar@
28 eji 195 xndir@
32 eji 265 xndir@
34 eji 300 xndir@
37 eji 335 xndir@
40 eji 370 xndir@
43 eji 405 xndir@
ete gone 2 hat greq shat shnorhakal klinem minchev amsi 24 na petq minchev et inchqan hnaravora ogneq eli jox shat mersi dez

Մոդերատորական։ Ակումբում արգելվում են տրասլիտով գրառումները։

Աթեիստ
19.12.2015, 21:11
Ես որպես բաժնի մոդերատոր կարամ նախօրոք ասեմ, որ
1. քանի հայերեն գրած չի, չեմ էլ կարդալու։
2. Քո փոխարեն հաստատ չեմ գրելու։

Եթե ուզում ես, ստեղ կստանաս օգնություն։ Դրա համար նորմալ հայերենով գրում ես խնդիրը, քո բառերով գրում ես, թե ոնց ես պատկերացնում դրա լուծումն ու կոնկրետ ինչը չես կարողանում անել։

ԼիլիթՏ
03.01.2016, 16:37
Բարև Ձեզ : Որ խնդրեմ կասեք միջին քառակուսայինը որնա?

ԼիլիթՏ
03.01.2016, 19:12
Մեկ էլ եթե մի քանի հատ խնդիրներ ասեմ ու իրանց ալգորիթմներն ուղարկեմ , ինչ-որ մեկը կարա ստուգի ?

Աթեիստ
03.01.2016, 19:49
Ուղարկի

ԼիլիթՏ
03.01.2016, 20:03
Ուղարկի
Մինչև ուղաևկելը , որ խնդրեմ չեք ասի միջին քառակուսայինը որնա?
Կազմել բլոկ-սխեմա և ծրագիր , որոնք կհաշվեն և կտպեն n տարր պարունակող միաչափ զանգվածի դրական տարրերի միջին թվաբանականը : Ծրագիրը մի ուրիշ օր կուղարկեմ հիմա մենակ ալգորիթմն եմ ուզում իմանամ ճիշտա թե չէ: հա մեկ էլ եթե էս մի հատը ճիշտ եղավ մի տաս հատ խնդիր նույն կարգի են կգրեմ ինքնուրույն: Իդեպ, շնորհավոր Ձեր Ամանորը և Սուրբ Ծնունդը :)

ԼիլիթՏ
03.01.2016, 20:14
Մինչև ուղաևկելը , որ խնդրեմ չեք ասի միջին քառակուսայինը որնա?
Կազմել բլոկ-սխեմա և ծրագիր , որոնք կհաշվեն և կտպեն n տարր պարունակող միաչափ զանգվածի դրական տարրերի միջին թվաբանականը : Ծրագիրը մի ուրիշ օր կուղարկեմ հիմա մենակ ալգորիթմն եմ ուզում իմանամ ճիշտա թե չէ: հա մեկ էլ եթե էս մի հատը ճիշտ եղավ մի տաս հատ խնդիր նույն կարգի են կգրեմ ինքնուրույն: Իդեպ, շնորհավոր Ձեր Ամանորը և Սուրբ Ծնունդը :)

http://postimg.org/image/uhmjw6v8b/05347b8a/

Աթեիստ
03.01.2016, 23:42
Բարև Ձեզ : Որ խնդրեմ կասեք միջին քառակուսայինը որնա?

xn--80aatn3b3a4e.xn--p1ai/book/3554/139746/Средняя квадратическая.html