User Tag List

Ցույց են տրվում 1 համարից մինչև 15 համարի արդյունքները՝ ընդհանուր 371 հատից

Թեմա: Pascal խնդիրներ

Համակցված դիտում

Նախորդ գրառումը Նախորդ գրառումը   Հաջորդ գրառումը Հաջորդ գրառումը
  1. #1
    Պատվավոր անդամ armen9494-ի ավատար
    Գրանցման ամսաթիվ
    01.03.2010
    Տարիք
    31
    Գրառումներ
    1,242
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Varzor-ի խոսքերից Նայել գրառումը
    Այո, "մինչև կեսը" տարբերակը կա` դա ճիշտ է ու մաթեմատիկորեն հիմնավորված: Բացի այդ դասական տարբերակով դա չեն անում for ցիկլի միջոցով, այլ կիրառում են Whileև Repeat օպերատորները:
    իսկ for-ի ի՞նչն ա "վատ"

  2. #2
    Կեցցե թագավորը Varzor-ի ավատար
    Գրանցման ամսաթիվ
    16.03.2009
    Հասցե
    Երկիր մոլորակ, ՀՀ ք. Երևան
    Տարիք
    43
    Գրառումներ
    7,503
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում armen9494-ի խոսքերից Նայել գրառումը
    իսկ for-ի ի՞նչն ա "վատ"
    Վատի մասին չի խոսքը, խոսքը դասական ալգորիթմի մասին է: Զուտ բառերով էլ որ նկարագրում ես ալգորիթմը ու հետո թարգմանում բլոկ-սխեմայի` ցիկլի բլոկ չես ունենում:
    Լոխ մունք ենք, մնացածը` լոխ են...

  3. #3
    Պատվավոր անդամ armen9494-ի ավատար
    Գրանցման ամսաթիվ
    01.03.2010
    Տարիք
    31
    Գրառումներ
    1,242
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Varzor-ի խոսքերից Նայել գրառումը
    Վատի մասին չի խոսքը, խոսքը դասական ալգորիթմի մասին է: Զուտ բառերով էլ որ նկարագրում ես ալգորիթմը ու հետո թարգմանում բլոկ-սխեմայի` ցիկլի բլոկ չես ունենում:
    Հասկացա ասածդ ինչ ա, ճիշտ ա, էդ դեպքու մի "առավելություն" էլ ունես՝ break չես օգտագործում: Ինձ չի թվում, որ դա մի եսիմինչ առավելություն ա, բայց երևի թե առանց դրա ավելի գրագետ ա: Չնայած էն դեպքում էլ կարաս break չօգտագործես, բայց դե ինչ որայա

  4. #4
    Կեցցե թագավորը Varzor-ի ավատար
    Գրանցման ամսաթիվ
    16.03.2009
    Հասցե
    Երկիր մոլորակ, ՀՀ ք. Երևան
    Տարիք
    43
    Գրառումներ
    7,503
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում armen9494-ի խոսքերից Նայել գրառումը
    Հասկացա ասածդ ինչ ա, ճիշտ ա, էդ դեպքու մի "առավելություն" էլ ունես՝ 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;

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

  5. Գրառմանը 1 հոգի շնորհակալություն է հայտնել.

    MrKaren (28.12.2011)

  6. #5
    Պատվավոր անդամ armen9494-ի ավատար
    Գրանցման ամսաթիվ
    01.03.2010
    Տարիք
    31
    Գրառումներ
    1,242
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Varzor-ի խոսքերից Նայել գրառումը
    Բացի այդ պրոցեսորի տակտերի օգտագործման տեսանկյունից ավելի օպտիմալ է համարվում: Վախտին կոմպերը այսքան արագագործ չէին
    Ըստ էության 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-ով անես, բայց դա "թույլատրված չէ":
    Ասում են, մթոմ դժվար գտնելու հետ է կապված, բայց դե ես չեմ կարծում, որ խնդիրը դրանում լինի:

  7. #6
    Կեցցե թագավորը Varzor-ի ավատար
    Գրանցման ամսաթիվ
    16.03.2009
    Հասցե
    Երկիր մոլորակ, ՀՀ ք. Երևան
    Տարիք
    43
    Գրառումներ
    7,503
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում armen9494-ի խոսքերից Նայել գրառումը
    Ճիշտն ասած՝ չգիտեի որ For-ը ավելի դանդաղ է աշխատում, քան նախապայմանով կամ հետպայմանով ցիկլը: Ճիշտն ասած էս վերջերս մի քիչ "քթի մազ" եմ դառել էդ արագության հարցով, միշտ ամեն մի խնդիր գրելիս առաջնային պայմաններից ա արագագործությունը (ծավալը երկրորդային ա): Վատը էն ա, որ շատ գործողությունների արագություններ (որը որից է արագ) չկան ոչ մի տեղ նշված (համենայն դեպս ես չեմ հանդիպել):
    Այ էդ անցման հրամաններից խուսափելու ավանդույթը ըտենց էլ չսիրեցի, շատ տեղեր կա, որ կարաս շատ հեշտ goto-ով անես, բայց դա "թույլատրված չէ":
    Ասում են, մթոմ դժվար գտնելու հետ է կապված, բայց դե ես չեմ կարծում, որ խնդիրը դրանում լինի:
    Հա, FOR-ը ավելի դանդաղ է աշխատում` չափումներ ենք արել
    Արագ-դանդաղ կատարվելը կարելի է որոշել` ASSEMBLER-ի կոդը բացում ես ու որքան ավելի շատ տողեր կան մեջը, այդքան ավելի շատ գործողություններ են ատարվում` ավելի շատ պրոցեսորի տակտեր է օգտագործվում:
    Իրոք` ոչ մի տեղ գրված չի, քանի որ դա կախված է կոնկրետ կոմպիլյատորից ու մենակ դրա հեղինակը կիմանա:
    Շատ տեղեր կա, որ առանց GoTO ուղղակի անհնար է:
    Խնդիրը կայանում էր հետևյալում.
    յուրաքանչյուր ծրագրի համար համակարգչի հիշողությունում բացվում է ստեկ, որի մեջ էլ գրանցվում են փոփոխականները, կատարվող գործողությունները և այլն: GoTo-ի պարագայում լինում էին դեպքեր, որ ուղղակի կատարվող կոդի հատվածը դուրս էր մնում ստեկից ու կախվում էր: Հիմա այլևս տենց բա չկա: Սա տեխնիկական մասն է, բայց կա նաև մաթեմատիկական մասը: Եթե օգտագործել ես անպայման անցման հրամանը, ապա դա նշանակում է, որ օգտագործածդ ալգորիթմը մեծ հավանականությամբ վերանայման կարիք ունի` ինչ որ պայմանով կարելի էր բավարարվել:

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

  8. #7
    Պատվավոր անդամ armen9494-ի ավատար
    Գրանցման ամսաթիվ
    01.03.2010
    Տարիք
    31
    Գրառումներ
    1,242
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Մեջբերում Varzor-ի խոսքերից Նայել գրառումը
    Հա, FOR-ը ավելի դանդաղ է աշխատում` չափումներ ենք արել
    Արագ-դանդաղ կատարվելը կարելի է որոշել` ASSEMBLER-ի կոդը բացում ես ու որքան ավելի շատ տողեր կան մեջը, այդքան ավելի շատ գործողություններ են ատարվում` ավելի շատ պրոցեսորի տակտեր է օգտագործվում:
    Իրոք` ոչ մի տեղ գրված չի, քանի որ դա կախված է կոնկրետ կոմպիլյատորից ու մենակ դրա հեղինակը կիմանա:
    Շատ տեղեր կա, որ առանց GoTO ուղղակի անհնար է:
    իսկ մեզ ասում էին, որ յուրաքանչյուր GoTo կարելի է փոխարինել while-երով և /կամ/ repeat-երով:

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

Թեմայի մասին

Այս թեման նայող անդամներ

Այս պահին թեմայում են 1 հոգի. (0 անդամ և 1 հյուր)

Համանման թեմաներ

  1. Համակարգչային խնդիրներ
    Հեղինակ՝ Վազգեն1997, բաժին` Համակարգիչ
    Գրառումներ: 148
    Վերջինը: 01.03.2018, 01:55
  2. «Այո», «ոչ», «կարևոր չէ» խնդիրներ
    Հեղինակ՝ Apsara, բաժին` Ժամանց
    Գրառումներ: 1872
    Վերջինը: 30.05.2015, 04:31
  3. խնդիրներ Yandex.ru -ում
    Հեղինակ՝ AMzone, բաժին` Վեբ
    Գրառումներ: 0
    Վերջինը: 01.10.2010, 23:18
  4. pascal-abc.3dn.ru - Pascal ABC ծրագրավորման լեզվին նվիրված կայք
    Հեղինակ՝ GHayk, բաժին` Վեբ կայքերի քննարկում
    Գրառումներ: 3
    Վերջինը: 21.04.2010, 10:56
  5. Խնդիրներ ծրագրավորումից(Pascal կամ QBasic)
    Հեղինակ՝ Սլավիկ, բաժին` Ծրագրավորում
    Գրառումներ: 2
    Վերջինը: 20.02.2010, 21:31

Էջանիշներ

Էջանիշներ

Ձեր իրավունքները բաժնում

  • Դուք չեք կարող նոր թեմաներ ստեղծել
  • Դուք չեք կարող պատասխանել
  • Դուք չեք կարող կցորդներ տեղադրել
  • Դուք չեք կարող խմբագրել ձեր գրառումները
  •