Создание программ, отражающих приемы работы с файлами

Изучение синтаксиса и семантики программ. Использование языка Pascal для описания процедуры predlast(f), возвращающей предпоследний элемент файла f типа fr. Описание рекурсивной функции sum без параметров для нахождения суммы элементов файла f.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 23.09.2024
Размер файла 20,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Кафедра компьютерных систем в управлении и проектировании (КСУП)

ОТЧЕТ

Лабораторная работа №3 по дисциплине «Программирование»

Содержание

1. Введение

2. Цель и задачи

2.1 Задача 1

2.2 Задача 2

3. Заключение

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

1. Введение

Сегодня практически все программы создаются с помощью языков программирования. Теоретически программу можно написать и на естественном языке (говорят: программирование на метаязыке), но из-за неоднозначности естественного языка автоматически перевести такую программу в машинный код пока невозможно.

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

2. Цель и задачи

Лабораторная работа № 3 состоит из двух задач. Первая задача посвящена созданию программ, отражающих приемы работы с файлами. Необходимо в начале программы создать, а в конце программы сначала вывести на экран содержимое созданного файла, а затем отразить полученные результаты. Во второй задаче необходимо составить программу, реализующую рекурсивный алгоритм. В ходе выполнения лабораторной работы № 3 необходимо составить программы на языке Паскаль.

2.1 Задача 1

type fr = file of real;

Описать процедуру predlast(f), значением которой является предпоследний элемент файла f, имеющего тип fr и содержащего не менее двух элементов. Указание: введите файл f (последний элемент = 0) и вычислите функцию predlast(f).

Решение:

Для описания процедуры predlast(f), которая возвращает предпоследний элемент файла f типа fr, можно использовать следующий подход на языке Pascal. Мы будем читать элементы файла, сохраняя два последних прочитанных значения, чтобы в конце получить предпоследний элемент.

Код для реализации процедуры predlast(f):

program PredlastElement;

type

fr = file of real;

function predlast(var f: fr): real;

var

current, previous: real;

endOfFile: boolean;

begin

previous:= 0; // Начальное значение, будет переписано

end0fFile:= false;

// Сначала перемещаемся в начало файла

reset(f);

// Читаем до конца файла, сохраняя два последних значения

while not eof(f) do

begin

read(f, current);

// Сохраняем предпоследний элемент

if not eof(f) then

begin

previous:= current;

end;

end;

// Если файл имеет по крайней мере два элемента, возвращаем предпоследний

if previous <> 0 then

predlast:= previous

else

writeln('Файл содержит меньше двух элементов');

end;

var

f: fr;

result: real;

begin

Assign(f, 'data.dat'); // Указываем файл, содержащий данные

Rewrite(f); // Создаем файл

// Заполняем файл (например)

write(f, 1.1);

write(f, 2.2);

write(f, 3.3);

write(f, 0.0); // Последний элемент = 0

Close(f);

// Теперь вызываем predlast для получения предпоследнего элемента

Assign(f, 'data.dat');

Reset(f);

result:= predlast(f);

writeln('Предпоследний элемент в файле: ', result:0:2);

Close(f);

end.

Вывод:

1. Мы создали тип fr для работы с файлами, содержащими числа с плавающей запятой.

2. Функция predlast принимает на вход файл и читает его до конца, запоминает текущий и предыдущий элементы.

3. В конце работы функции, возвращаем предпоследний элемент, если файл не пустой.

4. В основном блоке мы создаем файл, записываем туда несколько значений, а затем используем функцию predlast, чтобы вывести предпоследний элемент.

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

2.2 Задача 2

type

reals = file of real;

var f: reals;

Опишите рекурсивную функцию sum без параметров для нахождения суммы элементов файла f

Решение:

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

Пример кода:

program SumOfReals;

type

reals = file of real;

var

f: reals;

currentValue: real;

endOfFile: boolean;

function sum: real;

var

tempSum: real;

begin

// Проверяем, не достигли ли конца файла

if eof(f) then

begin

// Если конец файла, возвращаем 0

sum:= 0;

exit;

end;

// Считываем текущее значение из файла

read(f, currentValue);

// Рекурсивно вызываем sum для суммирования оставшихся элементов

tempSum:= sum;

// Возвращаем сумму текущего элемента и суммы оставшихся элементов

sum:= currentValue + tempSum;

end;

begin

// Пример открытия файла и вызова функции

assign(f, 'data.dat'); // файл с числовыми данными

reset(f);

// Вызываем функцию и выводим результат

writeln('Сумма элементов файла: ', sum:0:2);

// Закрываем файл

close(f);

end.

Вывод:

1. Тип файла: Мы определяем тип reals, который обозначает файл, содержащий вещественные числа.

2. Переменная для текущего значения: Переменная currentValue будет хранить текущее значение, считываемое из файла.

3. Рекурсивная функция sum: Проверяет, достигнут ли конец файла с помощью eof(f).

Если конец файла достигнут, функция возвращает 0. Если еще есть данные, считывает текущее значение с помощью read(f, currentValue) и вызывает саму себя для получения суммы оставшихся элементов. Возвращает сумму текущего значения и суммы оставшихся элементов.

Главная программа:

Открывает файл, считывает сумму и выводит её на экран.

Закрывает файл после завершения работы.

Этот пример предполагает, что файл data.dat уже существует и содержит вещественные числа.

3. Заключение

программа файл язык функция

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

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

1. Зюзьков В. М. Программирование: учеб. пособие / В. М. Зюзьков. омск: Эль Контент, 2013. 186 с.

2. Немнюгин С. А. Turbo Pascal. Программирование на языке высокого уровня: учебник для вузов / С. А. Немнюгин. 2-е изд. СПб.: Питер, 2005. 543 с.

3. Немнюгин С. А. Turbo Pascal: учеб. пособие для вузов / С. А. Немнюгин. СПб.: Питер, 2003. 491[5] с.

4. Фаронов В. В. Турбо Паскаль 7.0: Практика программирования / В. В. Фаронов. М. Нолидж, 2003. 415 с.

5. Немнюгин С. А. Turbo Pascal: Практикум / С. А. Немнюгин. 2-е изд. СПб.: Питер, 2003. 267 c.

6. Зюзьков В М. Основы алгоритмизации и программирование на языке Паскаль: учеб.-метод. пособие / В М. Зюзьков, Е. А. Потапова, Н. Ю. Хабибулина. Томск: ТУСУР, Кафедра КСУП, 2012. 203 с. URL: http://www.kcup.tusur.ru/index.php?module=mod_methodic&command=view&id=173

Размещено на Allbest.ru

...

Подобные документы

  • Описание типизированных файлов. Принципы работы с файлами, создание и открытие на запись нового файла. Чтение из файла, открытие существующего файла на чтение. Определение имени файла. Запись в текстовый файл. Описание множества и операции над ними.

    реферат [86,4 K], добавлен 07.02.2011

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

    контрольная работа [1,0 M], добавлен 23.11.2014

  • Проверка существования и статуса файла. Определение его размера. Открытие файла для чтения, записи, добавления. Закрытие файловых дескрипторов. Запись из переменной в файл. Загрузка файла из сети. Создание и удаление каталога. Функции работы с каталогами.

    презентация [133,9 K], добавлен 21.06.2014

  • Создание программы для перевода кодов с языка Pascal на язык Си. Обработка программ операторами case, assign, rewrite и write. Способы объявления файла, комментария, переменных, логических и арифметических выражений. Виды синтаксических анализаторов.

    курсовая работа [461,0 K], добавлен 03.07.2011

  • Процедуры и функции языка Pascal для работы с файлами прямого и последовательно доступа. Формат и структура в файлах прямого доступа. Возможность ввода данных с клавиатуры либо из файла. Контроль вводимых данных. Листинг программы и ее экранные формы.

    лабораторная работа [48,7 K], добавлен 13.02.2009

  • Рассмотрение правил записи, способов ввода и вывода, использования функций обработки символьных данных в Pascal. Описание алгоритмизации и программирования файловых структур данных, проектирования структуры файла. Ознакомление с работой данных массива.

    курсовая работа [336,2 K], добавлен 27.06.2015

  • Назначение команды "diskcomp". Текст и запуск командного файла. Сравнение команды в Windows 7 и Windows XP. Разработка файла-сценария в ОС Linux. Создание файла в подкаталоге. Создание файла "oglavlenie.txt" с отсортированным по времени списком файлов.

    курсовая работа [1,6 M], добавлен 22.08.2012

  • Разработка тестирующей программы для проверки знаний студента по математике на языке программирования Turbo Pascal с использованием подпрограмм "Vvod" (создание файла с вопросами и ответами) и "Initialization" (запуск тестирование и инициализация файла).

    курсовая работа [137,7 K], добавлен 28.03.2010

  • Рассмотрение файловых менеджеров как класса программ, служащих для всевозможной работы с файлами, (создание, редактирование, копирование и удаление, обеспечение гибкого и удобного запуска других программ). Описание офисных программ и антивирусов.

    реферат [25,4 K], добавлен 14.06.2012

  • Файл - именованная область внешней памяти ПК. Процедуры и функции языка Pascal для работы с файлами прямого и последовательного доступа. Классификация файлов по типу доступа к элементам. Обоснование выбора средств программной реализации блоков.

    лабораторная работа [10,4 K], добавлен 13.02.2009

  • Изучение функций и возможностей среды разработки языка программирования Pascal. Рассмотрение работы с одномерными и двумерными массивами, со строками и числами. Математическая формулировка задач. Разработка алгоритмов, описание структуры программ.

    курсовая работа [879,8 K], добавлен 11.02.2016

  • Работа с файлами, папками WINDOWS: понятие файла, папки, сохранение, переименование. Вычисление суммы порядковых номеров фамилии и имени. Алгоритм расчета себестоимости. реализация в других программах алгоритма и отчета по нему. Файлы, папки WINDOWS.

    контрольная работа [17,9 K], добавлен 05.06.2008

  • Проектирование программ в среде Рascal с интерфейсом типа "Меню". Разработка и отладка программы сортировки массива данных. Освоение методов проектирования Pascal-программ с использованием графических процедур и функций из стандартного модуля Graph.

    контрольная работа [581,1 K], добавлен 16.01.2015

  • Решение циклических программ и программ вычисления функции с условием. Уравнение в табличном редакторе Microsoft Excel и в Turbo Pascal. Вычисление определенного интеграла методом прямоугольников, трапеции, Симпсона. Линейные и нелинейные уравнения.

    курсовая работа [233,6 K], добавлен 27.12.2009

  • Характеристика вычислительной системы и инструментов разработки. Программирование на языке Pascal в среде Turbo Pascal и на языке Object Pascal в среде Delphi. Использование процедур, функций, массивов, бинарного поиска. Создание базы данных в виде файла.

    отчет по практике [2,1 M], добавлен 02.05.2014

  • Описание синтаксиса и семантики входного языка. Описание типов лексем, определение их синтаксиса. Построение диаграммы лексического анализатора, а также его таблицы, тестирование. Построение КС-грамматики входного языка. Описание промежуточного языка.

    курсовая работа [83,0 K], добавлен 23.01.2014

  • Понятия шаблонов функции и класса, правила описания на языке С++. Разработка и отлаживание в среде программирования программ, содержащих шаблоны функций и классов. Шаблон функции square, возвращающей квадрат переменной. Создание шаблона класса массива.

    лабораторная работа [162,6 K], добавлен 25.05.2013

  • Основные функции Norton Commander и их реализация при работе с каталогами и файлами. Управление дисковой и файловой структурами персонального компьютера. Создание каталога, переход между каталогами, удаление каталога, создание текстового файла.

    контрольная работа [20,6 K], добавлен 09.03.2011

  • Разработка граф-схемы алгоритма раскраски на языке Object Pascal. Формат файла для хранения графов. Выбор удобочитаемых идентификаторов. Переменные, константы, типы, компоненты, процедуры и функции модулей uMain, uInputk, uFiling, uColoring, uHelp.

    курсовая работа [1,3 M], добавлен 22.11.2013

  • Разработка текстового редактора с подсветкой синтаксиса языков программирования. Загрузка из XML-файла настроек для подсветки синтаксиса и конструкций языка. Формат файлов конфигурации и проверки. Разбор текста и применение к нему стилей, тестовый пример.

    курсовая работа [141,6 K], добавлен 13.03.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.