Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

4. Построение блок-схемы вычислений с проверкой условия после выполнения тела цикла.

 

Блок-схема алгоритма вычисления суммы ряда z с постусловием

5. Написание программы вычисления

Var

eps, u, x, z: real;

k: word;

Begin

writeln (‘Введите значение аргумента x и точность eps’);

readln(x, eps);

k:=0; u:=-1; z:=0;

Repeat

k:=k+1; u:=-x/k*u; z:=z+u;

Until abs(u)/abs(z)<eps;

writeln(‘Результат’, z:10:6);

End.

Порядок выполнения лабораторной работы

1. Выполнить задания 1 и 2.

2. Если необходимо провести отладку программ с помощью встроенного отладчика (см. лабораторную работу № 2).

3. Проверить правильность работы программ с помощью тестового примера, решенного вручную.

4. Выбрать соответствующий порядковому номеру вариант индивидуального задания из таблицы 4.3. и выполнить п. п. 1-3.

5. Оформить отчет по лабораторной работе, включив в него только вариант индивидуального задания.

В отчете должны быть представлены:

1. Формулировка задачи (индивидуального задания).

2. Структурная схема алгоритма.

3. Текст программы.

4. Тестовый вариант, решенный вручную и рассчитанный на компьютере.

5. Сравнение результатов ручного и машинного расчетов.

Таблица 4.3

Варианты индивидуальных заданий

Номер варианта

Задачи

Значения исходных

данных

1.

У кассира имеются монеты достоинством 1,5, 10 копеек. Составить программу, позволяющую определять сдачу, меньшую рубля минимальным количеством монет. Обеспечить возможность неоднократного решения задачи без повторной загрузки программы

2.

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

3.

Составить программу табулирования функции:

Y=Sin x – Cos x

3,14<X<3,14, с шагом 0,1

4.

Составить программу, позволяющую переводить температуру из градусов по шкале Цельсия в градусы шкалы Фаренгейта по формуле F=1,8*C+32

Интервал значений от 15 до 30 градусов с шагом 1.

5.

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

Числа вводятся с клавиатуры

6.

Составить программу, определяющую по номеру месяца его название.

7.

Составить программу, позволяющую отсортировать три вещественных числа по убыванию. Результат вывести на экран в строчку.

8.

Составить программу, позволяющую отсортировать N вещественных чисел по возрастанию Результат вывести на экран в столбик

9.

Составить программу нахождения квадрата наибольшего из двух чисел А и В и вывести на печать признак N=1, если наибольшим является А, и N=2 в противном случае.

10.

Составить программу перевода миль в километры для расстояния от 5 до 75 миль с шагом 5. Одна миля составляет 1,609 км. Результат оформить в виде таблицы

11.

Составить программу, определяющую количество положительных значений переменной Х. Результат вывести на экран.

12.

Составить программу для следующей задачи: начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего дня. Какой суммарный путь пробежал спортсмен за 7 дней.

13.

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

Р0=1,29 кг/м3, z=1,25 м, высота h должна изменяться от 0 до 1000 м через 100 м.

14.

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

15.

Составить программу вывода на экран таблицы умножения 10*10.

16.

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

17.

В автобазе имеются машины грузоподъемностью 5, 8 и 15 тонн. Составить программу, позволяющую определять для заданного объема перевозок минимальное количество автомашин. Обеспечить возможность неоднократного решения задачи без повторной загрузки программы.

18.

Составить программу, определяющую количество дней в каждом из 12 месяцев заданного года. Программа должна запрашивать у пользователя № года и выводить на экран наименование месяцев и количество дней. Обеспечить возможность неоднократного решения задачи без повторной загрузки программы.

ЛАБОРАТОРНАЯ РАБОТА № 5

НЕ нашли? Не то? Что вы ищете?

Программирование алгоритмов циклической структуры c заданным
числом повторений. Массивы и типовые алгоритмы их обработки

Цель работы: овладение практическими навыками алгоритмизации и программирования структур с заданным числом повторений на примере работы с массивами; изучение типовых алгоритмов обработки одномерных и двумерных массивов.

Задание на самостоятельную подготовку

1.Изучить, используя материал пособия «Алгоритмизация и элементы программирования» и литературу, указанную в нем:

-  способы описания массивов;

-  способы ввода и вывода массивов;

-  реализацию приемов выполнения операций с массивами.

2. Разработать алгоритм решения в соответствии с заданием.

3. Составить программу решения задачи.

4. Подготовить тестовый вариант данных для проверки правильности выполнения программ и найти для него решение вручную.

Для выполнения индивидуального задания использовать приведенные в лабораторной работе демонстрационные задания.

Задание 1 (одномерные массивы). Вычислить наибольший элемент массива вещественных чисел X размера N(N<=10) и его индекс.

Решение: 1. Построение схемы алгоритма

 

2. Написание текста программы

Program maximum;

Const nn=30;

Type vector=Array [1..nn] of real;

Var

x:vector; {массив вещественных чисел}

n:integer; {фактический размер}

max:real; {максимальный элемент массива}

imax:integer; {его порядковый номер}

i:integer; {параметр цикла}

Begin

Writeln(‘введите фактическое количество n элементов массива’);

{ввод фактического количества элементов массива}

readln(n);

{ввод элементов массива по одному в каждой строке}

writeln(‘Введите элементы массива’);

For i:=1 To N Do readln(x[i]);

{инициализация выходных переменных}

max:=x[1]; imax:=1;

{Сравнение всех элементов массива с переменной max}

For i:=2 To n Do

If x[i]>max Then

Begin

max:=x[i];

imax:=I;

End;

{вывод выходных переменных на экран}

writeln(‘Максимальный элемент массива: ’, max:7:2);

writeln(‘Его порядковый номер: ’, imax:2);

End.

Тестирование программы выполним для N=5, и данных, приведенных в таблице 5.1.

Таблица 5.1.

Элемент массива

Значение

x[1]

0

x[2]

10,0

x[3]

5,1

x[4]

-8,2

x[5]

2,1

Тогда максимальный элемент равен 10,0; его порядковый номер равен 2.

Результаты работы программы: максимальный элемент массива: 0010,00

порядковый номер: 02

При отладке программы можно отслеживать значения переменных max и imax в окне отладки (см. лабораторную работу № 2)

Задание 2 (одномерные массивы). Переписать все элементы одномерного массива А размера n (N<=20) в массив D, заменив отрицательные значения на их квадраты. Сравнить исходный и полученный массивы на равенство, выдав на экран сообщение о результатах сравнения. Ограничение: A[i] – целые.

Решение:

1.  Описание алгоритма. Используем словесное описание.

  Скопируем все элементы массива А в массив D.

  Рассмотрим поэлементно массив D.

  Каждый отрицательный элемент, оказавшийся в массиве D заменим на его квадрат.

2.  Написание текста программы

Type M=Array[1…20] of Integer;

Var

N, i:integer;

A, D:M;

Begin

write(‘введите размер вектора А<=20’);

readLn(N);

For i:=1 To N Do

Begin

write(‘введите’, I:2,’-й элемент’);

readLn(A[i]);

End;

D:=A; {действие с массивами как с единым целым}

For i:=1 To N Do

If D[i]<0 Then D[i]:=sqr(D[i]);

writeLn(‘Исходный вектор:’);

For i:=1 To N Do

write(A[i],‘ ’);

writeLn;

writeLn(‘Полученный вектор’);

For i:=1 To N Do

write(D[i],‘ ’);

writeLn;

End.

Тестирование программы:

Полученный вектор

N=5, A:1

D:

массивы различны

N=6, A:

D:

массивы одинаковы

Задание 3 (двумерные массивы). Построить и вывести на экран вектор, элементы которого равны средним арифметическим элементов строк матрицы целых чисел D размера NxM (N<=10, M<=4).

Решение.

1.  Словесное описание алгоритма.

1.1. Ввод размеров матрицы N, M.

1.2. Ввод матрицы D размером NxM.

1.3. Построение вектора:

-  вводим дополнительную переменную SUM, которая будет содержать среднее арифметическое значение каждой i-той строки матрицы;

-  проверяем, равняется ли число таких элементов N;

-  элементы - это вещественные числа, которые необходимо записать в вектор С размера N.

1.4. Вывод вектора С размером N на экран.

1.5. Вывод исходной матрицы.

2.  Написание текста программы

Program s_vector;

Const

c1=10;

c2=3;

Type

vector =Array[1…c1] of Real;

matr=Array[1…c1,1…c2] of Integer;

Var

D:matr; {входная матрица}

C:vector; {выходной вектор}

Sum:real; {дополнительная переменная}

n, m,i, j:integer;

Begin

write(‘Введите число строк:’);

readLn(n);

write(‘Число столбцов:’);

readLn(m);

write(‘Введите матрицу в общепринятом виде’);

For i:=1 To n Do

Begin

For j:=1 To m Do

read(D[i, j]);

readLn;

End; {конец ввода данных}

For i:=1 To n Do

Begin

Sum:=0;

For j:=1 To m Do

Sum:=Sum+D[I, j];

Sum:=Sum/m;

C[i]:=Sum;

End;

writeLn(‘Построен вектор:’);

For i:=1 To n Do

write(C[i]:3:1,‘ ’);

writeLn;

writeLn (‘Исходная матрица’);

For i:=1 To n Do

Begin

For j:=1 To m Do

write(D[i, j]:3:1,‘ ’);

writeLn;

End

End

Тестирование программы:N=3, M=4,

, C=.

Решение на компьютере:

Введите число строк: 3

Число столбцов: 4

Введите матрицу в общепринятом виде

1 –1 4 0

Построен вектор:

1.5,1.5, 0,5

Исходная матрица:

1 –1 4 0

При отладке программы можно просматривать на каждой итерации значения переменных Sum и C[i] (см. лабораторную работу № 2)

Порядок выполнения лабораторной работы

1.  Выполнить задания 1,2,3.

2.  Вывести на экран исходный массив и результаты.

3.  Проверить правильность работы программ с помощью тестового примера, решенного вручную.

4.  Выбрать соответствующий порядковому номеру вариант индивидуального задания из таблицы 5.2. и выполнить п. п. 1-3.

5.  Оформить отчет по лабораторной работе, включив в него только вариант индивидуального задания.

В отчете должны быть представлены:

1.  Формулировка задачи индивидуального задания.

2.  Структурная схема или описание алгоритма решения.

3.  Текст программы.

4.  Тестовый вариант, решенный вручную и рассчитанный на компьютере.

5.  Сравнение результатов ручного и машинного расчетов.

Таблица 5.2

Варианты индивидуальных заданий

Номер варианта

Задачи

1.

Составить программу для вычисления суммы каждой строки двумерного массива вещественных чисел 4 строки на 3 столбца и вывода результатов на экран

2.

Составить программу, которая сортирует по убыванию элементы одномерного массива.

3.

Составить программу транспонирования квадратной матрицы

4.

Составить программу для ввода массива не более 50 целых чисел и нахождения их суммы.

5.

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

6.

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

7.

Подсчитать число строк матрицы, в которых есть отрицательные элементы, массив С(N, M), N<=10, M<=10.

8.

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

9.

Составить программу обработки массива данных по расходу электроэнергии пятью предприятиями города. Строки массива содержат данные по каждому предприятию, столбцы – данные о плановом и фактическом объемах потребления электроэнергии. Определить предприятия, которые имеют перерасход электроэнергии и предприятие с максимальным перерасходом.

10.

Транспонировать матрицу и вывести на экран элементы главной диагонали. Результаты разместить в виде столбца. Матрица F(N, M), Fij – целые.

11.

Составить программу, которая вводит двумерный массив целых чисел, и максимальный элемент каждой строки ставит на главную диагональ

12.

Вычислить сумму и число положительных элементов, находящихся над главной диагональю, Массив M(N, N), N<=12, Cij>0

13.

Составить программу обработки ведомости получения материалов четырьмя цехами с пяти складов в денежном выражении. Программа должна определить номер склада, выдавшего материалов на меньшую сумму.

14.

Построить вектор С, элементы которого равны суммам квадратов элементов каждой строки матрицы, массив В(3,4)

15.

Составить программу, которая вводит двумерный массив и ставит вместо отрицательных элементов массива нули, а вместо положительных – единицы.

16.

Составить программу, которая определяет максимальный элемент двумерного массива и его порядковый номер.

17.

Составить программу обработки ведомости перевозки грузов автомобилями трех автотранспортных предприятий за полгода. Ведомость представлена в виде двумерного массива, где строки – объемы перевозок по месяцам для одного предприятия Первое предприятие имеет 50 автомобилей, второе – 45, третье – 60. Определить предприятие, на котором, наибольшая средняя нагрузка на автомобиль.

18.

Составить программу, которая определяет минимальный и максимальный элементы двумерного массива и выводит их на экран

ЛАБОРАТОРНАЯ РАБОТА № 6

Программирование с использованием процедур и функций

Цель работы: научиться составлять программы на языке Паскаль с использованием процедур и функций.

Задание на самостоятельную подготовку

1.Изучить, используя материал пособия «Алгоритмизация и элементы программирования» и литературу, указанную в нем:

-  правила описания и использования функции;

-  правила описания и использования процедуры;

-  механизм обмена информацией между подпрограммой и вызывающей программной единицей.

2. Разработать алгоритм решения в соответствии с заданием.

3. Составить программу решения задачи.

4. Подготовить тестовый вариант данных для проверки правильности выполнения программ и найти для него решение вручную.

Для выполнения индивидуального задания использовать приведенные в лабораторной работе демонстрационные задания.

Задание 1 (использование функции). Даны векторы A(5) и В(5), состоящие из вещественных чисел. Найти длины векторов, представляющих их сумму и разность. Вычисление длины вектора оформить в виде функции. Длина, к примеру, суммы векторов А и В определяется выражением

ds=

Решение.

1.  Описание алгоритма или построение схемы алгоритма выполнить самостоятельно.

2.  Написание программы.

Uses

сrt;

Type

vector=Array[1..5] of Real;

Var

a, b, s, r:vector; {s - вектор суммы ai+bi }

{r - вектор разностей ai-bi}

ds, dr:real;

i: 1..5;

Function ddd(v:vector):real;

Var

i: 1..5;

s:real; {s-локальная переменная}

Begin

s:=0;

For i:=1 To 5 Do

s:=s+sqr(v[i]); {вычисление суммы квадратов s}

ddd:=sqrt(s); {ddd - длина вектора v}

End;

Begin

CLRSCR;

For i:=1 To 5 Do

Begin

write(‘Введите a[‘,I,’]:’);

readln(a[i]);

write(‘Введите b[‘,I,’]’);

readln(b[i]);

s[i]:=a[i]+b[i];

r[i]:=a[i]-b[i];

End;

ds:=ddd(s);

writeln(‘Длина суммы векторов равна ’, ds:7:3 );

dr:=ddd(r);

writeln(‘Длина разности векторов равна ’, dr:7:3);

readln;

End.

Тестирование функции выполнить самостоятельно (можно воспользоваться примером следующего задания.

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

Решение.

1.  Описание алгоритма или построение схемы алгоритма выполнить самостоятельно.

2.  Написание программы

Uses

crt;

Type

row=1…2;

col=1…3;

matr=Array[row, col]of Real;

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5