OdesitVadim
Вводим число.
Задаём кол-во битов.
Побитно сдвигаем его влево или вправо.
Вводим число.
Задаём кол-во битов.
Побитно сдвигаем его влево или вправо.
program 123;
const{дней в месяце}
dnvm: array [1..12] of integer= (31,28,31,30,31,30,31,31,30,31,30,31);
var d,m,g,i: integer;
begin
read (d,m,g);
writeln (d,' ',m,' ',g,' ');
d:=100+d-dnvm [m];
m:=m+1;
if m>12 then begin
g:=g+1;
m:=m-12;end;
while d>dnvm[m] do begin
d:=d-dnvm [m];
m:=m+1;
if m>12 then begin
g:=g+1;
m:=m-12;
end;end;
write ('+100= ',d,' ',m,' ',g,' ');
end.
InitGraph(grDriver, grMode,'');
program my1;
uses Crt;
const
text: string = 'Hello World!';
var
i: integer;
begin
for i:= 0 to length(text) do
begin
write(text[i]);
delay(1000);
end
readln; //это позволит тебе увидеть содержимое экрана или вот так
readkey; //это просто ожидание нажатия кнопки без курсора ввода
end.
Блин всё равно не догнал, как обойтись без Detect и путь к какому файлу в initgraph указать в моём случае?
program MyGraph;
uses Graph;
var
grDriver: Integer;
grMode: Integer;
ErrCode: Integer;
begin
grDriver := VGA;
grMode:=VGAHi;
InitGraph(grDriver, grMode,'C:\Progra~1\TP\BGI');
ErrCode := GraphResult;
if ErrCode = grOk then
begin
OutTextXY(0,0,'Perfected!');
Readln; //не знаю будет ли это работать в гр режиме не помню, тестить не хотся
end
else
writeln('Graphics error: ', GraphErrorMsg(ErrCode));
end.
То есть я не вижу эффекта "печатающегося" текста. Вижу сражу же надпись ♀Hello World!
program my1;
uses Crt;
const
text: string = 'Hello World!';
var
i: integer;
begin
for i:= 0 to length(text) do
begin
write(text[i]);
delay(50000);
beep; //точно не знаю но вроде должно работать
end
readln; //это позволит тебе увидеть содержимое экрана или вот так
readkey; //это просто ожидание нажатия кнопки без курсора ввода
end.
Т.е. при нажатии "Open" Паскаль открывает директорию ТР7, а мне надо допустим ТР7/prog. Тоже самое и для "save as".
Сейчас я пишу прогу, сохраняю, закрываю TURBO.EXE, открываю TPX.EXE и там прогоняю. Очень неудобно! Работать через трх.ехе неудобно, так как он открывается на часть экрана. Как готовить ехе-ки через TURBO.EXE не выходя из него?
И еще проблема с русскими буквами. Есть ли способ вводить текст на русском НЕ через руссификатор?
В настройках самого паскаля есть директории попробуй там прописать нужную или в свойствах pif файла указать рабочую директорию.
работает только до перезапуска.
ИМХО единственный вариант для всех ДОСовских програм, это использовать русик, просто на другие машины его тоже ставь.
const
d:array[1..12] of integer = (31,28,31,30,31,30,31,31,30,31,30,31);
var
tm:array[1..12] of real;
i,x:integer;
data:string[5];
ty,t:real;
begin
assign(input,'meteo.dat');
reset(input);
for i:= 1 to 12 do
tm[i]:=0;
ty:=0;
for i:= 1 to 365 do
begin
readln(data,t);
x:=(ord(data[4]-ord('0'))*10+ord(data[5]-ord('0');
tm[x]:=tm[x]+t;
ty:=ty+t;
end;
for i:=1 to 12 do
tm[i]:=tm[i]/d[i];
ty:=ty/365;
writeLn(' ty= ',ty:4:2);
for i:=1 to 12 do
if abs(tm[i]-ty)<5 then
writeLn(i,tm[i]:5:2);
end.
constДумаю, названия переменных говорят сами за себя... Правда, как можете заметить, массив MonthTemperature и переменная YearTemperature лишние, я их ввел только для наглядности, их можно заменить на MonthAverageTemperature и YearAverageTemperature соответственно.
DaysInMonth: ARRAY[1..12] OF BYTE= (31,28,31,30,31,30,31,31,30,31,30,31);
var
MonthTemperature, MonthAverageTemperature: ARRAY[1..12] OF REAL;
Date: STRING[5];
f_input: FILE;
YearTemperature, YearAverageTemperature: REAL;
i, Temperature: REAL;
CurrentMonth: BYTE;
FUNCTION GetMonthNumber():BYTE; {Формат массива Date - dd.mm Функция возвращает значение mm}
BEGIN
GetMonthNumber:=(Ord(Date[4]-Ord('0'))*10+Ord(Date[5]-Ord('0');
END;
BEGIN
Assign(f_input,'meteo.dat');
Reset(f_input);
FOR i:= 1 TO 12 DO
MonthTemperature[i]:=0;
YearTemperature:=0;
FOR i:= 1 TO 365 DO
BEGIN
ReadLn(f_input, Date, Temperature);
CurrentMonth:=GetMonthNumber;
MonthTemperature[CurrentMonth]:=MonthTemperature[CurrentMonth]+Temperature;
YearTemperature:=YearTemperature+Temperature;
END;
FOR i:=1 TO 12 DO
MonthAverageTemperature[i]:=MonthTemperature[i]/DaysInMonth[i];
YearAverageTemperature:=YearTemperature/365;
WriteLn(' Year Average Temperature= ',YearAverageTemperature:4:2);
FOR i:=1 TO 12 DO
IF Abs(MonthAverageTemperature[i]-YearAverageTemperature)<5 THEN
WriteLn(i,MonthAverageTemperature[i]:5:2);
END;
где должен лежать этот входной файлТам же, где и программа.
TYPEА дальше используешь нормально вещественную переменную Temperature.
FileType = STRING[6];
VAR
f_input: FILE OF FileType;
Date: STRING[6];
i, Temperature: REAL;
TemperatureStr_Real: REAL ABSOLUTE Temperature;
...
ReadLn(f_input, Date, TempertureStr_Real);
Как Паскалю указать директорию для программ чтобы он открывал нужный мне путь?Пиши путь в Assign или вводи с клавы. Например, Assign(f,'c:\досовский_формат_директорий_и_файлов\'+f_name);
работает лишь до перезапускаА, только теперь увидел, что написал Должно быть
Как Паскалю указать директорию для программ чтобы он открывал нужный мне путь?
Предыдущая тема: Оптимизация парсинга строк в C#