Звиняйте, но сначала спрошу как вставлять текст программы из окна фрипаскаля, а затем задам вопрос по теме.
В среде разработки FPC есть в меню Edit пункты Copy to Windows/Paste to windows, по-моему, их назначение предельно понятно. Выделяешь любым способом нужный текст в редакторе FPC (или "стрелка вниз с зажатым Shift-ом", или "установка курсора в начало выделяемого блока, Ctrl+K+B, установка курсора в конец, Ctrl+K+K", или просто "выделение мышью") и в меню выбираешь пункт Copy to Windows. Выделенный текст копируется в clipboard, вставляешь его на форум через Ctrl+V.
А клипборд - это где? Спасибо за разжовывание.
> А клипборд - это где?
Это общий буфер обмена в винде, где сидят данные между их копированием и вставкой.
Только странно, что в ФПЦ не сделали просто по CTRL+C или CTRL+INSERT.
> Но работают они с внутренним буфером обмена, внутри IDE, скажем, для переноса текста в другое окно редактора.
А в чём проблема сделать с внешним буфером обмена? Переносить текст между окнами редактора это не помешает.
Наконец-то до компа добрался.
Вопрос такой. Хотелось бы узнать побольше о методах сокращения программ. Наверняка, опытные программисты могут многое посоветовать (напр.: вместо какой-то толпы операторов, можно обойтись одним и т.д.). Хочется изначально научиться коротко писать проги. В принципе, это даже можно оформить как инструкцию для новичков.
Для примера выкладываю своё решение одной задачи. Чую, что можно сократить (кажется, что есть лишние прверки условий). А как сократить-незнаю.
(Условный оператор)
Из трех данных чисел выбрать наименьшее.
Program u;
uses Crt;
var
a,b,c:real;
begin
ClrScr;
write('Введите 1-е число a='); readln(a);
write('Введите 2-е число b='); readln(b);
write('Введите 3-е число c='); readln©;
if a>b then
begin
if b>c then
writeln('c - наименьшее число')
else writeln('b - наименьшее число');
end;
if b>c then
begin
if c>a then
writeln('a - наименьшее число')
else writeln('c - наименьшее число');
end;
if c>a then
begin
if a>b then
writeln('b - наименьшее число')
else writeln('a - наименьшее число');
end;
end.
идеал:
if a < b then
if a < c then a-мин
else c-мин
else
if b < c then b-мин
else c-мин
if (a<=b)and(a<=c) then a
else if (b<=a)and(b<=c) then b
else if (c<=a)and(c<=b) then c;
if (a<=b)and(a<=c) then a;
if (b<=a)and(b<=c) then b;
if (c<=a)and(c<=b) then c;
function min(const a, b: real);
begin
if a < b then min := a else min := b;
end;
begin
min(min(a,b),c);
end;
Спасибо. Сокращение в 2 раза, причём всё так просто. Теперь буду долго вдумываться в свои решения прежде чем задавать вопрос.