How to resolve the algorithm Middle three digits step by step in the Lasso programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Middle three digits step by step in the Lasso programming language

Table of Contents

Problem Statement

Write a function/procedure/subroutine that is called with an integer value and returns the middle three digits of the integer if possible or a clear indication of an error if this is not possible. Note: The order of the middle digits should be preserved. Your function should be tested with the following values; the first line should return valid answers, those of the second line should return clear indications of an error: Show your output on this page.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Middle three digits step by step in the Lasso programming language

Source code in the lasso programming language

define middlethree(value::integer) => {
	local(
		pos_value	= math_abs(#value),
		stringvalue	= #pos_value -> asstring,
		intlength	= #stringvalue -> size,
		middle		= integer((#intlength + 1) / 2),
		prefix		= string(#value) -> padleading(15)& + ': '
	)

	#intlength < 3 ? return #prefix + 'Error: too few digits'
	not(#intlength % 2) ? return #prefix + 'Error: even number of digits'

	return #prefix + #stringvalue -> sub(#middle -1, 3)

}
'
'
with number in array(123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -12345, 1, 2, -1, -10, 2002, -2002, 0) do {^

	middlethree(#number)
	'
'
^} '
'

You may also check:How to resolve the algorithm Sorting algorithms/Sleep sort step by step in the Go programming language
You may also check:How to resolve the algorithm Sort stability step by step in the Racket programming language
You may also check:How to resolve the algorithm Jensen's Device step by step in the Rust programming language
You may also check:How to resolve the algorithm General FizzBuzz step by step in the Common Lisp programming language
You may also check:How to resolve the algorithm Hello world/Text step by step in the Fermat programming language