Перейти до вмісту

Pasсal, всі питання тут


Повідомлень в темі: 131

#101 Уповноважений

    Козак - перевертень

  • Модератори
  • PipPipPipPipPipPipPipPipPipPip
  • 6652 повідомлень
  • Стать:Чоловік
  • Місто:пекельне болото

Відправлено 01.07.2009 – 21:04

переміщення курсиру в задану позицію екрану - то просто процедура. забув як називаєця, але там просто пишеш назву процедури і координати, і курсор в потрібному тобі місці. от з читанням клавіш чуть-чуть цікавіше через те, що керуючі клавіші дають два байти
  • 0

#102 Уповноважений

    Козак - перевертень

  • Модератори
  • PipPipPipPipPipPipPipPipPipPip
  • 6652 повідомлень
  • Стать:Чоловік
  • Місто:пекельне болото

Відправлено 01.07.2009 – 21:53

спробую пригадати процедури і функції, що тобі потрібні:
keypressed, readkey,gototext ... читай справку
  • 0

#103 Гість_DJ RZ_*

  • Гості

Відправлено 04.10.2009 – 17:31

є питання по Pascal??? Заходи на http://www.pascal.pp.ua - і на всі свої питання отримаєш відповіді!
  • 0

#104 Гість_keite_*

  • Гості

Відправлено 22.12.2009 – 21:10

Поможіть розвязати задачку:Дана дійсна матриця розмірності МхN. Отримати послідовність добутків квадратів тих елементів кожного рядка, модулі яких належать відрізку [1;3]. Результат занести в одновимірний масиві розмірності M.
  • 0

#105 Уповноважений

    Козак - перевертень

  • Модератори
  • PipPipPipPipPipPipPipPipPipPip
  • 6652 повідомлень
  • Стать:Чоловік
  • Місто:пекельне болото

Відправлено 22.12.2009 – 22:07

так, знайомо. в задачах з програмування найскладніше зрозуміти завдання.
Послідовність, це що, одномірний масив?
добуток квадратів ніби ясно.
модуль це abs(x)
перевірити чи належить до відрізку if 1<=abs(a[i,j])<=3 then ......


S[k]:=S[k-1]*Sqr(abs(a[i,j]))
десь приблизно так. а робити так щоб до здачі готово було не буду принципово
  • 0

#106 Гість_keite_*

  • Гості

Відправлено 23.12.2009 – 16:42

Мені було головне зрозуміти умову задачі. Дуже дякую... :happy1:
  • 0

#107 Гість_Not_a_Love_story_*

  • Гості

Відправлено 27.12.2009 – 17:00

Привіт усім. Допоможіть, будь ласка, написати програму на Паскалі.
умова така:
розкласти функцію y=ch(x) у ряд Тейлора та написати рекурсивну функцію для обчислення її значення в точці x>0 з точністю ε=0,0001.
наперед вдячна.
  • 0

#108 iamweasel

    Чайник

  • Користувачі
  • Pip
  • 3 повідомлень

Відправлено 24.01.2010 – 13:58

program figniapovna;
uses crt;
type zv2=^pointer;
pointer=record
nxt:zv2;
prv:zv2;
lm:char;
num: integer ;
end;
var vlan,vslov,a,s:zv2;k:integer;sym:char; krt:string; u,l,j,n,i,o:integer;
procedure vstav(lan:zv2;buk:char);
var q:zv2;

begin
new(Q); q^.lm:=buk;
q^.nxt:=lan^.nxt;
lan^.nxt:=Q;
Q^.prv:=lan^.nxt^.prv;
lan^.nxt^.prv:=Q;
q^.prv:=lan^.nxt^.prv;
lan^.nxt^.prv:=Q;
end;

procedure vdal(lan:zv2);
var v:zv2;
begin
v:=lan;
lan^.nxt^.prv:=lan^.prv;
lan^.prv^.nxt:=lan^.nxt;
dispose(v);
end;


begin
clrscr;
new(vslov);
vslov^.nxt:=vslov;
vslov^.prv:=vslov;
vlan:=vslov;
k:=1;
writeln('vvedit riadok');
while vlan^.lm<>'.' do begin
new(vlan^.nxt);
vlan:=vlan^.nxt;
vlan^.nxt:=vslov;
vslov^.prv:= vlan;
read(sym);
vlan^.lm:=sym;
end;
vlan:=vslov;
n:=0;
o:=-2 ;
while vlan^.lm<>'.' do begin
if( vlan^.lm = 'i') and ( vlan^.nxt^.lm='f')
then
begin n:=n+1; vlan:=vlan^.nxt; vlan^.num:=o+n ; end else vlan:=vlan^.nxt; end;
vlan:=vslov;

while vlan^.lm<>'.' do begin
if (vlan^.lm='i')and(vlan^.nxt^.lm='f') then break;
vlan:=vlan^.nxt; end;




while vlan^.lm<>'.' do begin
if( vlan^.lm = 'i')
and ( vlan^.nxt^.lm='f') then
begin
vdal(vlan^.nxt);
vdal(vlan);

vlan:=vlan^.nxt;
end;
end;

vlan:=vslov;
while vlan^.lm<>'.' do begin
if (vlan^.lm='i')and(vlan^.nxt^.lm='f') then write(n); write(vlan^.lm);
vlan:=vlan^.nxt
end;
end.

не працює чом
  • 0

#109 Бамблбі

    Писар

  • Користувачі
  • PipPipPipPipPipPipPipPip
  • 415 повідомлень
  • Стать:Чоловік
  • Місто:ЛЬВІВ

Відправлено 23.03.2010 – 22:53

Нарооод....поможіть алгоритм Гаффмана реалізувати на паскалі...
ПЛІЗ!!!
  • 0

#110 Бесідник

    Постійний житель

  • Користувачі
  • PipPipPipPipPip
  • 139 повідомлень
  • Стать:Чоловік
  • Місто:Франик

Відправлено 16.07.2010 – 16:42

Хтось знає як зробити затримку меншу за delay(1)?
Може є якась інша процедура?

ПС: паскаль вивчаю 2 тижня)
  • 0

#111 TpakTopucT

    Постійний житель

  • Користувачі
  • PipPipPipPipPip
  • 155 повідомлень
  • Стать:Чоловік
  • Місто:Banderstadt

Відправлено 16.07.2010 – 18:00

Перегляд дописуБесідник (16.07.2010 17:42) писав:

Хтось знає як зробити затримку меншу за delay(1)?
Може є якась інша процедура?

ПС: паскаль вивчаю 2 тижня)
Зробіть цикл який виконуватиметься певний час...???
Там менша кількість тактів процесора необхідно ніж у випадку команди delay...
  • 0

#112 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ-&gt;НТУУ &quot;КПІ&quot;

Відправлено 16.07.2010 – 18:13

Перегляд дописуTpakTopucT (16.07.2010 19:00) писав:

Зробіть цикл який виконуватиметься певний час...???
Там менша кількість тактів процесора необхідно ніж у випадку команди delay...
Абсолютно вірно, краще й не порадиш. От тільки не забувай, що протяжність такту в кожного процесора своя.
Я б запрограмував PIT 8254, довжина відліку такого таймера постійна, так як він стабільно тактується сигналом приблизно в 24 МГц, але твій варіант набагато простіше.
  • 0

#113 Бесідник

    Постійний житель

  • Користувачі
  • PipPipPipPipPip
  • 139 повідомлень
  • Стать:Чоловік
  • Місто:Франик

Відправлено 23.07.2010 – 21:37

Надіюсь ви зрозумієте питання)

Ось частина програми:

program ...
uses crt;
var a:string;

procedure pr;
begin
...
end;

procedure metka;
begin
...
end;

procedure ...
   begin
	  writeln(...);
	  readln(a);
		 if ... then ...;
		 if ... then ...;
		 if ... then ...
	  else metka;
   end;

BEGIN
repeat
metka;
readln(a);
	if ... then...;
	if ... then...;
	if ... then...;
	else pr;
until ...;
END.


Мені треба щоб я писав слово, в програмі визначалося до якої процедури належить слово. Потім в процедурі я писав знову слово, там якщо слово співпадало з записаними там словами через if то виконувалися задані дії, а якщо ні то провірялися чи не співпало слово з заданими словами в головній програмі, і якщо і там не співпало то тоді виконувалася процедура pr. А якщо слово яке я вже задав в процедурі співпало з якимось словом що задано в процедурі через if то завдання виконувалося і я знову вказував слово так як з самого початку.

Здається все правильно написав але чомусь якщо те слово що я вказую в процедурі співпадає з заданим словом в процедірі і після того програма має повторятися то чомусь спочатку виконується процедура pr, а потім вже програма повторяється. Підкажіть будь ласка що не правильно роблю.

Надіюсь ви зрозуміли про що я говорю, зразу вибачаюсь якщо щось не так назвав бо сленгу програмістів не знаю.
  • 0

#114 TpakTopucT

    Постійний житель

  • Користувачі
  • PipPipPipPipPip
  • 155 повідомлень
  • Стать:Чоловік
  • Місто:Banderstadt

Відправлено 23.07.2010 – 22:50

Перегляд дописуБесідник (23.07.2010 22:37) писав:

Здається все правильно написав але чомусь якщо те слово що я вказую в процедурі співпадає з заданим словом в процедірі і після того програма має повторятися то чомусь спочатку виконується процедура pr, а потім вже програма повторяється. Підкажіть будь ласка що не правильно роблю.
Подивіться до чого саме відноситься else:

Цитата

if ... then...;
if ... then...;
if ... then...;
else pr;
Наскільки я розумію виконався перший if, далі іде перевірка 2 і 3 умовами, як наслідок, в третьому випадку результат false і виконується "else pr"...
Потрібно щоб умова відносилась до всіх умов а не до останньої (я б використав case)... Можливо я і помиляюся і проблема десь інде зарита...
  • 0

#115 Уповноважений

    Козак - перевертень

  • Модератори
  • PipPipPipPipPipPipPipPipPipPip
  • 6652 повідомлень
  • Стать:Чоловік
  • Місто:пекельне болото

Відправлено 24.07.2010 – 05:14

Цитата

if ... then...;
else pr;
перед else крапка з комою? і компілятор не матюкнувся на синтаксис? здається ти нас дуриш... ;)

при такому розкладі дії після else будуть виконуватися при третій хибній умові навіть якщо перша чи друга умова істинна. щоб цього не було треба if...then...else if...then... else if...

коротше, юзай case.

цитата с башу:

Цитата

де скачать програму, ту що в підручниках, "Hello, World!" показує?

Повідомлення відредагував Хмурий Князь Вітольд: 24.07.2010 – 05:18

  • 0

#116 Бесідник

    Постійний житель

  • Користувачі
  • PipPipPipPipPip
  • 139 повідомлень
  • Стать:Чоловік
  • Місто:Франик

Відправлено 24.07.2010 – 17:18

Перегляд дописуХмурий Князь Вітольд (24.07.2010 06:14) писав:

перед else крапка з комою? і компілятор не матюкнувся на синтаксис? здається ти нас дуриш... ;)

при такому розкладі дії після else будуть виконуватися при третій хибній умові навіть якщо перша чи друга умова істинна. щоб цього не було треба if...then...else if...then... else if...

коротше, юзай case.

та то я не копіював з паскаля, а тут писав заново, і випадково помилку тут зробив)
  • 0

#117 Бесідник

    Постійний житель

  • Користувачі
  • PipPipPipPipPip
  • 139 повідомлень
  • Стать:Чоловік
  • Місто:Франик

Відправлено 27.07.2010 – 01:27

дякую TpakTopucTу )

І зразу хочу задати ще одне питання)
В мудулі graph можна якось зробити щоб у мене був фон, (картинка яку я раніше намалював) і на тому фоні відбувалися всякі дії в тому числі і очищалися, але щоб очищалося все крім фону. Я розумію що можна зробити щоб і фон очищався, а потім знову малювався, але на фоні присутня заливка яка довго заливається (приблизно 4 сек) і того анімація на фоні буде повільно йти.
  • 0

#118 Уповноважений

    Козак - перевертень

  • Модератори
  • PipPipPipPipPipPipPipPipPipPip
  • 6652 повідомлень
  • Стать:Чоловік
  • Місто:пекельне болото

Відправлено 27.07.2010 – 05:57

егеж, я в дитинстві теж цією дурньою маявся. Моя тобі порада - не витрачай даремно час. Час - саме цінне, його не поверниш, не треба його тратити на графіку в паскалі. вчи сучасні засоби програмування. php і .NET наприклад.
  • 0

#119 Бесідник

    Постійний житель

  • Користувачі
  • PipPipPipPipPip
  • 139 повідомлень
  • Стать:Чоловік
  • Місто:Франик

Відправлено 27.07.2010 – 12:10

Перегляд дописуХмурий Князь Вітольд (27.07.2010 06:57) писав:

егеж, я в дитинстві теж цією дурньою маявся. Моя тобі порада - не витрачай даремно час. Час - саме цінне, його не поверниш, не треба його тратити на графіку в паскалі. вчи сучасні засоби програмування. php і .NET наприклад.

Я паскаль тількі місяць вивчаю приблизно, який там php чи net якщо я в паскалі не зразу можу розібратися)
  • 0

#120 Уповноважений

    Козак - перевертень

  • Модератори
  • PipPipPipPipPipPipPipPipPipPip
  • 6652 повідомлень
  • Стать:Чоловік
  • Місто:пекельне болото

Відправлено 27.07.2010 – 19:39

Перегляд дописуБесідник (27.07.2010 13:10) писав:

Я паскаль тількі місяць вивчаю приблизно, який там php чи net якщо я в паскалі не зразу можу розібратися)
ото краще і не починай. глянь на календар.
на паскалі повчися циклам, функціям, процедурам, але графіка - фе!

Повідомлення відредагував Хмурий Князь Вітольд: 27.07.2010 – 19:40

  • 0



Кількість користувачів, що читають цю тему: 1

0 користувачів, 1 гостей, 0 анонімних