pascal - многопоточное программирование
Модератор: Злобный
pascal - многопоточное программирование
как в паскле можно зделать двух проточную программу
- Atyla
- Отец
- Сообщения: 4194
- Зарегистрирован: Вс сен 01, 2002 18:35
- Откуда: С вытрезвителя.
- Контактная информация:
Re: pascal
В каком смысле 2-х проточную?qnx_empty писал(а):как в паскле можно зделать двух проточную программу
2-х поточную может? %)
То есть шобы одна програ запускала 1 и более потоков? 8О)
В Паскале низя, хотя мона извратиться под Turbo Pascal for Windows 3.1 извратившись с айпишными функциями... %)
Может ты имел в виду, как сделать под дельфи? %)
- MoD}|{aXeD
- Завсегдатай
- Сообщения: 2394
- Зарегистрирован: Чт янв 15, 2004 23:10
- Откуда: из Афгана, че непонятного ёпть!?
- Контактная информация:
- Белый С.
- Завсегдатай
- Сообщения: 2526
- Зарегистрирован: Пн дек 22, 2003 22:43
- Откуда: Выведен из аксиом
- Контактная информация:
MoD}|{aXeD, обычно - достаёшь egavga.bgi, если нету - любым гуглом ищи.
uses graph;{В начале}
const path='';{Путь к бгишке}
var gd,gm:integer;
gd:=0; initgraph(gd,gm,path); {Инициализация по умолчанию}
closegraph; {Обратно в текстовый режим}
А в Си народ пачками ошибается при указании пути: бэкслэши надо двойные.
Ещё на некоторых пентиумах бывают глюки с crt, но это вроде другое.
uses graph;{В начале}
const path='';{Путь к бгишке}
var gd,gm:integer;
gd:=0; initgraph(gd,gm,path); {Инициализация по умолчанию}
closegraph; {Обратно в текстовый режим}
А в Си народ пачками ошибается при указании пути: бэкслэши надо двойные.
Ещё на некоторых пентиумах бывают глюки с crt, но это вроде другое.
Последний раз редактировалось Белый С. Вс фев 29, 2004 12:51, всего редактировалось 2 раза.
- MoD}|{aXeD
- Завсегдатай
- Сообщения: 2394
- Зарегистрирован: Чт янв 15, 2004 23:10
- Откуда: из Афгана, че непонятного ёпть!?
- Контактная информация:
Белый С.,
egavga.bgi есть.
Пишу:
uses graph {В начале}
procedure initialize;
var x,y;
begin
detectgraph(x,y);
initgraph(x,y,'C:\TP\BGI');
if graphresult<>0 then halt
end;
полюбому не работает. По идее графрезалт при успешной инициализации должен быть 0, но он почему то остается 1. Пытался брат if в коммент, типо чтобы не проверял, все равно галяк...
egavga.bgi есть.
Пишу:
uses graph {В начале}
procedure initialize;
var x,y;
begin
detectgraph(x,y);
initgraph(x,y,'C:\TP\BGI');
if graphresult<>0 then halt
end;
полюбому не работает. По идее графрезалт при успешной инициализации должен быть 0, но он почему то остается 1. Пытался брат if в коммент, типо чтобы не проверял, все равно галяк...
- Белый С.
- Завсегдатай
- Сообщения: 2526
- Зарегистрирован: Пн дек 22, 2003 22:43
- Откуда: Выведен из аксиом
- Контактная информация:
MoD}|{aXeD, x с y, конечно, integer.
После uses graph надо ;
detectgraph сроду не использовал, писал x:=detect; хотя это тот же ноль, при этом initgraph сам всё определит. Можно вообще ничего не определять, а присвоить иксу 9 и игреку 2 (640х480х16). Была ещё функция выдать текст ошибки по коду, GraphErrorMsg(ErrorCode: Integer): string; , примени к graphresult.
А самое действенное - проверь что бгишка лежит по указанному тобой пути; временно загони её в текущую директорию и дай пустую строку в пути. Дерзай.
После uses graph надо ;
detectgraph сроду не использовал, писал x:=detect; хотя это тот же ноль, при этом initgraph сам всё определит. Можно вообще ничего не определять, а присвоить иксу 9 и игреку 2 (640х480х16). Была ещё функция выдать текст ошибки по коду, GraphErrorMsg(ErrorCode: Integer): string; , примени к graphresult.
А самое действенное - проверь что бгишка лежит по указанному тобой пути; временно загони её в текущую директорию и дай пустую строку в пути. Дерзай.
- MoD}|{aXeD
- Завсегдатай
- Сообщения: 2394
- Зарегистрирован: Чт янв 15, 2004 23:10
- Откуда: из Афгана, че непонятного ёпть!?
- Контактная информация:
-
- Юзер
- Сообщения: 214
- Зарегистрирован: Пт дек 01, 2006 08:07
- Откуда: Кишинев
- Контактная информация:
Ребятки, как говориться - I need HELP!!!
Не хочу создавать отдельную тему и спрошу здесь.
Срочно нужно решить одну задачку из Паскаля, а я даже и не знаю кто есть Паскаль. Помогите, а? Очень сильно прошу.
Вот, собственно, и сама задача:
"In fishierul int.txt sunt inmagazinate numerele naturale separate prin spatiu.Sa se scrie programul care inscrie in fishierul out.txt numerele prime din fishierul de intrare"
Отблагодарю чем смогу!!
Не хочу создавать отдельную тему и спрошу здесь.
Срочно нужно решить одну задачку из Паскаля, а я даже и не знаю кто есть Паскаль. Помогите, а? Очень сильно прошу.
Вот, собственно, и сама задача:
"In fishierul int.txt sunt inmagazinate numerele naturale separate prin spatiu.Sa se scrie programul care inscrie in fishierul out.txt numerele prime din fishierul de intrare"
Отблагодарю чем смогу!!
Код: Выделить всё
program primfile;
uses crt;
var f,g:text;
n:integer;
function esteprim(n:integer):boolean;
var este:boolean;
i,divizori:integer;
begin
este:=true;
divizori:=0;
i:=0;
repeat
inc(i);
if (n mod i = 0) then inc(divizori);
until (i>n)or(divizori>2);
if divizori>2 then este:=false;
esteprim:=este;
end;
begin
clrscr;
assign(f,'in.txt');reset(f);
assign(g,'out.txt');rewrite(g);
while not eof(f) do begin
read(f,n);
if esteprim(n) then write(g,n,' ');
end;
close(g);
end.
-
- Юзер
- Сообщения: 214
- Зарегистрирован: Пт дек 01, 2006 08:07
- Откуда: Кишинев
- Контактная информация:
Unknown писал(а):Код: Выделить всё
program primfile; uses crt; var f,g:text; n:integer; function esteprim(n:integer):boolean; var este:boolean; i,divizori:integer; begin este:=true; divizori:=0; i:=0; repeat inc(i); if (n mod i = 0) then inc(divizori); until (i>n)or(divizori>2); if divizori>2 then este:=false; esteprim:=este; end; begin clrscr; assign(f,'in.txt');reset(f); assign(g,'out.txt');rewrite(g); while not eof(f) do begin read(f,n); if esteprim(n) then write(g,n,' '); end; close(g); end.
Спасибо, Уважаемый!!!
Здравствуйте, ребята!
Помогите, пожалуйста,написать программу на Турбо Паскале:
Задание на обработку матрицы:
Осуществить циклический сдвиг элементов квадратной матрицы вправо на К элементов таким образом: эл-ты 1 строки сдвигаются в последний столбец сверху вниз, из него - в последнюю строку справа налево, из нее - в 1-й столбец снизу вверх, из него - в 1-ю строку; для остальных элементов аналогично.
LI
Помогите, пожалуйста,написать программу на Турбо Паскале:
Задание на обработку матрицы:
Осуществить циклический сдвиг элементов квадратной матрицы вправо на К элементов таким образом: эл-ты 1 строки сдвигаются в последний столбец сверху вниз, из него - в последнюю строку справа налево, из нее - в 1-й столбец снизу вверх, из него - в 1-ю строку; для остальных элементов аналогично.
LI
Если я правильно понял задание то сдвиг происходит таким образом:
, если так, то
Код: Выделить всё
11 12 13 21 11 12
21 22 23 -> 31 22 13
31 32 33 32 33 23
Код: Выделить всё
Program sdvig;
Uses CRT;
const n=5;
type mass=array [1..n,1..n] of integer;
Procedure Vivod(A:mass);
var i,j:integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
write(A[i,j]:5);
writeln;
end;
end;
var A,B:mass;
i,j,k,m:integer;
Begin
for i:=1 to n do
for j:=1 to n do
begin
write('A[',i,',',j,']=');
readln(A[i,j]);
end;
clrscr;
writeln(' ***Ishodnij massiv***');
Vivod(A);
write(' - Na skoliko pozitsi sdvinuti elementi? K=');
readln(k);
if (k<1) then
begin
writeln(' Osibka!!! K<1');
Exit;
end;
for m:=1 to k do
begin
for i:=1 to n do
for j:=1 to n do
begin
if (i= j) and (i+j= n+1) then B[i,j]:=A[i,j];
if (i<=j) and (i+j< n+1) then B[i,j+1]:=A[i,j];
if (i< j) and (i+j>=n+1) then B[i+1,j]:=A[i,j];
if (i>=j) and (i+j> n+1) then B[i,j-1]:=A[i,j];
if (i> j) and (i+j<=n+1) then B[i-1,j]:=A[i,j];
end;
for i:=1 to n do
for j:=1 to n do
A[i,j]:=B[i,j];
end;
writeln(' ***Polucenaya matritsa***');
Vivod(B);
readkey;
end.