FOR –DO, FOR –DOWNTO қайталау операторы

hzaydos000Айтбаев Жандос. Жамбыл облысы Шу ауданы ТөлеБи ауылы М. Махатаев атындағы орта мектептің информатика мұғалімі.

Паскаль болсын басқа тілдер болсын, оның нұсқауларының ішінде қайталау опрераторлары ең жиі қолданылады.

Қайталау саны алдын-ала белгілі болған жағдайда For – Do және For – Downto операторларын қолданған ыңғайлы. Жазылу түрі:
For <параметр>=<алғашқы мән> to <соңғы мән> do
begin
<серия>;
end;

For <параметр>=<соңғы мән> to <алғашқы мән>  downto
begin
серия;
end;

ЕСЕП: Сөйлем сөздерден тұратыны белгілі. Клавиатурадан енгізілген сөйлемдегі ең ұзын сөзді және оның қанша таңбасы бар екенін анықтайтын программа жазыңыз:

МАТЕМАТИКАЛЫҚ модел:

Не белгілі?
Цикл параметрі і –типі бүтін сан, сөйлем s– типі жолдық, ең ұзын сөз
mr – типі жолдық, – ең ұзын сөздегі әріптер (таңбалар) саны m–типі бүтін сан.

Не істеу керек?
mr, m шамаларының мәндерін анықтау;

Қалай есептейміз?
бастапқы мәліметтерді енгіземіз s, бастапқы мәндерді меншіктейміз m=0,

Қайталау парамтерi i 1-бастап сөйлем ұзындығына дейін өзгереді. Әр қайталау сайын кезекті таңбаны s[i] аралық шамаға жинақтаймыз, әрі оның бос орынға (пробелге) тең емес екенін тексереміз. Бос орын кездессе r –шамасына сөйлемнің бір сөзі жинақталғанын білеміз. Оның әріптер санын алдынғы сөздің әріптер санымен салыстырамыз да, қайсысында таңба көп болса сол сөзді mr және оның таңбалар санын m сақтап қаламыз.

program uzynsoz;
var i,m: integer;
mr,s,r: string;
begin
  writeln(‘Бірнеше сөзден тұратын сөйлем енгізіңіз ‘);
  read(s); m:=0;
   for i:=1 to length(s) do
   begin
r:=r+s[i];
  if s[i]=’ ‘ then r:=’ ‘;
 if m<length(r) then begin m:=length(r); mr:=r;end;
end;
writeln(‘Ең ұзын сөз: ‘,mr);
writeln(‘Оның ‘,m,’ таңбасы бар’);
end.

2а) (жеңіл нұсақ)

1-ден бүтін М-ге дейінгі сандардың квадраттарын басып шығаратын программа жазыңыз.

Математикалық моделі:

1.      Не белгілі?

2.      Не істеу керек?

3.      Қалай жасаймыз?

program kvadrat;
var i,m:integer;
begin
write(‘butin m sanayn engiz ‘);
read(m);
for i:=1 to m do
writeln(i,’ ‘,i*i);
end

Бүтін М>10 болатын санның 1-ге  дейінгі кубтарын кему ретімен  басып шығаратын программа жазыңыз.
program kuby;
var i,m:integer;
begin
write(‘butin m sanayn engiz ‘);
read(m);
for i:=m downto 1 do
writeln(i,’ kuby ‘,i*i*i);
end.

 

Check Also

Аудандық олимпиада. І-тур. 2016-2017 оқу жылы.

A есебі N саннан тұратын А сандар тізбегі берілген. Осы сандар тізбегін кері ретімен шығару …

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.