Процедура Writeln в Pascal

Помимо зарезервированного слова Write, для вывода сообщения на экран в Pascal используется процедура Writeln. Отличие процедуры Writeln от оператора Write заключается в том, что Writeln после вывода сообщения на экран переводит курсор на другую ...

Ввод символов с клавиатуры.

Ввод символов с клавиатуры почти не отличается от ввода чисел с клавиатуры. Для того чтобы ввести какие-то символы (буквы, знаки и т.д.) с клавиатуры необходимо для переменных использовать символьный тип данных Char.

Использование вложенного оператора If.

Условные операторы в Pascal можно вкладывать друг в друга. Для этого используется вложенный оператор IF. Рассмотрим это на примере программы, которая будет считать количество корней квадратного уравнения.

Циклы и массивы

ЗАПИСИ. ТИП ДАННЫХ RECORD.

В описании данных и связей между ними используют понятия: запись логическая и запись физическая. Физическое описание данных определяет способ их хранения во внешней памяти ЭВМ. Логическое описание ...

Табулирование функций.

Задача табулирования функции предполагает получение таблицы значений функции при изменении аргумента с фиксированным шагом. В качестве исходной информации должны быть заданы: Х0, Хn – начало и конец ...

Уроки Паскаль

В этом уроке мы напишем самую простую программу, состоящую всего из пяти строк. Эта программа будет выводить сообщение на экран. Для написания программы нам необходимо знать как работают операторы Write, Readln, а также понять для чего нужны зарезервированные в Паскаль слова Program, Begin, End.

program number1;
begin
write (‘Привет.’);
readln
end.

В строке №1 записывается заголовок программы. Все программы, написанные на языке Pascal, начинаются со служебного слова program. Слово program зарезервировано в Pascal, т.е. оно может использоваться только для объявления имени программы. Далее, через пробел записывается название программы, которое мы придумываем сами. Для примера назовем нашу первую программу «number1». В конце первой строки ставится точка с запятой.

Строка №2. Тело программы начинается с зарезервированного в Pascal слова begin. После него не ставится точка с запятой. Заканчивается программа зарезервированным словом end. (строка №5). После слова end ставится точка. Конструкция begin…end является разделом операторов. Внутри этого раздела находятся операторы, которые будут выполняться программой. В любой программе должны присутствовать слова begin…end.

В строке №3 записывается первый оператор, который будет выполнять программа. Оператор Write служит для вывода на экран какого-либо сообщения. Текст этого сообщения записывается после слова Write, заключается в круглые скобки и в апострофы. В конце обязательна точка с запятой (все операторы в программе должны отделяться друг от друга точкой с запятой). Таким образом, в результате работы оператора Write на экран будет выведено сообщение «Привет.»

В строке №4 записывается оператор readln. Этот оператор служит для задержки экрана, чтобы мы могли увидеть результаты выполнения программы на экране. Если его не использовать, то после того как программа будет выполнена экран сразу свернется и мы не успеем увидеть выводимое на экран сообщение. Кстати, оператор Readln можно не использовать. А для того чтобы увидеть результаты выполнения программы можно нажать Alt+F5. После оператора Readln у нас не стоит точка с запятой т. к. далее идет оператор end. (перед End. точка с запятой не обязательна). Теперь наберем нашу программу в Паскале.

pervaya programma.

Сохраним, нажав F2 (или в командной строке File-Save) и запустим ее, нажав Ctrl+F9 (либо в панели команд Run-Run).
Получим следующий результат.

pervaya programma..

Самая нижняя строка и есть наш результат.
Теперь нажмем Enter (для завершения выполнения программы) и еще раз запустим программу.
Получим следующий результат.

pervaya programma...

Этим примером я хочу показать Вам, что каждый раз при запуске программы старые результаты программы тоже будут выводиться на экран. Для того чтобы этого избежать, используется оператор очистки экрана clrscr (сокращенно от англ. Clear Screen (очистить экран)), который ставится вначале программы после слова begin. Для того чтобы этот оператор работал необходимо подключить модуль CRT с помощью команды USES.

Программа будет выглядеть так:

pervaya programma....

Заметьте, что после Uses Crt и после Clrscr ставится точка с запятой.
После запуска (ctrl+F9) окно вывода сообщения будет иметь вид:

pervaya programma.....



Дополнение к материалу.

1. Программа, запущенная в Free Pascal обрабатывается какое-то количество времени. Поэтому после запуска необходимо подождать несколько секунд. Вы увидите сообщение о том, что выполняется программа, а через несколько секунд (1-20) увидите результат выполнения программы.

2. При запуске программ, которые должны выводить на экран текст на русском языке может возникнуть проблема с кодировкой. В консольном окне вы увидите непонятные символы. Для того чтобы этого избежать небходимо кликнуть правой кнопкой мыши по верхней части консольного окна (там, где написано C:\FPC\2.2.2\bin\i386-win32\fp.exe), выбрать «Свойства» и перейти на вкладку «Шрифт». Здесь выбираем «точечные шрифты» и нажимаем Ok.

3. Компилятору Pascal абсолютно безразлично какими буквами Вы будете набирать программу, заглавными или строчными, т.е. регистр при наборе программ роли не играет.

4. Имя программы (в нашем случае «number1») не играет какой-либо роли в программе, поэтому не обязательно объявлять имя программы с помощью слова «Program». Таким образом, первую строку программы можно не писать и это никак не повлияет на работу программы.

5. Как уже было сказано, слово «Program» является зарезервированным словом в Pascal. Зарезервированные слова можно использовать только по их прямому назначению. При наборе программ в редакторе Pascal все зарезервированные слова подсвечиваются белым цветом. Название программы «number1» является идентификатором (именем). Идентификаторы – это последовательности символов, которые придумывает сам программист. В нашем примере нам необходимо было придумать название программы. При написании идентификаторов используются определенные правила:

  • Идентификатор начинается с буквы, или знака подчеркивания.
  • Содержит только буквы, цифры или знак подчеркивания.
  • Между двумя идентификаторами должен стоять разделитель.
  • Максимальная длина 127 символов. Все символы значимы.
  • Идентификатор не может повторять зарезервированное слово.

Комментарии  

 
-76 # миша 09.04.2012 10:38
мне 10 лет я ито понял
Ответить
 
 
+26 # Влад 11.04.2012 17:35
Ахахах) Ололошки учите паскаль, в жизни пригодиться. Это самый простой язык программировани я.
Ответить
 
 
-109 # максим 12.05.2012 14:54
Миша, тебя опередили я в 5 лет C++ знал, а в 7 ассемблер
Ответить
 
 
+21 # лол 07.10.2012 12:38
В 5 лет C++ PFF
АХАХАХАХАХАХАХ АХАХАХАХАХАХАХА Х
Ответить
 
 
-26 # Антон 28.02.2013 09:50
Пффф, я в 2 года PHP, JavaScript, Basic, C++, Assembler знал
Ответить
 
 
-19 # Ник 24.02.2014 08:23
А я А я в 2 года твой дом труба шаталь :lol:
Ответить
 
 
-8 # супер программер 22.10.2015 14:27
я до своего рождения запрограммирова л маму на быстрое получение питательных веществ на Java, C++, PHP, Basic, Assembler, Pascal
Ответить
 
 
+3 # Аллигатор 05.09.2012 14:48
Вопрос: какой язык программировани я самый сложный? Понятно что в каждом языке свои сложности и т.д, но какой по вашему САМЫЙ СЛОЖНЫЙ?
Ответить
 
 
+4 # Юлия 14.10.2015 12:45
CC++
Ответить
 
 
+23 # Administrator 06.09.2012 06:18
Из тех, которые могут пригодиться, низкоуровневые языки программировани я, например, Ассемблер.
Ответить
 
 
+10 # Кристя 26.10.2012 13:46
Хороший сайт! Все понятно! :-)
Ответить
 
 
-13 # Сандра 16.11.2012 14:34
дааааа) наш информатик нас убивааает! а я все поняла! :P
Ответить
 
 
-30 # Оля 24.11.2012 15:23
Мне 11 и я знаю уже кучу алгоритмов....
И не только...
Ответить
 
 
+2 # Дори 09.12.2012 12:44
И вправду, все просто и понятно, вот так я к сессии готовлюсь))
Ответить
 
 
+4 # Максалина 10.12.2012 18:41
Помогите составить программу Z=(X в кубе/9+yx в квадрате)*99/y+ x при х=2 y=3
Ответить
 
 
+7 # Сергей 13.12.2012 22:08
Максалина вот твоя программа :lol: :lol:
var x,y: integer;
var z: complex;
begin
x:=2;
y:=3;
z:=((x,3)/9+(y*x,2))*99/y+x;
writeln(z,' ');
end.
Ответить
 
 
+7 # Максалина 18.12.2012 09:56
Спасибо,Сергей 13.12.2012 22:08. :-) Но у вас она составлена немного не правильно. :zzz Я уже поняла как её составлять. Но всё равно, большое спасибо. :-)
Ответить
 
 
+5 # Наталья 18.12.2012 15:19
да допущена ошибка у меня не получается и выдает ошибку
Ответить
 
 
-4 # Александр К 19.12.2012 16:09
Сайт супер - написал первую программу - потом на память несколько раз переписал.Перех ожу в следующий урок - очень благодарен!Спас ибо))))
Ответить
 
 
-5 # АЙЖАН 22.12.2012 12:02
РАХМЕТ
Ответить
 
 
-1 # Zhenko 24.12.2012 18:10
Умоляю! Помогите составить программу
Векторы и матрицы
Дан вектор А, состоящий из 12 вещественных чисел. Оставить его без изменения, если он упорядочен по возрастанию или по убыванию. В противном случае удалить те элементы А, порядковые номера которых кратны трём, сохранив прежним порядок оставленных членов.
А={-1.5,2.9,3.2 ,-0.6,5.4,0.7,- 4.1 ,8.3,7.2,-2.9,- 1.3,6.5}
Ответить
 
 
+1 # Casil 16.03.2018 13:30
Program P1;
uses crt;
const
n_max = 100;
var
a: array[1..n_max] of integer;
n, m, i, j, q, pos: integer;
t: boolean;
max, tmp: integer;
begin
write('Введите размерность массива: ');
readln(n);
WriteLn ('Введите элементы массива');
for i := 1 to n do
begin
a := -n_max div 2 + n_max;
write('A[',i,'] = ');
ReadLn (A);
if a > max then
begin
max := a;
pos := i;
end;
end;
writeln;
i := 1;
while (i < n) and not t do
begin
if a < a[i + 1] then
t := true;
inc(i);
end;
for j := 1 to n - 1 do
for q := j + 1 to n do
if a[j] > a[q] then
begin
tmp := a[j];
a[j] := a[q];
a[q] := tmp;
end;
writeln('Отсорт ированный массив: ');
for i := 1 to n do
write(a:5);
end.
Ответить
 
 
0 # Павел 25.12.2012 10:07
Zhenko! Боюсь тут тебе не помогут никак. Большая часть народа либо просто хвастается либо умеет но делать такие простейшие программы как a:=1+1; Обратись лучше на какой нибудь форум, а лучше изучи сам. ;-)

Вот один не плохой форум: http://www.cyberforum.ru/

Желаю удачки тебе! Творческих успехов :-)
Ответить
 
 
+7 # Аня 25.12.2012 16:34
Павел, если такой умный, то взял бы да помог Zhenko. ;-)
Ответить
 
 
+3 # Виталек 30.01.2013 13:44
Даа.программиро вание вещь сложная
Ответить
 
 
0 # Дмитрий 12.02.2013 20:00
Ничего не сложная. Вот здесь есть простые уроки, написанные простым языком.
pascal-abc.ru
Ответить
 
 
-2 # Программист-Студент 17.02.2013 13:55
Сергей ты оператор забыл вставить, по моему "if"
Ответить
 
 
+4 # Артем 21.02.2013 13:42
Вот программа, которая меняет системную дату и время... никак не могу сделать так, чтобы ClrScr заработала...! помогите кто в этом шарит...
uses Crt;
Uses Dos;
CONST
days:ARRAY [0..6] of string [11] = ('Voskr.', 'Ponedel.', 'Vtornik', 'Sreda', '4etverg', 'Pyatnica', 'Subbota');
VAR
year, month, day, day_of_week : WORD;
VAR hour, minute, second, hund : WORD;

BEGIN
Writeln ('_________________________________________');
Writeln ('------------- --------------- -------------') ;
ClrScr;
Write('Cleared Screen!');

PROCEDURE Get_Date;
BEGIN
GetDate (year, month, day, day_of_week);
Writeln ('Segodnya: ', days[day_of_wee k], ',', day,'/', month,'/',year);
Writeln ('------------- --------------- -------------') ;
END;
PROCEDURE Set_Date;
BEGIN
Writeln('Vvedit e daty: ');
Readln(day, month, year);
SetDate (year, month, day);
Writeln ('_________________________________________');
Writeln ('------------- --------------- -------------') ;
END;
PROCEDURE Get_Time;
BEGIN
GetTime (hour, minute, second, hund);
Writeln ('Sey4as: ', hour,':', minute,':', second,':', hund);
Writeln ('------------- --------------- -------------') ;
END;
PROCEDURE Set_Time;
BEGIN
Writeln ('Vvedite vremya');
Readln(hour, minute, second, hund);
SetTime(hour, minute, second, hund);
END;
BEGIN
Get_Date;
Set_Date;
Get_Time;
Set_Time;
Get_Time;
Writeln ('OK!');
Writeln;
Writeln ('Najmite Enter dlya vihoda ...');
Readln;
End.
Ответить
 
 
-1 # ЕвгенЕвгений 12.01.2015 15:30
Если это Паскаль, то ты зря этот клрскр в начале ставишь. Ставь его либлибо в тело основноосновной программы, либо в процедуры, но явно не в недоделанный бегин
Ответить
 
 
-1 # Soofy230 13.05.2017 05:44
Перед каждым begin поставь должно помочь
Ответить
 
 
-1 # Den 05.03.2013 23:56
подскажите, переписал все один в один как тут написано, все точки с запятой и все такое...но при запуске программы выскакивает такое сообщение

Error: Identifier not found "readIn"

гуглил не помогло, не смог найти причины...
Ответить
 
 
-1 # Den 05.03.2013 23:57
а когда убрал readIn - заработало, но на экран понятно что ничего не выводит, просто видно как мелькает программа и ошибки нет :sad:
Ответить
 
 
+4 # Антон 21.03.2013 19:06
Хм.. Попробуй после "readln" поставить точку с запятой, если не поставил, может устранится ошибка... или воспользуйся процедурой "delay"
Ответить
 
 
-4 # Олег 16.03.2013 09:14
Артем, удали вот эту строчку: "Write('Cleared Screen!');"
Тогда заработает. Я так думаю.
Ответить
 
 
-3 # Александр 16.03.2013 16:13
Интересно и просто!
Ответить
 
 
0 # Дмитрий 28.03.2013 13:46
У меня почему-то слово write написано желтым, а должно быть, как я понимаю белым... И без конца выдаёт ошибки(
Ответить
 
 
-1 # Артем 21.05.2013 18:02
Напиши не write , а writeln
Ответить
 
 
-3 # убери ковычки 05.03.2014 02:20
:P :lol: :lol: :lol:
Ответить
 
 
+4 # Антон 02.03.2014 16:02
program piramidka;

var
p7, p4, p1, p8, p5, p2, p9, p6, p3, st1, st2, st3, vod1, vod2, ind,ind2,pam, shet, shet1: integer;hod, ris1, ris2, ris3, ris4, ris5, ris6, ris7, ris8, ris9: string;

begin
write('Игра башня!');
writeln('Цель игры:пирамидку из левой части перетащить в правую!');
writeln('Как играть! Вы вводите два числа от 1 до 3. ПЕРВОЕ число означает столбец откуда будет взята часть. ВТОРОЕ число означает в какой столбец будет положена.');
ind2:=1;
while ind2=1 do
begin
shet:=0;
ris1 := '(0000)';ris2 := '__|__ ';ris3 := '__|__ ';ris4 := ' (00) ';ris5 := ' | ';ris6 := ' | ';ris7 := ' () ';ris8 := ' | ';ris9 := ' | ';
p1 := 4;p2 := 0;p3 := 0;p4 := 2;p5 := 0;p6 := 0;p7 := 1;p8 := 0;p9 := 0;
writeln('Начнем !');
writeln(' () | | ');
writeln(' (00) | | ');
writeln('(0000) __|__ __|__ ');
writeln(' 1 2 3 ');
writeln();
ind:=0;
while ind = 0 do
begin
st1 := p7 + p4 + p1;
st2 := p8 + p5 + p2;
st3 := p9 + p6 + p3;
vod1 := 0;
vod2 := 0;
writeln('Вводит е ПЕРВОЕ число!');
while (vod1 > 3) or (vod1 = 0) do
begin
if vod1 > 3 then writeln('Число должно быть от 1 до 3,вводите еще раз.');
readln(vod1);
end;
writeln('Вводит е ВТОРОЕ число!');
while (vod2 > 3) or (vod2 = 0) or (vod2 = vod1) do
begin
if (vod2 > 3) or (vod1 = vod2) then writeln('Число должно быть от 1 до 3 и не равно 1 числу,вводите еще раз.');
readln(vod2);
end;
case vod1 of
1:
begin
case st1 of
1:
begin
if (vod2 = 2) then
case st2 of
0: begin p2 := p1;p1 := 0;shet := shet + 1; end;
2: begin p5 := p1;p1 := 0;shet := shet + 1; end;
4: begin p5 := p1;p1 := 0;shet := shet + 1; end;
6: begin p8 := p1;p1 := 0;shet := shet + 1; end;
end;
if (vod2 = 3) then
case st3 of
0: begin p3 := p1;p1 := 0;shet := shet + 1; end;
2: begin p6 := p1;p1 := 0;shet := shet + 1; end;
4: begin p6 := p1;p1 := 0;shet := shet + 1; end;
6: begin p9 := p1;p1 := 0;shet := shet + 1; end;
end;
end;
2:
begin
if (vod2 = 2) then
case st2 of
0: begin p2 := p1;p1 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так!'); end;
4: begin p5 := p1;p1 := 0;shet := shet + 1; end;
5: begin writeln('Нельзя так!'); end;
end;
if (vod2 = 3) then
case st3 of
0: begin p3 := p1;p1 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так!'); end;
4: begin p6 := p1;p1 := 0;shet := shet + 1; end;
5: begin writeln('Нельзя так!'); end;
end;
end;
3:
begin
if (vod2 = 2) then
case st2 of
0: begin p2 := p4;p4 := 0; shet := shet + 1; end;
4: begin p5 := p4;p4 := 0;shet := shet + 1; end;
end;
if (vod2 = 3) then
case st3 of
0: begin p3 := p4;p4 := 0;shet := shet + 1; end;
4: begin p6 := p4;p4 := 0;shet := shet + 1; end;
end;
end;
4:
begin
if (vod2 = 2) then
case st2 of
0: begin p2 := p1;p1 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так'); end;
2: begin writeln('Нельзя так'); end;
3: begin writeln('Нельзя так'); end;
end;
if (vod2 = 3) then
case st3 of
0: begin p3 := p1;p1 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так'); end;
2: begin writeln('Нельзя так'); end;
3: begin writeln('Нельзя так'); end;
end; end;
5:
begin
if (vod2 = 2) then
case st2 of
0: begin p2 := p4;p4 := 0; shet := shet + 1; end;
2: begin p5 := p4;p4 := 0;shet := shet + 1; end;
end;
if (vod2 = 3) then
case st3 of
0: begin p3 := p4;p4 := 0; shet := shet + 1; end;
2: begin p6 := p4;p4 := 0; shet := shet + 1; end;
end; end;
6:
begin
if (vod2 = 2) then
case st2 of
0: begin p2 := p4;p4 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так'); end;
end;
if (vod2 = 3) then
case st3 of
0: begin p3 := p4;p4 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так'); end;
end; end;
7:
begin
if (vod2 = 2) then begin p2 := p7;p7 := 0;shet := shet + 1; end; if (vod2 = 3) then begin p3 := p7;p7 := 0; shet := shet + 1; end;
end;end; end;
2:
begin
case st2 of
1:
begin
if (vod2 = 1) then
case st1 of
0: begin p1 := p2;p2 := 0;shet := shet + 1; end;
2: begin p4 := p2;p2 := 0; shet := shet + 1; end;
4: begin p4 := p2;p2 := 0;shet := shet + 1; end;
6: begin p7 := p2;p2 := 0;shet := shet + 1; end;
end;
if (vod2 = 3) then
case st3 of
0: begin p3 := p2;p2 := 0;shet := shet + 1; end;
2: begin p6 := p2;p2 := 0;shet := shet + 1; end;
4: begin p6 := p2;p2 := 0;shet := shet + 1; end;
6: begin p9 := p2;p2 := 0;shet := shet + 1; end;
end; end;
2:
begin
if (vod2 = 1) then
case st1 of
0: begin p1 := p2;p2 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так!'); end;
4: begin p4 := p2;p2 := 0;shet := shet + 1; end;
5: begin writeln('Нельзя так!'); end;
end;
if (vod2 = 3) then
case st3 of
0: begin p3 := p2;p2 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так!'); end;
4: begin p6 := p2;p2 := 0;shet := shet + 1; end;
5: begin writeln('Нельзя так!'); end;
end; end;
3:
begin
if (vod2 = 1) then
case st1 of
0: begin p1 := p5;p5 := 0;shet := shet + 1; end;
4: begin p4 := p5;p5 := 0;shet := shet + 1; end;
end;
if (vod2 = 3) then
case st3 of
0: begin p3 := p5;p5 := 0;shet := shet + 1; end;
4: begin p6 := p5;p5 := 0;shet := shet + 1; end;
end; end;
4:
begin
if (vod2 = 1) then
case st1 of
0: begin p1 := p2;p2 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так'); end;
2: begin writeln('Нельзя так'); end;
3: begin writeln('Нельзя так'); end;
end;
if (vod2 = 3) then
case st3 of
0: begin p3 := p2;p2 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так'); end;
2: begin writeln('Нельзя так'); end;
3: begin writeln('Нельзя так'); end;
end; end;
5:
begin
if (vod2 = 1) then
case st1 of
0: begin p1 := p5;p5 := 0;shet := shet + 1; end;
2: begin p4 := p5;p5 := 0;shet := shet + 1; end;
end;
if (vod2 = 3) then
case st3 of
0: begin p3 := p5;p5 := 0;shet := shet + 1; end;
2: begin p6 := p5;p5 := 0;shet := shet + 1; end;
end; end;
6:
begin
if (vod2 = 1) then
case st1 of
0: begin p1 := p5;p5 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так'); end;
end;
if (vod2 = 3) then
case st3 of
0: begin p3 := p5;p5 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так'); end;
end; end;
7:
begin
if (vod2 = 1) then begin p1 := p8;p8 := 0;shet := shet + 1; end;if (vod2 = 3) then begin p3 := p8;p8 := 0;shet := shet + 1; end;
end;end; end;
3:
begin
case st3 of
1:
begin
if (vod2 = 1) then
case st1 of
0: begin p1 := p3;p3 := 0;shet := shet + 1; end;
2: begin p4 := p3;p3 := 0; shet := shet + 1; end;
4: begin p4 := p3;p3 := 0;shet := shet + 1; end;
6: begin p7 := p3;p3 := 0;shet := shet + 1; end;
end;
if (vod2 = 2) then
case st2 of
0: begin p2 := p3;p3 := 0;shet := shet + 1; end;
2: begin p5 := p3;p3 := 0; shet := shet + 1; end;
4: begin p5 := p3;p3 := 0;shet := shet + 1; end;
6: begin p8 := p3;p3 := 0;shet := shet + 1; end;
end; end;
2:
begin
if (vod2 = 1) then
case st1 of
0: begin p1 := p3;p3 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так!'); end;
4: begin p4 := p3;p3 := 0;shet := shet + 1; end;
5: begin writeln('Нельзя так!'); end;
end;
if (vod2 = 2) then
case st2 of
0: begin p2 := p3;p3 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так!'); end;
4: begin p5 := p3;p3 := 0;shet := shet + 1; end;
5: begin writeln('Нельзя так!'); end;
end; end;
3:
begin
if (vod1 = 1) then
case st1 of
0: begin p1 := p6;p6 := 0;shet := shet + 1; end;
4: begin p4 := p6;p6 := 0;shet := shet + 1; end;
end;
if (vod2 = 2) then
case st2 of
0: begin p2 := p6;p6 := 0;shet := shet + 1; end;
4: begin p5 := p6;p6 := 0;shet := shet + 1; end;
end; end;
4:
begin
if (vod2 = 1) then
case st1 of
0: begin p1 := p3;p3 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так'); end;
2: begin writeln('Нельзя так'); end;
3: begin writeln('Нельзя так'); end;
end;
if (vod2 = 2) then
case st2 of
0: begin p2 := p3;p3 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так'); end;
2: begin writeln('Нельзя так'); end;
3: begin writeln('Нельзя так'); end;
end; end;
5:
begin
if (vod2 = 1) then
case st1 of
0: begin p1 := p6;p6 := 0;shet := shet + 1; end;
2: begin p4 := p6;p6 := 0;shet := shet + 1; end;
end;
if (vod2 = 2) then
case st2 of
0: begin p2 := p6;p6 := 0;shet := shet + 1; end;
2: begin p5 := p6;p6 := 0;shet := shet + 1; end;
end; end;
6:
begin
if (vod2 = 1) then
case st1 of
0: begin p1 := p6;p6 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так'); end;
end;
if (vod2 = 2) then
case st2 of
0: begin p2 := p6;p6 := 0;shet := shet + 1; end;
1: begin writeln('Нельзя так'); end;
end; end;
end;



end;
end;
if p1 = 1 then ris1 := ' () ';
if p2 = 1 then ris2 := ' () ';
if p3 = 1 then ris3 := ' () ';
if p4 = 1 then ris4 := ' () ';
if p5 = 1 then ris5 := ' () ';
if p6 = 1 then ris6 := ' () ';
if p7 = 1 then ris7 := ' () ';
if p8 = 1 then ris8 := ' () ';
if p9 = 1 then ris9 := ' () ';

if p1 = 2 then ris1 := ' (00) ';
if p2 = 2 then ris2 := ' (00) ';
if p3 = 2 then ris3 := ' (00) ';
if p4 = 2 then ris4 := ' (00) ';
if p5 = 2 then ris5 := ' (00) ';
if p6 = 2 then ris6 := ' (00) ';

if p1 = 4 then ris1 := '(0000)';
if p2 = 4 then ris2 := '(0000)';
if p3 = 4 then ris3 := '(0000)';

if p1 = 0 then ris1 := '__|__ ';
if p2 = 0 then ris2 := '__|__ ';
if p3 = 0 then ris3 := '__|__ ';
if p4 = 0 then ris4 := ' | ';
if p5 = 0 then ris5 := ' | ';
if p6 = 0 then ris6 := ' | ';
if p7 = 0 then ris7 := ' | ';
if p8 = 0 then ris8 := ' | ';
if p9 = 0 then ris9 := ' | ';

writeln(ris7, ris8, ris9);
writeln(ris4, ris5, ris6);
writeln(ris1, ris2, ris3);
writeln('');
st3 := p9 + p6 + p3;
if st3 = 7 then
begin
writeln('ВЫ ПОБЕДИТЕЛЬ!!!') ;
shet1 := shet mod 10;
case shet1 of
1:hod:=' ход.';
2, 3, 4: hod:=' хода.';
5, 6, 7, 8, 9: hod:=' ходов.';
end;
writeln('Было сделано ', shet,hod);
shet1 := pam mod 10;
case shet1 of
1:hod:=' ход.';
2, 3, 4: hod:=' хода.';
end;
if pam>0 then
begin
if pamshet then writeln('В этот раз было лучше.До этого было ',pam,hod);
if pam=shet then writeln('Число ходов не отличается от того что было.');
end;
pam:=shet;
ind := 2;
writeln('Хотите сыграть еще раз?');
writeln('Да-1') ;
writeln('Нет-2' );
readln(ind2);
end;
end;
end;
end.
Ответить
 
 
+1 # Никита 22.11.2015 11:26
Ты там кое-что неправильно написал :
if pam=shet then writeln('В этот раз было лучше.До этого было ',pam,hod);
if pamshet then writeln('Число ходов не отличается от того что было.');

а надо :

if pam=shet then writeln('В этот раз было лучше.До этого было ',pam,hod);
if pam=shet then writeln('Число ходов не отличается от того что было.');
Ответить
 
 
-1 # Антон 02.03.2014 16:02
играйте на здоровье
Ответить
 
 
0 # Антон 02.03.2014 16:03
игра на pascalABC.NET
Ответить
 
 
-1 # Женя 03.09.2014 19:18
На начало изучения паскаля в школе, я забивал, вместо этого учил C, а потом C++.
Теперь я должен заново все начинать =).
Ответить
 
 
-5 # Виктор 06.02.2015 00:21
Антон :lol: маленькая ошибочка
Ответить
 
 
0 # помогите 16.10.2015 17:12
Program:2
Var x,y,z,Y,C :integer;
Begin
readln (x,y,z);
x:= 1.825;y:= -18.225; z:= -3.298; Y:= Abc(Sqr Sqr(y/x))- exp(1/3*Ln(y/x));
C:= (y-x)y-z/(y-x)/1+(y-Sqr(x))
writeln (x,y,z,Y,C)
end
:zzz :zzz
Ответить
 
 
-1 # Вдруг поможет 21.11.2015 23:18
Введи переменную не integer , а real
Ответить
 
 
0 # Никита 22.11.2015 11:37
Много ошибок ! Имя программы - это 1 ошибка , повтор переменной Y, вместо integer , надо написать real , не доставил знак ";" после "writeln (x,y,z,Y,C)". После "end" не поставил точку ну и дальше сам ищи
Ответить
 
 
+1 # 88005553535 22.11.2015 11:47
Program one;
Var x,g,z,Y,C :real;
Begin
x:= 1.825;g:= -18.225; z:= -3.298; Y:=(Sqr(g/x))- exp(1/3*Ln(g/x));
C:= (g-x)*y-z/(g-x)/1+(g-Sqr(x));
writeln(x,g,z,Y,C);
readln (x,g,z)
end.
Ответить
 
 
-1 # розымырат 20.04.2016 21:26
не понятно программо
Ответить
 
 
-1 # Kris 03.05.2016 10:32
Var a,b:integer;
begin
read (a,b);
writeln (a/b);
end. :lol:
Ответить
 
 
+3 # President_5455 28.08.2018 16:00
Напишу игру на Pascal.
Ответить
 
 
0 # Vasil 30.09.2021 04:39
Напиши
Ответить
 
 
+1 # Serg 06.10.2021 11:18
:D norm
Ответить
 
 
0 # Avenue17Ru 21.10.2022 09:10
Какие слова...
Ответить
 

Добавить комментарий

   ГлавнаяПаскальУроки ПаскальИспользование program, begin…end, write, readln, Uses Crt, Clrscr.