it-place.net > Уроци > Други
Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Програмиране на Паскал III
  1. Програмиране на Паскал III
     
Автор  h_a_n_n_i_b_a_l (18.03.2006 10:00)  съобщение до автора
Погледнат  9145 пъти  добави към любими
Оценка  добави коментар
Гласове  4  изпрати на приятел
Коментари  (2)  абонирай се за Други
    Страница 1 / 1

 



4.4 – Условен оператор

Условен оператор – това е оператор, който дава възможност да се изпълни или да не се изпълни друг оператор в зависимост то някакво уславие. В езика Паскал условните оператори са в две форми – кратка и пълна.
Кратка форма на условния оператор: синтаксисът на тази форма е if B then S, където
- if и then са запазени думи
- В – булев израз
- S – оператор
Условният оператор се изпълнява по следния начин – пресмята се стойността на булевия израз В. В резултат се получава булева константа True или False. Ако стойността е True се изпълнява оператора S. Ако обаче тази стойност е False – S не се изпълнява.
След запазената дума then трябва да стои точно един оператор. Ако логиката на задачата налага използването на два или повече оператора, необходимо е те да се обединят в един съставен оператор.
Пример за програма, използваща оператора if - then.
Зад 2. Да се напише програма, която намира лицето на кръг и дължината на окръжност с радиус r.  Пресмятането да се осъществи в случай, че r > 0.

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Program Zad_2;
  
const pi=3.142857;
  
var r, p, s: real;
Begin
  
write('vavedete radius r:  ');
     
readln(r);
   
if R > 0 then begin
       p
:=2 * pi * r;
      
s:=pi * r * r;
         
write('daljinata e  ', p:2:4);
         
write('litseto e ', s:2:4);
      
end;
   
readln;
End.


Изпълнение на оператора: Пресмята се булевият израз R > 0. Щом стойността му е равна на true, т.е. въведеният радиус е по-голям от 0 се изпълнява съставният оператор след then.  Ако въведената стойност за R е по-малка или равна на 0, то операторът then не се изпълнява.
Пълна форма на условния оператор.
Синтаксисът на тазе форма е if B then S1 else S2, където
- if (ако), then (тогава), else(иначе) са запазени думи.
- B e булев израз.
- S1 и S2 са оператори.
Операторът се изпълнява по следния начин: Пресмята се стойността на булевия израз B. В резултат на това се получава true или false. Ако стойността на В е true се изпълнява S1 (S2 не се изпълнява). Ако стойността на на В е false  S1 се прескача и се изпълнява S2.
Във всички случаи след изпълнението на S1 или S2 се преминава към следващите оператори.
Забележка: след then и след else трябва да стои точно един оператор.
Пример за програма, използваща оператора if-then-else.
За пример ще преустроим малко горната програма. Отново по даден радиус програмата ще трябва да изчисли S и Р на окръжност, но ако радиусът R е по.малък от 0 ще се извежда "error !"

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
     Program Zad_3;
       
const pi= 3.142857;
       
var r, p, s: real;     
    
Begin
       
write('vavedete radius r:  ');
          
readln(r);
       
If R > 0 then begin
          p
:=2 * pi * r;
         
s:=pi * r * r;
            
write('daljinata e  ', p:2:4);
            
write('litseto e ', s:2:4);
        
end;
     
else writeln('error!');
   
readln;
End.

Вложени условни оператори. В условният оператор if B then S1 else S2 S1 и S2 са произволни оператори. В този случай говорим за вложени условни оператори.
При влагането на един условен оператор в друг е възможно да възникнат логически проблеми. Затова в езика Паскал има правило, което определя начина, по който се изпълняват вложените оператори: Всяко else се съчетава в един условен оператор с най-близкото, несъчетано преди него then. Така текста се преглежда от ляво надясно.
Препоръчително е условен оператор да се влага в друг условен оператор само след else, а не след then. Ако след then трябва да се вложи оператор, условният оператор да се направи съставен.

 
4.5 – Оператори за цикъл

Операторите за цикъл се използват за реализиране на циклични изчислителни процеси. Това са процеси, при които оператор или група от оператори се изпълнява многократно за различни стойности на техни параметри.
Цикличните процеси биват два вида – индуктивни или интеративни.
Индуктивен цикличен процес е такъв, при който броят на повторенията е предварително известен. Например: да се намери стойността на израза S = x + 2x + 3x + nx.
За да се намери сумата на израза е необходимо да се повтори действието n*x n пъти (n=1,2,3....), като всеки път стойността му се прибавя към текущата стойност на S (S:= S + n*x).
Цикличен процес, при който броят на повторенията не е известен, се нарича интеративен цикличен процес. При тези процеси някакво условие определя броя на повторенията.
В езика Паскал има три оператора за цикъл – оператор for (реализира индуктивни циклични процеси), оператор while и оператор repeat (реализират всякакви процеси).
 
4.5.1 – Оператор for

Този оператор се нарича оператор за цикъл с параметър. Предназначението му е да реализира индуктивни циклични процеси. В езика Паскал съществуват две форми – for-to-do и for-downto-do.
Пример за програма, използваща оператора for-to-do: Да се напише програма, която пресмята n! (това е функцията фактуриел. 5!=1*2*3*4*5). N е естествено число, по-голямо от 0.

CODE
1
2
3
4
5
6
7
8
9
10
Program facturiel;
     
var n, i, fac: integer;
Begin
     
write('vavedi n: ');
           
readln(n);
     
fac:=1;
     
for i:=1 to n do fac:=fac*i;
           
writeln(n ,'!=', fac);
     
readln;
End.

Оператора    for i:=1 to n do fac:=fac*I  e оператор за цикъл. Той се изпълнява по следния начин: запазените думи в състава му означават следното: за (for) i:=1 ot n повтаряй (do) fac:=fac*i.
Ако стойността на n по време на изпълненине на оператора  for i:=1 to n do...  е 4 променливата  първо присвоява стойност 2. Тогава изразът fac:=fac*i приема стойност 2 (на fac първоначално е дадена стойност 1). След това на i се дава стойност 3. Изразът fac също присвоява новата стойност fac*3. След това i присвоява 4 и т.н., в зависимост каква е стойността на n, която сме въвели.
Променливата i може да бъде от различни типове. Следните оператори за правилно заисани For-to-do:

CODE
1
2
3
4
For i:=1 to 100 do writeln(i);
For i:=-10 to 20 do writeln(i);
For b:=false to true do writeln(i);
For ch:='a' to 'z' do writeln(i);

При случай, че стойността на i е различна от тази, зададена в оператора (например в горния оператор – тя е по-малка или по-голяма от N) оператора не се изпълнява.



   


Ключови думи: паскал булеви променливи програма boolean типове данни булеви изрази вградени функции програмиране алгоритми първи стъпки начинаещ


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 За автора: h_a_n_n_i_b_a_l  
Kazvam se Dimitar. V momenta izu4avam usileno informacionnite tehnologii - software i hardware. za vaprosi mojete da mi pi6ete ma mail hannibal.softwares@gmail.com ili da vidite statiite mi na adres www.virtualzone.hit.bg
   
 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

всичко за зари може да намерите тук.

  zarirapara на 28.06.2007 21:10

Защо ми се струва че тази поредица от уроци е преписана от някой учебник?

  PureEvil на 18.03.2006 15:43

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008