Тип данных Boolean. Значения True, False в Pascal.

Мы рассмотрели с Вами целый тип данных (integer), вещественный тип (real), символьный (char). В этом уроке мы рассмотрим тип данных, который имеет большое значение в программировании. Логический типBoolean. Одной из особенностей этого типа данных ...

Функции Copy, Pos, процедуры Delete, Insert.

Функция Copy позволяет копировать из строки часть символов. Функция имеет 3 параметра. Copy (st, index, count). St-строка из которой копируют, Index-номер символа, с которого начинается копирование, Count-количество символов, которое будет ...

Операции умножения и сложения в Pascal.

В данном уроке мы рассмотрим операции умножения и сложения в Pascal. Умножение в Pascal обозначается знаком «*», а сложение - знаком «+».

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

Инициализация одномерного массива.

Отличительной особенностью Паскаля от большинства процедурных языков является то, что все переменные должны быть инициализированы. То есть в разделе VAR переменным отводится место, а начальное ...

Работа со строковыми данными.

Написание большинства программ не обходится без строковых данных. Строковые данные используются при организации диалога для ввода исходных значений переменных, задания условий выполнения ...

Циклы со счетчиком 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.


Комментарии  

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

s:=1;
Ответить
 
 
+9 # Оксана 26.01.2012 19:47
хотя нет,прошу прощения 1/1 это 1
Ответить
 
 
+6 # Нео 29.12.2012 19:49
Женщина всегда сначала напишет, потом подумает... 8)
Ответить
 
 
+11 # Administrator 28.01.2012 05:09
S - это переменная для хранения суммы. Вначале она всегда равна 0, т.к. не было произведено ни одной операции. Значение 0 присваивается переменной S для того чтобы программа могла решить уравнение в строке №11: S:=S+1/N. Здесь чтобы посчитать S (перед знаком :=) нам необходимо точное значение для S (после знака :=) и N.
Ответить
 
 
-7 # 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;
Ответить
 
 
-7 # Ростик 02.02.2013 16:53
админ ты "readln" написал вместо "readln(s)" в паскаль АВС выскакуэт ошыбка, но прога работает и так=)
Ответить
 
 
-1 # Антон 26.02.2013 19:19
Ростик, незачем писать "readln (s)", когда переменная s была выведена командой "writeln ('S=', S)". Здесь команда "readln" употреблена для задержки экрана, чтобы программа после вывода результата тут же не закрылась. Таким образом, она закроется только по нажатию [Enter].
Ответить
 
 
-3 # Антон 26.02.2013 19:21
Точнее не переменная s, а значение переменной s, неправильно выразился
Ответить
 
 
-6 # ded 04.02.2013 19:46
почему бы не ввести еще одну переменную,
короче получится так
uses crt;
var a,s,d:integer;
begin
clrscr;
a:=1;
s:=0;
d:=1;
while d
Ответить
 
 
-6 # ded 04.02.2013 19:47
блин не поместилось
Ответить
 
 
-4 # ded 04.02.2013 19:48
короче по формуле сами допетрите , а так я просто решил ввести еще одну переменную и все дела
Ответить
 
 
-3 # Vika 21.03.2013 17:00
а можно вместо while исползовать команду for????
Ответить
 
 
-5 # Программ 11.03.2014 08:08
Vika, можно FOR N :=1 ТО 50 DO ...
Ответить
 
 
-3 # Алекс 01.08.2015 19:30
Циклы со счетчиком FOR, который мы рассмотрели в предыдущем уроке, применяется в тех случаях, когда число повторений цикла известно. Цикл повторяется определенное количество раз независимо от каких-либо условий (В нашем примере он повторялся 10 раз).
Когда число циклов неизвестно и определяется лишь по мере выполнения задачи, то применяются циклы с условием (их еще называют итерационные циклы). Их бывает 2: циклы с предусловием и циклы с постусловием. В этом уроке мы рассмотрим цикл с предусловием While Do.
Ответить
 
 
-8 # SaintAntoniyi 28.03.2014 12:48
Здесь цикл с for был бы уместней
Ответить
 
 
-4 # Дарія Якобчук 04.12.2014 10:36
:-x
Ответить
 
 
0 # Василий 30.09.2021 05:59
:lol: :-) отлично и понятно
Ответить
 
 
+2 # Сергей 03.10.2021 06:51
Для себя я дал следующее определение циклу с предусловием:
while...do - (пока цикл соответствует условию, пока цикл не нарушил условие)...(вып олняй, повторяй) - цикл с предусловием. Например: while i=0 do (пока A лежит в пределах A>=0 выполняй, как только A стало
Ответить
 
 
0 # ванек 26.01.2023 11:11
:lol:
Ответить
 
 
0 # ванек 26.01.2023 11:12
я только начал учить паскаль
Ответить
 

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

   ГлавнаяПаскальЦиклы в ПаскальЦикл While..Do.