Функции LENGTH и CONCAT.

Функция Length возвращает в качестве значения длину строки. Например, если в строковой переменной «stroka» записано слово «Pascal», то Length(stroka) будет равно 6. Эта операция аналогична операции Ord(stroka[0]), которую мы разбирали в 1-м уроке. ...

Ветвления в Pascal.

Ветвления в Паскаль позволяют выполнять действия не поочередно, как мы делали в предыдущих программах, а в зависимости от каких - либо условий. Для этого в языке программирования Pascal предусмотрены различные условные операторы. В данном уроке мы ...

Abs, Sqr в Pascal.

Abs - функция языка Паскаль, которая вычисляет модуль числа.
Sqr - функция языка Паcкаль, которая возводит число в квадрат.

Циклы и массивы

Рекурсивные вычислительные процессы.

Функция может вызывать другую функцию, та в свою очередь третью и т.д. В результате программы приобретают иерархическую структуру.

Линейные процессы вычислений.

Простейший алгоритм представляет собой цепочку блоков (операторов) от начального блока до конечного. Каждый блок должен быть выполнен один единственный раз. Это линейный алгоритм. Он отражает ...

Циклы со счетчиком FOR, который мы рассмотрели в предыдущем уроке, применяется в тех случаях, когда число повторений цикла известно. Цикл повторяется определенное количество раз независимо от каких-либо условий (В нашем примере он повторялся 10 раз).
Когда число циклов неизвестно и определяется лишь по мере выполнения задачи, то применяются циклы с условием (их еще называют итерационные циклы). Их бывает 2: циклы с предусловием и циклы с постусловием. В этом уроке мы рассмотрим цикл с предусловием While Do.

Предположим нам нужно написать программу вычисления суммы S=1+2+3+...+50

Оператор цикла While..Do.


program ciklih3;
uses crt;
Var  S:Integer;
       N:Integer;
Begin
clrscr;
S:=0;
N:=1;
While N<=50 Do
Begin
S:=S+N;
N:=N+1;
End;
Writeln ('S=',S);
readln
End.

В строке №3 указываем переменную для хранения суммы.

Строка №4. Здесь указывается переменная, которая будет являться счетчиком для цикла.

Строка №7. Указываем начальное значение для суммы, равное 0.

Строка №8. Начальное значение счетчика равно «1».

В строке №9 записываем цикл While Do. (While с англ. - пока). После слова While записывается условие, при котором будет выполняться цикл. В нашем случае, цикл будет выполняться до тех пор, пока переменная «N» меньше либо равно 50. После слова Do указываются операторы, которые должны выполняться в цикле. Нам необходимо, чтобы в цикле выполнились 2 оператора присваивания (строка №11 и №12), поэтому эти 2 оператора заключаются в конструкцию Begin..End.

Строки №11 и №12. Итак, в цикле будут выполняться 2 оператора. При первом заходе цикла, переменная «S» получит значение 1 (S+N=1). Переменная «N» получит значение 2 (N+1=2). При втором заходе цикла, переменная «S» получит значение 3 (S+N=1+2=3). Переменная «N» получит значение 3 (N+1=3) и т.д

Таким образом, действия в строках №11 и №12 будут выполняться до тех пор, пока в строке №12 переменной «N» не будет присвоено значение равное 50.

while do

while do.


Предыдущая статья : Циклы в Pascal.

Оглавление : Уроки Паскаль. Циклы.

Следующая статья : Оператор цикла Repeat..Until.


Комментарии  

 
-16 # Оксана 26.01.2012 19:42
программа не верна ,так как точный правильный ответ будет выводиться при изначально присвоенном значению суммы одному,а не нулю
S:=1;
 
 
-11 # Оксана 26.01.2012 19:45
программа не верна,так как точный правильныйй ответ будет выводиться при изначально присвоенном значении суммы равное 1,а не нулю

s:=1;
 
 
+8 # Оксана 26.01.2012 19:47
хотя нет,прошу прощения 1/1 это 1
 
 
+12 # Нео 29.12.2012 19:49
Женщина всегда сначала напишет, потом подумает... 8)
 
 
+9 # Administrator 28.01.2012 05:09
S - это переменная для хранения суммы. Вначале она всегда равна 0, т.к. не было произведено ни одной операции. Значение 0 присваивается переменной S для того чтобы программа могла решить уравнение в строке №11: S:=S+1/N. Здесь чтобы посчитать S (перед знаком :=) нам необходимо точное значение для S (после знака :=) и N.
 
 
-6 # Max 10.07.2012 20:05
Здравствуйте!
Мне нужно суммировать выражение St3[i,j,jjj]*sqr(wk1[i,jjj])
сначала по, i потом по jjj
Правильно ли составлен код ?
for j:=0 to m do
for jjj:=0 to mmm do
begin
Dt13[j,jjj]:=0;

for i:=1 to n do

if (i=1) or (i=n) then Dt13[j,jjj]:=Dt 13[j,jjj]+St3[i ,j,jjj]*sqr(wk1 [i,jjj])/2 else Dt13[j,jjj]:=Dt 13[j,jjj]+St3[i ,j,jjj]*sqr(wk1 [i,jjj]);
Dt13[j,jjj]:=0. 03*Dt13[j,jjj];

Dt13[j,jjj]:=0. 03*Dt13[j,jjj];
Dt131[j]:=0;
//If (jjj=0) or (jjj=mmm) then Dt131[j]:=Dt131 [j]+Dt13[j,jjj] /2 else
Dt131[j]:=Dt131 [j]+Dt13[j,jjj] ;
Dt131[j]:=(Pi/12)*Dt131[j];
tetat3[j]:=1.9*sqrt(Dt131[j]);

end;
 
 
-6 # Ростик 02.02.2013 16:53
админ ты "readln" написал вместо "readln(s)" в паскаль АВС выскакуэт ошыбка, но прога работает и так=)
 
 
0 # Антон 26.02.2013 19:19
Ростик, незачем писать "readln (s)", когда переменная s была выведена командой "writeln ('S=', S)". Здесь команда "readln" употреблена для задержки экрана, чтобы программа после вывода результата тут же не закрылась. Таким образом, она закроется только по нажатию [Enter].
 
 
-3 # Антон 26.02.2013 19:21
Точнее не переменная s, а значение переменной s, неправильно выразился
 
 
-4 # ded 04.02.2013 19:46
почему бы не ввести еще одну переменную,
короче получится так
uses crt;
var a,s,d:integer;
begin
clrscr;
a:=1;
s:=0;
d:=1;
while d
 
 
-4 # ded 04.02.2013 19:47
блин не поместилось
 
 
-4 # ded 04.02.2013 19:48
короче по формуле сами допетрите , а так я просто решил ввести еще одну переменную и все дела
 
 
0 # Vika 21.03.2013 17:00
а можно вместо while исползовать команду for????
 
 
-4 # Программ 11.03.2014 08:08
Vika, можно FOR N :=1 ТО 50 DO ...
 
 
-4 # Алекс 01.08.2015 19:30
Циклы со счетчиком FOR, который мы рассмотрели в предыдущем уроке, применяется в тех случаях, когда число повторений цикла известно. Цикл повторяется определенное количество раз независимо от каких-либо условий (В нашем примере он повторялся 10 раз).
Когда число циклов неизвестно и определяется лишь по мере выполнения задачи, то применяются циклы с условием (их еще называют итерационные циклы). Их бывает 2: циклы с предусловием и циклы с постусловием. В этом уроке мы рассмотрим цикл с предусловием While Do.
 
 
-4 # SaintAntoniyi 28.03.2014 12:48
Здесь цикл с for был бы уместней
 
 
-4 # Дарія Якобчук 04.12.2014 10:36
:-x
 
   ГлавнаяПаскальЦиклы в ПаскальЦикл Repeat..Until.