Файл: Лабораторная работа 3 Вариант 16. Студент группы М4О112Б19 Рогожин А. А. Преподаватель Доцент Герко С. А.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.11.2023
Просмотров: 22
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Министерство науки и высшего образования Российской Федерации
ФГБОУ ВО "МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ"
(национальный исследовательский университет)
Кафедра 402
_____________________________________________________________
ЛАБОРАТОРНАЯ РАБОТА №3
Вариант №16.
Выполнил: Студент группы М4О-112Б-19
______ Рогожин А.А.
Преподаватель: Доцент
______ Герко С.А.
Москва 2020 г.
Задания выполнены на языке PascalABC.
Задание №5:
5.2 Пользователем к клавиатуры вводится одно целое число. Необходимо написать программу, которая требует от пользователя ввода второго числа до тех пор, пока оно не будет равно первому. В таком случае выводить сообщение «A no equal B!» («A не равно B!»).
5.3 Пользователем к клавиатуры вводится целое положительное число. Необходимо написать программу, которая вычисляет в отдельной функции и выводит на экран: факториал введённого числа.
Задание 5.2:
Код 5.2:
var a,b:integer;
begin
writeln ('Введите числа "а" и "b"');
readln (a);
readln(b);
if not (a=b) then
repeat
begin
writeln ('Число "а" не равно числу "b"');
writeln ('Введите число "b"');
readln(b);
end;
until a=b;
writeln('a=b');
readln;
end.
Задание 5.3:
Код 5.3:
var x,n,i:integer;
mass: array[1..100] of integer;
function fl(n,i:integer):integer;
begin
x:=1;
for i:=1 to n do
mass[i]:=i;
for i:=1 to n do
x:=x*mass[i];
fl:=x;
end;
begin
writeln('Введите число');
readln(n);
x:=fl(n,i);
writeln(x);
end.
Задание №6:
(задание 6.3 содержится в задании 6.2)
6.2: В одномерном массиве, состоящем из n целых элементов, вычислить: 1) количество положительных элементов массива;
2) сумму элементов массива, расположенных после последнего элемента, равного нулю.
Преобразовать массив таким образом,
чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом ‒ все остальные.
6.3: Выполнить п.6.2, однако, память под массив должна выделяться динамически (при запуске программы размер массива задаёт пользователь)
Код:
var
mass: array of real;
i,c,zero,j,n:integer;
sum,x,y:real;
begin
writeln('Введите размер массива');
readln (n);
mass:= new real[n+1];
writeln('Введите элементы массива');
for i:=1 to n do
readln (mass[i]);
randomize;
{for i:=1 to n do
mass[i]:=random(20)-10;
for i:=1 to n do
writeln (mass[i]);}
for i:=1 to n do
if mass[i]>0 then c:=c+1;
writeln('Кол-во положительных элементов:',c);
for i:=1 to n do
if mass[i]=0 then zero:=i;
//writeln (zero);
if (zero>0) and not (zero=10) then
for i:=zero+1 to n do
sum:=sum+mass[i];
writeln ('сумма элементов после последнего "0":',sum);
c:=0;
for i:=1 to n do
if mass[i]<2 then c:=c+1;
//writeln('ccc',c);
for i:=c+1 to n do
//begin
if mass[i]<2 then
begin
//x:=i;
for j:=1 to c do
if mass[j]>=2 then
begin
if mass[i]<2 then
begin
y:=mass[j];
mass[j]:=mass[i];
mass[i]:=y;
end;
end;
end;
writeln('Отсортированный массив:');
for i:=1 to n do
writeln(mass[i]);
readln;
end.2>2>2>