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

Подписи к слайдам:
Исследовательская работа Бейсик и Паскаль. Что выбрать? Игра «Камень, ножницы, бумага» на языке Паскаль     Автор: Николова Тамара, учащаяся 9 «А» класса  МБОУ СОШ №11, г. Владикавказ   Руководитель: Санакоева И.С., учитель информатики и ИКТ Как я познакомилась с микрокомпьютером Летом мне на глаза попалась книга «Осваиваем микрокомпьютер», в которой рассмотрены начальные этапы программирования на языке Бейсик. Я знала, что в 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 позволяет совершать произвольные переходы.
  • Программы работают только внутри оболочки
  • Требуется обязательное объявление переменных в начале программы с указанием их типа.
  • Структурная запись программы.
  • Разработка программ ведется пошагово, методом «сверху вниз».
  • Есть компилятор, позволяющий работать программе вне среды программирования.
Нет средств создания внешних библиотек.
  • Нет средств создания внешних библиотек.
  • Отсутствуют ссылочные типы и динамические переменные.
  • Возможность создания подпрограмм.
  • Наличие внешних библиотек.
  • Наличие ссылочных типов и динамических переменных.
  • Процедуры и функции.
Так какой же из языков всё таки выбрать ? Я считаю, что каждый сам выбирает то, что ему удобнее. Поэтому хорош будет тот язык, в котором ты лучше разбираешься.