Лабораторная работа №3 "Программирование" Вариант №9 ТУСУР

Раздел
Программирование
Просмотров
4
Покупок
0
Антиплагиат
Не указан
Размещена
12 Окт в 12:34
ВУЗ
ТУСУР
Курс
3 курс
Стоимость
700 ₽
Демо-файлы   
1
png
Безымянный
40.4 Кбайт
Файлы работы   
1
Каждая работа проверяется на плагиат, на момент публикации уникальность составляет не менее 40% по системе проверки eTXT.
pdf
Лабораторная работа №3
1.1 Мбайт 700 ₽
Описание

Лабораторная работа №3 "Программирование" Вариант №9 ТУСУР

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

Задача 3.1. type series=file of real;Описать функцию neg(s), подсчитывающую сумму отрицательных элементов в файле s типа series.

Переменные:

а) основная программа:

f — файл вещественных чисел (глобальная переменная);

y — очередное число для записи в файл (глобальная переменная);

n — сумма отрицательных элементов файла (глобальная переменная);

k — счетчик цифр.

б) функция neg:

s — файловая переменная (локальная, формальная переменная);

x — очередной элемент файла (локальная переменная);

sum — сумма отрицательных элементов файла (локальная переменная).

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

1) свяжем файл proba.txt с файловой переменной f и откроем его для

записи;

2) организуем цикл, в котором вводим числа и записываем их в файл

до тех пор, пока не введем 0;

3) вызываем функцию neg, в которой открываем файл для чтения,

считываем последовательно элементы файла и определяем сумму отрицательных элементов файла;

4) выводим значение суммы на экран.

type series=file of real;var f : series; n,y : real;51function neg(var s : series) : real;var sum,x : real;begin reset(s); sum:=0; while not eof(s) do begin read(s,x); if x<0 then sum:=sum+x end; neg:=sum ; close(s)end;begin assign (f,'proba.txt'); rewrite(f); repeat write('Введите число (0 – конец ввода)– '); readln(y); write(f,y); until (y=0); close (f); n:=neg(f); writeln('Сумма отрицательных элементов файла n= ',n:10:3); close(f);end.

Задача 3.2. type row=file of 0..999;

Описать логическую функцию sort(r), проверяющую, упорядочены ли

по возрастанию элементы непустого файла r типа row.

type row1 = 0..999; row = file of row1;var r : row; x,y : row1; i,k : integer;

function sort(var r : row) : boolean;

Задача 3.3. type reals=file of real;

Описать функцию less(f) от непустого файла f типа reals, которая

подсчитывает количество элементов файла f, меньших среднего арифметического всех элементов этого файла.

type reals = file of real;

var f1 : reals; a : real;l,i : integer;

function less(var f : reals) : integer;

var k : integer; x,s : real;

begin {подсчет среднего арифметического:}

 reset(f); k:=0; s:=0; repeat read(f,x); k:=k+1; s:=s+x until eof(f); s:=s/k;{новый просмотр f и подсчет элементов <s:} reset(f); k:=0; repeat read(f,x); if x<s then k:=k+1 until eof(f); less:=k; close(f)end;begin assign(f1,'c:\tp\work\23.dat');53 rewrite(f1); for i:=1 to 10 do begin readln(a); write(f1,a); end; l:=less(f1); close(f1); writeln('l=', l);end.

Рекурсия

Задача 3.4. Использовать рекурсию для нахождения цифрового корня целого числа.

Цифровой корень находится суммой через сумму цифр числа до тех

пор, пока эта сумма сама не станет цифрой. Например, для числа

9999999 цифровой корень находится так:

 9+9+9+9+9+9+9 = 63;

 6+3 = 9.

Цифровой корень 9999999 равен девяти.

Переменные:

а) в функции num:

n — целое число (глобальная переменная);

s — вспомогательная переменная (локальная переменная);

б) в функции root:

n — целое число (глобальная переменная);

в) в основной программе:

n — целое число (глобальная переменная).

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

1) создаем описание функций num и root;

2) вводим целое число n;

3) вызываем рекурсивную функцию root и определяем цифровой корень числа n;

4)завершаем работу программы.

var n:longint;

function num(i:longint):integer;

var s: integer;begin s:=0;repeat s:=s+n mod 10;n:= n div 10;until n=0;54num:=s;end;function root(l:longint):integer;begin if n<10 then root:=n else begin n:=num(n); root:=root(n); end;end;begin write('Введите целое число n='); readln(n); writeln('Его цифровой корень равен : ', root(n));end.

Задача 3.5. Напишите рекурсивную программу вычисления суммы n 2r n : integ

Вам подходит эта работа?
Похожие работы
Основы программирования
Лабораторная работа Лабораторная
12 Окт в 14:03
5 +5
0 покупок
Основы программирования
Контрольная работа Контрольная
12 Окт в 13:53
5 +5
0 покупок
Другие работы автора
Базы данных
Лабораторная работа Лабораторная
12 Окт в 13:15
3 +3
0 покупок
Базы данных
Лабораторная работа Лабораторная
12 Окт в 12:57
2 +2
0 покупок
Базы данных
Лабораторная работа Лабораторная
12 Окт в 12:46
2 +2
0 покупок
Дискретная математика
Лабораторная работа Лабораторная
12 Окт в 12:18
4 +4
0 покупок
Математическая логика
Контрольная работа Контрольная
12 Окт в 12:11
3 +3
0 покупок
Дискретная математика
Лабораторная работа Лабораторная
12 Окт в 12:03
2 +2
0 покупок
Искусственный интеллект
Контрольная работа Контрольная
12 Окт в 11:55
3 +3
0 покупок
Искусственный интеллект
Контрольная работа Контрольная
12 Окт в 11:51
3 +3
0 покупок
Моделирование систем
Курсовая работа Курсовая
12 Окт в 11:43
2 +2
0 покупок
Моделирование систем
Лабораторная работа Лабораторная
12 Окт в 11:36
3 +3
0 покупок
Моделирование систем
Лабораторная работа Лабораторная
12 Окт в 11:33
3 +3
0 покупок
Микропроцессорная техника
Лабораторная работа Лабораторная
12 Окт в 11:24
2 +2
0 покупок
Микропроцессорная техника
Лабораторная работа Лабораторная
12 Окт в 11:19
2 +2
0 покупок
Базы данных
Курсовая работа Курсовая
12 Окт в 11:10
3 +3
0 покупок
Методы защиты информации
Лабораторная работа Лабораторная
12 Окт в 11:01
2 +2
0 покупок
Методы защиты информации
Лабораторная работа Лабораторная
12 Окт в 10:58
2 +2
0 покупок
Методы защиты информации
Лабораторная работа Лабораторная
12 Окт в 10:56
2 +2
0 покупок
Темы журнала
Показать ещё
Прямой эфир