Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/arya2004/turing-machine-calculator-simulator

Simulation of Basic Calculator through the Turing Machine
https://github.com/arya2004/turing-machine-calculator-simulator

c hacktober hacktoberfest hacktoberfest-accepted hacktoberfest-starter hacktoberfest2024 turing-machine turing-machine-simulator

Last synced: 5 days ago
JSON representation

Simulation of Basic Calculator through the Turing Machine

Awesome Lists containing this project

README

        

# Turing Machine Calculator Simulation

This repository contains a collection of header files for simulating a basic calculator using a Turing machine. The calculator supports addition, subtraction, multiplication, division, and factorial operations. The simulation is based on the principles and theory described in the paper [Construction of Basic Calculator through Turing Machine](https://www.ijetajournal.org/volume-2/issue-6/IJETA-V2I6P1.pdf).

## Table of Contents

- [Introduction](#introduction)
- [Usage](#usage)
- [Getting Started](#getting-started)
- [Supported Operations](#supported-operations)
- [Contributing](#contributing)
- [License](#license)
- [Acknowledgements](#acknowledgements)

## Introduction

The Turing machine is a theoretical computing device that manipulates symbols on an infinite tape based on a set of rules. This repository implements a Turing machine simulation of a basic calculator capable of performing addition, subtraction, multiplication, division, and factorial calculations.

The simulation aims to provide an understanding of how a Turing machine can be designed and programmed to perform arithmetic operations. It follows the principles outlined in the referenced paper, allowing developers to explore and experiment with the underlying concepts.

## Usage

To use the Turing machine calculator simulation, follow these steps:

1. Clone the repository to your local machine.
```shell
git clone https://github.com/arya2004/turing-machine-calculator-simulator.git
```
2. Copy the required header files from the repository to your project directory.
3. Include the desired header file(s) in your C program.
4. Follow the instructions provided in the referenced paper to implement and execute the desired arithmetic operation.

## Getting Started

To understand the concepts and theory behind the Turing machine calculator simulation, it is recommended to read the paper [Simulation of Basic Calculator through Turing Machine](https://www.ijetajournal.org/volume-2/issue-6/IJETA-V2I6P1.pdf). The paper provides detailed information on the design and implementation of the Turing machine, as well as the rules and configurations required for each supported operation.

## Supported Operations

The Turing machine calculator simulation supports the following arithmetic operations:

- Addition (+)
- Subtraction (-)
- Multiplication (*)
- Division (/)
- Factorial (!)

Each operation has its own header file, which contains the necessary definitions, rules, and configurations for simulating the operation using a Turing machine.

## Contributing

Contributions to this repository are welcome. If you have any improvements or additional operations to contribute, please follow these steps:

1. Fork the repository.
2. Create a new branch for your feature or improvement.
3. Implement your changes and test them thoroughly.
4. Commit and push your changes to your forked repository.
5. Submit a pull request detailing your changes and their benefits.

## License

This repository is licensed under the [MIT License](LICENSE). Feel free to use the code provided here in your own projects.

## Acknowledgements

We would like to acknowledge the authors of the referenced paper, [Construction of Basic Calculator through Turing Machine: A Review](https://www.ijetajournal.org/volume-2/issue-6/IJETA-V2I6P1.pdf), and the Youtube video [Factorial Turing machine: Computing 4!](https://www.youtube.com/watch?v=j7cCKXe1NcY), for their valuable research and insights into implementing a calculator using a Turing machine.

If you have any questions or suggestions for improvement, please don't hesitate to open an issue or reach out to the project maintainers.

Happy calculating!