Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 405
от 20.06.2007, 13:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 254, Экспертов: 61
В номере:Вопросов: 3, Ответов: 5


Вопрос № 91398: Напишите пожалуйста программу с использованием модуля crt. Только чтобы был не пищала, а была нормальная мелодия. Program pu_crt; uses crt; Begin While not Key Pressed do begin Sound(Random(1000)+131); Delay...
Вопрос № 91399: Подскажите пожалуйста любую программу с использованием модуля unit ...
Вопрос № 91432: помогите пожалуйста решить: написать процедуру Convert получающую паратметр date (дата) типа string, содержащей значение календарной даты в формате мм/дд/гг. например вводим 12/14/02 должно получиться Декабрь 14, 2002 (все даты относятся к 21...

Вопрос № 91.398
Напишите пожалуйста программу с использованием модуля crt.
Только чтобы был не пищала, а была нормальная мелодия.

Program pu_crt;
uses crt;
Begin
While not Key Pressed do
begin
Sound(Random(1000)+131);
Delay(50*Random(10));
NoSound;
end;
end.
Отправлен: 14.06.2007, 16:18
Вопрос задал: Santa2 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Gh0stik
Здравствуйте, Santa2!

Вот, пожалуйста, Вам два примера, которые проигрывают нормальную мелодию:

program CDur;
uses crt;
var o,go,
z2,z4,z8,z16,k : longint;
d,dd,r,rd,m,f,fd,c,cd,l,ld,si : integer;

{************************************************************}
procedure s(n,z:integer);
var k,k2 : integer;
begin
sound(o*n*go);
delay(z);
nosound;
end;
{************************************************************}
begin
go := 3;
d := 65; dd := 69; r := 73; rd := 78;
m := 82; f := 87; fd := 93; c := 98;
cd := 104; l := 110; ld := 117; si := 123;
{************************************************************}

z2 := 1000000; {путем изменения этого параметра Вы сможете добиться нужного качества звучания - поскольку он зависит от производительности машины}
z4:=round(z2/2);
z8:=round(z2/4);
z16:=round(z2/8);

o := 1; s(l,z8); s(si,z8);
o := 2; s(d,z8);
o := 1; s(si,z8);
o := 2; s(r,z8); s(d,z8);
o := 1; s(si,z8); s(l,z8);
s(si,z4); s(si,z4); s(si,z4);
end.


program CDur;
uses crt;
var o,go,
z2,z4,z8,z16,k : longint;
d,dd,r,rd,m,f,fd,c,cd,l,ld,si : integer;

{************************************************************}
procedure s(n,z:integer);
var k,k2 : integer;
begin
sound(o*n*go);
delay(z);
nosound;
end;
{************************************************************}
begin
go := 4;
d := 65; dd := 69; r := 73; rd := 78;
m := 82; f := 87; fd := 93; c := 98;
cd := 104; l := 110; ld := 117; si := 123;
{************************************************************}

z2 := 40000; {путем изменения этого параметра Вы сможете добиться нужного качества звучания - поскольку он зависит от производительности машины}
z4 := round(z2/2); z8 := round(z2/4);
z16 := round(z2/8);

{************************************************************}
o := 1; s(l,z8); o:=2; s(m,z8); s(m,z8); s(m,z8);
delay(60);
s(f,z8); s(f,z8); s(m,z8); s(m,z8);
delay(60);
s(r,z8); s(r,z8); s(d,z8); s(d,z8);
delay(60);
o:=1; s(si,z8); s(si,z8); s(l,z8); s(l,z8);
delay(60);
s(m,z8); s(m,z8); s(l,z2);
delay(60);
o:=2; s(r,z8); s(r,z8); s(d,z8); s(d,z8);
delay(60);
o:=1; s(si,z8); s(si,z8); s(l,z8); s(l,z8);
delay(60);
s(m,z8); s(m,z8); s(l,z2);
end.


Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 14.06.2007, 22:31


Вопрос № 91.399
Подскажите пожалуйста любую программу с использованием модуля unit
Отправлен: 14.06.2007, 16:20
Вопрос задал: Santa2 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Зенченко Константин Николаевич
В приложении исходник модуля MsgBox.
Ниже идет описание, что это значит.
Удачи!
Unit (зарезервированное слово)
Модули - основа модульного программирования в Pascal. Вы можете использовать модули для создания библиотек и для разделения больших программ на несколько логически связанных модулей.
Синтаксис:
Unit идентификатор; { Заголовок }
Interface{ Общие описания }:
Uses{ Раздел Uses }
Const{ Раздел Constants }
Type{ Раздел Types }
Var{ Раздел Variables }
Procedure{ Описание процедур }
Function{ Описание функций }
Implementation { Частные описания }:
Uses{ Раздел Uses }
Label{ Раздел Label}
Const{ Раздел Constants }
Type{ Раздел Types }
Var{ Раздел Variables }
Procedure{ Описание процедур }
Function{ Описание функций }
Begin { Раздел инициализации }
Statement;{ Операторы }
Statement;
End.
Вот части модуля:
- Заголовок модуля
- Интерфейсная часть
- Часть реализации
- Часть инициализации
Заголовок модуля:
В заголовке модуля определяется имя модуля, которое вы будете использовать, при указании ссылки на данный модуль в разделе Uses другой программы.
Интерфейсная часть:
В интерфейсной части объявляются константы, типы, переменные, процедуры и функции, которые являются общими (доступными пользователям модуля). Для процедур и функций здесь перечисляются только их заголовки. Тела процедур и функций находятся в части реализации.
Часть реализации:
В части реализации находятся тела всех общих процедур и функций. Кроме того, здесь объявляются константы, типы, переменные, процедуры и функции, которые являются частными и не доступны пользователям модуля.
Часть инициализации:
Часть инициализации - завершающая часть модуля. Она состоит из:
- Зарезервированного слова End (нет кода инициализации), или
- операторной части, которая будет выполнена при запуске программы, использующей данный модуль

Приложение:

---------
И только наступив на грабли мы преобретаем драгоценный опыт!

Ответ отправил: Зенченко Константин Николаевич (статус: Практикант)
Ответ отправлен: 14.06.2007, 17:00


Вопрос № 91.432
помогите пожалуйста решить:
написать процедуру Convert получающую паратметр date (дата) типа string, содержащей значение календарной даты в формате мм/дд/гг.
например вводим 12/14/02 должно получиться Декабрь 14, 2002 (все даты относятся к 21 веку)
Отправлен: 14.06.2007, 22:29
Вопрос задал: Максим Сергеевич (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Louken
Здравствуйте, Максим Сергеевич!

Ответ удален и помещен для обсуждения в ветку форума
"О деятельности экспертов и работе портала/Удаленные ответы для обсуждения".
Ответ удален, поскольку были использованы стандартные функции Delphi - следовательно неверен в данной рассылке.

-~= Gh0stik =~-
Ответ отправил: Louken (статус: 7-ой класс)
Ответ отправлен: 14.06.2007, 22:58

Отвечает: Gh0stik
Здравствуйте, Максим Сергеевич!

Вот решение:

procedure Convert(var d:string);
var m:string;
x,cd:integer;
begin
val(copy(d,1,2),x,cd);
d:='';
case x of
1: m:='Январь';
2: m:='Февраль';
3: m:='Март';
4: m:='Апрель';
5: m:='Май';
6: m:='Июнь';
7: m:='Июль';
8: m:='Август';
9: m:='Сентябрь';
10: m:='Октябрь';
11: m:='Ноябрь';
12: m:='Декабрь';
else begin d:='Error data'; end;
end;
if d='' then d:=m+' '+copy(d,4,2)+', 20'+copy(d,7,2);
end;

var dt:string;
begin
dt:='03/18/12';
Convert(dt);
writeln(dt);
end.


Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 14.06.2007, 23:12

Отвечает: Левадный Тимур Русланович
Здравствуйте, Максим Сергеевич!
Код в приложении.

Приложение:

Ответ отправил: Левадный Тимур Русланович (статус: 1-ый класс)
Ответ отправлен: 14.06.2007, 23:27


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное