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

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

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

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

Добавлен: 31.03.2023

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

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

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

В большинстве языках функции имеют один вид, но на языке паскаля мы имеем несколько видов procedure и function. Их различие в том, что procedure ничего не возвращает при ее вызове в главной части программы, в отличии от function. Их заголовки выглядят так:

procedure имя (параметры);

function имя (параметры): тип результата;

Каждая функция должна быть как-то названа, на английском и чаще всего иметь смысл ее работы. Так же в функции можно передать параметры из главной функции, чтобы она их обработала, но это вовсе не обязательно. Перед тем, как передать ей значения, необходимо их описать в скобках после имени функции. Например, мы передаем в функцию число 4, и чтобы программа правильно работала нужно в скобке указать имя_переменной: тип переменной. Если функция возвращает значение, после ее вызова нужно указать тип данных, которые должны быть возвращены и их можно будет присвоить переменной в главной части кода, только если типы совпадают.

Приведем пример работы с функциями:

var num, f: integer;

function fact (i:integer): integer;

var n: integer;

begin

n := 1;

while i > 0 do begin

n := n * i;

i := i - 1

end;

fact := n

end;

begin

write ('Введите число: ');

readln (num);

f := fact (num);

writeln ('Факториал числа ', num, ' = ', f);

end.

Данная программа вычисляет факториал из числа, которое мы ввели.

Результат выполнения программы:

Введите число: 4

(вывод) Факториал числа 4 = 24

3.3 Массивы.

Массивы — это структура данных в виде набора компонентов, которые располагаются друг за другом и имеют один тип данных.

Если у нас есть определенное количество элементов, например, дни недели, то не обязательно создавать для каждого дня отдельную переменную, проще будет вложить их всех в одну структуру данных, которая и называется массив, и он будет иметь строчный тип данных. Обращаться к элементам массива можно с помощью индекса. Например, имеем массив arr с размером 11, и обратиться к первому элементу массива arr мы сможем с помощью команды arr[1].

Массивы бывают одномерные, как с примером дней недели, так и двумерные, как например матрицы.

Рассмотрим пример работы с массивами:

var ch: array [1..11] of integer;

i: integer;

begin

for i := 1 to 11 do

ch[i] := i;

for i := 1 to 11 do

writeln(ch[i]);

end.

Данная программа заполняет массив размером 11 элементами, соответствующие своему индексу. После того, как массив будет заполнен, он выведет все его элементы.


3.3 Работа с файлами.

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

Для работы с файлами должна быть определена переменна файлового типа, через которую происходит связь с файлом. Если на нашем файле хранится список целых чисел, то с помощью следующей программы мы сможем получить к ним доступ:

f: file of integer;

Где f имя переменной типа file, которая принимает значения типа integer.

Операции с файлами подразумевает следующий список действий:

  • установочные и завершающие операции;
  • ввод и вывод;
  • перемещение по файлу;
  • специальные операции.

Рассмотрим пример создания файла и записи в него данных:

var

f: file of char;

ch: char;

i, n: integer;

begin

assign (f, 'C:\Users\Ruben\Desktop\Pascal\file.txt');

rewrite (f);

write ('Количество символов: ');

readln (n);

for i:=1 to n do begin

write ('Введите символ для ввода его в файл: ');

readln (ch);

write (f, ch);

end;

close (f);

end.

В этой программе мы задаем программе количество символов, которые будут вводиться в файл. Для начала объявим переменную типа file и дадим ей имя f, после чего нам необходимо определить где этот файл находиться, или же указать, где он будет находится с помощью команды assign, в которую передается имя переменной с типом файла и месторасположение файла. Если такого файла в указанном месте нет, то он создастся автоматически. После этого мы командой rewrite(f) открываем этот файл в режиме записи, после чего программа будет запрашивать символы, которые в последующем будут записаны в файл с помощью команды write (f, ch), в которую мы передаем имя переменной файла и символ. Если на этом файле было что-то записано, то оно будет удалено и записано то, что мы в него вводим. В конце программы необходимо закрыть файл командой close (f), для того, чтобы содержание файла осталось в целостности и не было ошибок.

Я создал на рабочем столе папку, которая называется Pascal и скопировал ее адрес. Изначально файла file.txt у меня там не было, поэтому он был создан. Вот что получилось у меня в ходе работы программы:

Количество символов: 5

Введите символ для ввода его в файл: H

Введите символ для ввода его в файл: e

Введите символ для ввода его в файл: l

Введите символ для ввода его в файл: l

Введите символ для ввода его в файл: o


Пример работы с чтением данных из файла:

var

f: file of char;

c: char;

begin

assign (f, 'C:\Users\Ruben\Desktop\Pascal\file.txt');

reset (f);

while not eof (f) do begin

read (f, c);

write (c);

end;

close (f);

end.

Эта программа читает содержимое файла и выводит в нашу консоль. Командой reset (f) мы открываем файл в режиме чтения. Цикл while будет посимвольно пробирать содержимое файла до тех пор, пока не наткнется на конец файла с помощью команды eof (f), которая возвращает true, если конец файла был найден. Командой read (f, c) мы записываем в переменную с символы и выводим их на экран. И в конце программы не забываем закрыть файл.

3.4 Записи.

Записи – это структура, которое имеет определенное количество полей. Каждое поле может иметь один тип данных. Общий вид описания типа record:

type t = record

id11, id12, …: type1;

id21, id22, …: type2;

……………….

end;

Эта очень удобная структура, с помощью которой можно сделать код намного удобнее и профессиональнее.

Допустим у нас есть телевизор, но мы знаем, что у него могут быть разные параметры и особенности (плазма, цифровой, размер, с доступом интернет и др.), и не нужно для каждого телевизора создавать столько переменный, сколько необходимо для описания его характеристик. С помощью структуры record мы сможем создать зафиксированное количество переменных, которые будут отображать характеристики телевизоров.

Допустим у нас есть телевизор Samsung и Philips , и у каждого есть одинаковое количество характеристик, но они все отличаются и мы сможем в разделе var создать две переменные, которые будут иметь имена телевизоров с типом данных record, которое мы создали изначально и дали ему какое то название. После этого каждой модели телевизора мы сможем присвоить характеристику, например, диагональ, через точку, после которой будет название переменной из записи.

Рассмотрим пример работы с записями:

type birth = record

month: 1..12;

day: 1..31;

year: integer

end;

var

mather: birth;

begin

mather.day := 9;

mather.month := 2;

mather.year := 1973;

writeln ('Дата рождения мамы ', mather);

end.

В этой программе я создал запись, которая называется birth, которая имеет 3 поля: month (от 1 до 12), day (от 1 до 12), year (любое целое число), и после этого в разделе var создал переменную mother с типом данных записи birth. После этого каждой переменной дал значение и выписал целую переменную типа записи, и получил следующее: Дата рождения мамы (2,9,1973). Так я бы мог создать список всех своих родных с помощью этой записи, не создавая для каждого члена своей семьи переменную, которая бы содержала в имени что она означает и имя родственника.


Небольшой вывод по пройденной главе.

В этой главе я показал более расширенные действия в языке Pascal, но это далеко не все, на что способен этот язык. Мы рассмотрели, как создавать функции, их предназначение, массивы, как можно работать с данными не только из консоли, с помощью переменной типа file, немного познакомились с ООП (Объектно-ориентированным программированием) в которое входит работа с записями.

Заключение

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

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

Список литературы

  • https://ru.wikipedia.org/wiki/Алгол_68 - Википедия
  • https://ru.wikipedia.org/wiki/Паскаль_(язык_программирования) – Википедия
  • https://kvodo.ru/istoriya-yazyka-paskal.html-Kvodo (Computing Science & Discrete Match)
  • https://pandia.ru/text/78/429/80575.php - Pandia
  • https://pas1.ru – Мой основной источник для написания этой курсовой

Приложение

Как я и обещал, я прикрепляю картинки внешнего вида моей 2D игры, написанной на Java

Меню:

Инструкция:

Сама игра:

  1. конечная совокупность точно заданных правил решения произвольного класса задач или набор инструкций, описывающих порядок действий исполнителя для решения некоторой задачи.

  2.  процедурный императивный высокоуровневый язык программирования, потомок языка Алгол, существенно доработанный. Разрабатывался в период 1964—1968 годов. Позиционировался как универсальный язык для описания произвольных алгоритмов обработки данных высокой сложности. Отличается большим объёмом, богатством возможностей и сложностью синтаксиса.

  3. это программа, которая переводит текст, написанный на языке программирования, в набор машинных кодов.