Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.01.2015, 21:48   #1
Dimidrolus
Дима)
Пользователь
 
Аватар для Dimidrolus
 
Регистрация: 05.06.2010
Сообщений: 30
По умолчанию Помогите понять задачку по процедуре.

Учу по "песням о паскале". Впринципе понял что такое процедура и её параметры. Была задача:

Код:
{ P_19_2 – применение процедуры с параметром }
var Man : string;
{--- объявление процедуры с параметром msg ---}
procedure Pause (msg : string);
begin
Write(msg); Readln;
end;
begin {--- главная программа ---}
Writeln(’Как тебя зовут?’); Readln(Man);
Writeln(’Здравствуй, ’, Man);
Pause(’Нажмите Enter…’);
Pause(’Ещё раз…’);
Pause(’И ещё разок!’);
end.
Теперь дана задачка:
Код:
) Напишите ещё одну версию процедуры Pause, выводящую сообщение
либо на русском, либо на английском языке. Параметр этой процедуры должен
быть булевым и работать она должна так. Глава 19
Процедуры и функции: разделяй и властвуй
126
Pause(true); { печатается «Нажмите Enter…» }
Pause(false); { печатается «Press Enter…» }
Никак не могу вьехать в условие задачи. Помогите плиз
Dimidrolus вне форума Ответить с цитированием
Старый 01.01.2015, 21:52   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Теперь pause должна печатать не сообщение, переданное через параметр msg, а по флагу (булевому параметру) определять, какую из двух строк печатать. Оператор if в помощь.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 01.01.2015, 22:07   #3
Dimidrolus
Дима)
Пользователь
 
Аватар для Dimidrolus
 
Регистрация: 05.06.2010
Сообщений: 30
По умолчанию

так?
Код:
var s: string; b: boolean;

procedure nacional(b:boolean);
begin
if b then writeln ('russian')
else writeln ('not russian');
end;
begin
writeln ('if your are russian, press 1, if not press 2'); readln (s);
b:=s='1';
nacional(b);
readln;
end.
Dimidrolus вне форума Ответить с цитированием
Старый 01.01.2015, 22:09   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Можно и просто: nacional(s='1');
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.01.2015, 22:12   #5
Dimidrolus
Дима)
Пользователь
 
Аватар для Dimidrolus
 
Регистрация: 05.06.2010
Сообщений: 30
По умолчанию

вообщем насколько я понял то в параметр процедуры я должен положить значение true или false, после чего оно присвоится внутрипроцедурной переменной b. верно?
Dimidrolus вне форума Ответить с цитированием
Старый 01.01.2015, 22:16   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В данном случае логическое выражение, которое может быть и просто булевой переменной или константой. Для var параметров выражение нельзя, а только переменную
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задали задачку, совсем не могу понять как нужно наполнять третий массив StoneGod Паскаль, Turbo Pascal, PascalABC.NET 4 22.09.2011 07:52
Не могу понять задачку Чёрный Общие вопросы C/C++ 6 28.09.2009 05:33
Помогите решить задачку Top4 Помощь студентам 0 07.04.2009 20:50
Помогите Помогите Пожалуйста Решить Одну Задачку в Паскале!!! VisTBacK Помощь студентам 6 19.09.2008 13:44
Помогите решить задачку rainbow1 Паскаль, Turbo Pascal, PascalABC.NET 1 28.08.2008 16:59