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

Подпрограммы, процедуры

04.01.2010, 18:41. Показов 2570. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте! Вопрос - как найти по коду что выведет программа? Как это работает? Почему выводит именно это? Внизу примеры!

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program Analyze1;
const num=10;
var i, j, k: integer;
procedure TestProc(  a:integer; b: integer) ;
var c : integer;
begin
k:=num; c:=a; a:=b; b:=c;
writeln('In proc', a:3, b:3);
end;
begin
i:=1; j:=2; k:=3;
TestProc(i,j);
writeln('After proc', i:3, j:3, k:3);
end.

Code
1
2
 In proc       2 1
   After proc    1 2 10

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program Analyze2;
const num=10;
var i, j, k: integer;
procedure TestProc( var a:integer; b: integer) ;
var c : integer;
begin
k:=num; c:=a; a:=b; b:=c;
writeln('In proc', a:3, b:3);
end;
begin
i:=1; j:=2; k:=3;
TestProc(i,j);
writeln('After proc', i:3, j:3, k:3);
end.
Code
1
2
In proc       2 1
   After proc    2 2 10

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program Analyze3;
const num=10;
var i, j, k: integer;
procedure TestProc( var a:integer; b: integer) ;
var c, k : integer;
begin
k:=num; c:=a; a:=b; b:=c;
writeln('In proc', a:3, b:3);
end;
begin
i:=1; j:=2; k:=3;
TestProc(i,j);
writeln('After proc', i:3, j:3, k:3);
end.
Code
1
2
In proc       2 1
   After proc    2 2 3
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program Analyze4;
const num=10;
var i, j, k: integer;
procedure TestProc( var a:integer; b: integer) ;
var c, k : integer;
begin
k:=num; c:=a; a:=b; b:=c;
writeln('In proc', a:3, b:3);
end;
begin
i:=1; j:=2; k:=3;
TestProc(i, k);
writeln('After proc', i:3, j:3, k:3);
end
Code
1
2
In proc       3 1
   After proc    3 2 3
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program Analyze5;
const num=10;
var i, j, k: integer;
procedure TestProc( var a:integer; b: integer) ;
var c : integer;
begin
k:=num; c:=a; a:=b; b:=c;
writeln('In proc', a:3, b:3);
end;
begin
i:=1; j:=2; k:=3;
TestProc(i, k);
writeln('After proc', i:3, j:3, k:3);
end.
Code
1
2
  In proc       3 1
 After proc    3 2 10
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program Analyze6;
const num=10;
var i, j, k: integer;
procedure TestProc( var a:integer; var b: integer) ;
var c : integer;
begin
k:=num; c:=a; a:=b; b:=c;
writeln('In proc', a:3, b:3);
end;
begin
i:=1; j:=2; k:=3;
TestProc(i, k);
writeln('After proc', i:3, j:3, k:3);
end.
Code
1
2
In proc       10 1
After proc    10 2 1
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.01.2010, 18:41
Ответы с готовыми решениями:

Процедуры - подпрограммы
Ввести матрицу А(5,6). Найти минимальный элемент в каждом столбце матрицы и записать их в виде одномерного массива. Массив вывести на...

Подпрограммы и процедуры
«Использование подпрограмм». Создание процедуры Даны натуральные числа n, m и матрица разрядности nхm действительных (в том числе...

Подпрограммы (процедуры и функции)
Вот какаята задачка...что даже препод немог решить... а я врятле справлюся... Дано натуральное n. Вычислить Sn = 1 x 2 + 2 x 3 x 4 + … +...

20
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
04.01.2010, 18:58
чтобы понять, что именно выведет данный код, надо либо понять алгоритм, и вычислить итоговое значение, либо тупо, по шагам пройти его, записывая полученные результаты на каждом шаге в таблицу
0
0 / 0 / 0
Регистрация: 04.01.2010
Сообщений: 23
04.01.2010, 19:00  [ТС]
А что делает процедура TestProc?
0
1916 / 1066 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
04.01.2010, 19:01
Ingiborg, вы предыдущий пост читали?
0
0 / 0 / 0
Регистрация: 04.01.2010
Сообщений: 23
04.01.2010, 19:04  [ТС]
Какую таблицу? Дан код:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program Analyze1;
const num=10;
var i, j, k: integer;
procedure TestProc(  a:integer; b: integer) ;
var c : integer;
begin
k:=num; c:=a; a:=b; b:=c;
writeln('In proc', a:3, b:3);
end;
begin
i:=1; j:=2; k:=3;
TestProc(i,j);
writeln('After proc', i:3, j:3, k:3);
end.
Задание - что выведет эта программа. Вот и всё

Добавлено через 1 минуту
Предыдущий пост читал! В этом то и вопрос как всё это дело посчитать по шагам?
0
1916 / 1066 / 384
Регистрация: 06.12.2008
Сообщений: 2,802
04.01.2010, 19:08
Ingiborg, а как у вас могут получаться разные результаты, если не требуется ничего вводить, т.е значения не меняются
0
 Аватар для CFYZ
11 / 11 / 4
Регистрация: 21.11.2009
Сообщений: 187
04.01.2010, 19:10
А что означает :3?
Pascal
1
writeln('After proc', i:3, j:3, k:3);
0
0 / 0 / 0
Регистрация: 04.01.2010
Сообщений: 23
04.01.2010, 19:10  [ТС]
Это не у меня. Это даны примеры преподавателем. Поэтому и возник вопрос.

Вот пример ещё один:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program Analyze;
const num=10;
var  i, j, k: integer;
procedure TestProc( var a:integer;b: integer) ;
var c: integer;
begin
i:=num div 2; a:=b; b:=a+1; c:=a;
writeln('In proc', a, b,c);
end;
begin
i:=1; j:=2; k:=3;
TestProc(j,k);
writeln('After proc', i, j, k);
end.
С вопросом, что выведет программа.
Ответ: In proc343
After proc533
Как считать задания такого типа?
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
04.01.2010, 19:12
Эта программа выведет 2 1 10, она поменяет значения переменных i и j и выведет значение константы.
0
 Аватар для CFYZ
11 / 11 / 4
Регистрация: 21.11.2009
Сообщений: 187
04.01.2010, 19:15
Цитата Сообщение от Ingiborg Посмотреть сообщение
Это не у меня. Это даны примеры преподавателем. Поэтому и возник вопрос.
Та мне просто интересно что это значит. Т.к. встречается во многих программах.
0
0 / 0 / 0
Регистрация: 04.01.2010
Сообщений: 23
04.01.2010, 19:16  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Эта программа выведет 2 1 10, она поменяет значения переменных i и j и выведет значение константы.
Какая эта программа?
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
04.01.2010, 19:16
С вопросом, что выведет программа.
Ответ: In proc343
After proc533
Как считать задания такого типа?
ну, она вам и вывела: а=3 b=4 c=3
i=5 j=3 k=3
надо было разделить пробелами вывод
0
0 / 0 / 0
Регистрация: 04.01.2010
Сообщений: 23
04.01.2010, 19:18  [ТС]
Цитата Сообщение от alexevt Посмотреть сообщение
ну, она вам и вывела: а=3 b=4 c=3
i=5 j=3 k=3
надо было разделить пробелами вывод
Это по коду надо посчитать! Ну вот как вы посчитали что она выведет именно это? Вот в чём вопрос
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
04.01.2010, 19:19
пример
Pascal
1
2
3
4
5
6
for i:=1 to 5 do
begin
k:=sqr(i);
sum:=sum+k;
end;
writeln(sum);
i k sum
1 1 1
2 4 5
3 9 14
4 16 30
5 25 55
вот вам и таблица. в неё пишем все переменные и их изменение на каждом шаге, в итоге sum=55
0
0 / 0 / 0
Регистрация: 04.01.2010
Сообщений: 23
04.01.2010, 19:27  [ТС]
Цитата Сообщение от alexevt Посмотреть сообщение
пример
Pascal
1
2
3
4
5
6
for i:=1 to 5 do
begin
k:=sqr(i);
sum:=sum+k;
end;
writeln(sum);
i k sum
1 1 1
2 4 5
3 9 14
4 16 30
5 25 55
вот вам и таблица. в неё пишем все переменные и их изменение на каждом шаге, в итоге sum=55
Я ещё больше запутался...

Добавлено через 2 минуты
Pascal
1
2
3
4
5
6
procedure TestProc( var a:integer;b: integer) ;
var c: integer;
begin
i:=num div 2; a:=b; b:=a+1; c:=a;
writeln('In proc', a, b,c);
end;
Ладно вот тут почему программа нам вывела 3 4 3 ???? Как это посчитать?

Добавлено через 1 минуту
Потому что процедура TestProc берёт а и б как 3? изи этого а=3 б=3+1 с=3 ???
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
04.01.2010, 19:29
Цитата Сообщение от Ingiborg Посмотреть сообщение
Я ещё больше запутался...

Добавлено через 2 минуты
Pascal
1
2
3
4
5
6
procedure TestProc( var a:integer;b: integer) ;
var c: integer;
begin
i:=num div 2; a:=b; b:=a+1; c:=a;
writeln('In proc', a, b,c);
end;
Ладно вот тут почему программа нам вывела 3 4 3 ???? Как это посчитать?

Добавлено через 1 минуту
Потому что процедура TestProc берёт а и б как 3? изи этого а=3 б=3+1 с=3 ???
b было=3, a:=b, то есть а стало=3, b:=a+1, то есть b стало 3+1=4, c:=a, то есть=3
0
0 / 0 / 0
Регистрация: 04.01.2010
Сообщений: 23
04.01.2010, 19:33  [ТС]
а Откуда б было 3 ?
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
04.01.2010, 19:42
откуда я знаю, если у вас не программа, а только процедура от неё. значит задали или вычислили. надо всю прогу смотреть
0
0 / 0 / 0
Регистрация: 04.01.2010
Сообщений: 23
04.01.2010, 19:53  [ТС]
Цитата Сообщение от alexevt Посмотреть сообщение
откуда я знаю, если у вас не программа, а только процедура от неё. значит задали или вычислили. надо всю прогу смотреть
А где я её возьму? Дано всё что написал и в задании написано что надо найти что выведет программа! Это пример из экзаменационного билета.

Добавлено через 3 минуты
Я поэтому и не понимаю что с этим делать! Дан пример задания:

Что Выведет эта программа?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program Analyze;
const num=10;
var  i, j, k: integer;
procedure TestProc( var a:integer;b: integer) ;
var c: integer;
begin
i:=num div 2; a:=b; b:=a+1; c:=a;
writeln('In proc', a, b,c);
end;
begin
i:=1; j:=2; k:=3;
TestProc(j,k);
writeln('After proc', i, j, k);
end.
И дан ответ на это задание! А как найти и что дано ничего не сказано. А это приер того что будет в экзамене! Если в экзамене такое попадётся как это решать?

Добавлено через 2 минуты
Вводить число любое и считать?
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
04.01.2010, 20:19
нет, почему, у вас всё задано, всё считается, просто подставляйте свои числа i,j,k в процедуру
Pascal
1
i:=1; j:=2; k:=3;
вместо a и b
Pascal
1
i:=num div 2; a:=b; b:=a+1; c:=a;
и получите тот ответ, который у вас дан
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.01.2010, 20:19
Помогаю со студенческими работами здесь

Подпрограммы. Процедуры и функции.
Вычислить значение выражения при заданных значениях x, y, z:

матрицы,процедуры,подпрограммы
Помогите пожалуйста кто-нибудь,нужно лабораторную сдавать,а я совершенно не знаю как её делать Буду очень благодарна если мне кто-нибудь...

модульное программирование (процедуры-подпрограммы)
Даны два вектора: A(10) и B(11). Вычислить z=cd, где c- колличество положительных элементов вектора A, d- колличество отрицательных...

Нужно распределить на подпрограммы (функции и процедуры)
Кому не трудно сделайте плиииииз) Дали задание: распределить на подпрограммы (функции и процедуры), а потом сделать из подпрограмм...

вычисления функции с использованием подпрограммы-процедуры
Почему выдает неправельный ответ, правельный должен быть 0.000000 Хотя при проверке выдает 0.000000 program summa; procedure vyvod; ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru