HOME ПРИМЕРЫ THANKS НОВИЧКАМ ДОКИ LINKS JavaScript Mail


 
В этот день много лет назад...
1 мая. В 1961 году (56 лет назад) - Открывается вторая очередь метрополитена в Ленинграде - от станции "Технологический институт" до станции "Парк Победы".
 
 

Turbo Pascal Examples

Графика:
Построение графика функции
Прыгающий по экрану мячик.
Качание маятника.
Вложенные цветные круги.
Броуновское движение. Использование объектов.
Матрицы и массивы:
Сортировка элементов массива.
Удаление одинаковых элементов.
Простой пример на поворот матрицы.
Сортировка методом Шелла. +функции измерения временных интервалов.
Проверка выпуклости многоугольника.
Перемоножение матриц
Вычисление определителя матрицы. Рекурсия.
Нахождение обратной матрицы.
Задача об автостоянке.
Рекурсия. Подземелье сокровищ.
Численные методы:
Задачка на определение угла между стрелками часов.
Проверка на принадлежность точки многоугольнику.
Нахождение точки пересечения двух отрезков на плоскости.
Сортировка методом Шелла. +функции измерения временных интервалов.
Сортировка методом "пузырька". Пример на динамические структуры данных. Связанные списки.
Нахождение корня функции методом половинного деления.
Вычисление арккосинуса
Нахождение суммы цифр натурального числа.
Работа с фалами:
Рекурсивное сканирование директорий.
Работа со строками:
Работа со словами в предложении с разделителями.
Простейший синтаксический анализатор для распознавания и вычисления многчлена.
Синтаксический анализатор для распознавания и вычисления многчлена.
Работа со строками: смена кодировки, удаление тегов из HTML текста, обработка
Переименование файлов из кириллицы в латиницу.
Выдача контекстной подсказки.
Частотный словарь символов.
Подсчет повторяющихся символов в строке.
Ссылочные переменные:
Моделирование стека.
Пасьянс "Косынка".
Игры:
Пасьянс "Косынка".
Игра "Питон"
Игра "Анацефал". Пример использования объектов.
Игра "Минное поле"
Большие проекты:
Электронная картотека (без исходника)


 Пример двенадцатый. Простая задача о стоянке.

Условия примера взяты из форума: На автостоянке 40 мест. Часть из них занята. Написать программу, которая бы выдавала номер свободного места, чтобы поставить машину, или номер места где стоит машина.

uses Crt;
const NPlace=40;
      empty='empty';
var code,i:byte;
    parkplace:array[1..NPlace] of string[20];
    mnum:string[20];
function Int2Str(i:integer):string;
var s:string;
  begin
  str(i:5,s);
  Int2Str:=s;
  end;
begin
for i:=1 to NPlace do
  if (i<=16) then parkplace[i]:=Int2Str(i)
             else parkplace[i]:=empty;
repeat
  clrscr;
  writeln('Введите код операции и нажмите ввод:');
  writeln('  [1] Поставить машину на стоянку.');
  writeln('  [2] Взять машину со стоянки.');
  writeln('  [3] Посмотреть номера машин на стоянке.');
  writeln('  [4] Закончить работу.');
  readln(code);
  case code of
    1:begin  { Поставить машину на стоянку }
      i:=1;
      while (i<NPlace) and (parkplace[i]<>empty) do
        inc(i);
      if (i=NPlace) and (parkplace[i]<>empty)
        then writeln('Извините, свободных мест нет.')
      else
        begin
        writeln('Введите номер вашей машины:');
        readln(parkplace[i]);
        writeln('Ставьте машину на место ',i);
        end;  
      end;
    2:begin { Взять машину со стоянки }
      writeln('Введите номер вашей машины:');
      readln(mnum);
      i:=1;
      while (i<NPlace) and (parkplace[i]<>mnum) do
        inc(i);
      if (parkplace[i]<>mnum)
        then writeln('Извините, вашей машины тут нет. Может ее взял кто-то другой?')
      else
        begin
        writeln('Ваша машина стоит на месте ',i);
        parkplace[i]:=empty
        end;
      end;
    3:for i:=1 to NPlace do if (parkplace[i]<>empty)
        then writeln('Место ',i,': номер машины ',parkplace[i],'.');
    end; { case }
  if (code<>4) then
    begin
    writeln('Нажмите Ввод.');
    readln;
    end;
until (code=4);
end.

 

 

 

 

 

 

 


HOME