X ជាកម្មសិទ្ធិរបស់ផ្នែក។ ប្រធានបទ៖ ប្រភេទទិន្នន័យប៊ូលីន

មេរៀនពីស៊េរី " ក្បួនដោះស្រាយធរណីមាត្រ»

ជំរាបសួរអ្នកអានជាទីស្រឡាញ់!

ថ្ងៃនេះយើងនឹងពិចារណាបញ្ហាធម្មតាមួយទៀតពីស៊េរីនៃក្បួនដោះស្រាយធរណីមាត្រ។ ចូរយើងសរសេរមុខងារដែលនឹងពិនិត្យ ជាកម្មសិទ្ធិបំពាន ផ្នែកបន្ទាត់ផ្តល់ដោយកូអរដោនេនៃការចាប់ផ្តើម និងបញ្ចប់របស់វា។

ដើម្បីអនុវត្តប្រតិបត្តិការប្រៀបធៀបលើទិន្នន័យពិត យើងនឹងសរសេរមុខងារពីរបន្ថែមទៀត៖ មុខងារ EqPoint() ដែលនឹងពិនិត្យមើលថាតើចំណុចពីរនៅលើយន្តហោះស្របគ្នាឬអត់ និងមុខងារ RealMoreEq() ដែលយើងនឹងប្រើដើម្បីពិនិត្យមើល ">=" ទំនាក់ទំនង (ធំជាងឬស្មើ) ។ យើងដឹងពីហេតុផលសម្រាប់ការណែនាំមុខងារពិសេសរួចហើយ។

កិច្ចការ។ ពិនិត្យ, ជាកម្មសិទ្ធិថាតើ ផ្នែកបន្ទាត់.

ទុក​ឲ្យ​ពិន្ទុ​ជា​ចំណុច​ចាប់​ផ្តើម និង​ចុង​នៃ​ផ្នែក។ គឺជាចំណុចបំពាននៅលើយន្តហោះ។

វ៉ិចទ័រ​ដែល​ចាប់​ផ្តើម​នៅ​ចំណុច​មួយ និង​បញ្ចប់​នៅ​ចំណុច​មួយ​នឹង​មាន​កូអរដោណេ (x2-x1, y2-y1)។

ប្រសិនបើ P(x, y) ជាចំណុចបំពាន នោះកូអរដោនេនៃវ៉ិចទ័រគឺ៖ (x-x1, y - y1) ។

ចំនុច P នឹងជាកម្មសិទ្ធិរបស់ផ្នែកប្រសិនបើ៖

កម្មវិធី geom3; Const _Eps: ពិត = 1e-3; (ភាពជាក់លាក់នៃការគណនា) var x1,y1,x2,y2,x,y:real; អនុគមន៍ RealEq(Const a, b:Real):Boolean; (ស្មើគ្នាយ៉ាងតឹងរឹង) ចាប់ផ្តើម RealEq:= Abs(a-b)<= _Eps End; {RealEq} Function RealMoreEq(Const a, b:Real):Boolean; {больше или равно} begin RealMoreEq:= a - b >= _EpsEnd; (RealMoreEq) អនុគមន៍ EqPoint(x1,y1,x2,y2:real):Boolean; (ថាតើចំនុចពីរនៅលើយន្តហោះស្របគ្នា) ចាប់ផ្តើម EqPoint:=RealEq(x1,x2) និង RealEq(y1,y2) end; (EqPoint) អនុគមន៍ AtOtres(x1,y1,x2,y2,x,y:real):Boolean; (ពិនិត្យមើលថាតើចំណុច P ជាកម្មសិទ្ធិរបស់ផ្នែក P1P2) ចាប់ផ្តើម ប្រសិនបើ EqPoint(x1,y1,x2,y2) បន្ទាប់មក AtOtres:= EqPoint(x1,y1,x,y) (ចំណុច P1 និង P2 ស្របគ្នា លទ្ធផលត្រូវបានកំណត់ដោយចៃដន្យ នៃពិន្ទុ P1 និង P) Else AtOtres:= RealEq((x-x1)*(y2-y1)-(y-y1)*(x2-x1),0) និង (RealMoreEq(x,x1) and RealMoreEq(x2 ,x) ឬ RealMoreEq(x ,x2) និង RealMoreEq(x1,x)) បញ្ចប់; (AtOtres) ចាប់ផ្តើម (មេ) writeln(បញ្ចូលកូអរដោនេចំណុច៖ x1,y1,x2,y2,x,y"); readln(x1,y1,x2,y2,x,y); ប្រសិនបើ AtOtres(x1,y1,x2 y2,x,y) បន្ទាប់មក writeln("បាទ។") else writeln("No.); ចប់។ (មេ)

លទ្ធផលនៃការអនុវត្តកម្មវិធី។

បញ្ចូលកូអរដោនេចំណុច៖ x1, y1, x2, y2, x, y
0.5 1 2.5 2.8 1.203 1.633
បាទ។

លទ្ធផលតេស្តនៅក្នុងកម្មវិធី GeoGebra៖


ថ្ងៃនេះយើងបានសរសេរមុខងារ AtOtres() ដែលពិនិត្យមើលថាតើចំនុចបំពានជាកម្មសិទ្ធិរបស់ផ្នែកដែលផ្តល់ដោយកូអរដោណេរបស់វា។

មុខងារពីរទៀតត្រូវបានណែនាំ៖ EqPoint() និង RealMoreEq() ដើម្បីអនុវត្តប្រតិបត្តិការប្រៀបធៀបលើទិន្នន័យពិត។ ទីមួយពិនិត្យថាតើចំនុចពីរនៅលើយន្តហោះស្របគ្នាឬអត់ ទីពីរត្រូវបានប្រើដើម្បីពិនិត្យមើលទំនាក់ទំនង ">="។

នៅក្នុងមេរៀនបន្ទាប់ ដោយផ្អែកលើនីតិវិធីដែលបានសរសេរពីមុន យើងនឹងសរសេរនីតិវិធីសម្រាប់កំណត់កូអរដោនេនៃចំនុចប្រសព្វនៃផ្នែកពីរ។

នៅលើនេះខ្ញុំនិយាយលាអ្នក។ ជួបគ្នានៅមេរៀនបន្ទាប់។

អថេរ Boolean ជាធម្មតាទទួលបានតម្លៃរបស់ពួកគេពីការប្រៀបធៀប និងប្រតិបត្តិការគណិតវិទ្យា (បានពិភាក្សាក្នុងមេរៀនមុន) ក៏ដូចជាប្រតិបត្តិការ Boolean ជាក់លាក់ផងដែរ។

Turbo Pascal មានប្រតិបត្តិការឡូជីខលដែលអាចត្រូវបានអនុវត្តចំពោះអថេរនៃប្រភេទប៊ូលីន។ ទាំង​នេះ​មិន​មែន​និង​ឬ​និង xor ប្រតិបត្តិការ។ នៅក្នុងប្រធានបទនេះ អ្នកនឹងពិនិត្យមើលប្រតិបត្តិការឡូជីខលចំនួនបី។ ការរចនា និងលទ្ធផលនៃប្រតិបត្តិការទាំងនេះត្រូវបានផ្តល់ឱ្យក្នុងតារាង។ ពិចារណា។

ប្រតិបត្តិការ ទេ។(not) មាន operand មួយ ហើយបង្កើតជា logical negation របស់វា។ លទ្ធផលនៃប្រតិបត្តិការមិនមែន False ប្រសិនបើ operand ពិត និង True ប្រសិនបើ operand មិនពិត។ ដូច្នេះ

មិនពិតមិនពិត (មិនពិតគឺជាការកុហក)

មិនមែន False True (មិនពិតគឺពិត)

លទ្ធផលប្រតិបត្តិការ និង(i) គឺពិត លុះត្រាតែប្រតិបត្តិករទាំងពីររបស់វាពិត និងមិនពិត។

លទ្ធផលប្រតិបត្តិការ (ឬ) គឺពិត ប្រសិនបើ operand ទាំងពីររបស់វាពិត ហើយមិនពិត លុះត្រាតែ operand ទាំងពីរមិនពិត។

លំហាត់ប្រាណ . ព្យាយាមកំណត់អត្ថន័យនៃប្រតិបត្តិការប៊ូលីនសម្រាប់សេចក្តីថ្លែងការណ៍៖

  1. សិស្សសាលាស្នាក់នៅផ្ទះក្នុងអំឡុងវិស្សមកាលរដូវរងា ឬទៅកន្លែងណាមួយដើម្បីសម្រាក។
  2. Philip Kirkorov គឺជាអ្នកចម្រៀង និងជាប្រតិបត្តិកររួមបញ្ចូលគ្នា។
  3. សិស្សសាលាគឺក្មេងប្រុសនិងក្មេងស្រី។

ប្រតិបត្តិការឡូជីខល ទំនាក់ទំនង និងនព្វន្ធជារឿយៗកើតឡើងក្នុងកន្សោមដូចគ្នា។ ក្នុងករណីនេះ ទំនាក់ទំនងនៅខាងឆ្វេង និងខាងស្តាំនៃសញ្ញានៃប្រតិបត្តិការឡូជីខលត្រូវតែត្រូវបានរុំព័ទ្ធក្នុងតង្កៀប ចាប់តាំងពីប្រតិបត្តិការឡូជីខលមានអាទិភាពខ្ពស់ជាង។ ជាទូទៅ អាទិភាពនៃប្រតិបត្តិការខាងក្រោមត្រូវបានអនុម័ត៖

  • និង, *, /, div, mod
  • ឬ, +, -
  • ប្រតិបត្តិការទំនាក់ទំនង។

. ប្រតិបត្តិការឡូជីខល និងត្រូវបានគេហៅថាការបូកឡូជីខលផងដែរ ហើយប្រតិបត្តិការឡូជីខល ឬក៏ត្រូវបានគេហៅថាការបូកឡូជីខលផងដែរ។

លើសពីនេះទៀតលំដាប់នៃប្រតិបត្តិការអាចត្រូវបានផ្លាស់ប្តូរដោយវង់ក្រចក។ ជាឧទាហរណ៍ ក្នុងកន្សោមឡូជីខល យើងរៀបចំលំដាប់នៃសកម្មភាព

A ឬ B និងមិនមែន (A ឬ B)

សញ្ញាវង់ក្រចក ឬប្រតិបត្តិករត្រូវបានប្រតិបត្តិជាដំបូង បន្ទាប់មកដោយសញ្ញាមិនមែន និង ឬប្រតិបត្តិករ។ ប្រសិនបើយើងជំនួសតម្លៃ True និង False ជំនួសឱ្យអថេរ A និង B នោះដោយប្រើនីតិវិធីដែលបានពិចារណារួចហើយ យើងទទួលបានតម្លៃនៃកន្សោមទាំងមូលស្មើនឹង True ។

លំហាត់ប្រាណ . សរសេរក្នុងសៀវភៅកត់ត្រារបស់អ្នក ហើយគណនាតម្លៃនៃកន្សោមសម្រាប់ a=10, b=20, c=true, d=false៖

  • (a>5) និង (b>5) និង (a<20) and (b<30);
  • មិនមែន (ក<15) or not (b<30);
  • c ឬ d និង (b=20);

យកចិត្តទុកដាក់! នៅក្នុង Pascal មិនមានវិធីដើម្បីបញ្ចូលទិន្នន័យប៊ូលីនដោយប្រើសេចក្តីថ្លែងការណ៍ដែលបានអាននោះទេ។ ទោះយ៉ាងណាក៏ដោយ លទ្ធផលនៃតម្លៃនៃអថេរនៃប្រភេទប៊ូលីនត្រូវបានផ្តល់ជូនដោយប្រើ ប្រតិបត្តិករសរសេរ។

ឧទាហរណ៍ បន្ទាប់ពីប្រតិបត្តិសេចក្តីថ្លែងការណ៍សរសេរ (5> 2) True នឹងត្រូវបានបង្ហាញនៅលើអេក្រង់។

ការងារឯករាជ្យ

ជ្រើសរើសជាមួយគ្រូនូវកិច្ចការសម្រាប់ធ្វើការងារឯករាជ្យពីលំហាត់ខាងក្រោម។

  1. គណនាតម្លៃនៃកន្សោម៖

    ក) sqr(x)+sqr(y)<=4 при x=0.3, y=-1.6;

    ខ) k mod 7 = k div5-1 នៅ k=15;

    គ) សេស(trunc(10*p)) នៅ p=0.182;

    ឃ) មិនសេស (n) សម្រាប់ n=0;

    e) t និង (p mod 3=0) នៅ t=true, p=101010;

    e) (x*y<>0) និង (y>x) ជាមួយ x=2, y=1;

    g) (x*y<>0) ឬ (y>x) នៅពេល x=2, y=1;

    h) a ឬ (មិន b) ជាមួយ a=False, b=True;

  2. សរសេរទំនាក់ទំនងនៅក្នុង Pascal ថាជាការពិត ប្រសិនបើលក្ខខណ្ឌដែលបានបញ្ជាក់ត្រូវបានបំពេញ ហើយមិនពិត៖

    ក) ចំនួនគត់ k ត្រូវបានបែងចែកដោយ 7;

    ខ) ចំនុច (x, y) ស្ថិតនៅក្រៅរង្វង់កាំ R ដែលស្ថិតនៅកណ្តាលចំនុច (1,0);

    គ) លេខធម្មជាតិ N គឺជាការ៉េនៃចំនួនធម្មជាតិ។

    ឃ) ០

    e) x=max(x,y,z);

    e) យ៉ាងហោចណាស់អថេរឡូជីខលមួយ a និង b គឺពិត។

    g) អថេរឡូជីខលទាំងពីរ a និង b គឺពិត។

  3. បញ្ជាក់លំដាប់ដែលប្រតិបត្តិការត្រូវបានអនុវត្តនៅពេលវាយតម្លៃកន្សោម៖

    ក) a និង b ឬមិន c និង d;

    b) (x>=0) ឬមិន c និង d ។

  4. វាយតម្លៃកន្សោមខាងក្រោមជាមួយ a=True, b=False៖

    ក) a ឬ b និងមិនមែន a;

    b) (a ឬ b) និងមិនមែន a;

    គ) មិនមែន a និង b;

    ឃ) មិនមែន (a និង b)

  5. សរសេរកន្សោមនៅក្នុង Pascal ថាជាការពិត ប្រសិនបើលក្ខខណ្ឌដែលបានបញ្ជាក់ត្រូវបានបំពេញ ហើយមិនពិត៖

    ក) x ជាកម្មសិទ្ធិរបស់ផ្នែក;

    ខ) x ស្ថិតនៅខាងក្រៅផ្នែក;

    គ) * x ជាកម្មសិទ្ធិរបស់ផ្នែក ឬ [-1, 1];

    d) * x ស្ថិតនៅខាងក្រៅផ្នែក និង [-1, 1];

    e) លេខនីមួយៗ x, y, z គឺវិជ្ជមាន;

    g) គ្មានលេខ x, y, z គឺវិជ្ជមាន;

    h) មានតែលេខមួយគត់ x, y, z គឺវិជ្ជមាន។

    i) boolean variable a មានតម្លៃ True អថេរ boolean b មានតម្លៃ False;

    j) * មួយឆ្នាំដែលមានលេខសៀរៀល y គឺជាឆ្នាំបង្គ្រប់ (ឆ្នាំគឺជាឆ្នាំបង្គ្រប់ ប្រសិនបើលេខរបស់វាជាពហុគុណនៃ 4 ប៉ុន្តែក្នុងចំណោមផលគុណនៃ 100 មានតែផលគុណនៃ 400 គឺជាឆ្នាំបង្គ្រប់ ឧទាហរណ៍ 1700, 1800 ហើយឆ្នាំ 1900 គឺជាឆ្នាំមិនបង្គ្រប់ 2000 គឺជាឆ្នាំបង្គ្រប់)។

  6. គូរលើប្លង់ (x, y) លើផ្ទៃមួយ ដែលកន្សោមដែលបានបញ្ជាក់គឺពិត៖

    ក)* (y>=x) និង (y+x>=0) និង (y<=1);

    ខ) (sqr(x)+sqr(y)<1) or (y>0) និង (abs(x))<=1);

    គ) (trunc(y)=0 និង (round(x)=0);

    ឃ)* (abs(x)<=1)>(abs(y)>=1);

    e) (sqr(x)+sqr(y)<=4)=(y<=x).

  7. មានប្រតិបត្តិករតាមលក្ខខណ្ឌ៖
    ប្រសិនបើ ឃ<>10
    បន្ទាប់មក
    writeln('ហូរ៉ាយ!')
    ផ្សេងទៀត។
    writeln('អាក្រក់...');

    តើវាអាចទៅរួចទេក្នុងការជំនួសវាដោយសេចក្តីថ្លែងការណ៍ខាងក្រោម៖

  8. តើអ្វីនឹងជាតម្លៃនៃអថេរ j,k បន្ទាប់ពីការប្រតិបត្តិនៃសេចក្តីថ្លែងការណ៍តាមលក្ខខណ្ឌ៖
    ប្រសិនបើ j>k
    បន្ទាប់មក
    j:=k-2
    ផ្សេងទៀត។
    dec(k,2);
    ប្រសិនបើតម្លៃដំបូងនៃអថេរគឺស្មើគ្នា៖
    ក) j=3, k=5;
    ខ) j=3, k=3;
    គ) j=3, k=2 ។

ចំណាំ . ជាលទ្ធផលនៃសេចក្តីថ្លែងការណ៍ dec (k,2) តម្លៃនៃអថេរ k ត្រូវបានថយចុះដោយ 2 ។

ជ្រើសរើសជាមួយគ្រូនូវកិច្ចការសម្រាប់ធ្វើការងារឯករាជ្យពីលំហាត់ខាងក្រោម។

1. គណនាតម្លៃនៃកន្សោម៖

ក) sqr(x)+sqr(y)<=4 при x=0.3, y=-1.6;

ខ) k mod 7 = k div5-1 នៅ k=15;

គ) សេស(trunc(10*p)) នៅ p=0.182;

ឃ) មិនសេស (n) សម្រាប់ n=0;

e) t និង (p mod 3=0) នៅ t=true, p=101010;

e) (x*y<>0) និង (y>x) ជាមួយ x=2, y=1;

g) (x*y<>0) ឬ (y>x) នៅពេល x=2, y=1;

h) a ឬ (មិន b) ជាមួយ a=False, b=True;

2. សរសេរក្នុង Pascal នូវទំនាក់ទំនងដែលពិត ប្រសិនបើលក្ខខណ្ឌដែលបានបញ្ជាក់ត្រូវបានបំពេញ ហើយមិនពិត៖

ក) ចំនួនគត់ k ត្រូវបានបែងចែកដោយ 7;

ខ) សមីការមិនមានឫសគល់ពិតប្រាកដ។

គ) ចំណុច (x, y) ស្ថិតនៅក្រៅរង្វង់នៃកាំ R ដែលស្ថិតនៅកណ្តាលចំណុច (1,0);

ឃ) លេខធម្មជាតិ N គឺជាការ៉េនៃចំនួនធម្មជាតិ។

e) x=max(x,y,z);

g) (កុំប្រើការមិនដំណើរការ)

h) យ៉ាងហោចណាស់អថេរតក្កមួយ a និង b គឺពិត;

i) អថេរតក្កវិជ្ជា a និង b គឺពិត។

3. បញ្ជាក់លំដាប់ដែលប្រតិបត្តិការត្រូវបានអនុវត្តនៅពេលវាយតម្លៃកន្សោម៖

ក) a និង b ឬមិន c និង d;

b) (x>=0) ឬមិន c និង d ។

4. គណនាកន្សោមខាងក្រោមជាមួយ a=True, b=False៖

ក) a ឬ b និងមិនមែន a;

b) (a ឬ b) និងមិនមែន a;

គ) មិនមែន a និង b;

ឃ) មិនមែន (a និង b)

5. សរសេរកន្សោមនៅក្នុង Pascal ថាជាការពិត ប្រសិនបើលក្ខខណ្ឌដែលបានបញ្ជាក់ត្រូវបានបំពេញ ហើយមិនពិត៖

ក) x ជាកម្មសិទ្ធិរបស់ផ្នែក;

ខ) x ស្ថិតនៅខាងក្រៅផ្នែក;

គ) * x ជាកម្មសិទ្ធិរបស់ផ្នែក ឬ [-1, 1];

d) * x ស្ថិតនៅខាងក្រៅផ្នែក និង [-1, 1];

e) លេខនីមួយៗ x, y, z គឺវិជ្ជមាន;

g) គ្មានលេខ x, y, z គឺវិជ្ជមាន;

h) មានតែលេខមួយគត់ x, y, z គឺវិជ្ជមាន។

i) boolean variable a មានតម្លៃ True អថេរ boolean b មានតម្លៃ False;

j) * មួយឆ្នាំដែលមានលេខសៀរៀល y គឺជាឆ្នាំបង្គ្រប់ (មួយឆ្នាំជាឆ្នាំបង្គ្រប់ ប្រសិនបើលេខរបស់វាជាពហុគុណនៃ 4 ប៉ុន្តែក្នុងចំណោមផលគុណនៃ 100 មានតែគុណនៃ 400 គឺជាឆ្នាំបង្គ្រប់ ឧទាហរណ៍ 1700 ។ 1800 និង 1900 គឺជាឆ្នាំមិនបង្គ្រប់ 2000 គឺជាឆ្នាំបង្គ្រប់)។

6. គូរនៅលើយន្តហោះ (x, y) ផ្ទៃដែលនិងតែនៅក្នុងកន្សោមដែលបានបញ្ជាក់គឺពិត៖

ក)* (y>=x) និង (y+x>=0) និង (y<=1);

ខ) (sqr(x)+sqr(y)<1) or (y>0) និង (abs(x))<=1);

គ) (trunc(y)=0 និង (round(x)=0);

ឃ)* (abs(x)<=1)>(abs(y)>=1);

e) (sqr(x)+sqr(y)<=4)=(y<=x).

៧) មានប្រតិបត្តិករតាមលក្ខខណ្ឌ៖

writeln('ហូរ៉ាយ!')

writeln('អាក្រក់...')

តើវាអាចទៅរួចទេក្នុងការជំនួសវាដោយសេចក្តីថ្លែងការណ៍ខាងក្រោម៖

ក) ប្រសិនបើ d=10 ខ) បើមិន (d=10)

writeln ('hooray!') writeln ('hooray!')

writeln('អាក្រក់...'); writeln('អាក្រក់...');

គ) បើមិន (d=10) d) បើមិន (d<>10)

writeln ('bad...') writeln ('bad...')

writeln('ហូរ៉ាយ!'); writeln('ហូរ៉ាយ!');

៨) តើអ្វីនឹងជាតម្លៃនៃអថេរ j, k បន្ទាប់ពីការប្រតិបត្តិនៃសេចក្តីថ្លែងការណ៍តាមលក្ខខណ្ឌ៖

ប្រសិនបើតម្លៃដំបូងនៃអថេរគឺស្មើគ្នា៖

ចំណាំ. ជាលទ្ធផលនៃសេចក្តីថ្លែងការណ៍ dec (k,2) តម្លៃនៃអថេរ k ត្រូវបានថយចុះដោយ 2 ។

. Xជាកម្មសិទ្ធិរបស់ផ្នែក;
x ស្ថិតនៅខាងក្រៅផ្នែក;
x ជាកម្មសិទ្ធិរបស់ផ្នែក ឬ [-1,1];
x ស្ថិតនៅខាងក្រៅផ្នែក ឬ [-1,1] ។
3.
ពន្យល់ពីរចនាសម្ព័ន្ធ និងច្បាប់សម្រាប់អនុវត្តសេចក្តីថ្លែងការតាមលក្ខខណ្ឌ។
4.
សរសេរសកម្មភាពដែលបានបញ្ជាក់ជាសេចក្តីថ្លែងការណ៍តាមលក្ខខណ្ឌតែមួយ៖
cos
2
xនៅ 0x នៅ =
១-បាប
2
xបើមិនដូច្នេះទេ
5.
z
int z=0, x=1, y=

1;

80 ក្បួនដោះស្រាយលីនេអ៊ែរសរសេរកម្មវិធីនៅក្នុងប្រព័ន្ធ អ្នកបង្កើត C++
ប្រសិនបើ (x> 0) ប្រសិនបើ (y> 0) z = 1; ផ្សេងទៀត z=2;
6.
តើអថេរនឹងមានតម្លៃអ្វីខ្លះ zបន្ទាប់ពីអនុវត្តសេចក្តីថ្លែងការណ៍៖
int z=0, x=

1,y=1;
ប្រសិនបើ (x) (ប្រសិនបើ (y> 0) z = 1;) ផ្សេងទៀត z = 2;
7.
តើអថេរនឹងមានតម្លៃអ្វីខ្លះ zបន្ទាប់ពីអនុវត្តសេចក្តីថ្លែងការណ៍៖
int z=0, x=0, y=1;
ប្រសិនបើ (x) (ប្រសិនបើ (y> 0) z = 1;) ផ្សេងទៀត z = 2;
8.
តើអថេរនឹងមានតម្លៃអ្វីខ្លះ zបន្ទាប់ពីអនុវត្តសេចក្តីថ្លែងការណ៍៖
int z=0, x=3, y=1;
ប្រសិនបើ (x) (ប្រសិនបើ (y) z = 1;) ផ្សេងទៀត z = 2;
9.
បញ្ជាក់កំហុសនៅក្នុងសេចក្តីថ្លែងការណ៍ខាងក្រោម៖
ប្រសិនបើ (1
elsex=0; y+= 1;
10.
int z=0, x=0, y=1;
ប្រសិនបើ (!x) (ប្រសិនបើ (!(y

1)) z=1;) else z=2;
11.
តើអថេរ z នឹងមានតម្លៃប៉ុន្មានបន្ទាប់ពីប្រតិបត្តិសេចក្តីថ្លែងការ៖
int z=0, x=1, y=1;
ប្រសិនបើ (!x) (ប្រសិនបើ (!(y

1)) z=1;) else z=2;
12.
ស្វែងរកកំហុសនៅក្នុងផ្នែកកម្មវិធី៖
(int n,x; switch (k) case + : x:=x-4 break; case

-

,

*

,x=5;
}
តើ​ច្បាប់​ណា​ខ្លះ​ដែល​បំពាន ហើយ​តើ​អាច​កែ​កំហុស​ដោយ​របៀប​ណា?


81
3.4
កិច្ចការបុគ្គលសម្រាប់ផ្នែកទី 3
សិស្សម្នាក់ៗត្រូវដោះស្រាយបញ្ហាពីរនៃភាពស្មុគស្មាញកម្រិតទីមួយ និងទីពីរ។
ភារកិច្ចនៃកម្រិតដំបូងនៃភាពស្មុគស្មាញ។
1.
អ្នកត្រូវបានផ្តល់ចំនួនគត់វិជ្ជមានបួនខ្ទង់។ សរសេរកម្មវិធីដែលបោះពុម្ព ពិតមិនពិតអាស្រ័យលើថាតើលក្ខខណ្ឌដែលបានបញ្ជាក់ត្រូវបានបំពេញឬអត់៖ ផលបូកនៃខ្ទង់ទី 1 និងទី 4 គឺស្មើនឹងផលិតផលនៃខ្ទង់ទី 2 និងទី 3 ។
2.
ចំនួនពិត x, y ត្រូវបានផ្តល់ឱ្យ។ ប្រសិនបើ x និង y គឺអវិជ្ជមាន បន្ទាប់មកជំនួសតម្លៃនីមួយៗដោយម៉ូឌុលរបស់វា; ប្រសិនបើមានតែមួយក្នុងចំណោមពួកគេគឺអវិជ្ជមានបន្ទាប់មកបង្កើនតម្លៃទាំងពីរដោយ 5.5; ក្នុងករណីផ្សេងទៀតតម្លៃទាំងពីរគួរតែត្រូវបានកាត់បន្ថយ 10 ដង។
3.
ចំនួនពិត x, y ត្រូវបានផ្តល់ឱ្យ។ ប្រសិនបើ x និង y គឺវិជ្ជមាន បន្ទាប់មកបន្ថយតម្លៃនីមួយៗដោយកត្តា 5; ប្រសិនបើតម្លៃទាំងពីរស្ថិតនៅក្នុងជួរ [-3, 9] នោះតម្លៃទាំងពីរគួរតែត្រូវបានជំនួសដោយ 0; បើមិនដូច្នោះទេ x និង y កើនឡើង 3 ។
4.
ចំនួនពិត x, y (xy) ត្រូវបានផ្តល់ឱ្យ។ ជំនួសលេខតូចនៃលេខទាំងពីរនេះជាមួយនឹងផលបូកពាក់កណ្តាលរបស់ពួកគេ ហើយលេខធំជាងជាមួយនឹងផលិតផលទ្វេរដងរបស់ពួកគេ។
5.
ប្រសិនបើផលបូកនៃចំនួនពិតផ្សេងគ្នាចំនួនបីគូ x, y, z គឺតិចជាង 1 នោះចំនួនតូចបំផុតនៃចំនួនទាំងបីនេះត្រូវបានជំនួសដោយផលបូកពាក់កណ្តាលនៃចំនួនពីរផ្សេងទៀត។ បើមិនដូច្នេះទេ ជំនួសចំនួនតូចនៃ x និង y ដោយពាក់កណ្តាលនៃផលបូកនៃតម្លៃទាំងពីរដែលនៅសល់។
6.
លេខពិត a, b, c, d ត្រូវបានផ្តល់ឱ្យ។ ប្រសិនបើ ក b>c>d បន្ទាប់មកទុកលេខមិនផ្លាស់ប្តូរ។ បើមិនដូច្នេះទេ ជំនួសលេខទាំងអស់ដោយការ៉េរបស់ពួកគេ។
7.
កំណត់ថាតើចំនួនគត់ប្រាំមួយខ្ទង់មានសំណាង។ (លេខមួយត្រូវបានគេហៅថាសំណាង ប្រសិនបើផលបូកនៃបីខ្ទង់ដំបូងរបស់វាស្មើនឹងផលបូកនៃលេខបីខ្ទង់ចុងក្រោយរបស់វា។ )
8.
ពិតមិនពិតអាស្រ័យលើថាតើលក្ខខណ្ឌដែលបានបញ្ជាក់គឺពេញចិត្តឬអត់៖ សម្រាប់ចំនួនពិតតាមអំពើចិត្ត a, b, c កំណត់ថាតើអ័ក្សសមីការ
2
+bx+c=0 យ៉ាងហោចណាស់ដំណោះស្រាយពិតប្រាកដមួយ។

82 ក្បួនដោះស្រាយលីនេអ៊ែរកម្មវិធីក្នុងប្រព័ន្ធ អ្នកបង្កើត C++
9.
ដើម្បីដោះស្រាយបញ្ហាខាងក្រោម សូមសរសេរកម្មវិធីដែលបោះពុម្ព ពិតមិនពិតអាស្រ័យលើថាតើលក្ខខណ្ឌដែលបានបញ្ជាក់ត្រូវបានបំពេញឬអត់៖ ដើម្បីកំណត់ថាតើផលបូកនៃលេខពីរខ្ទង់ដំបូងនៃលេខបួនខ្ទង់ដែលបានផ្តល់ឱ្យគឺស្មើនឹងផលបូកនៃលេខចុងក្រោយពីររបស់វា។
10.
សាលារៀនមួយចំនួនមានគោលការណ៍ចូលរៀនដូចខាងក្រោម។ បេក្ខជនត្រូវប្រឡងចំនួនពីរ ដែលត្រូវបានចាត់ថ្នាក់តាម
100 ពិន្ទុ។ ប្រសិនបើអ្នកដាក់ពាក្យទទួលបានពិន្ទុយ៉ាងហោចណាស់ 150 នោះវាផ្តល់សិទ្ធិក្នុងការចូលទៅក្នុងនាយកដ្ឋានថ្ងៃពី 100 ទៅ 149 - ទៅនាយកដ្ឋានពេលល្ងាច។ ក្រោម 100 ពិន្ទុមានន័យថាបដិសេធការចូលរៀន។ សរសេរកម្មវិធីដែលអាស្រ័យលើចំនួនពិន្ទុដែលទទួលបាន ជូនដំណឹងដល់បេក្ខជនអំពីសិទ្ធិក្នុងការចុះឈ្មោះ។
11.
សរសេរកម្មវិធីមួយដោយប្រើសញ្ញាបញ្ជាជ្រើសរើស ដែលអនុញ្ញាតឱ្យអ្នកទទួលបានការពិពណ៌នាពាក្យសំដីនៃសញ្ញាសម្គាល់។ (1 - "អាក្រក់", 2 -
"មិនពេញចិត្ត", 3 - "ពេញចិត្ត", 4 - "ល្អ", 5 -
"អស្ចារ្យ")
12.
ដើម្បីដោះស្រាយបញ្ហាខាងក្រោម សូមសរសេរកម្មវិធីដែលបោះពុម្ព ពិតមិនពិតអាស្រ័យលើថាតើលក្ខខណ្ឌដែលបានបញ្ជាក់ត្រូវបានបំពេញឬអត់៖ ដើម្បីកំណត់ថាតើក្នុងចំណោមខ្ទង់នៃលេខបីខ្ទង់ដែលបានផ្តល់ឱ្យគឺដូចគ្នា។
13.
សរសេរកម្មវិធីដែលបោះពុម្ព ពិតប្រសិនបើកាលបរិច្ឆេទ d1, m1មុន (ក្នុងរយៈពេលមួយឆ្នាំ) កាលបរិច្ឆេទ d2, m2និងអត្ថន័យ មិនពិតបើមិនដូច្នេះទេ
14.
សរសេរកម្មវិធីដោយប្រើសេចក្តីថ្លែងការណ៍ជ្រើសរើសដែលបង្ហាញឈ្មោះពេញដោយអក្សរទីមួយនៃឈ្មោះ។
(Ivan, Peter, Nikolai, Vladimir, George) ។
15.
សរសេរកម្មវិធីដោយប្រើសញ្ញាប្រមាណវិធីជ្រើសរើស ដែលផ្តល់លេខបញ្ចូល 0≤ k≤ 5 បោះពុម្ពឈ្មោះនៃតួលេខនេះជាភាសារុស្សី និងភាសាអង់គ្លេស។
16.
ផ្តល់ចំនួនគត់ k (1

k

៣៦៥)។ កំណត់ថាតើថ្ងៃ k-th នៃឆ្នាំនឹងជាថ្ងៃចុងសប្តាហ៍ ឬថ្ងៃធ្វើការ ប្រសិនបើថ្ងៃទី 1 ខែមករា ជាថ្ងៃច័ន្ទ។
17.
ផ្តល់លេខពិត x. គណនា fប្រសិនបើ៖











អំពើបាប
,
1 0
,
0 5
2 11 2
ករណី
នៅសល់
ក្នុង
x
x
x
នៅ
x
x
x
នៅ
f

ការសរសេរកម្មវិធីជាមួយអារេមួយវិមាត្រ
83 18.
ផ្តល់លេខពិត x. សរសេរកម្មវិធីដើម្បីគណនា f:












34 5
,
12 3
lg ln
,
3 5
1 3
2 4
ករណី
នៅសល់
ក្នុង
x
x
x
នៅ
x
x
x
នៅ
f
19.
សរសេរកម្មវិធីដោយប្រើប្រតិបត្តិករជ្រើសរើសដែលតាមអក្សរទីមួយនៃឈ្មោះទីក្រុងបង្ហាញឈ្មោះទីក្រុងពេញលេញ (Kursk, Moscow, Tula, Novgorod, Voronezh) ។
20.
សរសេរកម្មវិធីដោយប្រើសេចក្តីថ្លែងការណ៍ជ្រើសរើសដែលបង្ហាញឈ្មោះពេញដោយអក្សរទីមួយនៃនាមត្រកូល (Ivanov, Petrov, Sidorov, Myshkin, Shishkin) ។
21.
ផ្តល់កូអរដោនេនៃកណ្តាលនិងកាំនៃរង្វង់។ កំណត់ថាតើចំណុចជាក់លាក់មួយដែលមានកូអរដោនេ (x,y) ជារបស់រង្វង់។
22.
សរសេរកម្មវិធីដោយប្រើសេចក្តីថ្លែងការណ៍ជ្រើសរើសដែលនឹងបោះពុម្ពឈ្មោះពេញរបស់សត្វ (ឆ្កែ ឆ្មា សត្វហ្សីរ៉ាហ្វ សេះ ស្វា) ដែលផ្តល់ឲ្យអក្សរទីមួយនៃឈ្មោះសត្វ។
23.
ផ្តល់លេខបីផ្សេងគ្នា a,b,c. តម្រៀបលេខទាំងនេះតាមលំដាប់ឡើង ត្រូវគ្នាទៅនឹងចំនួនតូចបំផុត - ចំនួន​មធ្យម - ធំបំផុត។
24.
សរសេរកម្មវិធីដោយប្រើសេចក្តីថ្លែងការណ៍ជ្រើសរើសដែលតាមលេខ (ពី 1 ដល់ 7) បង្ហាញឈ្មោះថ្ងៃនៃសប្តាហ៍។
25.
សរសេរកម្មវិធីដោយប្រើសេចក្តីថ្លែងការណ៍ជ្រើសរើសដែលតាមលេខ (ពី 1 ដល់ 12) បង្ហាញឈ្មោះខែនៃឆ្នាំ។
26.
សរសេរកម្មវិធីដោយប្រើសេចក្តីថ្លែងការណ៍ជ្រើសរើស ដែលផ្តល់អក្សរទីមួយនៃឈ្មោះរដូវកាលនៃឆ្នាំ បោះពុម្ពឈ្មោះពេញនៃរដូវកាលនៃឆ្នាំ។
27.
អ្នកត្រូវបានផ្តល់ចំនួនគត់វិជ្ជមានប្រាំខ្ទង់។ សរសេរកម្មវិធីដែលបោះពុម្ព ពិតមិនពិតអាស្រ័យលើថាតើលក្ខខណ្ឌដែលបានបញ្ជាក់ត្រូវបានបំពេញឬអត់៖ ផលបូកនៃខ្ទង់ទី 1 ទី 3 និងទី 5 គឺធំជាងផលិតផលនៃខ្ទង់ទី 2 និងទី 4 ។
28.
អ្នកត្រូវបានផ្តល់ចំនួនគត់វិជ្ជមានបួនខ្ទង់។ សរសេរកម្មវិធីដែលបោះពុម្ព ពិតមិនពិតអាស្រ័យលើថាតើ

84 ការសរសេរកម្មវិធី ក្បួនដោះស្រាយលីនេអ៊ែរ នៅក្នុងប្រព័ន្ធ អ្នកបង្កើត C++ ថាតើលក្ខខណ្ឌដែលបានបញ្ជាក់ត្រូវបានបំពេញ៖ មធ្យមនព្វន្ធ 1 និង
4 ខ្ទង់គឺច្រើនជាងផលបូកនៃ 2 និង 3 ខ្ទង់។
29.
ផ្តល់លេខខ្ទង់ និងលេខបីខ្ទង់ក្នុងសញ្ញាទសភាគ។ ប្រសិនបើលេខត្រូវគ្នានឹងខ្ទង់ខ្ពស់បំផុតនៃចំនួននោះ ចូរគណនាផលបូកនៃខ្ទង់នៃលេខ។ ប្រសិនបើខ្ទង់ត្រូវគ្នានឹងខ្ទង់កណ្តាលនៃលេខនោះ ចូរគណនាផលគុណនៃខ្ទង់នៃលេខ។ ប្រសិនបើខ្ទង់ត្រូវគ្នានឹងខ្ទង់តិចបំផុតនៃចំនួននោះ ចូរគណនាមធ្យមនព្វន្ធនៃខ្ទង់នៃលេខ។ ប្រសិនបើ​គ្មាន​លក្ខខណ្ឌ​ណា​មួយ​ត្រូវ​បាន​បំពេញ​ទេ នោះ​ត្រូវ​គណនា​មធ្យម​ធរណីមាត្រ​នៃ​ខ្ទង់​នៃ​លេខ។
30.
ផ្តល់លេខខ្ទង់ និងលេខបីខ្ទង់ក្នុងសញ្ញាទសភាគ។ ប្រសិនបើខ្ទង់ត្រូវគ្នានឹងខ្ទង់ខ្ពស់បំផុតនៃលេខនោះ ចូរគណនាមធ្យមនព្វន្ធនៃខ្ទង់នៃលេខ។ ប្រសិនបើខ្ទង់ស្របគ្នានឹងខ្ទង់កណ្តាលនៃលេខនោះ ចូរគណនាមធ្យមធរណីមាត្រនៃខ្ទង់នៃលេខ។ ប្រសិនបើលេខត្រូវគ្នានឹងខ្ទង់តិចបំផុតនៃចំនួននោះ ចូរគណនាផលបូកនៃខ្ទង់នៃលេខ។ ប្រសិនបើគ្មានលក្ខខណ្ឌណាមួយត្រូវបានបំពេញទេនោះ ចូរគណនាផលិតផលនៃខ្ទង់នៃលេខ
ភារកិច្ចនៃកម្រិតទីពីរនៃភាពស្មុគស្មាញ។
1.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខ ternary ។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះខ្ទង់នៃលេខជាភាសារុស្សី ប្រសិនបើខ្ទង់ខ្ពស់បំផុតនៃលេខធំជាងកូនពៅ បើមិនដូច្នេះទេ
- ជា​ភាសាអង់គ្លេស។
2.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខប្រាំខ្ទង់។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះខ្ទង់នៃលេខជាភាសាអង់គ្លេស ប្រសិនបើខ្ទង់ខ្ពស់បំផុតនៃលេខធំជាងលេខទាបបំផុត បើមិនដូច្នេះទេ
- នៅ​ក្នុង​ប្រទេស​រុស្ស៊ី។
3.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខប្រាំខ្ទង់។ សរសេរកម្មវិធីដែលបោះពុម្ពឈ្មោះខ្ទង់នៃលេខជាភាសាអង់គ្លេស ប្រសិនបើខ្ទង់ខ្ពស់បំផុតនៃលេខពិតប្រាកដ 2 ដងនៃខ្ទង់ទាបបំផុត បើមិនដូច្នេះទេ
- នៅ​ក្នុង​ប្រទេស​រុស្ស៊ី។
4.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខ ternary ។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះខ្ទង់នៃលេខជាភាសារុស្សី ប្រសិនបើខ្ទង់ខ្ពស់បំផុតនៃលេខគឺតិចជាងលេខទាបបំផុត បើមិនដូច្នេះទេ
- ជា​ភាសាអង់គ្លេស។

ការសរសេរកម្មវិធីជាមួយអារេមួយវិមាត្រ
85 5.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខប្រាំខ្ទង់។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះខ្ទង់នៃលេខជាភាសារុស្សី។
6.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខគោលប្រាំបី។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះខ្ទង់នៃលេខជាភាសារុស្សី។
7.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខគោលប្រាំបី។ សរសេរកម្មវិធីដែលបង្ហាញ ប្រសិនបើខ្ទង់ខ្ពស់បំផុតតិចជាងពាក់កណ្តាលខ្ទង់ទាបបំផុត ឈ្មោះនៃខ្ទង់នៃលេខជាភាសាអង់គ្លេស បើមិនដូច្នេះទេ

នៅ​ក្នុង​ប្រទេស​រុស្ស៊ី។
8.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខ septimal ។ សរសេរកម្មវិធីដែលបង្ហាញ ប្រសិនបើលេខតាមលំដាប់ចុះ ឈ្មោះខ្ទង់នៃលេខជាភាសាអង់គ្លេស បើមិនដូច្នេះទេ

នៅ​ក្នុង​ប្រទេស​រុស្ស៊ី។
9.
អ្នកត្រូវបានផ្តល់លេខពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខទសភាគ។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះជាភាសាអង់គ្លេសនៃខ្ទង់នៃផលបូកនៃខ្ទង់ទាំងនេះ។
10.
អ្នកត្រូវបានផ្តល់លេខពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខទសភាគ។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះជាភាសារុស្សីនៃខ្ទង់នៃផលិតផលនៃខ្ទង់ទាំងនេះ។
11.
អ្នកត្រូវបានផ្តល់លេខពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខទសភាគ។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះជាភាសារុស្សីនៃខ្ទង់នៃម៉ូឌុលនៃភាពខុសគ្នានៃខ្ទង់ទាំងនេះ។
12.
អ្នកត្រូវបានផ្តល់លេខពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខទសភាគ។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះខ្ទង់ជាភាសាអង់គ្លេសនៃចំនួនកូតានិក និងផ្នែកដែលនៅសល់នៃចំនួនគត់នៃលេខទាំងនេះ។
13.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខទសភាគ។ សរសេរកម្មវិធីដែលបង្ហាញ ប្រសិនបើខ្ទង់ខ្ពស់បំផុតគឺបីដងនៃខ្ទង់ទាបបំផុត ឈ្មោះនៃខ្ទង់នៃលេខជាភាសាអង់គ្លេស បើមិនដូច្នេះទេ

នៅ​ក្នុង​ប្រទេស​រុស្ស៊ី។
14.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខទសភាគ។ សរសេរកម្មវិធីដែលបោះពុម្ពឈ្មោះខ្ទង់នៃលេខដែលមានតម្លៃធំជាងជាភាសាអង់គ្លេស និងឈ្មោះខ្ទង់នៃលេខដែលមានតម្លៃតូចជាង។

នៅ​ក្នុង​ប្រទេស​រុស្ស៊ី។

86 ក្បួនដោះស្រាយលីនេអ៊ែរសរសេរកម្មវិធីនៅក្នុងប្រព័ន្ធ អ្នកបង្កើត C++
15.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខ septimal ។ សរសេរកម្មវិធីដែលបោះពុម្ពឈ្មោះខ្ទង់នៃលេខដែលមានតម្លៃធំជាងជាភាសាអង់គ្លេស និងឈ្មោះខ្ទង់នៃលេខដែលមានតម្លៃតូចជាង។

នៅ​ក្នុង​ប្រទេស​រុស្ស៊ី។
16.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខគោលដប់ប្រាំមួយ។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះខ្ទង់នៃលេខជាភាសាអង់គ្លេស។
17.
បានផ្តល់ចំនួនគត់ចំនួនពីរខ្ទង់វិជ្ជមាននៅក្នុងប្រព័ន្ធលេខ ternary ។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះខ្ទង់នៃផលបូកនៃលេខទាំងនេះជាភាសារុស្សី។
18.
ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខគោលពីរត្រូវបានផ្តល់ឱ្យ។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះខ្ទង់នៃផលបូកនៃលេខទាំងនេះជាភាសាអង់គ្លេស។
19.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខប្រាំខ្ទង់។ សរសេរកម្មវិធីដែលបង្ហាញ ប្រសិនបើលេខតាមលំដាប់ឡើង ឈ្មោះខ្ទង់នៃលេខជាភាសាអង់គ្លេស បើមិនដូច្នេះទេ

នៅ​ក្នុង​ប្រទេស​រុស្ស៊ី។
20.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខគោលដប់ប្រាំមួយ។ សរសេរកម្មវិធីដែលបង្ហាញ ប្រសិនបើខ្ទង់ខ្ពស់បំផុតគឺប្រាំដងនៃខ្ទង់ទាបបំផុត ឈ្មោះនៃខ្ទង់នៃលេខជាភាសារុស្សី បើមិនដូច្នោះទេ

ជា​ភាសាអង់គ្លេស។
21.
លេខពីរខ្ទង់ត្រូវបានផ្តល់នៅក្នុងប្រព័ន្ធលេខគោលប្រាំបី។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះជាភាសារុស្សីនៃខ្ទង់នៃម៉ូឌុលនៃភាពខុសគ្នានៃខ្ទង់ទាំងនេះ។
22.
លេខពីរខ្ទង់ត្រូវបានផ្តល់នៅក្នុងប្រព័ន្ធលេខគោលប្រាំបី។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះជាភាសារុស្សីនៃខ្ទង់នៃផលបូកនៃខ្ទង់ទាំងពីរនេះ។
23.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខ septimal ។ សរសេរកម្មវិធីដែលបង្ហាញ ប្រសិនបើខ្ទង់ខ្ពស់បំផុតគឺបីដងទាបបំផុត ឈ្មោះនៃខ្ទង់នៃលេខជាភាសារុស្សី បើមិនដូច្នេះទេ

ជា​ភាសាអង់គ្លេស។
24.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខគោលប្រាំបី។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះខ្ទង់នៃលេខដែលមានតម្លៃធំជាងជាភាសារុស្សី និងក្នុង

ការសរសេរកម្មវិធីជាមួយអារេមួយវិមាត្រ
87 ចំណាត់ថ្នាក់នៃខ្ទង់នៃលេខដែលមានតម្លៃទាបបំផុត,

ជា​ភាសាអង់គ្លេស។
25.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខ septimal ។ សរសេរកម្មវិធីដែលបោះពុម្ពឈ្មោះខ្ទង់នៃលេខដែលមានតម្លៃតិចជាង 4 ជាភាសារុស្សី ហើយឈ្មោះខ្ទង់នៃលេខដែលមានតម្លៃធំជាង ឬស្មើ 4 ។

ជា​ភាសាអង់គ្លេស។
26.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខគោលដប់ប្រាំមួយ។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះខ្ទង់នៃលេខដែលមានតម្លៃតិចជាង 3 ជាភាសារុស្សី និងឈ្មោះខ្ទង់នៃលេខដែលមានតម្លៃធំជាង ឬស្មើ 3 ។

ជា​ភាសាអង់គ្លេស។
27.
ផ្តល់អក្សរពីរដំបូង (អក្សរតូច និងអក្សរធំ) នៃឈ្មោះខែនៃឆ្នាំ។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះពេញនៃខែនៃឆ្នាំជាភាសារុស្សី។
28.
ផ្តល់អក្សរពីរដំបូង (អក្សរតូច និងអក្សរធំ) នៃឈ្មោះថ្ងៃនៃសប្តាហ៍។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះពេញនៃថ្ងៃនៃសប្តាហ៍ជាភាសារុស្សី។
29.
នៅក្នុងប្រតិទិនជប៉ុនចាស់ វដ្ដ 60 ឆ្នាំត្រូវបានអនុម័ត ដែលមានវដ្តរង 12 ឆ្នាំ។ កង់រងត្រូវបានកំណត់តាមពណ៌៖ បៃតង ក្រហម លឿង ស និងខ្មៅ។ នៅក្នុងវដ្តរងនីមួយៗ ឆ្នាំត្រូវបានគេដាក់ឈ្មោះតាមសត្វ៖ កណ្តុរ គោ ខ្លា ទន្សាយ នាគ ពស់ សេះ ចៀម ស្វា មាន់ ឆ្កែ និងជ្រូក (១៩៨៤ - ឆ្នាំនៃកណ្តុរបៃតង - គឺជាការចាប់ផ្តើមនៃ វដ្តបន្ទាប់) ។ សរសេរកម្មវិធីដែលបញ្ចូលចំនួនឆ្នាំជាក់លាក់នៃយុគសម័យរបស់យើង ហើយបោះពុម្ពឈ្មោះរបស់វាតាមប្រតិទិនជប៉ុនចាស់។
30.
ផ្តល់ចំនួនគត់វិជ្ជមានពីរខ្ទង់នៅក្នុងប្រព័ន្ធលេខទសភាគ។ សរសេរកម្មវិធីដែលបង្ហាញឈ្មោះខ្ទង់នៃលេខដែលមានតម្លៃធំជាង 5 ជាភាសារុស្សី និងឈ្មោះខ្ទង់នៃលេខដែលមានតម្លៃតិចជាង ឬស្មើ 5 ។

ជា​ភាសាអង់គ្លេស។

88 ការសរសេរកម្មវិធីក្បួនដោះស្រាយលីនេអ៊ែរនៅក្នុងប្រព័ន្ធ អ្នកបង្កើត C++
4 ការ​រៀបចំ​កម្មវិធី​ស៊ី​វិល​
ALGORITHMS នៅក្នុងប្រព័ន្ធ C++ Builder
នៅក្នុងផ្នែកនេះ ការសិក្សាអំពីប្រតិបត្តិកររង្វិលជុំភាសាត្រូវបានអនុវត្ត។
C++, ទទួលបានជំនាញក្នុងការសរសេរកម្មវិធីក្បួនដោះស្រាយវដ្ត, ការណែនាំ
បាទ/ចាស ការចងក្រង និងបំបាត់កំហុសកម្មវិធី។
4.1
គំនិតជាមូលដ្ឋាន
នៅលើអណ្តាត អ្នកបង្កើត C++ មានសេចក្តីថ្លែងការណ៍រង្វិលជុំចំនួនបី៖
1.
រង្វិលជុំជាមួយលក្ខខណ្ឌជាមុន ( ខណៈពេលដែល);
2.
រង្វិលជុំជាមួយលក្ខខណ្ឌក្រោយ ( ធ្វើ);
3.
រង្វិលជុំជាមួយរាប់ ( សម្រាប់).
សេចក្តីថ្លែងការរង្វិលជុំជាមួយលក្ខខណ្ឌជាមុន ខណៈពេលដែល (រូបភាព ៤.១)៖
ខណៈពេលដែល(លក្ខខណ្ឌ) (តួរង្វិល)
រូបភាព 4.1

គ្រោងការណ៍នៃក្បួនដោះស្រាយប្រតិបត្តិកររង្វិលជុំ ខណៈពេលដែល
ប្រសិនបើលទ្ធផលនៃការវាយតម្លៃលក្ខខណ្ឌគឺ ពិត(ពិត) បន្ទាប់មកតួរង្វិលជុំត្រូវបានប្រតិបត្តិ ហើយការផ្លាស់ប្តូរទៅការត្រួតពិនិត្យលក្ខខណ្ឌត្រូវបានអនុវត្តម្តងទៀត។ ប្រសិនបើលទ្ធផលនៃការវាយតម្លៃលក្ខខណ្ឌគឺ មិនពិត(មិនពិត) បន្ទាប់មករង្វិលជុំចេញហើយលោតទៅសេចក្តីថ្លែងការណ៍បន្ទាប់ពីសេចក្តីថ្លែងការណ៍វដ្ត ខណៈពេលដែល.
ប្រសិនបើមុនពេលប្រតិបត្តិដំបូងនៃរង្វិលជុំតម្លៃនៃកន្សោមគឺ មិនពិតតួរង្វិលជុំមិនត្រូវបានប្រតិបត្តិទាល់តែសោះ ហើយការផ្លាស់ប្តូរទៅសេចក្តីថ្លែងការណ៍បន្ទាប់កើតឡើង។
លក្ខខណ្ឌ
រាងកាយរង្វិលជុំ
បាទ
ទេ។

ការសរសេរកម្មវិធីជាមួយអារេមួយវិមាត្រ
89
ឧទាហរណ៍៖
គណនាផលបូកនៃលេខសេសរវាង 1 និង 10 ។
( int k=1,s=0; while (k (s+=k; k+=2;
}
}
សេចក្តីថ្លែងការណ៍រង្វិលជុំជាមួយលក្ខខណ្ឌក្រោយ ធ្វើ (រូបភាព ៤.២)៖
ធ្វើ(ដងខ្លួនរង្វិលជុំ) ខណៈពេលដែល(លក្ខខណ្ឌ); បាទ គ្មានលក្ខខណ្ឌ
រាងកាយរង្វិលជុំ
រូបភាព 4.2

គ្រោងការណ៍នៃក្បួនដោះស្រាយប្រតិបត្តិកររង្វិលជុំ ធ្វើ… ខណៈ
លក្ខខណ្ឌគឺជាកន្សោមនៃប្រភេទប៊ូលីន តួរង្វិលជុំគឺជាសេចក្តីថ្លែងការណ៍សាមញ្ញមួយ ឬសមាសធាតុ។
តួសេចក្តីថ្លែងការរង្វិលជុំ

អថេរនៃប្រភេទប៊ូលីនត្រូវបានពិពណ៌នាដោយឧបករណ៍កំណត់អត្តសញ្ញាណ ប៊ូលីន . ពួកគេអាចយកតែតម្លៃពីរប៉ុណ្ណោះ - មិនពិត (មិនពិត)និង ពិត (ពិត). ពួកគេក៏ត្រូវបានពិពណ៌នានៅក្នុងផ្នែកប្រកាសអថេរផងដែរ។ វ៉ារ<имя>៖ ប៊ូលីន;

កន្សោមប៊ូលីនអាចរួមបញ្ចូល:

n ប៊ូលីន

n ប្រតិបត្តិការទំនាក់ទំនង (<- меньше, >- ច្រើនទៀត,<=- меньше или равно, >=- ធំជាង ឬស្មើ<>- មិនស្មើគ្នា, = - ស្មើ) ។

n ប្រតិបត្តិការឡូជីខល និង, ឬ, មិនមែន

n ភាពខុសគ្នា សកម្មភាព និងមុខងារ


Turbo Pascal មានប្រតិបត្តិការឡូជីខលដែលអាចត្រូវបានអនុវត្តចំពោះអថេរនៃប្រភេទប៊ូលីន។ ទាំង​នេះ​មិន​មែន​និង​ឬ​និង xor ប្រតិបត្តិការ។

ប្រតិបត្តិការ ទេ។(not) មាន operand មួយ ហើយបង្កើតជា logical negation របស់វា។ លទ្ធផលនៃប្រតិបត្តិការមិនមែន False ប្រសិនបើ operand ពិត និង True ប្រសិនបើ operand មិនពិត។ ដូច្នេះ មិនមែន True False (មិនពិតគឺជាការកុហក) មិនមែន False True (មិនពិតគឺពិត)។

លទ្ធផលប្រតិបត្តិការ និង(i) គឺពិតលុះត្រាតែប្រតិបត្តិករទាំងពីររបស់វាពិត និងមិនពិតនៅក្នុងករណីផ្សេងទៀតទាំងអស់ (ការគុណប៊ូលីន)។

លទ្ធផលប្រតិបត្តិការ (ឬ) គឺពិត ប្រសិនបើ operand ទាំងពីររបស់វាពិត ហើយមិនពិត លុះត្រាតែ operand ទាំងពីរមិនពិត (ការបន្ថែមឡូជីខល)។

ប្រតិបត្តិការឡូជីខល ទំនាក់ទំនង និងនព្វន្ធជារឿយៗកើតឡើងក្នុងកន្សោមដូចគ្នា។ ក្នុងករណីនេះ ទំនាក់ទំនងនៅខាងឆ្វេង និងខាងស្តាំនៃសញ្ញានៃប្រតិបត្តិការឡូជីខលត្រូវតែត្រូវបានរុំព័ទ្ធក្នុងតង្កៀប ចាប់តាំងពីប្រតិបត្តិការឡូជីខលមាន អាទិភាពខ្ពស់ជាង. ជាទូទៅ អាទិភាពនៃប្រតិបត្តិការខាងក្រោមត្រូវបានអនុម័ត៖

2. និង, *, /, div, mod

3. ឬ, +, -

4. ប្រតិបត្តិការទំនាក់ទំនង (<- меньше, >- ច្រើនទៀត,<=- меньше или равно, >=- ធំជាង ឬស្មើ<>- មិនស្មើគ្នា, = - ស្មើ) ។

លើសពីនេះទៀតលំដាប់នៃប្រតិបត្តិការអាចត្រូវបានផ្លាស់ប្តូរដោយវង់ក្រចក។ ជាឧទាហរណ៍ ក្នុងកន្សោមឡូជីខល យើងរៀបចំលំដាប់នៃសកម្មភាព៖

AorBandnot(AorB)


សញ្ញាវង់ក្រចក ឬប្រតិបត្តិករត្រូវបានប្រតិបត្តិជាដំបូង បន្ទាប់មកដោយសញ្ញាមិនមែន និង ឬប្រតិបត្តិករ។ ប្រសិនបើយើងជំនួសតម្លៃ True និង False ជំនួសឱ្យអថេរ A និង B នោះដោយប្រើនីតិវិធីដែលបានពិចារណារួចហើយ យើងទទួលបានតម្លៃនៃកន្សោមទាំងមូលស្មើនឹង True ។

លំហាត់ទី ៥៖ . សរសេរក្នុងសៀវភៅកត់ត្រា ហើយគណនាតម្លៃនៃកន្សោម

ជាមួយ a=10, b=20, c=true, d=false៖ ក)(a>5) និង (b>5) និង (a<20) and (b<30);

ខ)មិនមែន (ក<15) or not (b<30);

គ) c ឬ d និង (b=20) ។

ការយកចិត្តទុកដាក់ ! នៅក្នុង Pascal មិនមានវិធីដើម្បីបញ្ចូលទិន្នន័យប៊ូលីនដោយប្រើសេចក្តីថ្លែងការណ៍ដែលបានអាននោះទេ។ ទោះយ៉ាងណាក៏ដោយ លទ្ធផលនៃតម្លៃនៃអថេរនៃប្រភេទប៊ូលីនត្រូវបានផ្តល់ជូនដោយប្រើ ប្រតិបត្តិករសរសេរ។ ឧទាហរណ៍បន្ទាប់ពីប្រតិបត្តិការសរសេរ (5> 2) ប្រតិបត្តិករ True នឹងត្រូវបានបង្ហាញនៅលើអេក្រង់។

សំណួរ និងកិច្ចការផ្ទះ៖

1. តើ​អថេរ​ប៊ូលីន​ត្រូវ​បាន​ពិពណ៌នា​ដោយ​របៀប​ណា ហើយ​តើ​វា​អាច​យក​តម្លៃ​អ្វីខ្លះ?

2. អ្វីដែលអាចត្រូវបានរួមបញ្ចូលនៅក្នុងកន្សោមឡូជីខល។ ផ្តល់ឧទាហរណ៍នៃកន្សោមឡូជីខលសាមញ្ញ។

3. ប្រាប់យើងអំពីប្រតិបត្តិការឡូជីខលនៅក្នុង Pascal ។ ផ្តល់ឧទាហរណ៍នៃកន្សោមឡូជីខល។

4. តើអ្វីទៅជាអាទិភាពនៃប្រតិបត្តិការផ្សេងគ្នានៅក្នុង Pascal ។ ផ្តល់ឧទាហរណ៍មួយ។


ភារកិច្ច:

№19.

A. ចំនួនគត់ k ត្រូវបានបែងចែកដោយ 7;

C. យ៉ាងហោចណាស់ចំនួនគត់ x, y គឺគូ;

G. x=max(x,y,z) នោះគឺ x គឺជាចំនួនធំបំផុតនៃចំនួនបី x, y, z;

ឃ. (កុំប្រើមិនដំណើរការ)

E. យ៉ាងហោចណាស់អថេរតក្កមួយ a និង b គឺពិត;

G. អថេរ Boolean a និង b គឺពិតទាំងពីរ។

№20. បញ្ជាក់លំដាប់ដែលប្រតិបត្តិការត្រូវបានអនុវត្តនៅពេលវាយតម្លៃកន្សោម៖

ក) a និង b ឬមិន c និង d; ) (x>=0) ឬមិន c និង d ។

№21. វាយតម្លៃកន្សោមខាងក្រោមជាមួយ a=True, b=False៖

ក) a ឬ b និងមិនមែន a; ខ)(a ឬ b) និងមិនមែន a; ក្នុង)មិនមែន a និង b; ឆ)មិនមែន (a និង b)

№22. បង្កើតកម្មវិធី៖ នៅពេលប្រឡងចូល បេក្ខជនប្រឡងជាប់ រូបវិទ្យា វិទ្យាសាស្ត្រកុំព្យូទ័រ សមាសភាព។ បេក្ខជននឹងចូលប្រសិនបើគាត់ទទួលបាន 5 ផ្នែកវិទ្យាសាស្ត្រកុំព្យូទ័រ ហើយពិន្ទុយ៉ាងតិច 13 ពិន្ទុសម្រាប់ការប្រឡងចំនួន 3 តើពិតទេដែលគាត់ចូល (បោះពុម្ព True / False)?

§ 8. ការដោះស្រាយបញ្ហាលើប្រធានបទ “កម្មវិធីលីនេអ៊ែរ។ បរិមាណប៊ូលីន។"

ឧ. ៧ . គណនាតម្លៃនៃកន្សោម៖

ក) sqr(x)+sqr(y)<=4 при x=0.3, y=-1.6;

ខ) k mod 7 = k div5-1 នៅ k=15;

គ) សេស(trunc(10*p)) នៅ p=0.182;

ឃ) មិនសេស (n) សម្រាប់ n=0;

e) t និង (p mod 3=0) នៅ t=true, p=101010;

e) (x*y<>0) និង (y>x) ជាមួយ x=2, y=1;

g) (x*y<>0) ឬ (y>x) នៅពេល x=2, y=1;

h) a ឬ (មិន b) ជាមួយ a=False, b=True;

ឧ. ប្រាំបី។ សរសេរកន្សោមនៅក្នុង Pascal ថាជាការពិត ប្រសិនបើលក្ខខណ្ឌដែលបានបញ្ជាក់ត្រូវបានបំពេញ ហើយមិនពិត៖

ក) x ជាកម្មសិទ្ធិរបស់ផ្នែក;

ខ) x ស្ថិតនៅខាងក្រៅផ្នែក;

គ) * x ជាកម្មសិទ្ធិរបស់ផ្នែក ឬ [-1, 1];

d) * x ស្ថិតនៅខាងក្រៅផ្នែក និង [-1, 1];

e) លេខនីមួយៗ x, y, z គឺវិជ្ជមាន;

g) គ្មានលេខ x, y, z គឺវិជ្ជមាន;

h) មានតែលេខមួយគត់ x, y, z គឺវិជ្ជមាន។

i) boolean variable a មានតម្លៃ True អថេរ boolean b មានតម្លៃ False;


j) * មួយឆ្នាំដែលមានលេខសៀរៀល y គឺជាឆ្នាំបង្គ្រប់ (មួយឆ្នាំជាឆ្នាំបង្គ្រប់ ប្រសិនបើលេខរបស់វាជាពហុគុណនៃ 4 ប៉ុន្តែក្នុងចំណោមផលគុណនៃ 100 មានតែគុណនៃ 400 គឺជាឆ្នាំបង្គ្រប់ ឧទាហរណ៍ 1700 ។ 1800 និង 1900 គឺជាឆ្នាំមិនបង្គ្រប់ 2000 គឺជាឆ្នាំបង្គ្រប់)។

ឧ. ប្រាំបួន . គូរលើប្លង់ (x, y) លើផ្ទៃមួយ ដែលកន្សោមដែលបានបញ្ជាក់គឺពិត៖

ក)* (y>=x) និង (y+x>=0) និង (y<=1);

ខ) (sqr(x)+sqr(y)<1) or (y>0) និង (abs(x))<=1);

គ) (trunc(y)=0 និង (round(x)=0);

ឃ)* (abs(x)<=1)>(abs(y)>=1);

e) (sqr(x)+sqr(y)<=4)=(y<=x).

ឧ. ដប់ .. សៀវភៅមានតម្លៃ X rubles ។ អ្នកទិញមានក្រដាសប្រាក់ 50, 10, 5, 1 រូប្លិ៍។ តើខ្ញុំគួរយកក្រដាសប្រាក់ប៉ុន្មាន និងក្រដាសប្រាក់ណាខ្លះ ដើម្បីទូទាត់សៀវភៅដែលមានចំនួនអប្បបរមានៃក្រដាសប្រាក់?