четверг, 21 марта 2013 г.

задачі


 Читання послідовності довжиною до 35 символів з ​​текстового файлу example.txt (його вміст, наприклад, "23456 Всім привіт!"

     Функція Eoln (var F: text) повертає булеве значення True, якщо поточна файлова позиція знаходиться на маркері кінця рядка або виклик Eof (F) повернув значення True. У всіх інших випадках значення функції буде False.

     Функція Eof (var F: text) повертає булеве значення True, якщо вказівник кінця файлу знаходиться відразу за останнім компонентом. В іншому випадку - False.


program wtf2;
var F: text; St: string[35];
begin
    assign(F, 'example.txt');     reset(F);
    while not Eoln(F) do
        begin
           read(F,St);
          writeln('St = ',St);         end;
    readln(F);     close(F);
    writeln('вивід символів з ​​файлу закінчено. для виходу — Enter.');
    readln;
end.


 При роботі з файлами в TP використовуються наступні процедури:

     assign (var F; name: string); - встановлює відповідність між файлом і файлової змінної, відкриває всі інші процедури роботи з файлами. F - змінна будь-якого файлового типу, name - повне ім'я файлу.
     close (var F); - закінчення процедур роботи з файлами (закриття файлу).
     rewrite (var F: file); - створює і відкриває новий файл.
     reset (var F: file); - відкриває існуючий файл.
     append (var F: text); - відкриває існуючий текстовий файл і позиціонує покажчик обробки на кінець файлу.

     Після цього можна доповнювати текстовий файл інформацією, починаючи з кінця рядка.

     erase (var F); - видаляє невідкритий зовнішній файл будь-якого типу, що задається змінною F.
     rename (var F: newname: string); - перейменовує невідкритий файл F будь-якого типу. Нове ім'я задається рядком newname.

     Текстовий файл можна розглядати як послідовність символів, розбиту на рядки довжиною від 0 до 256 символів. Для опису використовується стандартний тип text: var F: text; (F - файлова змінна).

вторник, 19 марта 2013 г.

Задачі

Два бандити(Бандити Гаррі і Ларрі відпочивали на природі. Вирішивши постріляти, вони виставили на колоду кілька банок з-під пива (не більше 10). Гаррі почав прострілювати банки по порядку, починаючи з самої лівої, Ларрі - з самої правої. У якийсь момент вийшло так, що вони одночасно прострелили одну і ту ж останню банку.
Гаррі обурився і сказав, що Ларрі повинен йому купу грошей за те, що той позбавив його задоволення прострелити кілька банок. У відповідь Ларрі сказав, що Гаррі повинен йому ще більше грошей з тих же причин. Вони стали сперечатися хто кому скільки винен, але ніхто з них не пам'ятав скільки банок було на початку, а шукати прострелені банки по всій окрузі було неохота. Кожен з них пам'ятали тільки, скільки банок прострелив він сам.
Визначте за цими даними, скільки банок не прострелив Гарі і скільки банок не прострелив Ларрі.Вхідні даніУ єдиному рядку вхідного файлу INPUT.TXT записано 2 числа - кількість банок, прострелених Гаррі і Ларрі відповідно.Вихідні даніУ файл OUTPUT.TXT виведіть 2 числа - кількість банок, не прострелених Гаррі і Ларрі відповідно.


 
program task3;
var
  a,b,c,d,f:integer;
begin
  assign(input,'input.txt'); reset(input);
  assign(output,'output.txt'); rewrite (output);
  readln(a,b);
  c:=a+b-1;
  d:=c-a;
  f:=c-b;
  writeln(output,d,' ',f);
  close(input);
  close(output);
end.
 

Наведемо програму, що виводить на екран перші п'ять рядків текстового файла.

Program ex5;
var f:text;
  s:string;
  i:integer;
begin
  writeln('reading rows from the text file');
  assign(f,'t.txt');
  reset(f);
  for i:=1 to 5 do
    begin
      readln(f,s);
      writeln(s);
    end;
  close(f);
  readln;
end.