Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Помогите исправить косяки(Pascal) (http://forum.oszone.net/showthread.php?t=209565)

Putin-mode 21-06-2011 18:44 1699056

Помогите исправить косяки(Pascal)
 
Добрый вечер! У моего друга завтра сдача экзамена, и в спешке сделали не правильно 2 варианта. 3 и 4 задание в 6 и 9 варианте.

У меня в связи с работой времени вообще нет ни на что, помогите пожалуйста доделать 2 этих варианта.

ссылка на ФТП

Заранее благодарен!

lxa85 21-06-2011 21:20 1699142

Когда же вы задания читать научитесь? :(
Код:

program vector;
uses crt;
var
  n: integer; //число координат
  i: integer; // переменная счетчик
  a: real; //текущая координата
  s: real; // текущая сумма квадратов координат
  l: real; //искомая длинна вектора
begin
//инициализация переменных, очистка экрана
  s:=0;
  l:=0;
  clrscr;

  read(n);//вводим число координат
  for i:=1 to n do begin
    read (a); //вводим i'тую координату
    s:=s+a*a; //накапливаем сумму квадратов координат
  end; //for
  l:=sqrt(s);//получаем искомую длину вектора
  writeln (l);
end.

Блок-схему рисуйте сами.
Проверка "на дурака" отсутствует.
----
Код:

program posledov;
uses crt;
var
  flag:boolean;
  a:integer;
  a_new, a_old:integer; //да, тут есть некоторая избыточность, введена умышленно.
begin
  flag:=true; //изначально считаем последовательность упорядоченной по возрастанию
  read(a);
  if a = 0 then
      flag:=false; //если последовательность состоит из одного нуля, она приравнивается к неупорядоченной. Т.к. в задании данный случай не оговорен, мы вольны оговорить его самостоятельно.
  else begin
    a_old:=a;
    while a_new <> 0 do begin
      read(a_new);
      if a_new<>0 then // если введено число отличное от нуля
          if a_new <= a_old then flag:=false;
      a_old:=a_new;
    end; // while
    //можно решать через repeat, можно через while
    {
    repeat
      read(a_new);
      if a_new<>0 then // если введено число отличное от нуля
          if a_new <= a_old then flag:=false;
      a_old:=a_new;
    until a_new = 0 ;
    }
    end; // else
  // Проверяем флаг - признак упорядоченной последовательности.
  if flag then writeln ('упорядочена')
  else writeln ('не упорядочена');
end.

Блок схема, опять таки за вами.

Gayjet 23-06-2011 13:20 1700226

блин.. у меня даже была где-то эта программа.. посмотрю, если не удалил, выложу.


Время: 11:37.

Время: 11:37.
© OSzone.net 2001-