Бейсик и Паскаль. Что выбрать Игра «Камень, ножницы, бумага» на языке Паскаль

  • pptx
  • 05.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 2. Бейсик и Паскаль. Что выбрать Игра «Камень, ножницы, бумага» на языке Паскаль.pptx

Исследовательская работа Бейсик и Паскаль. Что выбрать? Игра «Камень, ножницы, бумага» на языке Паскаль  

Как я познакомилась с микрокомпьютером

Летом мне на глаза попалась книга «Осваиваем микрокомпьютер», в которой рассмотрены начальные этапы программирования на языке Бейсик. Я знала, что в 9 классе нам предстоит изучать программирование на языке Паскаль. В интернете же я встречала споры между любителями Бейсика и Паскаля. И я решила разобраться какой из языков всё же лучше.

Создатели языков:

Томас Курц и Джон Кемени.
Создатели языка Бейсик.

Никлаус Вирт.
Создатель языка Паскаль.

Бумага, камень и ножницы (поиск ошибок в программе)

ПОИСК ОШИБОК В ПРОГРАММЕ

CLS:C=0:RANDOMIZE TIMER
C=0
A=0
10: F=0
R=INT (RND*4+1)
IF R=1 THEN C$ = “БУМАГА”
IF R=2 THEN C$ = “КАМЕНЬ”
IF R=3 THEN C$ = “НОЖНИЦЫ”
PRINT “Я ГОТОВ”
PRINT “ЧТО ВЫ ВЫБИРАЕТЕ – БУМАГУ, КАМЕНЬ ИЛИ НОЖНИЦЫ”
INPUT A$
PRINT
IF C$= “БУМАГА” AND A$ = “НОЖНИЦЫ” THEN F=1
IF C$ = “КАМЕНЬ” AND A$=”БУМАГА” THEN F=1
IF A$=”НОЖНИЦЫ” AND A$ = “КАМЕНЬ” THEN F=1
IF C$=A$ THEN F=2
PRINT ”ВЫ ВЫБРАЛИ”; A$
PRINT “Я ВЫБРАЛ” ; B$
PRINT “ПОЭТОМУ”
IF F=0 THEN PRINT “Я ВЫИГРАЛ”
IF F=F THEN PRINT “ВЫ ВЫИГРАЛИ”
IF F=2 THEN PRINT “ПОЛУЧИЛАСЬ НИЧЬЯ”
IF F=0 THEN A=A+1
IF F=1 THEN C=C+1
PRINT “СЧЕТ ОЧКОВ”
PRINT “У МЕНЯ: ”;Y
PRINT “У ВАС: ”;A
IF C>10 AND A>10 THEN GOTO 10
PRINT “КОНЕЦ ИГРЫ”

Определяем случайное число из промежутка от 1 до 3. Следовательно,
R= INT(RND*2+1).

Должно быть
IF C$=“НОЖНИЦЫ” …

Должно быть С$

Должно быть F=1

Если F=0, то выиграл компьютер и подсчет очков ведётся в переменной С.

Если F=1, то выиграл игрок и подсчет очков ведётся в переменной А.

У компьютера С очков.

Возврат к 10 строке нужно производить если у игроков очков меньше 10.
IF C<10 AND A<10 THEN GOTO 10

Лишняя команда.

Программа без ошибок

CLS:RANDOMIZE TIMER
C=0
A=0
10: F=0
R=INT (RND*2+1)
IF R=1 THEN C$ = “БУМАГА”
IF R=2 THEN C$ = “КАМЕНЬ”
IF R=3 THEN C$ = “НОЖНИЦЫ”
PRINT “Я ГОТОВ”
PRINT “ЧТО ВЫ ВЫБИРАЕТЕ – БУМАГУ, КАМЕНЬ ИЛИ НОЖНИЦЫ”
INPUT A$
PRINT
IF C$= “БУМАГА” AND A$ = “НОЖНИЦЫ” THEN F=1
IF C$ = “КАМЕНЬ” AND A$=”БУМАГА” THEN F=1
IF C$ =”НОЖНИЦЫ” AND A$ = “КАМЕНЬ” THEN F=1
IF C$=A$ THEN F=2
PRINT ”ВЫ ВЫБРАЛИ”; A$
PRINT “Я ВЫБРАЛ” ; C$
PRINT “ПОЭТОМУ”
IF F=0 THEN PRINT “Я ВЫИГРАЛ”
IF F=1 THEN PRINT “ВЫ ВЫИГРАЛИ”
IF F=2 THEN PRINT “ПОЛУЧИЛАСЬ НИЧЬЯ”
IF F=0 THEN C=C+1
IF F=1 THEN A=A+1
PRINT “СЧЕТ ОЧКОВ”
PRINT “У МЕНЯ: ”; С
PRINT “У ВАС: ”;A
IF C<10 AND A<10 THEN GOTO 10
PRINT “КОНЕЦ ИГРЫ”

Сопоставим операторам языка Бейсик операторы языка Паскаль.

CLS:RANDOMIZE TIMER
C=0
A=0
10: F=0
R=INT (RND*2+1)
IF R=1 THEN C$ = “БУМАГА”
IF R=2 THEN C$ = “КАМЕНЬ”
IF R=3 THEN C$ = “НОЖНИЦЫ”
PRINT “Я ГОТОВ”
PRINT “ЧТО ВЫ ВЫБИРАЕТЕ – БУМАГУ, КАМЕНЬ ИЛИ НОЖНИЦЫ”
INPUT A$
PRINT
IF C$= “БУМАГА” AND A$ = “НОЖНИЦЫ” THEN F=1
IF C$ = “КАМЕНЬ” AND A$=”БУМАГА” THEN F=1
IF C$ =”НОЖНИЦЫ” AND A$ = “КАМЕНЬ” THEN F=1
IF C$=A$ THEN F=2
PRINT ”ВЫ ВЫБРАЛИ”; A$
PRINT “Я ВЫБРАЛ” ; C$
PRINT “ПОЭТОМУ”
IF F=0 THEN PRINT “Я ВЫИГРАЛ”
IF F=1 THEN PRINT “ВЫ ВЫИГРАЛИ”
IF F=2 THEN PRINT “ПОЛУЧИЛАСЬ НИЧЬЯ”
IF F=0 THEN C=C+1
IF F=1 THEN A=A+1
PRINT “СЧЕТ ОЧКОВ”
PRINT “У МЕНЯ: ”; С
PRINT “У ВАС: ”;A
IF C<10 AND A<10 THEN GOTO 10
PRINT “КОНЕЦ ИГРЫ”

Для получения случайных чисел , также требуется использовать функцию randomize


Для получения случайного числа , мы используем функцию random. Для её использования требуется подключать модуль crt;

if условие then оператор-1 else оператор-2;
Выполнение оператора начинается с проверки логического условия, если оно истинно, то
выполняется оператор-1, иначе оператор-2. В качестве оператора может выступать
простой оператор или составной оператор. Составной оператор – это группа операторов,
заключенная в операторные скобки begin ... end.

Оператор вывода информации
write(ln)(список вывода);

Оператор ввода информации
Read(ln) (список ввода);

Оператор GOTO заменяется оператором цикла
while условие do
begin
оператор1;
оператор2;
....
end;
 
Суть выполнения оператора заключается в проверке логического условия, если оно оказывается истинным, выполняются операторы тела цикла до тех пор, пока логическое условие не станет ложным.

Графика в Паскале

Система ABC Pascal обладает великолепной графической библиотекой. Для ее подключения после заголовка программы необходимо написать Uses GraphABC. Модуль GraphABC содержит константы, типы, процедуры и функции для рисования в графическом окне
Вывод текста в графическом окне осуществляется оператором TextOut(x, y, ‘строка’). Этот оператор выводит строку текста в позицию (х,у) (точка (х,у) задает верхний левый угол прямоугольника который будет содержать текст).
Действия со шрифтами позволяют выполнять операторы:
SetFontName(‘name’) – устанавливает наименование шрифта;
SetFontColor(color) – устанавливает цвет шрифта;
SetFontSize(sz) – устанавливает размер шрифта в пунктах;
SetFontStyle(fs) – устанавливает стиль шрифта.
По умолчанию установлен шрифт, имеющий наименование MS Sans Serif.
Наиболее распространенные шрифты – это Times, Arial, Courier New. Наименование шрифта можно набирать без учета регистра.

Бейсик или Паскаль: какой язык выбрать?

Бейсик

Паскаль

Тип переменных указывается рядом с именем переменной знаками %, #, $. В начале программы необходимо указать размерность массивов.

Нет структурной записи программы.

Использование оператора GOTO позволяет совершать произвольные переходы.

Программы работают только внутри оболочки

Требуется обязательное объявление переменных в начале программы с указанием их типа.


Структурная запись программы.

Разработка программ ведется пошагово, методом «сверху вниз».

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

Нет средств создания внешних библиотек.
Отсутствуют ссылочные типы и динамические переменные.

Возможность создания подпрограмм.

Наличие внешних библиотек.

Наличие ссылочных типов и динамических переменных.


Процедуры и функции.

Так какой же из языков всё таки выбрать ? Я считаю, что каждый сам выбирает то, что ему удобнее. Поэтому хорош будет тот язык, в котором ты лучше разбираешься.