Вы находитесь на странице: 1из 16

федеральное государственное бюджетное образовательное учреждение высшего образования

«Вологодский государственный университет»

Институт математики, естественных и компьютерных наук


(наименование института)
Кафедра «Автоматики и вычислительной техники»
(наименование кафедры)

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

Дисциплина Компьютерная графика

Преподаватель Ржеуцкая С.Ю.


(уч. степень, звание, должность. Ф.И.О)

Выполнил (а) студент Подшивалов Данил Андреевич


(Ф.И.О)

Группа, курс РПС-11

(подпись преподавателя)

Вологда
2019 г.
5 вариант
Задача 1

Условие задачи
Задан массив из N целых чисел, которые нужно ввести с клавиатуры (число N также вводится с
клавиатуры, его значение не больше 20). Определить, является ли массив упорядоченным или по
невозрастанию, или по неубыванию, или он никак не упорядочен (программа должна вывести один
из трёх вариантов ответа).
Назначение переменных

Переменная Тип Назначение


mas array Целочисленный массив
N integer Целочисленное значение, которое определяет максимум элементов в
массиве
j integer Целочисленное значение для помощи в выводе решения по
упорядоченности массива
a integer Целочисленное значение, вводимое с клавиатуры. Служит для введения
нового максимального значения.
h integer Целочисленное значение, вводимое с клавиатуры. Служит для
присваивания элементам массива целочисленного значения.
Блок – схема алгоритма программы

Текст программы
var mas:array[1..20] of integer;
N,j,a,h:integer;
begin
N:=20;
j:=0;
writeln('введите количесво чисел в массиве(не больше 20)');
readln(a);
if N=a then
else N:=N-(N-a);
for N:=1 to a do
begin
write('mas[',N,']=');
readln(h);
mas[N]:=h;
end;
for N:=2 to a-1 do
if (mas[N+1]>mas[N]) and (mas[N]>=mas[N-1]) then j:=1 else
if (mas[N+1]<mas[N]) and (mas[N]<=mas[N-1]) then j:=2 else
if (mas[N+1]=mas[N]) and (mas[N]=mas[N-1]) then j:=0;
if j=1 then writeln('неубывающий') else
if j=2 then writeln('невозрастающий') else
if j=0 then writeln('не упорядочен');
end.

Тестирование

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

Переменная Тип Назначение


mas array Целочисленный массив
N integer Целочисленное значение, которое определяет максимум элементов в
массиве
j integer Целочисленное значение определяющее максимальную
последовательность
maxj integer Целочисленное значение, которое запоминает наибольшее количество
следующих подряд элементов
a integer Целочисленное значение, вводимое с клавиатуры. Служит для введения
нового максимального значения.
h integer Целочисленное значение, вводимое с клавиатуры. Служит для
присваивания элементам массива целочисленного значения.
Блок – схема алгоритма программы

Текст программы
var mas:array[1..20] of integer;
N,j,a,h,maxj:integer;
begin
N:=20;
j:=0;
writeln('введите количесво чисел в массиве(не больше 20)');
readln(a);
if N=a then
else N:=N-(N-a);
for N:=1 to a do
begin
write('mas[',N,']=');
readln(h);
mas[N]:=h;
end;
for N:=1 to a do
begin
if mas[N]>0 then j:=j+1 else
begin
if j>maxj then maxj:=j;
j:=0;
end;
end;
if j>maxj then maxj:=j;
writeln('максимальное количество следующих подряд положительных элементов
',maxj);
end.

Тестирование

Задача 3
Условие задачи
Задан массив из N целых чисел, которые нужно ввести с клавиатуры (число N также
вводится с клавиатуры, его значение не больше 20). Определить, есть ли в массиве элемент,
значение которого больше суммы всех остальных элементов. Если есть – вывести это значение
(это может быть только одно значение).
Назначение переменных

Переменная Тип Назначение


mas array Целочисленный массив
N const Максимальное число элементов в массиве
j integer Целочисленное значение определяющее сумму остальных элементов
массива
a integer Целочисленное значение, вводимое с клавиатуры. Служит для введения
нового максимального значения.
h integer Целочисленное значение, вводимое с клавиатуры. Служит для
присваивания элементам массива целочисленного значения.
max integer Целочисленное значение определяющее максимальное значение в
массиве
Блок – схема алгоритма программы

Текст программы
const N=20;
var mas:array[1..N] of integer;
i,max,a,h,k,j:integer;
begin
i:=0;
max:=0;
k:=0;
writeln('введите количесво чисел в массиве(не больше 20)');
readln(a);
if N=a then
else i:=N-(N-a);
for a:=1 to i do
begin
write('mas[',a,']=');
readln(h);
mas[a]:=h;
end;
for a:=1 to i do
if mas[a]>max then max:=mas[a];
for a:=1 to i do
j:=mas[a]+j;
j:=j-max;
if max>j then writeln('есть элемент который больше суммы остальных элементов')
else writeln('такого элемента нет');
for a:=1 to i do
end.
Тестирование
Задача 4
Условие задачи
Задан массив из N целых чисел, которые нужно ввести с клавиатуры (число N также вводится с
клавиатуры, его значение не больше 20). Определить, является ли упорядоченной по
неубыванию часть массива, включающая элементы с номерами от N1 до N2, которые вводятся с
клавиатуры (при вводе проверить корректность вводимых значений). Программа должна
вывести «да» или «нет».
Назначение переменных

Переменная Тип Назначение


mas array Целочисленный массив
N const Максимальное число элементов в массиве
d, d1 integer Целочисленное значение, вводимое с клавиатуры. Служит для
определения границ промежутка
a integer Целочисленное значение, вводимое с клавиатуры. Служит для введения
нового максимального значения.
h integer Целочисленное значение, вводимое с клавиатуры. Служит для
присваивания элементам массива целочисленного значения.
i integer Целочисленное значение, служит для определения размера массива
J integer Целочисленное значение, при помощи этой переменной добиваемся
одиночного вывода
Блок – схема алгоритма программы
Текст программы
const N=20;
var mas:array[1..N] of integer;
d,d1,i,a,h,j:integer;
begin
j:=0;
i:=0;
writeln('введите количесво чисел в массиве(не больше 20)');
readln(a);
writeln('Первый элемент');
readln(d);
writeln('Второй элемент');
readln(d1);
if N=a then
else i:=N-(N-a);
for a:=1 to i do
begin
write('mas[',a,']=');
readln(h);
mas[a]:=h;
end;
for a:=d+1 to d1-1 do
begin
if (mas[a+1]>=mas[a]) and (mas[a]>=mas[a-1]) then j:=1 else
j:=0;
end;
if j=1 then writeln('да') else
if j=0 then writeln('нет');
end.
Тестирование

5 задача(Совпадает со второй)
Условие задачи
Задан массив из N целых чисел, которые нужно ввести с клавиатуры (число N также вводится с
клавиатуры, его значение не больше 20). Определить максимальное количество следующих подряд
положительных элементов (при вводе позаботьтесь, чтобы в массиве были не только
положительные элементы, впрочем, и такой вариант должен отрабатываться корректно).
Задача 6(Совпадает с третьей)
Условие задачи
Задан массив из N целых чисел, которые нужно ввести с клавиатуры (число N также вводится с
клавиатуры, его значение не больше 20). Определить, есть ли в массиве элемент, значение которого
больше суммы всех остальных элементов. Если есть – вывести это значение (это может быть только
одно значение).
Задача 7
Условие задачи
Задан массив из N целых чисел, которые нужно ввести с клавиатуры (число N также вводится с
клавиатуры, его значение не больше 20). Определить максимальное количество следующих подряд
чётных элементов (при вводе позаботьтесь, чтобы в массиве были не только чётные значения,
впрочем, и такой вариант должен отрабатываться корректно).
Назначение переменных
Переменная Тип Назначение
mas array Целочисленный массив
N const Максимальное число элементов в массиве
j integer Целочисленное значение определяющее максимальное кол-во следующих
друг за другом положительных элементов
maxj integer Целочисленное значение, которое запоминает наибольшее количество
следующих подряд положительных элементов
a integer Целочисленное значение, вводимое с клавиатуры. Служит для введения
нового максимального значения.
h integer Целочисленное значение, вводимое с клавиатуры. Служит для
присваивания элементам массива целочисленного значения.
Текст программы
const N=20;
var mas:array[1..N] of integer;
i,a,h,j,maxj:integer;
begin
writeln('введите количесво чисел в массиве(не больше 20)');
readln(a);
if N=a then
else i:=N-(N-a);
for a:=1 to i do
begin
write('mas[',a,']=');
readln(h);
mas[a]:=h;
end;
for a:=1 to i do
begin
if mas[a] mod 2=0 then j:=j+1 else
begin
if j>maxj then maxj:=j;
j:=0;
end;
end;
if j>maxj then maxj:=j;
writeln('максимальное количество следующих подряд четных элементов ',maxj);
end.

Тестирование

Задача 8(Cовпадает с первой)


Условие задачи
Задан массив из N целых чисел, которые нужно ввести с клавиатуры (число N также вводится с
клавиатуры, его значение не больше 20). Определить, является ли массив упорядоченным или по
невозрастанию, или по неубыванию, или он никак не упорядочен (программа должна вывести один
из трёх вариантов ответа).
Задача 9
Условие задачи
Задан массив из N целых чисел, которые нужно ввести с клавиатуры (число N также вводится с
клавиатуры, его значение не больше 20). Сформировать другой массив, в который поместить только
положительные элементы исходного массива в порядке их следования (при вводе позаботьтесь,
чтобы в исходном массиве были не только положительные элементы, впрочем, и такой вариант
должен отрабатываться корректно).
Назначение переменных

Переменная Тип Назначение


mas array Целочисленный массив
N const Максимальное число элементов в массиве
j integer Целочисленное значение определяющее максимальное кол-во следующих
друг за другом нулевых элементов
maxj integer Целочисленное значение, которое запоминает наибольшее количество
следующих подряд нулевых элементов
a integer Целочисленное значение, вводимое с клавиатуры. Служит для введения
нового максимального значения.
h integer Целочисленное значение, вводимое с клавиатуры. Служит для
присваивания элементам массива целочисленного значения.
Блок – схема алгоритма программы
Текст программы
const N=20;
var mas:array[1..N] of integer;
nas:array[1..N] of integer;
i,a,h:integer;
begin
writeln('введите количесво чисел в массиве(не больше 20)');
readln(a);
if N=a then
else i:=N-(N-a);
for a:=1 to i do
begin
write('mas[',a,']=');
readln(h);
mas[a]:=h;
end;
for a:=1 to i do
if mas[a]>0 then nas[a]:=mas[a];
for a:=1 to i do
write(nas[a],' ');
end.
Тестирование

Задача 10
Условие задачи
Задан массив из N целых чисел, которые нужно ввести с клавиатуры (число N также вводится с
клавиатуры, его значение не больше 20). Определить максимальное количество следующих подряд
нулевых элементов (при вводе позаботьтесь, чтобы в массиве были различные элементы, впрочем, и
вариант из одних нулей должен отрабатываться корректно).
Назначение переменных

Переменная Тип Назначение


mas array Целочисленный массив
N const Максимальное число элементов в массиве
j
maxj
a integer Целочисленное значение, вводимое с клавиатуры. Служит для введения
нового максимального значения.
h integer Целочисленное значение, вводимое с клавиатуры. Служит для
присваивания элементам массива целочисленного значения.
i integer Целочисленное значение служит для обозначения максимума массива
Текст программы
const N=20;
var mas:array[1..N] of integer;
i,a,h,j,maxj:integer;
begin
writeln('введите количесво чисел в массиве(не больше 20)');
readln(a);
if N=a then
else i:=N-(N-a);
for a:=1 to i do
begin
write('mas[',a,']=');
readln(h);
mas[a]:=h;
end;
for a:=1 to i do
begin
if mas[a]=0 then j:=j+1 else
begin
if j>maxj then maxj:=j;
j:=0;
end;
end;
if j>maxj then maxj:=j;
writeln('максимальное количество следующих подряд нулевых элементов ',maxj);
for a:=1 to i do
write(mas[a],' ');
end.
Тестирование