Использование Var, Integer, Readln.

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

Умножение, деление, сложение, вычитание вещественных чисел в Pascal.

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

Функции trunc, round в Pascal.

Для того чтобы в Паскаль можно было оперировать не только целыми числами, но и дробными существуют вещественные типы данных. Один из таких типов называется Real. В этом уроке мы рассмотрим 2 функции, которые производятся над дробными числами. Это ...

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

Итерационные циклы.

Если число повторений заранее не известно и решение о завершении цикла принимается на основе анализа некоторого условия, то такой повторяющийся вычислительный процесс называется итерационным циклом.

...

Организация условного перехода. Оператор IF.

Для программирования разветвляющихся процессов, содержащих две ветви, используется оператор IF условного перехода (ветвления), имеющий две конструкции.

Циклы со счетчиком 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
я только начал учить паскаль
 
   ГлавнаяПаскальЦиклы в ПаскальЦиклы в Pascal.