TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

[ следующий ] [ начало главы ] [ предыдущий ] [ содержание ]

Пример 4.1. Определить, является ли заданная последовательность чисел    a1 , a2 , ... , aN монотонно убывающей.
 
Система тестов
 
Номер теста Проверяемый случай Данные Результат
N Вектор А Otvet
1 Является 3 (3, 2, 1) 'Да'
2 Не является 3 (2, 3, 1) 'Нет'
 
Демонстрация
Школьный АЯ 
алг Убывание (арг цел N, арг вещ таб A[1:N],
              рез лит Otvet)
нач цел i
  i:=1; Otvet:="Да"
  нц пока (i<=N–1) и (Otvet="Да")
    если A[i] < A[i+1]
       то Otvet := "Нет"
       иначе i:=i+1
    все
  кц
кон
Исполнение алгоритма 
Обозначения проверяемых условий: 
(i <= N-1) и (Otvet = "Да") => (1) 
A[i] < A[i+1] => (2) 
 
N теста
i
Otvet
(1)
(2)
1
1
2
3
"Да"
+
+
-(кц)
-
-
2
1
"Да"
"Нет"
+
-(кц)
+
 
  Блок-схема 
 
  (фрагмент) 
Turbo Pascal
Program Decrease;
  Uses Crt;
  Var A    : Array [1..10] of Real;
      N, i : Integer;
      Otvet: Boolean;
{--------------------------------------------}
Procedure InputOutput; {описание процедуры ввода-вывода данных}
 Begin
  ClrScr; 
  Write(’Количество элементов - ’); ReadLn(N);
  For i := 1 to N do
   begin Write(’A[’ , i , ’] = ’);
         ReadLn(A[i])
   end; WriteLn;
 
  WriteLn(’Заданная последовательность чисел’);
  For i := 1 to N do Write(A[i] : 5 : 1); 
  WriteLn
 End; { of InputOutput }
{--------------------------------------------}
Procedure Processing( Var Otvet: Boolean);
 Begin              {описание процедуры проверки на убывание элементов}
  Otvet := TRUE; i:=1;
  While (i<=N–1) and Otvet do
   If (A[i]<A[i+1]) then Otvet := FALSE
                    else i := i+1;
 End; { of Processing }
{--------------------------------------------}
Procedure Result(Otvet: Boolean);  {описание процедуры вывода результата}
 Begin                   
  If Otvet then Write(’образует ’)
           else Write(’не образует ’);
  WriteLn(’монотонно убывающую последовательность.’); 
  ReadLn
 End;
{--------------------------------------------}
BEGIN
  InputOutput;       {вызов процедуры ввода-вывода}
  Processing(Otvet); {вызов процедуры проверки на убывание}
  Result(Otvet);     {вызов процедуры вывода результата}
END.
 

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz