Х санының У-ке еселі болу белгісі
Базалық формулалар (тәуелділіктер) және оларды
Пайдаланып есептер шығару
Жұмыс мақсаты: классикалық есептерді шешу барысында кейбір формулаларды және тәуелділіктірді (цикл денесіндегі мәні кемімелі айнымалының циклдік параметрдің өспелі мәніне тәуелділігі, екі санның еселілігін анықтау формуласы, ұштарының координаттары берілген кесінді ұзындығын табу формуласы) пайдалануды үйрену.
Көптеген есептерді шешу барысында қандай да бір тәуелділіктер немесе формулалар жиі қолданылады. Мұндай формулалардың саны орасан көп екені белгілі. Біз солардың ішіндегі базалық формулаларға жатқызуға болатын бірнешеуін қарастырамыз. Олар мыналар:
- Цикл денесіндегі мәні кемімелі Х айнымалысының циклдік параметрдің өспелі мәніне тәуелділігі;
- Еселілік белгісі;
- Ұштарының координаттары берілген кесінді ұзындығын табу формуласы.
Төменде қарастырылатын есептердің көпшілігі осы тәуелділіктер мен формулаларға сүйенеді және информатикадағы классикалық формулаларға жатқызылады.
Цикл денесіндегі мәні кемімелі Х айнымалысының і циклдік параметрінің өспелі мәніне тәуелділігі
Цикл денесіндегі мәні кемімелі Х айнымалысының циклдік параметрдің өспелі мәніне тәуелділігін анықтау үшін айнымалылардың циклдің әр қадамындағы мәндеріне талдау жасайық (1.1-кесте):
1.1-кесте | ||
i | x | |
x=n (n=5) | ||
x=n-1 (1=i-1) | ||
x=n-2 (2=i-1) | ||
x=n-3 (3=i-1) | ||
x=n-4 (4=i-1) | ||
Нәтиже | x=n-(i-1) |
Осы тәуелділіктің қолданылу мысалы келтірілген программалық үзінділер:
Бейсик: | Паскаль: | Си: |
…for i=1 to n x=n-i+1 next… | …for i:=1 to n dox:=n-i+1;… | …for(i=1;i<=n;i++)x=n-i+1;… |
"Палиндром" есебі: Пернетақтадан ендірілген сөздің палиндром (солдан оңға және оңнан солға қарай бірдей оқылатын сөздер) болатын не болмайтынын анықтау керек.
Шешу идеясы: Ендірілген мәтіннің бірінші және соңғы таңбалары, екінші және соңғысының алдындағы символдары және т.с.с. өзара тең болатынын тексеру керек.
Мұнда цикл денесінің n/2 рет қайталанатынына мән беру керек (өйткені әр қадамда екі таңба салыстырылады).
Паскальдағы программа:
var a:string; k,n,i: integer;begin writeln ('sozdi endir:'); readln (a); k:=0; n:=length(a); for i:=1 to (n div 2) do if copy(a,i,1) <> copy(a,n-i+1,1) then k:=1; if k=0 then writeln ('palindrom') else writeln ('palindrom emes');end.Тест:
Берілгені: | QAZAQ |
Нәтиже: | palindrom |
Кесінді ұзындығы
Ұштарының координаттары берілген кесіндінің ұзындығын табу үшін Пифагор теоремасын пайдаланамыз (1.1-сурет):
Сурет 1.1.
Келтірілген өрнектің жазылуы:
Бейсик: | Паскаль: | Си: |
sqr((x1-x2)^2+(y1-y2)^2) | sqrt(sqr(x1-x2)+sqr(y1-y2)) | sqrt(pow(x1-x2,2)+pow(y1-y2,2)) |
Есеп: Төбелерінің координаттары пернетақтадан ендірілетін үшбұрыш периметрін табу керек (1.2-сурет).
Сурет 1.2.
Шешу идеясы: Үшбұрыш периметрін табу үшін оның қабырғаларының ұзындықтарын анықтау керек.
Паскальдағы программасы:
var x1,y1,х2,y2,х3,у3: integer; a,b,c: real;begin readln (x1, y1); readln (x2, y2); readln (x3, y3); a:=sqrt(sqr(x1-x2)+sqr(y1-y2)); b:=sqrt(sqr(x2-x3)+sqr(y2-y3)); c:=sqrt(sqr(x1-x3)+sqr(y1-y3)); writeln (a+b+c);end.Тест:
№ | Берілгені | Нәтиже |
1-тест: | 4 11 3 7 4 3 | 11.8 |
2-тест: | 7 10 6 7 6 2 | 9.5 |
Х санының У-ке еселі болу белгісі
Х санының У-ке еселі екенін анықтайтын логикалық өрнек былай жазылады:
Бейсик: | Паскаль: | Си: |
1. x \ y = x / y2. x mod y =0 | x mod y = 0 | x%y==0 |
Есеп: Пернетақтадан ендірілген N санының бөлгіштерін табу керек.
Шешу идеясы: Төменде келтірілген есептердің барлығында n mod i=0 формуласын қолданамыз (бөлудің қалдығы 0-ге тең болатынын тексереміз). Цикл параметрі n санының мүмкін бөлгіштерін «ұсынады».
Паскальдағы программасы:
var n,i: integer;begin writeln ('sandi endir:'); readln (n); writeln ('bolgishter:'); {=бөлгіштерді шығару========}for i:=1 to n do if n mod i=0 then write (i,' ');end.Тест:
Берілгені: | |
Нәтиже: | 1 2 4 8 16 |