Factorial Calculator - Eiffel Typing CST Test
Loading…
Factorial Calculator — Eiffel Code
Calculates factorial of a given number.
class
FACTORIAL
feature
compute (n: INTEGER)
local f, i: INTEGER
do
f := 1
from i := 1 until i > n loop
f := f * i
i := i + 1
end
io.put_string ("Factorial: "); io.put_integer(f); io.put_new_line
end
end
! Run
local
fact: FACTORIAL
do
create fact
fact.compute(5)
endEiffel Language Guide
Eiffel is a high-level, object-oriented programming language designed for software engineering with a strong emphasis on correctness, reusability, and maintainability. It supports the Design by Contract methodology, promoting robust and reliable applications.
Primary Use Cases
- ▸High-reliability enterprise software
- ▸Safety-critical systems
- ▸Reusable component libraries
- ▸Formal software engineering projects
- ▸Educational use for software engineering principles
Notable Features
- ▸Design by Contract
- ▸Strong static typing
- ▸Generic classes and collections
- ▸Multiple inheritance with controlled resolution
- ▸Automatic memory management (garbage collection)
Origin & Creator
Eiffel was created by Bertrand Meyer in the late 1980s at ETH Zurich and later developed further at Interactive Software Engineering.
Industrial Note
Eiffel is used in safety-critical systems, mission-critical enterprise applications, embedded systems requiring high reliability, and software frameworks emphasizing correctness.