Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2012, 16:31   #1
Макс Мел
 
Регистрация: 29.05.2012
Сообщений: 5
По умолчанию Пошаговый ввод данных

Пошаговый ввод данных. Сочетание циклов и разветвлений.
Помогите! Очень прошу за девушку!
Изображения
Тип файла: jpg пошаговый ввод данных1234.jpg (38.5 Кб, 124 просмотров)
Макс Мел вне форума Ответить с цитированием
Старый 05.06.2012, 19:06   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

1) А девушка без рук? Сама написать или програмку или просьбу не может?
2) За девушек обычно платят, а не просят
ну ладно... если я правильно понял задания, то так :
Намбер 1
Код:

const
        SIZE = 10000;

type
        MyArr = array [1..SIZE] of Integer;

procedure Read_Array (var a : MyArr);

var
        n, i : Integer;

begin
        Write ('Введите размерность массива ');
        ReadLn (n);

        for i := 1 to n do begin
                Write (i, ' элемент массива = ');
                ReadLn (a[i]);
        end;
end;

procedure Work_with_Array (const a : MyArr; var r : LongInt);

var
        i, j : Integer;

begin
        i := 1;
        while a[i] > 0 do
                Inc (i);

        r := 0;
        for j := 1 to i-1 do
                r := r + a[j];
end;

var
        a : MyArr;
        r : LongInt;

begin
        Read_Array (a);

        Work_with_Array (a, r);

        WriteLn (r);
end.
Намбер 2 (не проверял, хотя вроде должна работать)
Код:
const
        SIZE = 50;

type
        MyArr = array [1..SIZE] of Integer;

procedure Read_Array (var a : MyArr);

var
        i : Integer;

begin
        for i := 1 to 50 do begin
                Write (i, ' элемент массива = ');
                ReadLn (a[i]);
        end;
end;

procedure Work_with_Array (const a : MyArr; var r : LongInt);

var
        i : Integer;

begin
        r := 0;
        for i := 1 to 50 do
                if Abs (a[i]) = i * i then
                        r := r + a[i];

end;

var
        a : MyArr;
        r : LongInt;

begin
        Read_Array (a);

        Work_with_Array (a, r);

        WriteLn (r);
end.
Намбер 3
Код:
const
        SIZE = 1000;

type
        MyArr = array [1..SIZE] of Real;

procedure Read_Array (var a : MyArr; var n : Integer);

var
        i : Integer;

begin
        Write ('Введите размерность массива ');
        ReadLn (n);

        for i := 1 to n do begin
                Write (i, ' элемент массива = ');
                ReadLn (a[i]);
        end;
end;

procedure Work_with_Array (const a : MyArr; var r : Real; const n : Integer);

var
        i, max, min : Integer;

begin
        max := 1;
        min := 2;

        i := 1;
        while i <= n do begin
                if a[i] > a[max] then
                        max := i;
                Inc (i, 2);
        end;

        i := 2;
        while i <= n do begin
                if a[i] < a[min] then
                        min := i;
                Inc (i, 2);
        end;

        r := a[min] + a[max];

end;

var
        a : MyArr;
        r : Real;
        n : Integer;

begin
        Read_Array (a, n);

        Work_with_Array (a, r, n);

        WriteLn (r : 0 : 3);
end.
и №4 не знаю) 8 класс все-таки))
Poma][a вне форума Ответить с цитированием
Старый 05.06.2012, 21:14   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Думал, никто не ответит
Ну что ж. Тогда и мои варианты
Буду давать комментарии по номерам заданий.
1) Poma][a, не нужно использовать массив, где он не нужен. Да и n не дано (пишу все это для вашего развития, а не чтобы унизить или оскорбить)
Код:
uses
  crt;

var
  s, a: integer;

begin
  a := 0;
  read(s);
  repeat
    s := s + a;
    read(a);
  until a < 0;
  writeln(s);
  readln;
end.
2)
Код:
uses
  crt;

var
  i, b, s: integer;

begin
  s := 0;
  for i := 1 to 50 do
  begin
    read(b);
    if abs(b) < i * i then
      s := s + b;
  end;
  writeln(s);
  readln;
end.
3)
Код:
uses
  crt;

var
  n, i: integer;
  min, max, a: real;

function minimum(a, b: real): real;
begin
  if a > b then minimum := b else minimum := a;
end;

function maximum(a, b: real): real;
begin
  if a > b then maximum := a else maximum := b;
end;

begin
  readln(n);
  if n < 2 then
    writeln('input greater N')
  else
  begin
    read(max, min);
    for i := 3 to n do
    begin
      read(a);
      if i mod 2 = 1 then
        max := maximum(max, a)
      else
        min := minimum(min, a);
    end;
    {writeln('min= ', min:0:3);
    writeln('max= ', max:0:3);}
    writeln(min + max:0:3);
  end;
  readln;
end.
4)
Код:
uses
  crt;

const
  pi = 3.14;

var
  x, a, b: real;
  n, i: integer;

function y(x: real): real;
begin
  y := exp(-x) * sin(2 * x);
end;

begin
  a := -pi / 2;
  b := 2 * pi;
  n := 50;
  for i := 0 to n do
  begin
    x := a + (b - a) * i / n;
    writeln(x:0:3, ' ', y(x):0:3);
  end;
  readln;
end.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 05.06.2012 в 23:03.
BDA вне форума Ответить с цитированием
Старый 06.06.2012, 12:38   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Poma][a, не нужно использовать массив, где он не нужен. Да и n не дано (пишу все это для вашего развития, а не чтобы унизить или оскорбить)
Была такая идея, но под влиянием мысли, что препод может придраться что в задании чётко написано a1, a2 .. an, а решаем без массива.

И, конечно, об обиде и оскорблениях не может быть и речи, вся критика принимается к сведению, и используется. Так что СПАСИБО!)
Poma][a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пошаговый псевдо-3d шутер в псевдографике #include <Markus> Gamedev - cоздание игр: Unity, OpenGL, DirectX 49 20.06.2016 01:32
Пошаговый вывод метода Гаусса. Leshii Паскаль, Turbo Pascal, PascalABC.NET 0 23.12.2011 01:11
Подключение к сайту, ввод данных, отправка данных. Hichigo Общие вопросы C/C++ 0 20.07.2010 20:24
пошаговый мастер решения проблем. Gipno PHP 4 18.06.2009 16:42