Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/56: Рейтинг темы: голосов - 56, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 29.10.2009
Сообщений: 10

процедура в процедуре

02.06.2010, 15:59. Показов 11642. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как можно засунуть программу
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
 type
 mas = array [1..26] of integer;
 var
 a,b,cc:mas ;
 i,kc:byte;
 
 procedure create (var x:mas; y:byte);
 var
 i:byte;
 begin
 for i:=1 to y do
 x[i]:=random (20)-5;
  end;
 
 procedure vivod ( x:mas; y:byte);
 var
 i:byte;
 begin
 for i:=1 to y do
  write(x[i]:4);
 end;
 
 procedure dobav (var c:mas;var yc:byte; x:mas; y:byte);
 var
 i:byte;
 begin
   for i:=1 to y do
                        if x[i] mod 2<>0 then
                                      begin
                                      c[yc]:=x[i];
                                      inc(yc);
                                      end;
 end;
 begin
 clrscr; randomize;
 writeln('massiv A'); create (a,10); vivod(a,10);writeln; writeln;
 writeln('massiv b'); create (b,16); vivod (b,16); writeln; writeln;
 writeln('massiv C'); kc:=1; dobav (cc,kc,a,10);dobav(cc,kc,b,16);vivod(cc,kc-1);
 readln;
 end.
в процедуру
Pascal
1
2
3
4
5
6
Procedure punkt3;
begin
     ClrScr;
     writeln('Procedura 2. najmite Enter dlya prodolgenia');
     readln;
end;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.06.2010, 15:59
Ответы с готовыми решениями:

Процедура в процедуре
Возможно ли сделать так: procedure Glavnaya; var a:real; begin procedure odin; begin ... end;

Процедура в процедуре
Всем привет! В процессе описания одного алгоритма возникла необходимость проделать цепочку операторов дважды. Решил вставить процедуру в...

Процедура в процедуре
Здравствуйте! как мне ввызвать одну процедуру в другой...например: procedure TForm1.DBNavigator1Click(Sender: TObject; Button:...

10
02.06.2010, 16:00

Не по теме:

Цитата Сообщение от A'B Посмотреть сообщение
как можно засунуть
Сказал бы я.....

1
162 / 162 / 42
Регистрация: 29.05.2010
Сообщений: 435
02.06.2010, 16:11
xDD
А если серьезно, то можно переделать программу в модуль
1
0 / 0 / 0
Регистрация: 29.10.2009
Сообщений: 10
02.06.2010, 16:13  [ТС]
реализовал так. с программы вытащил процедуры и описал их выше . а само действие с массивами написал в нужной процедуре)

Добавлено через 43 секунды
Цитата Сообщение от Puporev Посмотреть сообщение

Не по теме:


Сказал бы я.....

извиняюсь за неправильную формулировку...
0
162 / 162 / 42
Регистрация: 29.05.2010
Сообщений: 435
02.06.2010, 16:13
ну можно и так...Но чтоб мороки меньше было,по моему проще переделать в модуль
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
02.06.2010, 16:55
Паскаль без проблем работает со вложенными процедурами.
Так что можно было тупо запихнуть всю программу внутрь одной процедуры, ничего не меняя
0
0 / 0 / 0
Регистрация: 29.10.2009
Сообщений: 10
02.06.2010, 19:50  [ТС]
Цитата Сообщение от Black Fregat Посмотреть сообщение
Паскаль без проблем работает со вложенными процедурами.
Так что можно было тупо запихнуть всю программу внутрь одной процедуры, ничего не меняя
пробовал не получается
0
Идеи становятся силой...
121 / 121 / 64
Регистрация: 08.12.2009
Сообщений: 445
02.06.2010, 19:55
Цитата Сообщение от A'B Посмотреть сообщение
пробовал не получается
плохо пробовал значить, видел как у быстрой сортировки организуется вложение процедуры в продеру, посмотри если нет, и поймёшь
1
162 / 162 / 42
Регистрация: 29.05.2010
Сообщений: 435
02.06.2010, 19:57
Можно переделать программу в модуль вот так

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
unit <название модуля>
interface
procedure main;
implementation
type
 mas = array [1..26] of integer;
 var
 a,b,cc:mas ;
 i,kc:byte;
 
 procedure create (var x:mas; y:byte);
 var
 i:byte;
 begin
 for i:=1 to y do
 x[i]:=random (20)-5;
  end;
 
 procedure vivod ( x:mas; y:byte);
 var
 i:byte;
 begin
 for i:=1 to y do
  write(x[i]:4);
 end;
 
 procedure dobav (var c:mas;var yc:byte; x:mas; y:byte);
 var
 i:byte;
 begin
   for i:=1 to y do
                        if x[i] mod 2<>0 then
                                      begin
                                      c[yc]:=x[i];
                                      inc(yc);
                                      end;
 end;
procedure main;
 begin
 clrscr; randomize;
 writeln('massiv A'); create (a,10); vivod(a,10);writeln; writeln;
 writeln('massiv b'); create (b,16); vivod (b,16); writeln; writeln;
 writeln('massiv C'); kc:=1; dobav (cc,kc,a,10);dobav(cc,kc,b,16);vivod(cc,kc-1);
 readln;
end;
 end.
а потом во второй программе дописать в uses название модуля
и дописать в процедуру строку
Pascal
1
main;
Pascal
1
2
3
4
5
6
7
Procedure punkt3;
begin
     ClrScr;
     writeln('Procedura 2. najmite Enter dlya prodolgenia');
     main;
     readln;
end;
1
0 / 0 / 0
Регистрация: 29.10.2009
Сообщений: 10
02.06.2010, 20:49  [ТС]
Цитата Сообщение от Hidalgo08 Посмотреть сообщение
плохо пробовал значить, видел как у быстрой сортировки организуется вложение процедуры в продеру, посмотри если нет, и поймёшь
спасибо) посмотрел и понял)

спасибо
0
0 / 0 / 1
Регистрация: 30.10.2012
Сообщений: 4
02.11.2012, 00:33
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
PROGRAM
       Zamena;
USES
    Crt;
PROCEDURE
         MassivA(VAR A: ARRAY OF Real);
         VAR
            I,K: Integer;
            Max: Real;
         BEGIN
              FOR I:= 0 TO High(A) DO
              BEGIN
                   A[I]:= Random(30)-5;
                   WriteLn(
                           'A[',I+1,']= ',A[I]:0:1);
              END;
              WriteLn(
                      'Максимум');
              Max:= A[1]; K:= 1;
              FOR I:= 0 TO High(A) DO
                  IF A[I]>Max THEN
                  BEGIN
                       Max:= A[I]; K:= I;
                  END;
              WriteLn(
                      'A[',K+1,']= ',Max:0:1);
              WriteLn(
                      'Массив A с заменой:');
              FOR I:= K+1 TO High(A) DO
              BEGIN
                   IF (A[I]<Max) OR (A[I]=Max) THEN
                      A[I]:= 0.5;
              END;
              FOR I:= 0 TO High(A) DO
                  WriteLn(
                          'A[',I+1,']= ',A[I]:0:1);
         END;
PROCEDURE
         MassivB(VAR B: ARRAY OF Real);
         VAR
            I,K: Integer;
            Max: Real;
         BEGIN
              FOR I:= 0 TO High(B) DO
              BEGIN
                   B[I]:= Random(30)-5;
                   WriteLn(
                           'B[',I+1,']= ',B[I]:0:1);
              END;
              WriteLn(
                      'Максимум');
              Max:= B[1]; K:= 1;
              FOR I:= 0 TO High(B) DO
                  IF B[I]>Max THEN
                  BEGIN
                       Max:= B[I]; K:= I;
                  END;
             WriteLn(
                     'A[',K+1,']= ',Max:0:1);
             WriteLn(
                     'Массив B с заменой:');
             FOR I:= K+1 TO High(B) DO
             BEGIN
                  IF (B[I]<Max) OR (B[I]=Max) THEN
                  B[I]:= 0.5;
             END;
             FOR I:= 0 TO High(B) DO
             WriteLn(
                 'B[',I+1,']= ',B[I]:0:1);
         END;
CONST
     N= 5;
     M= 5;
VAR
   A1: ARRAY [1..N] OF Real;
   B1: ARRAY [1..M] OF Real;
BEGIN
ClrScr;
Randomize;
WriteLn(
        'Исходный массив A:');
MassivA(A1);
WriteLn(
        'Исходный масссив B:');
MassivB(B1);
END.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.11.2012, 00:33
Помогаю со студенческими работами здесь

Процедура в процедуре - ругань на Listbox
Создал себе такой код: procedure TForm1.N5_Change_LanguageClick(Sender: TObject); var Cl1: TForm; cl1_lb1: TListBox; ...

Процедура в процедуре. Как сделать.
Вопрос в том, можно ли вызвать в процедуру процедуру. Если да, то какой синтаксис будет в этом случае правильным.

Процедура, описанная в процедуре. Какие преимущества?
Процедура описанная в процедуре: Какие преимущества дает такая структура, объясните пожалста? Т.е. procedure Check(...); var ......

Процедура ПередЗаписью и Процедура ПередЗаписьюНаСервере
В документе после нажатия на кнопку Провести и закрыть надо запросить информацию у пользователя : «Количество оборудования введено верно?»...

Like в процедуре
Здравствуйте, подскажите, пожалуйста, как в процедуре сконструировать строку для поиска? Вот так, процедура создается, и работает: ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru