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

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

08.04.2020, 15:20. Показов 472. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru