Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая КТП.docx
Скачиваний:
5
Добавлен:
23.12.2022
Размер:
977.37 Кб
Скачать

Код программы:

import kotlin.math.abs

// функция проверки что в числе есть цифра 3

fun check(num:Int):Boolean

{

var n = abs(num)

while(n > 0){

if(n % 10 == 3)

return true

n /= 10

}

return false

}

fun main(){

// объявления переменных

var a = 0

var ind = -1

var max = Int.MIN_VALUE // -2147483648

var i = 0

println("Введите последовательность чисел, заканчивая 0:")

// ввод данных и вычисления

do{

i++

a = readLine()!!.toInt()

if(check(a) && a > max){

max = a

ind = i

}

} while(a != 0)

// вывод результата

if(ind != -1)

println("Значение наибольшее = $max , номер числа = $ind")

else

println("Таких чисел не найдено!")

}

Результат выполнения программы:

Вывод

В данной лабораторной работе я научился разрабатывать циклические вычислительные выражения с помощью конструкции do while, работе с условиями и сравнениями значений, изучил булевый тип, нашёл наибольшее введенное значение и его индекс.

Лабораторная работа №5

Тема: Определение характеристик одномерных массивов

Задание

Требуется определить массив целых чисел (например, размера 30), заполнить его случайными числами (в диапазоне от A до B, где A и B задаются в директивах #define) или ввести его элементы с клавиатуры и определить его характеристики в соответствии с вариантом.

Программа должна содержать следующие функции:

• инициализация элементов массива случайными числами или вводимыми с клавиатуры;

• вывод массива на экран.

Вариант B4. Найти количество попарно различных элементов массива, меньших числа M.

Код программы:

// функция печати массива

fun printArr(arr:Array<Int>){

for(elem in arr)

print("$elem ")

println()

}

// функция заполнения массива случ. числами

fun randArr(n:Int):Array<Int>{

val A = -10

val B = 10

var arr = Array(n, {(A..B).random()})

return arr

}

// функция заполнения массива с клавиатуры

fun inputArr(n:Int):Array<Int>{

var arr = Array(n, { readLine()!!.toInt()})

return arr

}

// функция нахождения количества попарно различных элементов, меньших чем M

fun myFun(arr: Array<Int>, M:Int):Int{

var count = 0

for(i in arr.indices)

for(j in i + 1..arr.size - 1)

if(arr[i] != arr[j] && arr[i] < M && arr[j] < M)

count++

return count

}

fun main(){

// объявления переменных

var arr: Array<Int>

print("Введите M: ")

var M = readLine()!!.toInt()

print("Введите 1 для случайного заполнения и 2 для заполнения с клавиатуры:")

if(readLine()!!.toInt() == 1)

arr = randArr(10)

else

{

println("Введите элементы массива: ")

arr = inputArr(10)

}

println("Исходный массив: ")

printArr(arr)

// вывод результата

println("Количество попарно различных элементов, меньших чем M = $M , равно ${myFun(arr, M)}")

}

Результат выполнения программы:

Вывод

В данной лабораторной работе я научился разрабатывать циклические вычислительные выражения с помощью конструкции for, научился заполнять массив случайными значениями, заполнять массив значениями введенных с помощью клавиатуры, нашёл кол-во различных элементов меньше М.

Лабораторная работа №6

Тема: Модификация одномерных массивов

Задание

Требуется определить массив целых чисел (например, размера 30), заполнить его случайными числами (в диапазоне от A до B, где A и B задаются в директивах #define) или ввести его элементы с клавиатуры и преобразовать массив в соответствии с вариантом задания.

Программа должна содержать следующие функции:

• инициализация элементов массива случайными числами или вводимыми с клавиатуры;

• вывод массива на экран;

• вычисление минимального/максимального элемента массива.

Вариант A4: Заменить положительные четные элементы массива на наибольший элемент массива.