Файл: Основы программирования на языке Pascal, игры.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 13.03.2024

Просмотров: 30

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Наличие конструкций управления и соглашения о вызовах, используемых в Assembler. Если вы остановите свой выбор на C, то сможете реализовывать свои программы с максимальной эффективностью.

Понятность. Он хорошо структурирован, чтобы поддерживать хороший стиль программирования, при этом не ограничивать свободу действий программиста. Кроме уже упомянутых достоинств язык C имеет и некоторые другие.

Практические занятия на C

При изучении теоретического материала по языку C необходимо использовать курс лабораторно-практических работ. Практическая часть сопровождается примерами и задачами, которые способствуют освоению теоретического материала как данного лабораторно-практического занятия, так и лекционного курса по данной теме, рассмотренные в [2]. Авторы считают, что все практические примеры должны быть представлены с решениями и программной реализацией. В связи с этим, у преподавателя возникает необходимость в структурированности лабораторно-практических занятий, которые бы способствовали развитию математического мышления и способностей при изучении той или иной учебной дисциплины.

Рассмотрим типовой программный код на языке C в MS Visual Studio 2013 (2015) на примере решения задачи взятой из [3-5].

Написать программу, для расчета значений функции распределения интервалов времени в потоке Эрланга 4-го порядка (k = 4) с параметром X = 2.3 на отрезке времени от 0 до 5 (условных единиц) с шагом 0.2:

Приведем возможный программный код решения примера на языке C:

#include<stdio.h>

#include<conio.h>

#include<math.h> int main(void)

{

int f, k /*порядок потока Эрланга*/ = 4; double F, Lt, s , t = 0.0,

Tend = 5.0; double L = 2.3;

printf_s("\n Erlang function of order %d, Lambda = %1.2f:\n\n", k, L); for ( ; t <= Tend; t += 0.2) { s = 0.0; f = 1; Lt = 1.0; for (int j = 1; j <= k; ++j) {

f *= j;

Lt *= (L*t); s += (Lt/f)*exp(-L*t);

}

F = 1 - exp(-L*t) - s; printf_s("\t %0.6f\n", F);

}

printf_s("\n\n Press any key: ");

_getch(); return 0;}

Результат выполнения программы представлен на рисунке 1.

Рис. 1. Расчет функции распределения интервалов времен в потоке Эрланга

В коде показан пример использования многострочного комментария при объявлении переменных. Так же применен форматированный вывод данных в консоль, с помощью функции printf_s и модификатора %0.6f, что означает выводить 6 знаков после запятой.

2.2 C или Pascal

Безусловно, каждый язык имеет ряд собственных преимуществ. Код, написанный на C, будет более эффективным, чем код, написанный на Pascal, но нельзя сказать, что на Pascal невозможно составить высокоэффективный код. Дело в том, что C - это системный язык программирования и поэтому больше пригоден для системного уровня программирования. Pascal же, в настоящее время используется только для обучения основам программирования. Код на Pascal - это формальное, абстрактное представление алгоритма решения задачи. На C же код может быть не просто формальным, но и аппаратно-ориентированным представлением алгоритма решения задачи. Однако, в любом программировании, прежде всего, важна структура построения программы.


Рис. 2 Рейтинг TIOBE

На Pascal объявление переменных происходит справа налево, что затрудняет понимание и чтение кода программы, нежели на C, где код пишется с лева на право. Так же C рассматривает верхние и нижние регистры переменных раздельно. Следовательно, count, Count и COUNT - это три разных идентификатора. Это позволяет удобнее программировать системы массового обслуживания: L - интенсивность пуассоновского потока; m- интенсивность обслуживания; M - параллельное включение каналов. В C более интенсивная работа с указателями. К тому же C позволяет написать код наиболее оптимальный для конвейера процессора, что увеличивает скорость выполнения программы, чего нельзя добиться на Pascal. Конечно, если программа не требует массированной обработки данных и эффективный код не нужен, то можно воспользоваться Pascal. Но при решении более сложных и требовательных задач потребуется C, к тому же он поможет решить проблему надёжности и подход к написанию кода на C не имеет ограничений, чем не может похвастаться Pascal. Так же стоит упомянуть, что Pascal уже много лет не является популярным языком программирования, как и его объектноориентированный потомок Delphi. При этом C и его C-подобные приемники: Java, C++, C# стоят на главенствующих позициях таких популярных рейтингов, как TIOBE (см. рис. 2).

Рассмотрены преимущества и спецификации языка C. Приведённый пример решения математической задачи, показывает наглядную структурированность данного языка. Проведено сравнение языков C и Pascal. Необходимость систематизированной практической работы при изучении теоретического материала.

ГЛАВА 3. ИГРЫ НА ЯЗЫКЕ ПАСКАЛЬ

3.1 Угадай число

Задача:

Отгадать целое число, которое "загадал" компьютер в определенном диапазоне.

Описание переменных:

x – число, "загаданное" компьютером;

y – Очередное число, вводимое пользователем.

Алгоритм решения задачи:

Программа генерирует псевдослучайное число, которое записывается в переменную x. Пока число x не совпадет с числом y, пользователю будет предлагаться ввести очередное число. При этом, если x > y, то на экран будет выдаваться сообщение "Ваше число меньше задуманного". Иначе будет проверяться условие x < y. При его положительном значении появится сообщение "Ваше число больше задуманного", иначе сообщение "Вы угадали".


Не трудно понять, что если y не больше и не меньше x, то значит оно равно x. В таком случае логическое выражение при while вернет false, и цикл прервется.

Программа на языке Паскаль:

Program Ugaday_chislo;

label 1,2;

var x,y,k: ineger;

begin

writeln ('Компьютер задумал число от 1 до 10, угадай это число');

writeln ('У тебя есть 5 попыток');

k:=5; randomize; x:=random (10);

2: writeln ('Введи число от одного до десяти');

readln (y); if k<>0 then begin

if x=y then begin writeln ('Вы угадали!');

goto 1;

end

else begin if y>x then

writeln ('Ваше число больше задуманного')

else writeln ('Ваше число меньше задуманного');

k:=k-1;

goto 2;

end

else begin writeln ('Число попыток истекло');

goto 1;

end;

1:readln;

end.

Примечания: Угадать число всегда можно не более чем через 5 попыток.

3.2 Тир

Программа “Тир” представляет с собой игровую программу. Мишень в “тире” имеет круглую форму. Программа выводит приглашение: «Добро пожаловать в тир». После этого пользователю предлагается сделать выстрел, т. е. ввести значимое x и y. Выводит сообщение: «Ваш выстрел, введи значимое x, y». Если это значение удовлетворяет условию x2+y2<=R2, то пользователь попадет в мишень, иначе нет. При промахе программа выводит сообщение о промахе: «Промах, попробуйте еще раз» и предлагает пользователю сделать выстрел еще раз. Программа на языке Pascal:

Program Tir;

Label 1,2;

Var R,x,y:integer;

Begin

Writeln (‘Добро пожаловать в тир’);

2:writeln (‘Ваш выстрел, введи значимое x, y’);

Readln(x, y); R:=10;

If SQR(x) + SQR(y)<R*R then begin

Writeln (‘Попадание, вы выиграли’);

Goto1; end Else begin writeln (‘Промах? Попробуй еще раз’);

Goto 2; end; 1Readln; End.

ЗАКЛЮЧЕНИЕ

В курсовой работе были рассмотрены основные вопросы, касающиеся основ структурного программирования в среде Turbo Pascal. Turbo Pascal является одним из наиболее востребованных языков программирования которые используются при обучения студентов основам алгоритмизации и программирования. Он был создан Николаусом Виртом для обучения студентов в 70-х годах прошлого века, но до сих пор пользуется популярностью у начинающих программистов благодаря своей простоте и возможности создавать от простых программ до сложных многострочных кодов.

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


В практической части курсовой работы были рассмотрены вопросы, касающиеся создание программ на языке Pascal в качестве примеров программ были выбраны игровые программы. Такие как “Тир” и “Угадай число”. Язык программирования Pascal предоставляет возможность для создания игровых программ различных видов.

В программе “Тир” был реализован циклический алгоритм, который осуществлял выход из цикла только при условии попадания пользователя в цель. Это осуществлялось при помощи оператора безусловного перехода goto.

В программе “Угадай число” использовался датчик случайных чисел для того, чтобы компьютер “загадал” число. Первоначально пользователю было дано пять попыток для угадывания. Если пользователь не смог угадать задуманное компьютером число за пять попыток, то он проигрывает.

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

Созданные, в рамках курсовой работы, программы могут быть использованы для обучения студентов основам структурного программирования на языке Pascal.

СПИСОК ЛИТЕРАТУРЫ

  1. Александров Э.Э., Афонин В.В. Введение в программирование на языке С. Саранск: Изд-во Мордов. ун-та, 2009. 316 с.
  2. Александров Э.Э., Афонин В.В. Программирование на языке С в Microsoft Visual Studio 2010. Саранск: Изд-во Мордов. ун-та, 2010. 424 с.
  3. Александров Э.Э., Афонин В.В. Программирование на языке С в Microsoft Visual Studio 2010.[Электронный ресурс]. Режим доступа: http://www.intuit.ru/department/pl/prcmsvs2010 (дата обращения: 05.06.2017).
  4. Аубакиров Г.Д., Хмыров А.Г. Языки программирования Pascal, Delphi. Учебное пособие. – Астана: Фолиант, 2017. – 208 с.
  5. Афонин В.В., Федосин С.А. О структурировании лабораторно-практических занятий при изучении дисциплин программирования // Образовательные технологии и общество. 2014. Т. 17. № 4. С. 497-506.
  6. Глинский Я.Н., Анюхин В.Е., Ряжская В.А. Turbo Pascal 7.0 и Delphi. Учебное пособие – 2-е изд., испр. и доп. СПб: ООО «ДиаСофтЮп», 2013.–208 с.
  7. Немнюгин С.А. Turbo Pascal. Программирование на языке высокого уровня: 2-е изд. – СПб.: Питер, 2016. – 544 с.: ил.
  8. Прата С. Язык программирования С. Лекции и упражнения. М.: Вильямс, 2016. 960 с.