Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Решение задач на Pascal. Форум 2
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]
Модераторы: paradise, KMA
  

Guest



Новичок


Удалите с углов доски 2nх2n по одной клеточке с противоположных углов. Покажите, что невозможно полностью покрыть эту доску фишками 1х2, так чтоб они не высовывались за края доски и не накрывали друг друга.


Я думаю, можно попробовать так: задаем размер доски(2nx2n),указываем, что n=[1...5], например. Программка должна работать так: мы задаем n с заданного промежутка, выводится графическое представление полученной  доски и то, что задача нерешаема...

Всего сообщений: Нет | Присоединился: Never | Отправлено: 1 дек. 2007 18:31 | IP
KMA



Долгожитель


у меня 3 ошибки в одной строке...можно я покажу,что я у меня получилось?..просто других ошибок он не показывает,а эту я не понимаю...возможно,я не правильно задала процедуру.


Сразу бы показывала, чтобы время терять, на разрешения какие-либо... ведь может и другой участник помог бы.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 2 дек. 2007 22:41 | IP
nia



Новичок

у меня возможности не было(((...

type
       cost=record
       opt,rozn:real;
       end;
       sap=record
       firm,adres,tovar:string[10];
       cena:cost;
       end;
type
       fileOfSap=file of sap;

var
dbname:string='mydb.txt';


function addItem:sap;
var _buf:sap;
    i,n:byte;
begin
       with _buf do
       begin
               write('название фирмы: ');
               readln(firm);
               write('адрес: ');
               readln(adres);
               write('товар: ');
               readln(tovar);
               write('рознечная цена: ');
               readln(cena.rozn);
               write('оптовая цена: ');
               readln(cena.opt);
       end;
   addItem:=_buf;
end;


function tryResetFile(var f:fileOfSap):boolean;
begin
{$I-}
reset(f);
{$I+}
if IOResult<>0
then tryResetFile:= false
else tryResetFile:= true
end;


procedure showItem(item: sap);
begin
       with item do
       writeln(firm:10, adres:10, tovar:10, cena.rozn:5, cena.opt:5);
end;

procedure cortInFileByCost(var f:fileOfSap);
var
_bufArray:array[1..100] of sap;
_buf:sap;
n,i,j:byte;
       begin
       if not tryResetFile(f)
       then
               begin
               write(' ошибка чтения файла! ');
               close(f);
               exit;
       n:=1;
       while not eof (f) do
               begin
               read(f,_buf);
               _bufArray[n]:=_buf;
               n:=n+1;
               end;
       n:=n-1;
       close(f);


for i:=1 to n-1 do
for j:=1 to n-1 do
   if _bufArray[j].cena.rozn>_bufArray[j+1].cena.rozn
       then
       begin
       _buf:=_bufArray[j];
       _bufArray[j]:=_bufArray[j+1];
       _bufArray[j+1]:=_buf;
       end;

procedure menu;----в этой строке...ошибки
var
c:integer;
s:string;
f:sap;
label start;
begin
start:
clrscr;
writeln('1 - новая запись');
writeln('2 - просмотр записи');
writeln('3 - выборка');
writeln('4 - выход');
write('выполнить: ');
readln(c);
if not (c in [1,2,3,4]) then goto start;
case c of
4: exit;
3: begin
       write('введите наименование товара : ');
       readln(s);
       if tryResetFile
          then
               begin
               clrscr;
               writeln('----------------------------------------------------');
               writeln('фирма        адрес     оптовая цена');
               writeln('наименование товара           цена ');
               writeln('------------------------------------');
               while not eof(fil1) do
                       begin
                       read(fil1,per);
                       if per.tovar=_findStr
                         then showItem(per);
                       end;
               end
          else
          writeln('ошибка чтения файла!');
          close(fil1);

2:  begin
       clrscr;
       if tryResetFile
       then
               begin
               clrscr;
               writeln('----------------------------------------------------');
               writeln('фирма        адрес     оптовая цена');
               writeln('наименование товара           цена ');
               writeln('------------------------------------');
               end;
               reset(fil1);
               i:=1;
               while not eof (fil1) do
                       begin
                       read(fil1,per);
                       showItem(per);
                       end;
               end
       else
       writeln('ошибка чтения файла! ');
       close(fil1);
       end;
   end;
1:  begin
       clrscr;
       rewrite(fil1);
       writeln('сколько записей добавите: ');
       readln(n);
       clrscr;
       for i:=1 to n do
       write(fil1,addItem);
       close(fil1);
    end;
begin
assign(fil1,dbname);
clrscr;
writeln('нажмите ENTER для продолжения...');
readln;
goto start;
end;
begin
menu;
end.

Всего сообщений: 7 | Присоединился: ноябрь 2007 | Отправлено: 2 дек. 2007 23:06 | IP
KMA



Долгожитель

To nia, BEGIN и END кто правильно ставить будет???

Code Sample:
 
procedure cortInFileByCost(var f:fileOfSap);
var
_bufArray:array[1..100] of sap;
_buf:sap;
n,i,j:byte;
     begin
      if not tryResetFile(f)
      then
              begin
              write(' ошибка чтения файла! ');
              close(f);
              exit;
            end {кто здесь end ставить будет?}
      n:=1;
      while not eof (f) do
              begin
              read(f,_buf);
              _bufArray[n]:=_buf;
              n:=n+1;
              end;
      n:=n-1;
      close(f);


for i:=1 to n-1 do
for j:=1 to n-1 do
  if _bufArray[j].cena.rozn>_bufArray[j+1].cena.rozn
      then
      begin
      _buf:=_bufArray[j];
      _bufArray[j]:=_bufArray[j+1];
      _bufArray[j+1]:=_buf;
      end;
end;
procedure menu;----в этой строке...ошибки



Цветом выделил, то что у тебя не поставлено (точнее соответствие). Вот тут у тебя и ошибки... Я просто быстренько пробежался, поэтому все это ошибки или нет сказать точно не могу. На будущее обязательно кроме кода, еще скидывай и сообщения выдаваемые компилятором (может для вас они ничего и не значат, а мне ориентироваться проще).

(Сообщение отредактировал KMA 3 дек. 2007 16:47)

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 3 дек. 2007 16:43 | IP
nia



Новичок

в той строке он выдает:
kur_3.pas(87,11) Error: Illegal expression
kur_3.pas(87,11) Error: Illegal expression
kur_3.pas(87,11) Fatal: Syntax error, ";" expected but "indentifier MENU" founded
kur_3.pas(87,11)  Fatal: Comrilation aborted

Всего сообщений: 7 | Присоединился: ноябрь 2007 | Отправлено: 3 дек. 2007 19:38 | IP
nia



Новичок

нет,это... ...стало ошибок еещщее больше!..

Всего сообщений: 7 | Присоединился: ноябрь 2007 | Отправлено: 3 дек. 2007 20:02 | IP
Dezmond


Новичок

Решите пазалуста, не могу решить, а то мне пипец=((.

Переменной X  присвоить 1, если элтменты массива В(40) образуют возрастающую  последовательность и значение 0 в противном случае.

Всего сообщений: 2 | Присоединился: декабрь 2007 | Отправлено: 5 дек. 2007 13:47 | IP
Dezmond


Новичок

и попроще
Дано натуральное число n(n<=99)
Выяснить верно ли что n равно кубу суммы цифр числа n.
заранее спасибо.

Всего сообщений: 2 | Присоединился: декабрь 2007 | Отправлено: 5 дек. 2007 13:52 | IP
Guest



Новичок

Здравствуйте! Подскажите пожалуйста как сделать в паскале чтобы процедура вызывала процедуру описанную после нее
я попробовал так:

Procedure A;Forward;
Var
......
....
Begin
B;

Но почему то Паскаль все равно не видит процедуру B....
Пожалуйста напишите как это должно быть на самом деле...

Всего сообщений: Нет | Присоединился: Never | Отправлено: 8 дек. 2007 18:45 | IP
KMA



Долгожитель

Это никак не должно быть на самом деле, возьми BP, можешь Object Pascal там сказано одно единственное правило:

"Все вызываемые процедуры должны быть описаны ДО того как вызываются".

Кому вообще такое надо??? Это же полный идиотизм, даже в том же TASM крайне не рекомендуется давать ссылки вниз.

Перекопируй код, да перенеси выше. Ctrl+Insert (Копировать) и Shift+Insert (Вставить). Собственно и никаких проблем не будет.  

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 9 дек. 2007 15:01 | IP

Эта тема закрыта, новые ответы не принимаются

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ]

Форум работает на скрипте © Ikonboard.com