Новое на сайте

Заполнение двумерного массива дробными числами с заданным количеством знаков после запятой. Вычисление произведения элементов столбца
Задача
13/09/13

Задать массив 6*7, заполненный дробными числами с 1 знаком после запятой. Найти произведение элементов некоторого стобца.

Поиск самой длинной строки в массиве
Задача
26/08/13

Ввести массив строк и найти в нем максимальную по длине строку.
1) Не учитывать случай, когда таких строк несколько
2) Если строка с максимальной длиной не одна, вывести все.

Операции для работы с файловой системой
Учебник
08/05/13

В Pascal существует несколько процедур для работы с файловой структурой.

Процедура Rename служит для переименования файла или каталога. Синтаксис процедуры следующий:

Rename(файловая_переменная, новое_имя)

Второй параметр задается строковым выражением и указывает новое внешнее имя файла или каталога.

Для уничтожения файла в Pascal используется процедура Erase, единственным параметром которой является внутреннее имя файла.

Erase(файловая_переменная)

Частота встречаемости символов в матрице
Задача
02/05/13

Двумерный массив MxN заполнить случайными символами английского алфавита (заглавные). Вывести на экран сколько раз встречается каждый символ.

Нетипизированные файлы
Учебник
13/03/13

В Pascal, кроме рассмотренных, существуют также нетипизированные файлы. Они совместимы со всеми типами файлов и используются тогда, когда тип элементов файла не важен (например, при копировании). Такие файлы описываются следующим образом:

var имя_файла: file;

Например, возможно такое описание:

var FileOneType: file;

Типизированные файлы
Учебник
08/03/13

Более характерным для Pascal являются типизированные файлы, или файлы произвольного доступа. Основным свойством этих файлов является то, что их структура данных представляет собой последовательность компонентов одного типа. Описывают подобный файл словосочетанием file of с последующим указанием типа компонентов файла, число которых (длина файла) не фиксируется:

var имя_файла: file of тип_компонентов

Текстовые файлы
Учебник
26/02/13

Текстовые файлы состоят из символьных строк переменной длины. Каждая строка завершается специальной комбинацией, называемой «конец строки». Комбинация «конец строки» состоит из двух символов: «перевод каретки» (ASCII-код #13) и «перевод строки» (#10). Завершается текстовый файл символом «конец файла» (#26).

Описание текстового файла осуществляется объявлением переменной типа Text:

var файловая_переменная: Text;

Перевод чисел
Учебник
19/12/12

Примечание. Перед шестнадцатеричным числом надо вводить знак $.

unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, 
  Graphics, Dialogs, StdCtrls;
 
type
 
  { TForm_convertion }
 
  TForm_convertion = class(TForm)
    Button_convertion: TButton;
    Edit_dec: TEdit;
    Edit_hex: TEdit;
    Label_hex: TLabel;
    Label_dec: TLabel;
    Label_title2: TLabel;
    Label_title3: TLabel;
    Label_title4: TLabel;
    Label_title1: TLabel;
    procedure Button_convertionClick(Sender: TObject);
  private

Простой калькулятор
Учебник
19/12/12

unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, 
  Graphics, Dialogs, StdCtrls;
 
type
 
  { TForm_calc }
 
  TForm_calc = class(TForm)
    Button_plus: TButton;
    Button_minus: TButton;
    Button_mult: TButton;
    Button_div: TButton;
    Edit_num1: TEdit;
    Edit_num2: TEdit;
    Label_result: TLabel;
    procedure Button_divClick(Sender: TObject);
    procedure Button_minusClick(Sender: TObject);
    procedure Button_multClick(Sender: TObject);
    procedure Button_plusClick(Sender: TObject);
  private

Пример описания класса и подкласса (отрезок времени)
Учебник
17/12/12

type TTime = class
  protected
    hour,min,sec: byte;
    function total_sec: integer;   // возвращает полное число секунд
    procedure timefromsec(tsec: integer);  // перевод сек. в ч.м.с
  public
    procedure settime(h,m,s: byte);
 // присваивание полям, исправление аргументов
    procedure print; // вывод значений полей
    procedure plus(first,second: ttime);
    procedure minus(first,second: ttime);
    procedure mult(first: ttime; second:byte);
    procedure divide(first: ttime; second:byte);
end;
function TTime.total_sec: integer; begin