Файл: Основы программирования на языке Pascal(История развития языка Pascal).pdf
Добавлен: 31.03.2023
Просмотров: 275
Скачиваний: 1
SeekElon (FV) – функция, аналогичная предыдущей, но указатель файла переходит все пробелы и знаки табуляции. Возвращает значение True при достижении маркера конца строки.
SeekEof (FV) – функция возвращает значение True, если указатель файла находится на маркере конца файла.
2.9. Рекурсия
Программа, которая в процессе работы вызывает саму себя, по меньшей размерности называется рекуррентной.
В Pascal нельзя сделать рекуррентной саму программу, но можно написать рекуррентную подпрограмму, такая подпрограмма будет содержать в своём теле хотя бы один вызов подпрограммы с точно таким же именем [8].
Любое рекурсивное определение состоит из двух частей. Данные части называют базовой и рекурсивной. Базовая часть является не рекурсивной и задает определение для некоторой фиксированной части объектов. Рекурсивная часть определяет понятие через его же и записывается так, чтобы при цепочке повторных переменных она сводилась бы к базовой части.
Свойства рекурсивных объектов:
- простота построения;
- несхожесть конечного результата с начальными данными;
- внутреннее само подобие.
В данной главе я разработала, написала, повторила и изучила основные конструкции языка. Я затронула такие темы, как: линейная структура, циклы, символы и строки, массивы, процедуры и функции, графику, файлы и рекурсию. Для меня они кажутся самими основными, если более углубленно изучать Pascal, то откроется еще множественный ряд тем, понятий и терминов.
3. ОТЛАДКА ПРОГРАММ
В данном разделе мне хотелось бы закрепить весь изученный материал решая задачи в PascalABC.NET. Тем самым, решив ряд программ мы повторим, закрепим практическую часть языка Pascal.
Задача с использованием линейной структуры. Вычисление параллелограмма.
Решение:
Рис.3.1.
Решение задачи с использованием линейной структуры
Задача и использованием цикла while. Вычисление наибольшего общего делителя двух целых чисел.
Решение:
Рис.3.2.
Решение задачи с использованием цикла while
Задача и использованием цикла repeat. Вычисление среднего арифметического положительных чисел.
Решение:
Рис.3.3.
Решение задачи с использованием цикла repeat
Задача и использованием цикла for. Таблица степеней двойки.
Решение:
Рис.3.4.
Решение задачи с использованием цикла for
Задача на символы и строки. Приветствие.
Решение:
Рис.3.5.
Решение задачи символы и строки
Задача на решение одномерного массива. Подсчет количества ненулевых элементов массива.
Решение:
Рис.3.6.
Решение задачи на одномерный массив
Задача с использованием функции. Функция, которая проверяет является ли символ гласной буквой.
Решение:
Function Glasn(sim:char): boolean;
const
ListOfGlasn:string ='АаЕеИиОоУуЫыЭэЮюЯя';
var
p: byte;
begin
p:=Pos(sim,ListOfGlasn);
if p <> 0
then Glasn:=True
else Glasn:=False;
end;
Задача нарисовать олимпийский флаг с помощью модуля GraphABC.
Решение:
Рис.3.7.
Решение задачи с использованием GraphABC
Задача с использованием файлов.Cсоздаёт на диске файл и записывает в него 5 целых чисел, введённых пользователем
Решение:
Рис.3.3.
Решение задачи с использованием файлов
Задача на рекурсию. Рекурсивная функция факториал.
Решение:
Рис.3.3.
Решение задачи с использованием рекурсивной функции
В данной главе я попыталась закрепить материал повторяемый в главе программирование основных конструкций языка. Решая задачи, я сталкивалсь с некоторомы трубностями, но к счастью мне удалось найти решения. На данный момент я считаю, что материал изучен полностью.
ЗАКЛЮЧЕНИЕ
Язык программирования Pascal относительно легкий в освоении, прекрасно подходит для тех, кто хочет изучить программирование с нуля.
Без основ языка Pascal будет тяжело изучать другие языки программирования, так как в любом другом языке, что-то взято из языка Pascal.
Этот язык учит дисциплинировать, так как даже малейший недочет в программе и тут же выдается ошибка (не компилирует программу).
В данной курсовой работе, я пыталась изложить все основы языка Pascal, которые нужны для изучения и дальнейшего написания программ. Используя эту теорию, можно научиться создавать решения для математических задач, создавать файлы, рисовать различные фигуры, любых форм и размеров.
Написав данную курсовую работу, я получила навык работы в PascalABC, научилась применять правильно различные процедуры и функции, циклы и модули, точно определять и задавать координаты различных линий, эллипсов, окружностей, прямоугольников и т.д. Так же я поняла, что научиться программировать можно только программируя, т.е. решая задачи. Чем больше времени потратить, решая задачи и делая работу над ошибками, тем большему я учусь.
Так же хочу отметить, что все поставленные задачи были выполнены: изучили структуру написания программ на языке Pascal, познакомились и изучили основы языка Pascal, разработали некоторые программы на решения задач.
Для себя могу выделать некоторые плюсы PascalABC: простота и понятность интерфейса программы (программа не требуют дополнительного обучения), легкость ввода и отслеживания.
Проделанная работа позволяет любому пользователю с легкостью создавать большие объемы информации, обрабатывать их, редактировать, делать выборки по определенным критериям и т.д. Использование такой программы значительно облегчает деятельность человека.
БИБЛИОГРАФИЯ
1.Культин Н.Б. Turbo Pascal в задачах и примерах. – СПБ.:. БХВ-Петербург, 2006. -256с.: ил. - 9,31,32,41,44,47,53,55,56 с.
2. Зубок Д.А., Маятин А.В., Краснов С.В. Основы программирования в среде Turbo Pascal. Учебное пособие. Санкт-Петербург, 2009.
3.ГОСТ 19.701 – 90. ЕСПД. Схемы алгоритмов, программ данных и систем. Обозначения условные и правила выполнения. Москва, 2010.
4.Учебное пособие. Изучаем Паскаль. Л. Усольцева, Б. П. Зотьева, И. С. Сергеевой, В. Л. Лецко. Волгоградский государственный педагогический университет. Кафедра алгебры, геометрии и информатики. – 3, 16 с.
5.Cамоучитель по программированию на Free Pascal и Lazarus. Алексеев Е.Р., Чеснокова О.В., Кучер Т.В – 164 с.
6. Информатика и информационные технологии: конспект лекций. Авторы: А. Цветкова – 8 с.
7. Алгоритмический язык Паскаль. Учебное пособие по дисциплине «Программирование и основы алгоритмизации» / Моск. гос. ин-т электроники и математики; Сост. В.Г. Кулаков. М., 2010. - 11 с.
8. Паскаль для школьников. 2-е изд. Ушаков Денис Михайлович, Юркова Татьяна Анатольевна – СПб.: Питер, 2013. – 283 с.
ПРИЛОЖЕНИЕ
Таблица 1.
Типы переменных и объем памяти
|
Тип переменной |
Занимаемая память, байт |
Диапазон значений |
|
CHAR |
1 |
Любой диапазон |
|
STRING |
256 |
Строка до 256 символов |
|
STRING [N] |
1 x n |
Строка до n символов |
|
BYTE |
1 |
0-255 |
|
WORD |
2 |
0-65 535 |
|
INTEGER |
2 |
-32 768-32 767 |
|
LONGITN |
4 |
-2 147 483 648 – 2 147 483 647 |
|
REAL |
6 |
2.9E-39-1.7e38 |
|
SINGLE |
4 |
1.5E-45-3.4e38 |
|
DOUBLE |
8 |
5.0E-324-1.7e308 |
|
EXTENDED |
8 |
3.4E-4932-1.1e4932 |
Источник: Культин Н.Б. Turbo Pascal в задачах и примерах. – СПБ.:. БХВ-Петербург, 2006. -256с.: ил.
Таблица 2.
Процедуры и функции обработки строк
|
Процедура/Функция |
Описание |
|
Delete (St, Poz, N) |
Удаление N символов строки St, начиная с позиции Poz |
|
Insert (Str1, Str2, Poz) |
Вставка строки Str1 d cnhjre Str2, начиная с позиции Poz |
|
Str (IBR,St) |
Преобразование числового значения величины IBR и перемещение результата в строку St |
|
Продолжение таблицы 2. |
|
|
Процедура/Функция |
Описание |
|
Val (St,IBR,Cod) |
Преобразует значение St в величину целочисленного или вещественного типа и помещает результат в IBR. Значение St не должно содержать незначащих пробелов в начале и в конце. Cod – целочисленная переменная, в которой содержится 0, если ошибки не обнаружено, и номер позиции первого ошибочного символа, если произошла ошибка. Значение IBR в этом случае не определено. |
|
Copy (St,Poz,N) |
Выделяет из строки St подстроку N символов, начиная с позиции Poz. Poz N- целочисленные выражения. |
|
Concat (Str1, Str2,…StrN) |
Выполняет сцепление строк Str1, Str2,…StrN в том порядке, в каком они указаны в списке параметров |
|
Length(St) |
Вычисляет текущую длину в символах строки St. Результат имеет целочисленный тип. |
|
Pos(Str1,Str2) |
Обнаруживает первое появление в строке Str2 подстроки Str1. Результат имеет целочисленный тип и равен номеру той позиции, где находится первый символ подстроки Str1. Если в Str2 подстроки Str1 не найдено, то результат равен нулю |
|
UpCase(Ch) |
Преобразует строчную букву в прописную. Параметр и результат имеют литерный тип. |
Таблица 3.
Цвета для ввода текста
|
Константа |
Цвет |
Номер цвета |
|
Black |
Черный |
0 |
|
Blue |
Синий |
1 |
|
Green |
Зелёный |
2 |
|
Cyan |
Бирюзовый |
3 |
|
Red |
Красный |
4 |
|
Magenta |
Сиреневый |
5 |
|
Brown |
Коричневый |
6 |
|
LightGray |
Белый |
7 |
|
DarkGrey |
Серый |
8 |
|
LightBlue |
Голубой |
9 |
|
LightGreen |
Светло-зеленый |
10 |
|
LightCyan |
Свето-бирюзовый |
11 |
|
LightRed |
Светло-красный (алый) |
12 |
|
LightMagenta |
Светло-сиреневый |
13 |
|
Yellow |
Желтый |
14 |
|
White |
Белый, яркий |
15 |