Файл: Лабораторная работа 3 по дисциплине Программирование Вариант 8 задача 1 Выполнил студент Подъянов Алексей Григорьевич.docx

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

Категория: Не указан

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

Добавлен: 07.12.2023

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

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

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство науки и высшего образования РФФедеральное государственное бюджетное образовательное учреждениевысшего образованияТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМУПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)Кафедра компьютерных систем в управлении и проектировании (КСУП)ОТЧЕТЛабораторная работа №3по дисциплине«Программирование»Вариант 8задача № 1Выполнил студент:Подъянов Алексей Григорьевич Специальность: 09.03.01 «Информатика и вычислительная техника» направленность (профиль) программы «Программное обеспечение средств вычислительной техники и автоматизированных систем»2023СОДЕРЖАНИЕ1. Введение…………………………………………………………….……..…..3 2. Анализ задачи № 1……………………………………………………………. 3 3. Решение задачи………………………………………………...……………...3 3.1. Описание используемых переменных, обоснование выбора типа данных…………………………...………………….3 3.2. Описание алгоритма………………………………………………………...3 3.3. Тестирование программы……………………………………………….......3 4. Заключение…………………………………………………………………….3 Приложение 1.Блок-схема….………………………………………………..….4Приложение 2. Листинг программы……………………………………………5 Приложение 3. Распечатки тестов…………………………………………........61. Лабораторная работа № 3 посвящена созданию программ, отражающих приемы работы с файлами.Программы написаны в рамках структурного программирования с использование подпрограмм.Задача 1 (вариант 8).«type rad = file of 1..maxint;Описать процедуру prim (f, n), записывающую в файл f все простые числа 2,3,5,7,11,13,17..., не превосходящие целого положительного числа n. Указание: введите n. Выполните процедуру prim (f, n). Распечатайте файл f.»2. Анализ задачи № 1.В начале программы создается файл (элементы файла вводятся с клавиатуры), выполняется процедура поиска целых положительных чисел, которые записываются в файл, а в конце программы выводится на экран содержимое созданного файла.3.1.Определяется тип файла из целых чисел.
Затем объявляется процедура Prim с параметрами f (файл целых чисел), n (целое число).Внутри процедуры объявляются три переменные (integer) которые будут счетчиками, а значит целыми числами.Открывается файл для записи.Затем в цикле начиная с 2 по всем цифрам до n, и во вложенном цикле вычисляются простые числа и помещаются в файл. Затем файл закрывается. В основной программе объявляются две переменные (integer) которые будут счетчиками, а значит целыми числами.Затем, файл связывается с файловой переменной, считывается n, выполняется обозначенная процедура Prim и результат записывается в файл.Указанный файл вычитывается в цикле и выводится на печать.Файл закрывается.3.2. Сначала пользователь вводит значение n. Затем в процедуре Prim подсчитывается каждый элемент искомого значения простых чисел.Итоговая последовательность выводится на экран.3.3 Программа протестирована в программной среде PascalABC.NET 3.8.2 на двух значениях n = 9 и n = 51 получены следующие итоговые значения (2 3 5 7; 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 )4. Программный код отрабатывает корректно. Скриншоты подтверждают данный вывод (приложение №3). ПРИЛОЖЕНИЕ № 1. Блок-схема алгоритма Начало type rad = file of integer; procedure Prim(var f: rad; n: integer); assign(f, 'data'); write('Введите n = ');readln(n); Prim(f, n); reset(f); while not Eof(f)нет

да read(f, k);write(k:3); close(f); КонецПРИЛОЖЕНИЕ № 2 Листинг программыtype rad = file of integer; // создание типа файла из целых чиселprocedure Prim(var f: rad; n: integer); { объявление процедуры Prim с параметрами f (файл целых чисел), n (целое число)}vari, k, count: integer; // объявление целочисленных переменных i, k, countbeginrewrite(f); // открытие файла для записиfor i := 2 to n do begin // в цикле от 2 до всем числам по n count := 0; // обнуление счетчикаfor k := 2 to i do // вложенный цикл от 2 до iif i mod k = 0 then // если i кратно kInc(count); // увеличение счетчикаif count = 1 then write(f, i); { если счетчик равен 1, записываем значение i в файл}end;close(f); // закрытие файлаend;varf: rad; // объявление переменной f типа rad (файл целых чисел)k, n: integer; // объявление целочисленных переменных k, nbeginassign(f, 'data'); {связываем переменную f с файлом с именем 'data'}write('Введите n = ');readln(n); // вводим значение переменной nPrim(f, n); // вызываем процедуру Prim, передаем ей f и nreset(f); // открываем файл для чтенияwhile not Eof(f) do begin // пока не достигнут конец файлаread(f, k); // читаем целое число из файла и сохраняем его в kwrite(k:3); // выводим k с шириной символа на экранend;close(f); // закрываем файлend.ПРИЛОЖЕНИЕ № 3 Распечатки тестов