Как вызвать процедуру? - Pascal
Формулировка задачи:
Вопщем, мне нада вызвать процедуру Krest_1 с ввода клавиатуры. Например, ввожу "1" и получаю процедуру
"Krest_1". нада как то присвоить процедуру к переменной, но я всю голову сломал, не знаю как.
Program gravika; Var K : integer; N : integer; Procedure Krest_1; Begin Line( 40, 10, 80, 50); Line( 40, 50, 80, 10); end; Procedure Krest_2; Begin Line( 40, 49, 80, 89); Line( 40, 88, 80, 48); end; Procedure Krest_3; Begin Line( 79, 10, 119, 50); Line( 79, 50, 119, 10); end; Procedure Krest_4; Begin Line( 79, 49, 119, 89); Line( 79, 88, 119, 48); end; Procedure Nol_1; Begin Ellipse( 80, 50, 40, 10); End; Procedure Nol_2; Begin Ellipse( 80, 49, 40, 89); End; Procedure Nol_3; Begin Ellipse( 79, 50, 119, 10); End; Procedure Nol_4; Begin Ellipse( 79, 49, 119, 89); End; Begin Begin Rectangle( 40, 10, 80, 50); Rectangle( 40+39, 10, 80+39, 50); Rectangle( 40, 10+39, 80, 50+39); Rectangle( 40+39, 10+39, 80+39, 50+39); WriteLn; WriteLn('Âûáåðåòå êðåñòèê '); Read; end; end.
Решение задачи: «Как вызвать процедуру?»
textual
Листинг программы
VAR n:integer; PROCEDURE Krest (n:integer); Begin CASE n OF 1:{и здесь рисуешь крест для цифры 1}; 2:{и здесь рисуешь крест для цифры 2}; 3:{и здесь рисуешь крест для цифры 3}; {и так далее} end; end; BEGIN Readln (n); Krest (n); END.
Объяснение кода листинга программы
- Создаётся переменная
n
типаinteger
для хранения введенного числа. - Описывается процедура
Krest
с параметромn
типаinteger
. - Внутри процедуры используется конструкция
CASE..OF
для выполнения различных действий в зависимости от значенияn
. - Для каждого возможного значения
n
(начиная с 1 и так далее) задаются действия для рисования креста. - В основной части программы пользователю предлагается ввести значение переменной
n
с клавиатуры. - Затем процедура
Krest
вызывается с передачей в неё значенияn
для выполнения соответствующих действий в зависимости от введенного числа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д