Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на языке Pascal


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик Гаряка
Статус: Академик
Рейтинг: 8370
∙ повысить рейтинг »
Орловский Дмитрий
Статус: Советник
Рейтинг: 5674
∙ повысить рейтинг »
lamed
Статус: Академик
Рейтинг: 5524
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Pascal (Паскаль)

Номер выпуска:1203
Дата выхода:20.08.2011, 20:00
Администратор рассылки:Boriss (Академик)
Подписчиков / экспертов:164 / 173
Вопросов / ответов:3 / 17

Консультация # 15400: Здраствуйте. Когда запускаю tp-7 то у меня в папке bin появляются файлы c расширением $$$. И потом они все накапливаются - как от этого избавиться? .


Консультация # 176552: Уважаемые эксперты,помогите написать программу: При помощи генератора случайных чисел задать последоватеьность из 100 элементов,каждый из которых целое число в диапазоне лт 1 до 100. Отсортировать такую последовательность в порядке возрастания используя:а)метод прямого включения б) пузырьковую сортировку. сравнить эффективность методов а и ...
Консультация # 89716: Здраствуйте. Условие: Пусть дан текст найти наибольшее количество цифр идуших подряд.Текст вводится с клавиатуры. Заранее спасибо....

Консультация # 15400:

Здраствуйте.
Когда запускаю tp-7 то у меня в папке bin появляются файлы c расширением $$$.
И потом они все накапливаются - как от этого избавиться?

Дата отправки: 18.12.2004, 14:05
Вопрос задал: korsar (Практикант)
Всего ответов: 9
Страница онлайн-консультации »


Консультирует Snowm@n (Студент):

Здравствуйте, Sager!
напиши turbo.bat и запускай его:
echo off
del *.$$$
turbo.exe

Консультировал: Snowm@n (Студент)
Дата отправки: 18.12.2004, 14:46
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Stack:

Здравствуйте, Sager!
Это так называемые backup файлы. Их можно удалить с помощью фара например. Выделяете группу файлов по расширению и все.

Консультировал: Stack
Дата отправки: 18.12.2004, 14:57
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Boriss (Академик):

Здравствуйте, Sager!
Такие файлы создаются, когда программу Вы запусаете из среды разрабтки программ Borland Pascal. При нормальном завершении работы программы они этою средой и уничтожаются.
Советы как удалить, уже даны. Я только посоветую заренее продумывать ход выполнения программы, чтобы не приходилось ее завершать "по-дикому"

Консультировал: Boriss (Академик)
Дата отправки: 18.12.2004, 17:11
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Samum (Специалист):

Здравствуйте, Sager!
Удалять :)
Эти файлы (т.н. Swap файлы для динамического обмена данными в процессе работы) действительно создаются TP при запуске среды, но если из нее выходить правильно (File->exit), то они самой же средой и удаляются. Если во время отладки программы среда виснет или вы закрываете ее из Windows, то, разумеется, файл останется не удаленным.
Все, что я могу посоветовать - указать в настройка программы (Options->Environment->Startup\Swap file directory) специальную директорию для этих файлов, из которой вы будете периодически их удалять.

Консультировал: Samum (Специалист)
Дата отправки: 18.12.2004, 21:39
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Student:

Здравствуйте, Sager!
Это временные файлы, создаваемые во время работы TP. После выхода из среды TP они обычно удаляются. А остаются они, возможно, из-за неправильного завершения работы среды (может быть Вы работаете в оконном режиме и закрываете окно как все окна Windows?). Из среды выходить нужно Alt + X либо в меню File -> Exit.

Консультировал: Student
Дата отправки: 18.12.2004, 23:42
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Strorin (Практикант):

Здравствуйте, Sager!
Это временные файлы, весят вроде немного (давно не пользуюсь TP), так что проблемы не вижу особой. Можно написать маленькую программулину на TP, которая будет удалять все *.$$$ и поместить в autoexec.bat. :)

Консультировал: Strorin (Практикант)
Дата отправки: 19.12.2004, 19:24
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует sir Henry (Старший модератор):

Здравствуйте, Sager!
Пропишите в переменных ОС переменную для временных файлов: SET TEMP и SET TMP.

Консультировал: sir Henry (Старший модератор)
Дата отправки: 20.12.2004, 05:24
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Василевский Александр:

Здравствуйте, Sager!
Файлы с расширением $$$ являются временными файлами IDE Turbo Pascal. Их можно спокойно удалять (когда не запущен Turbo Pascal). А вообще, Turbo pascal сам удаляет временные файлы, если правильно из него выходить (File->Exit). Они остаются только в том случае, если вы неправильно выходите (кнопка RESET, кнопка X (закрыть в Windows) ...).

Консультировал: Василевский Александр
Дата отправки: 20.12.2004, 09:02
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Tigran Kalaydzhyan (Профессионал):

Здравствуйте, Sager!
Добавьте в autoexec.bat:
DEL c:\tp\bin\*.$$$
Если паскаль у Вас лежит в c:\tp

Консультировал: Tigran Kalaydzhyan (Профессионал)
Дата отправки: 21.12.2004, 23:26
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 176552:

Уважаемые эксперты,помогите написать программу:
При помощи генератора случайных чисел задать последоватеьность из 100 элементов,каждый из которых целое число в диапазоне лт 1 до 100. Отсортировать такую последовательность в порядке возрастания используя:а)метод прямого включения б) пузырьковую сортировку.
сравнить эффективность методов а и б подсчитывая в ходе выполнения программы кол-во сравнений С, и кол-во перестановок М, для каждого метода

Сортировки оформить в виде отдельных подпрограмм.
Спасибо

Дата отправки: 07.02.2010, 18:37
Вопрос задал: Кусмарцев Андрей Валерьевич (5-й класс)
Всего ответов: 3
Страница онлайн-консультации »


Консультирует Киселёва Алёна aka Verena (Профессор):

Здравствуйте, Кусмарцев Андрей Валерьевич.
Программа в приложении. Смысл должен быть понятен из комментариев, но ещё описание алгоритмов можете посмотреть здесь:
Сортировка пузырьком
Сортировка методом прямого включения
Функция Random
Удачи!
PS: Проверила, random (x) возвращает всё-таки от 0 до x-1, так что поменяла на random (100).

Приложение:

Консультировал: Киселёва Алёна aka Verena (Профессор)
Дата отправки: 07.02.2010, 19:27

5
нет комментария
-----
Дата оценки: 08.02.2010, 05:21

Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Micren (Профессор):

Здравствуйте, Кусмарцев Андрей Валерьевич.
Программа. Компилировал FreePascal.

Код :
program P_176552;

{ Константы }
const
    NUM_CNT=100;    { Количество чисел }
    NUM_LO=1;       { Минимальное значение }
    NUM_HI=100;     { Максимальное значение }

{ Типы }
type
    TArray=array[1..NUM_CNT] of Integer;    { Массив }
    { Процедура сортировки
      Sequence - последовательность
      Comparisions - сравнений
      Permutations - перестановок }
    TSortProc=procedure(var Sequence:TArray;var Comparisions,Permutations:Integer);

{ Заполняет массив случайными значениями в диапазоне [NUM_LO..NUM_HI] }
procedure CreateArray(var Sequence:TArray);
var
    i:Integer;
begin
    for i:=1 to NUM_CNT do begin
        Sequence[i]:=Random(NUM_HI-NUM_LO+1)+NUM_LO;
    end;
end;

{ Выводит массив }
procedure PrintArray(Message:String;Sequence:TArray);
var
    i:Integer;
begin
    WriteLn(Message);
    for i:=1 to NUM_CNT do begin
        Write(Sequence[i]:4,' ');
    end;
    WriteLn;
end;

{ Пузырьковая сортировка }
procedure BubbleTest(var Sequence:TArray;var Comparisions,Permutations:Integer);
var
    i,j,Tmp:Integer;
begin
    { Обнулим счетчики }
    Comparisions:=0;
    Permutations:=0;
    for i:=1 to NUM_CNT-1 do begin
        for j:=1 to NUM_CNT-i do begin
            Inc(Comparisions);
            if Sequence[j]>Sequence[j+1] then begin
                Inc(Permutations);
                Tmp:=Sequence[j];
                Sequence[j]:=Sequence[j+1];
                Sequence[j+1]:=Tmp;
            end;
        end;
    end;
end;

{ Сортировка включением }
procedure InclusionTest(var Sequence:TArray;var Comparisions,Permutations:Integer);
var
    i,j,item:Integer;
begin
    { Обнулим счетчики }
    Comparisions:=0;
    Permutations:=0;
    for i := 2 to NUM_CNT do begin
        item:=Sequence[i];
        j:=i-1;
        Inc(Comparisions);
        { Ищем куда вставить }
        while (j>0) and (item<=Sequence[j]) do begin
            Inc(Comparisions);
            Inc(Permutations);
            Sequence[j+1]:=Sequence[j];
            Dec(j);
        end;
        Inc(Permutations);
        Sequence[j+1]:=item;
    end;
end;

{ Помогает нам оформить вывод }
procedure Test(Message:String;Sequence:TArray;Proc:TSortProc);
var
    Comparisions,Permutations:Integer;
begin
    WriteLn;
    Proc(Sequence,Comparisions,Permutations);
    WriteLn(Message);
    PrintArray('Массив после сортировки:',Sequence);
    WriteLn('Сравнений:',Comparisions);
    WriteLn('Перестановок:',Permutations);
end;

var
    Sequence:TArray;

begin
    Randomize;
    { Заполним массив }
    CreateArray(Sequence);
    { Выведем его }
    PrintArray('Исходный массив:',Sequence);
    { Проверяем }
    Test('Пузырьковая сортировка.',Sequence,@BubbleTest);
    Test('Сортировка включением.',Sequence,@InclusionTest);
end.

Пример работы:
Код :
~/projects/Pascal> ./P_176552
Исходный массив:
  61   69   74   91   28   39   13   35   77   78   42   62   12   43   37   72 
  34   24   70  100   23   60   27    1   63   72   60   27   24   90   83   25 
  60   37   52  100   11   69   71   12   52   78   81   94   64   36   32   21 
  86   64   77   70   42   17   13   64    3   12   23   64   33    9   88   49 
   8   99   68   26   15   66   38   28   86   77   98   66    8   28   59   37 
  49   24   82   87    3   65   19   95   94   68   27   37   55   73   68   42 
   6   71   60    6 

Пузырьковая сортировка.
Массив после сортировки:
   1    3    3    6    6    8    8    9   11   12   12   12   13   13   15   17 
  19   21   23   23   24   24   24   25   26   27   27   27   28   28   28   32 
  33   34   35   36   37   37   37   37   38   39   42   42   42   43   49   49 
  52   52   55   59   60   60   60   60   61   62   63   64   64   64   64   65 
  66   66   68   68   68   69   69   70   70   71   71   72   72   73   74   77 
  77   77   78   78   81   82   83   86   86   87   88   90   91   94   94   95 
  98   99  100  100 
Сравнений:4950
Перестановок:2512

Сортировка включением.
Массив после сортировки:
   1    3    3    6    6    8    8    9   11   12   12   12   13   13   15   17 
  19   21   23   23   24   24   24   25   26   27   27   27   28   28   28   32 
  33   34   35   36   37   37   37   37   38   39   42   42   42   43   49   49 
  52   52   55   59   60   60   60   60   61   62   63   64   64   64   64   65 
  66   66   68   68   68   69   69   70   70   71   71   72   72   73   74   77 
  77   77   78   78   81   82   83   86   86   87   88   90   91   94   94   95 
  98   99  100  100 
Сравнений:2666
Перестановок:2666

Консультировал: Micren (Профессор)
Дата отправки: 07.02.2010, 20:04

4
нет комментария
-----
Дата оценки: 08.02.2010, 14:38

Рейтинг ответа:

НЕ одобряю +1 одобряю!


Консультирует Орловский Дмитрий (Советник):

Здравствуйте, Кусмарцев Андрей Валерьевич.

Предлагаю еще один вариант.

Код :
program Psort;

{$APPTYPE CONSOLE}

const
  n=100;

type
  XArray = array[1..n] of integer;

var
  x,y:XArray;
  i:integer;
  c,m:integer;

procedure InitData;
var
  i: integer;
begin
  Randomize;
  for i:=1 to n do begin
    x[i]:=Random(n)+1;
    y[i]:=x[i];
  end;
end;

procedure DirectIncludeSort;
var
  i,j,tmp:integer;
begin
  for i:=2 to n do begin
    tmp:=x[i];
    j:=i;
    while (j>1)and(tmp<x[j-1]) do begin
      x[j]:=x[j-1];
      j:=j-1;
      m:=m+1;
      c:=c+1;
    end;
    c:=c+1;
    x[j]:=tmp;
    m:=m+1
  end
end;

procedure BubbleSort;
var
  i,j,tmp:integer;
begin
  for i:=1 to n-1 do
    for j:=n downto i+1 do
    begin
      if y[j-1]>y[j] then
      begin
        tmp:=y[j];
        y[j]:=y[j-1];
        y[j-1]:=tmp;
        m:=m+1;
      end;
      c:=c+1
    end
end;

begin
  InitData;
  for i:=1 to n do write('x[',i,']=',x[i],' ');
  writeln;
  c:=0;
  m:=0;
  DirectIncludeSort;
  writeln('c=',c,' m=',m);
  for i:=1 to n do write('x[',i,']=',x[i],' ');
  writeln;
  c:=0;
  m:=0;
  BubbleSort;
  Writeln('c=',c,' m=',m);
  for i:=1 to n do write('x[',i,']=',y[i],' ');
  writeln;
  readln
end.



Консультировал: Орловский Дмитрий (Советник)
Дата отправки: 07.02.2010, 23:42

5
нет комментария
-----
Дата оценки: 08.02.2010, 14:37

Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 89716:

Здраствуйте. Условие: Пусть дан текст найти наибольшее количество цифр идуших подряд.Текст вводится с клавиатуры. Заранее спасибо.

Дата отправки: 02.06.2007, 14:31
Вопрос задал: Иванов Максим Андреевич
Всего ответов: 5
Страница онлайн-консультации »


Консультирует Ерёмин А.А. (Мастер-Эксперт):

Здравствуйте, Иванов Максим Андреевич!
Пример в приложении.

Приложение:

Консультировал: Ерёмин А.А. (Мастер-Эксперт)
Дата отправки: 02.06.2007, 15:01
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Устинов С.Е. (Профессионал):

Здравствуйте, Иванов Максим Андреевич!

Решить можно, например, так:

var i,max,t:integer;
st:string;
begin
writeln(\'Vvedite stroku:\');
readln(st);
max:=0; i:=0;
for t:=1 to length(st) do
if st[t] in [\'0\'..\'9\'] then inc(i)
else
begin
if max < i then max:=i;
i:=0;
end;
if max < i then max:=i;
writeln(max);
readln;
end.


Удачи!

Консультировал: Устинов С.Е. (Профессионал)
Дата отправки: 02.06.2007, 15:03
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Зенченко Константин Николаевич (Модератор):

Здравствуйте, Иванов Максим Андреевич!

Как вариант.
Максимальное число в цепочке цифр считается на лету во время ввода строки.
Длина строки неограничена.
Удачи!

Приложение:

Консультировал: Зенченко Константин Николаевич (Модератор)
Дата отправки: 02.06.2007, 15:39
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Градов Юрий Михайлович (Практикант):

Здравствуйте, Иванов Максим Андреевич!
Думаю, что так.
С ув. Ю.Михалыч

Приложение:

Консультировал: Градов Юрий Михайлович (Практикант)
Дата отправки: 02.06.2007, 16:08
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Вологин Всеволод Вячеславович:

Здравствуйте, Иванов Максим Андреевич!

Program Figure;
Uses Crt;
Const
Cif = [\'0\'..\'9\'];
Var
st : String;
I,j,Max,count : Integer;
Begin
Clrscr;
Write(\'Введите строку --> \');
ReadLn(St);
Max := 0;
Count := 0;
For i:=1 to length(st) do
Begin
if St[i] in cif
Then
Begin
j:=i;
Count :=0;
While St[j] in cif do
Begin
inc(j);
Inc(Count);
End;
if Max < Count
Then
Max := count;
End;
End;
Write(\'Результат --> \',max);
ReadKey;
End.

Консультировал: Вологин Всеволод Вячеславович
Дата отправки: 04.06.2007, 06:47
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное