Константы в Pascal.

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

Перевод числа из десятичной системы счисления в шестнадцатеричную.

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

Textcolor, Window, Textbackground в Pascal.

Текст, который мы выводим на экран с помощью процедуры Writeln или с помощью оператора Write можно изменять. Процедура Textcolor используется для изменения цвета выводимого текста. Процедура Textbackground изменяет цвет фона, на котором выводится ...

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

Программирование циклов. Оператор безусловного перехода.

Цикл — это последовательность операторов, которая может выполняться более одного раза. В языке Паскаль разработано три механизма для конструирования циклов, использующих операторы FOR, WHILE, REPEAT.

...

Сортировка простым включением и простым выбором.

Сортировка простым включением.
Пример 33. Методом простого включения упорядочить (отсортировать) в порядке возрастания массив из 8 целых чисел (44, 55,12,42, 94, 18, 06, 67).

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