Процедуры STR и VAL.

В строковую переменную можно записывать не только буквы, но и цифры. Однако это будут не числа, как таковые, а их символьное представление. Для преобразования символьных представлений числа в само число, и наоборот, используются процедуры STR и VAl.

...

Процедура Writeln в Pascal

Помимо зарезервированного слова Write, для вывода сообщения на экран в Pascal используется процедура Writeln. Отличие процедуры Writeln от оператора Write заключается в том, что Writeln после вывода сообщения на экран переводит курсор на другую ...

Функции Pred, Succ в Pascal.

В данном уроке мы рассмотрим функции, применяемые к типу CHAR. Функция Pred возвращает в качестве значения предшествующий символ, а функция Succ возвращает последующий символ.

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

Примеры линейных программ.

В данной статье приводится несколько примеров линейных программ на языке программирования Паскаль.

Алфавит языка Паскаль.

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

Циклы со счетчиком 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;
 
 
-12 # Оксана 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.