Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lab4 / lr4_1

.tcl
Скачиваний:
2
Добавлен:
30.05.2025
Размер:
2.22 Кб
Скачать
# Процедура для генерации строки из 20 случайных чисел в шестнадцатеричном формате
proc generate_random_hex_string {} {
set result ""
for {set i 0} {$i < 20} {incr i} {
set random_number [expr {int(rand() * 16)}]
set hex_number [format "%x" $random_number]
append result $hex_number
}
return $result
}

# Процедура для выделения и вывода фрагментов строки
proc extract_and_display_fragments {hex_string} {
set first_f_index [string first "f" $hex_string]
set last_f_index [string last "f" $hex_string]

if {$first_f_index == -1} {
# Если символ "F" не найден, выводим пустые строки
puts "Часть строки до первого символа 'F':"
puts ""
puts "Часть строки между первым и последним символом 'F':"
puts ""
puts "Часть строки после последнего символа 'F':"
puts ""
} else {
# Часть строки до первого символа "F"
puts "Часть строки до первого символа 'F':"
puts [string range $hex_string 0 [expr {$first_f_index - 1}]]

# Часть строки между первым и последним символом "F"
puts "Часть строки между первым и последним символом 'F':"
if {$first_f_index == $last_f_index} {
puts ""
} else {
puts [string range $hex_string [expr {$first_f_index + 1}] [expr {$last_f_index - 1}]]
}

# Часть строки после последнего символа "F"
puts "Часть строки после последнего символа 'F':"
puts [string range $hex_string [expr {$last_f_index + 1}] end]
}
}

# Основной скрипт
set random_hex_string [generate_random_hex_string]
puts "Сгенерированная строка: $random_hex_string"

extract_and_display_fragments $random_hex_string

Соседние файлы в папке lab4