Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
198 / 10 / 3
Регистрация: 30.04.2016
Сообщений: 732

Программа с использованием процедур по работе с одномерным массивом

08.04.2020, 15:20. Показов 497. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пример со стр. 164 из книги Паскаль для школьников. 2005г.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
uses Crt;
Const N = 6;
type
Mas = array[1.. N] of Integer;
Var  
     Line: Mas;  {Перем. Line- одном. массив типа Mas}      
Procedure Inp; {Процедура ввода массива}
                         {После запуска программы управление передаётся первому исполняемому оператору из тела программы. Процедура Inp будет выполняться после вызова её из тела программы}
Var i: Integer;
begin  ClrScr;  {Начало тела процедуры Inp}
     for i:= 1 to N do begin
       Write(' Ввести эл-т с индексом ', i, ': ');
         ReadLn(Line[i])
    end;
end: {Конец процедуры Inp}
Procedure Out: {Процедура вывода на экран Out}
Var i: Integer;
begin {Начало тела процедуры Out}
   for i:= 1 to N do
     Write(Line [i]:4);
        WriteLn;
  end; {Конец процедуры  Out}
Procedure  Change;  {Процедура обмена местами эл-в}
Var i: Integer;
       X: Integer;
begin
       i:= 1;
     while I < 6 do begin
X:= Line[i];  Line[i]:= Line[i + 1];  Line[i+ 1]:= X;
        i:= 2;
     end
   end;
{Начинается тело программы}
begin  {Именно это и есть главный оператор  begin – начало всей программы}
Inp;  {Вызов процедуры  ввода эл-в массива}
Out;  {Вызов процедуры вывода массива на экран}
Chnge;  (Вызов процедуры обмена эл-тов}
    ReadLn
end.
На выходе имеем:
Pascal
1
2
3
4
5
6
Ввести эл-т с индексом 1:  7
Ввести эл-т с индексом 2:  -10
Ввести эл-т с индексом 3: 15
Ввести эл-т с индексом 4: 18
Ввести эл-т с индексом 5  -9
Ввести эл-т с индексом 6  8
Процедура Change вместо того, чтобы выдать изменённый массив, она зациклилась и возврат в исходное состояние отказала.
Пришлось закрыть окно и по новой печатать и сохранить.
Почему же процедура отказала?

И ещё вопрос: как понимать в тексте для строки Procedure Inp выражение «… управление передаётся первому исполняемому
оператору из тела программы!»
Что за первый оператор (какой именно) – из какой он здесь программы или процедуры. И какое тело программы имеется в виду?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.04.2020, 15:20
Ответы с готовыми решениями:

Cделать всевозможные проверки на ошибки при работе с одномерным массивом
Добрый день. Помогите пожалуйста с кодом. Нужно сделать всевозможные проверки на ошибки. В случае если нет нулевых элементов чтобы...

Работа с одномерным массивом с использованием контейнерных классов и алгоритмов библиотеки
вот задача В одномерном массиве из n элементов вычислить: 1) сумму элементов с нечетными индексами 1) сумму элементов между...

Программа с одномерным массивом
Условие: Вычислить сумму элементов не превышающих значение Pi(3,14).

1
2374 / 776 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
08.04.2020, 16:30
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
program Project1;
uses
  Crt;
const
  N = 6;
type
  Mas = array[1.. N] of Integer;
var
  Line: Mas;  {Перем. Line- одном. массив типа Mas}
 
 
procedure Inp; {Процедура ввода массива}
{После запуска программы управление передаётся первому исполняемому оператору из тела программы. Процедура Inp будет выполняться после вызова её из тела программы}
var
  i: Integer;
begin {Начало тела процедуры Inp}
  ClrScr;
  for i:= 1 to N do
    begin
      Write(' Ввести эл-т с индексом ', i, ': ');
      ReadLn(Line[i])
    end;
end; {Конец процедуры Inp}
 
 
Procedure Out; {Процедура вывода на экран Out}
var
  i: Integer;
begin {Начало тела процедуры Out}
  for i:= 1 to N do
    Write(Line[i]:4);
  WriteLn;
end; {Конец процедуры  Out}
 
 
procedure  Change;  {Процедура обмена местами эл-в}
var
  i: Integer;
  X: Integer;
begin   {Начало тела процедуры Change}
  i:= 1;
  while i < 6 do
    begin
      X:= Line[i];
      Line[i]:= Line[i+1];
      Line[i+1]:= X;
      i:= i+2;
    end
end;  {Конец процедуры  Change}
 
 
{Начинается тело программы}
begin   {Именно это и есть главный оператор  begin – начало всей программы}
  Inp;  {Вызов процедуры  ввода эл-в массива}
  writeln('Исходный массив: ');
  Out;  {Вызов процедуры вывода массива на экран}
  Change;  {Вызов процедуры обмена эл-тов}
  writeln('Измененный массив: ');
  Out;  {Вызов процедуры вывода массива на экран}
  ReadLn;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.04.2020, 16:30
Помогаю со студенческими работами здесь

Программа с одномерным массивом
Сформировать в программе массив из целых чисел от 2 до N. Подсчитать сумму квадpатов четных и сумму квадратов нечетных чисел. ...

Программа для работы с одномерным массивом
Каждый солнечный день улитка, сидящая на дереве, поднимается вверх на 2 см, а каждый пасмурный день опускается вниз на 1 см. В начале...

Программа работы с одномерным динамическим массивом
Помогите пожалуйста!!! //Реализовать функционал работы с одномерным динамическим массивом. // 1. Создание массива // 2. Заполниние...

Программа для работы с целочисленным одномерным массивом
Здравствуйте , помогите пожалуйста Разработайте программу для работы с целочисленным одномерным массивом . Размерность массива и его...

Программа с одномерным массивом (вычислить количество элементов в самой длинной серии)
Вобщем в одномерном массиве нужно вычислить количество элементов в самой длинной серии. Серия - это последовательность элементов, которые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru