
Calculadora Pascal Program
The best place to start is to get out a piece of paper and a pencil and figure out how you do it yourself. Once you know how to do it, step by step, you can tell the computer how to do it. When you have thought it out enough to write some code, post it here and we'll be happy to help further. I looked at the other thread regarding the same type of program. Say i had the equation 1+2+3, I would want to look at the first number and save the value, then move to the next number and add it to the previous number. But I can't figure out how to write the code that moves from the first number, records it, then moves to the next number. I think that is the part your professor is interested in.
A string is an array of characters. So, no matter how you get the equation (reading it from file or from user input) you still have a string: var equation_string = '1+2+3'; What procedures and functions and techniques have you learned that can index and split a string? Turn a character digit into an integer? Let me give some more information about this project. I need to read equations from an input file.
Download hp ilo 3 firmware. Program calculator (pascal). Contoh format undangan. Program calculator; uses crt; var a,b,hasil: real; kar: char; begin clrscr; gotoxy(36,3); writeln('CALCULATOR'); gotoxy(11,4);readln(a); kar:=readkey; gotoxy(11,6).
For example, the file could look like this 5 + 3 * 5 -2 51 - 14/5 + 1 *5 Operator precedence must be taken into account as well as the bracketing of expressions. The first equation will be completely evaluated and the final answer determined before the next equation is read and evaluated. 'Every time an intermediate result is calculated the corresponding components of that calculation are removed from the array(s) and replaced with the correct answer'. This is my first project using arrays, so I will have to get use to it.
Program Lesson9_Program(input, output); Var file1: Text; eq1: String; eq2: string; Begin Assign(file1,'input.txt'); Reset(file1); If (IOResult 0) then Begin Writeln('The file required to be opened is not found!' ); Readln; End Else Begin readln(file1, eq1); Writeln('The first line of the file reads: ',eq1); readln(file1, eq2); writeln('The second line of the file reads: ',eq2); End; End.
This is basically what I just have so far, it prints out both the equations that are in the file. Now, I need to somehow put those equations into an array I think. So, according to your assignment description, you account for operator precedence by evaluating the same expression over and over until there is only a number (or error): I start with 5 + 3 * 5 -2 The most precedent operator is *, so: 5 + 3 * 5 -2 5 + 15 -2 The remaining operators have equal precedence, so I'll just take them left to right: 5 + 15 -2 20 -2 and 20 -2 18 There are no more operators, so the answer is 18. Now, you are supposed to store the expression in an array. So you could have an array of string, where each element is either a number or an operator: '5', '+', '3', '*', '5', '-', '2' Or you could have an array of some record type that tells you whether it is a number or an operator, say: type tType = (number, add, subtract, multiply.); type tElement = record element_type: tType; number: integer end; This is how I would do it (if forced to use an array), but if it is beyond you just stick to an array of strings.
I assume the latter in what follows, but the concepts work either way. So, even a bracketed expression is easily stuck in an array: 5 * (2 + (3 + 1)) becomes '5', '*', '(', '2', '+', '(', '3', '+', '1', ')', ')' This makes it easy to find operators.