2015a

Материал из PTHSWiki
(Различия между версиями)
Перейти к: навигация, поиск
(ООП)
 
(не показаны 4 промежуточные версии 1 участника)
Строка 1: Строка 1:
 +
== Работа с File ==
 +
 +
<source lang="delphi">
 +
program Project2;
 +
 +
{$APPTYPE CONSOLE}
 +
 +
uses
 +
  SysUtils;
 +
 +
var
 +
  f, fout : File;
 +
  ch : char;
 +
  numRead, numWrite : integer;
 +
 +
begin
 +
  assignFile(f, 'input.txt');
 +
  Reset(f, 1);
 +
  assignFile(fout, 'output.txt');
 +
  Rewrite(fout, 1);
 +
 +
  numRead := 1;
 +
  while (numRead <> 0) do
 +
  begin
 +
    BlockRead(f, ch, 1, numRead);
 +
    if (numRead <> 0) then
 +
    begin
 +
      BlockWrite(fout, ch, 1, numWrite);
 +
    end;
 +
  end;
 +
  readln;
 +
 +
  closeFile(f);
 +
  closeFile(fout);
 +
end.
 +
</source>
 +
 +
== Задача про Годзиллу ==
 +
 +
[[Медиа:2014b_FootBall2.zip|Архив с программой]]
 +
 +
<source lang="delphi">
 +
unit PlayerUnit;
 +
 +
interface
 +
 +
uses common;
 +
 +
type
 +
  Player = class
 +
    function move(height, lastNumber, sortedNumber : integer; arr : array of integer) : integer;
 +
  end;
 +
 +
 +
implementation
 +
 +
{ Player }
 +
 +
function Player.move(height, lastNumber, sortedNumber : integer; arr : array of integer): integer;
 +
begin
 +
  if lastNumber < N-2-sortedNumber then
 +
    move := HIT(lastNumber+1)
 +
  else if lastNumber > 0 then
 +
    move := HIT(lastNumber-1)
 +
  else
 +
    move := STAY;
 +
end;
 +
 +
end.
 +
 +
</source>
 +
 +
== Задания ==
 +
 +
= Задание на 16.01.2013 =
 +
 +
Напишите игру "Мемо" (см., например, [http://gamgama.ru/game/2724 http://gamgama.ru/game/2724])
 +
 +
Вместо картинок используйте числа.
 +
Для того, чтобы случайно заполнить массив парами чисел, делаете следующее:
 +
# изначально весь массив заполняете -1
 +
# всего пар будет n^2/2, поэтому повторяете следующие действия циклом по i именно столько раз
 +
# находите случайную клетку
 +
# если она занята, то снова к пункту 3 (цикл :) )
 +
# ставите в клетку i
 +
# находите случайную клетку
 +
# если она занята, то снова к пункту 6 (цикл :) )
 +
# ставите в клетку i
 +
 +
При нажатии на кнопку открываете соответствующее число, если оно совпадает с запомненным, то прячете обе кнопки, если нет - закрываете запомненную кнопку и запоминаете текущее число и кнопку.
 +
 +
Задания необходимо сделать к следующему занятию.
 +
 +
При этом все, что Вы сделаете в классе необходимо выслать в конце урока - за это будет также выставлена оценка.
 +
 
== ООП ==
 
== ООП ==
  

Текущая версия на 13:06, 24 января 2014

Содержание

Работа с File

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  f, fout : File;
  ch : char;
  numRead, numWrite : integer;

begin
  assignFile(f, 'input.txt');
  Reset(f, 1);
  assignFile(fout, 'output.txt');
  Rewrite(fout, 1);

  numRead := 1;
  while (numRead <> 0) do
  begin
    BlockRead(f, ch, 1, numRead);
    if (numRead <> 0) then
    begin
      BlockWrite(fout, ch, 1, numWrite);
    end;
  end;
  readln;

  closeFile(f);
  closeFile(fout);
end.

Задача про Годзиллу

Архив с программой

unit PlayerUnit;

interface

uses common;

type
  Player = class
    function move(height, lastNumber, sortedNumber : integer; arr : array of integer) : integer;
  end;


implementation

{ Player }

function Player.move(height, lastNumber, sortedNumber : integer; arr : array of integer): integer;
begin
  if lastNumber < N-2-sortedNumber then
    move := HIT(lastNumber+1)
  else if lastNumber > 0 then
    move := HIT(lastNumber-1)
  else
    move := STAY;
end;

end.

Задания

Задание на 16.01.2013

Напишите игру "Мемо" (см., например, http://gamgama.ru/game/2724)

Вместо картинок используйте числа. Для того, чтобы случайно заполнить массив парами чисел, делаете следующее:

  1. изначально весь массив заполняете -1
  2. всего пар будет n^2/2, поэтому повторяете следующие действия циклом по i именно столько раз
  3. находите случайную клетку
  4. если она занята, то снова к пункту 3 (цикл :) )
  5. ставите в клетку i
  6. находите случайную клетку
  7. если она занята, то снова к пункту 6 (цикл :) )
  8. ставите в клетку i

При нажатии на кнопку открываете соответствующее число, если оно совпадает с запомненным, то прячете обе кнопки, если нет - закрываете запомненную кнопку и запоминаете текущее число и кнопку.

Задания необходимо сделать к следующему занятию.

При этом все, что Вы сделаете в классе необходимо выслать в конце урока - за это будет также выставлена оценка.

ООП

Проект с прямоугольниками
Сумматоры
Генерация кнопок
Работа с StringList
Генерация кнопок с заданным действием на нажатие

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты