Do you know that? 17% prefer full-time employment and freelance on the side next

See right interview answers on 30 common job interview questions


Collapse | Expand

1. Can IP Pascal compile my Turbo/think/MWP Program?

A few Turbo Pascal "units" that aid program porting have been created, and these have shown to dramatically simplify porting from that language. Similar procedures will be used for other Pascals. However, these are just rapid porting aids, and these Pascals do not enjoy full language compatibility. There will always be a minimum amount of work required to change programs to work under IP. Further, porting using these units won't give you a program that takes advantage of the features of IP, and I consider it to be only a step in the process of fully porting a program to IP.

IPs main focus is to be a language that is not tied to any operating system or hardware, and IP will, therefore, always be unable to fully emulate the machine dependent features of many Pascal implementations. The failure of many Pascals that are single machine based has shown that the future lies in very portable Pascal languages and compilers.

2. Define what is Pascal sets and units ?

Pascal set is a collection of elements of the same type. It allows defining the set data type. The set elements are enclosed in a square elements.

A Pascal program consists of modules referred as units. A module or unit might consist of some code blocks, which again consist of variables and type declarations, statement procedures, etc. There are many built in units in Pascal.

3. Explain how file is handled in Pascal?

In Pascal, a file is a sequence of components, and file is determined by the type of the components.

type
  file-name = file of base-type;

The base type determines the type of the component. It could be anything like Boolean, subrange, integer, record, arrays and so on

4. Explain how you can define a string?

In different ways, string can be defined

• Character Arrays
  • String Variables
  • Short Strings
  • Null Terminated Strings
  • Ansi Strings

5. Explain how you can make EXE files with Turbo Pascal?

To make EXE file with Turbo Pascal,

• Go to compile menu in turbo Pascal
  • Select COMPILE TO MEMORY
  • Open the menu again
  • It will say Compile to disk
  • Select compile

It will create the .exe file

6. Explain what are the data types included in Pascal?

? Integers: It includes whole number, which allows numbers to be written without any decimals

? Real Numbers: Numbers with decimal or without decimals

? Boolean Data Types: Check the condition true or false

? Char Data Type: With the ordered character set it allows a single character to be written

7. Explain what is Constructors and Destructors for Pascal Object?

For Pascal object, there are Constructors and Destructors

• Constructors: It is a special type of methods, which are called automatically whenever an object is formed. Just by declaring a method with the keyword you can create a constructor in Pascal. This method is referred as Init

• Destructors: It is a method that is called during the destruction of the object. Destructor method destroy any memory allocation created by constructors.

8. Explain what is Pascal constants?

During program execution, constant is something that remains unchanged. Pascal allows only following constants to be declared

• Ordinal Types
  • Set Types
  • Pointer Types
  • Real Types
  • Char
  • String

9. Explain what is Pascal?

Pascal is a procedural programming language which supports data structures and structured programming.

10. Explain what is the reason for using UNITS?

There are three reasons to use units in programming

• When you want to use the same code in some other program to do the same job
  • For ease of handling, some large programs are split into a smaller section
  • If you put code in a unit, it becomes easy to call and use it again

11. Explain why are semicolons used as statement separators used in Pascal?

• Semi-colon is used as a statement terminator so that other statements can be executed
  • There is no semicolon required before the keyword end as it determines the record type declaration
  • There is no need of semi-colon for a block or a case statement as it needs to be carried on and gets executed
  • For the sequence of statement that is written in more than one statement the semicolon get applied

12. How can variable length strings be used in Pascal?

- Pascal can use variable length strings as it doesn’t have built in type of string and it doesn’t prevent as well if the implementation is being done without it.

- The example shows the string that is being used and initialized. This is the variable length string that is being initialized.

- The concatenation can be done after completely defining the procedures and more options can be taken on the strings.

type string = record

len: integer;

str: packed array [1..100] of char;

13. In Pascal why do standard strings take less space when used in the program?

• Custom string makes it easier for the program not to take more space and run faster. It also takes the input from the user and makes an entry in the table
  • The string type can be formed with the optimum length of the command string which is required and present in the code
  • Handling process can be created for the string type so that the constant declaration can be used
  • According to the requirement string size can be changed, and the string libraries are used to make it easier to code with

14. Is IP Pascal new?

No. IP Pascal originated in 1980. IP Pascal is used here in electronic integrated circuit CAD programs. IP Pascal was written as a core in assembly language, but the majority of the system rewritten in Pascal by 1985. In 1987, like many other developers, I moved to the IBM-PC and began using off the shelf standard ISO/ANSI compilers. By 1990, I started to have extensive problems with Pascal vendors not keeping up with changing technologies, and foresaw the fallout of many existing vendors from the market.

At that time, I made a decision whether I would stay with my extensive code base in Pascal, or move to a more generally accepted language, most likely C. I decided that I would stay with Pascal, and take back control of our compiler as it was abandoned in 1987. That work was completed in 1995, in time for the advent of Windows 95. Since that year, the platform for IP has been extensively expanded.

15. Is Pascal designed to be a teaching language?

This assertion has often been used to imply that Pascal is a toy language. I can't state the answer any better than Niklaus Wirth himself did:

"Occasionally, it has been claimed that Pascal was designed as a language for teaching. Although this is correct, its use in teaching was not the only goal. In fact, I do not believe in using tools and formalisms in teaching that are inadequate for any practical task." - Niklaus Wirth, from the 1984 ACM A.M. Turing award lecture.

16. Mention what are the different pointer types used in Pascal?

The different pointer types used in Pascal are

? Record Pointer: It allows the recording of the node and the sub-fields that are used

? Reference Pointer: Pointers are the reference to the dynamically created variables

? Associate Pointer: They have an associated data type with them that they can check for compatibility with another type

17. Mention what are the REPORT method for which the portability is given in Pascal?

The portability given for the Report methods are:

• Application: It consists of the guidelines which allow to use implementation and features according to the compiler, to make the application more portable.
  • Compiler: Implemented the language that is likely to implement the features like determining of the types that are compatible with one another.

18. Mention what are the types of Loops in Pascal?

The types of Loops in Pascal are

• Fixed Repetition: It repeats only a fixed number of times
  • Pretest: It tests a Boolean expression, then goes into a loop if TRUE
  • Posttest: It executes the loop, then tests the Boolean expression

19. Mention what is the syntax to declare constants?

To declare constants the syntax used is

Const
  Identifier = constant_value;

20. Should standard Pascal be used without extentions?

Recently, I have had some folks email me that they are surprised I am supporting advanced extentions for Pascal.

Pascal always had extentions. The original compiler created by Niklaus Wirth had extentions specific to the CDC 6000 series computers. The idea of the standard was never to forbid extentions, but rather that the basic implementation be as standardized across processors and implementations as possible.

In the old days of the mainframe and line printers, there was actually a chance that a program completely coded within the language standard would be all that was needed. Now, with advanced graphics and sound, and advanced devices like video editing, the general portable program is thought by many to be dead. I would say that nothing is further from the truth. We need clean and portable interfaces and programs more than ever. What has changed is that we rely more on library construction and interfaces. Windows, OS X and Linux/X Windows can be thought of as advanced intefaces with somewhat limited portability. Advanced graphics libraries such OpenGL are paving the way to new levels of functionality and portabilty.

21. What are the basic features of Pascal?

Pascal is a structured language, using if-then-else, while, repeat-until, and for-to/downto control structures. It differs primarily from proceeding languages in that data structures were also included, with records (a feature borrowed from COBOL), arrays, files, sets and pointers.

Pascal is also unusual for forging an effective compromise between language simplicity, power, and matching of language structures to underlying machine implementation.

Pascal also has many features for compiler writers. The language is constructed to have a minimum of ambiguity. Pascal, with few exceptions, can be processed "forward" with all of the smaller elements (like constants, types, etc) being defined before they are used. Pascal requires the types and exact sizes of operands to be known before they are operated on, again leading to simplified language processing and efficient output code (although this feature has often been called a problem). For this reason, Pascal still remains a popular language to implement compilers for as part of a compiler science class.

22. What are the differences between apple Pascal and the standard?

Early Apple Pascal was based entirely on the UCSD system, and the same comments apply to it as to UCSD Pascal above.

23. What are the major dialects of Pascal in use today?

There have been many implementations of Pascal, both those that follow and those that don't follow the ISO 7185 standard. For the most part, ISO 7185 was followed on large computer installations during the early days of Pascal (1973-1990), and some installations on microcomputers. The other dialect that became popular was the UCSD (University of California at San Diego) Pascal, followed by Borland's Turbo Pascal. Although there are virtually no current implementations of UCSD Pascal, Borland's products exist today for advanced IBM-PC compatibles under Borland's Delphi name.

When the IBM-PC became 32 bit with the introduction of the Intel 80386, virtually all of the 32 bit implementations of Pascal on the PC were ISO 7185 conforming. However, there was a large shakeout of compiler vendors in the early 1990's that removed many of these installations from the market.

24. What are the ways in which the table of constants can be created?

- Pascal provides no provision to create the table for the fixed data type that allow to be used at the compile time.

- The compiler can be used to assign into the pre-initialized data that can determine the use of pre-defined functions.

- Pascal uses some pre-defined functions and logical assignments to create the table of constants like:

var table: record

a: integer;

b: integer;

c: char

end;

begin

table.a := 1;

table.b := 45;

table.c := 'x';

- The table of constants can be done in a program block level and it provides the compiler to perform the optimizations operations.

25. What does IP stand for?

IP was never coined to be a particular acronym. Present definitions are Internet Pascal, Intellectual Property Pascal, InterPlatform Pascal. The name IP Pascal was chosen to represent the flavor of today's machine and process independent design processes. 

As some of you may know, I am heavily involved in the networking industry. Internet Protocol was originally envisioned as a way to "bridge" different networks together. The principle was that one carefully constructed standard would be able to bridge any number of different networks together, and the overhead of a second level protocol would only be incurred once. This is much like saying that designing one standard plug, then designing a series of adapters to that plug from other plug types, can unify incompatible systems.

26. What is IP Pascal?

IP is an interplatform Pascal. It supports the following platforms in its current configuration:

1. Windows/95/98/ME/NT/2000/XP.

2. Linux/86.

A port for Mac OS X is under way, and a port for Sun Solaris/Sparc is planned.

IP both provides, and itself is run, on a set of porting modules that allow IP, and its client programs, to run on any of the supported platforms without source change. To move within operating systems on the same machine type, only a relink is required. To move within different CPU based systems, a recompile and link is required.

27. What is standard Pascal?

Pascal is one of a series of languages put forth by one of the most prolific computer language creators, Niklaus Wirth, a professor at Institut fur informatik, ETH, Zurich, Switzerland. Professor Wirth participated in various versions of Algol, a language put forth by international cooperation that introduced the basic concepts of structured programming to the world. Wirth terms Pascal as a descendant of Algol 60 (for Algol, 1960 standard). The "official" descendant of Algol 60 was Algol 68, famous for having assignment as an expression operator (a basic feature of the later language C). Wirth felt that the design committee for Algol, after Algol 60, was losing focus and creating an unnecessarily complex language.

While Algol W has had it's fans, the language Pascal was considered to be a new high of consistent language design. The first draft of Pascal was created in 1968. The first compiler was operational in 1970, and the language was generally published in 1971. In 1973, after two years of testing and use, the language was revised into it's final form. That was detailed by "The Pascal User Manual and Report".

28. What is the history of Pascal?

Pascal is in the Algol family of languages. Algol, whose first version was called IAL or "International Algebraic Language", was the first language created by international committee. The resulting language was rather odd for its time. The committee had the goal of designing a unified computer language, but also saw Algol as a way to cleanly express computer algorithms, and so was not directly concerned with creating a practical language for compilation. That is, the language would serve a purpose even if it was only used for publishing algorithms, not running them.

This resulted in Algol not having many data types, or built in I/O. Also, Algol was generally free of the limits common to programming languages of that time, such as number of array dimensions. One of the goals of Algol was for it to be as close to mathematical notation as possible. In particular, Algol used a special operator for assignment, ':=', because '=' had a different meaning in mathematics.

29. What is the lifetime of IP Pascal?

Unlike many commercial products, IP Pascal is not designed according to the "hit software" mentality. I use IP Pascal here, I am its first customer. Because of this, I won't be creating phone support for the product. IP Pascal will be supported by email, web site, and usenet forum without charges or restrictions. Emails will be typically answered within 48 hours.

Because this support model does not require hiring large support staffs (and then firing them later as demand decreases), there is no plans to limit or charge for support.

30. Why is nOt IP Pascal compatible with Turbo/Borland®/Dephi®/Kylix Pascal?

IP Pascal was designed to follow the original Pascal standard since 1980, following Niklaus Wirth's "The Pascal User Manual and report" [Jensen and Wirth] from 1974. In 1983, the ISO 7185 standard was released, and the minor changes to J&W Pascal were implemented in IP Pascal.

Unfortunately, none of the Borland products followed either the "User Manual and Report" nor the ISO 7185 Pascal standard, even though it preceeded Borland® implementations by a decade. Borland® products have a large user base, and we respect that, and hope to provide tools to convert user's Borland® compatible products to IP Pascal for interoperation.

For IP Pascal to have been compatible with Borland® products, considerable changes away from standard Pascal would have been required. Also, since there is no official published Borland® language standard, there would be no way to guarantee perfect compatibility with Borland® products. Finally, IP Pascal is directed at a long term standard implementation. Borland® products have traditionally been machine and operating system dependent. The different Borland® products, Turbo Pascal, Borland® Pascal, Borland® Windows Pascal, Delphi® and Kylix, are not completely compatible with each other, and would have been a moving target during the many years IP Pascal has been in operation.

31. Why is the name pascal?

Pascal was named after the French mathematician Blaise Pascal, who created a calculating machine (not a true computer).

18. What is the procedure to find an enumerated value from an integer?

- Pascal allows the conversion to take place of an integer to an enumerated type but it is not possible to do it other way around.

- The integer value can be found by using the function ord of the enumerated value type that can be used between the integers and enumerated.

- The space can be used with the speed penalty that can be used with the enumerated types and use of “unord” function to get the output.

type enum = (one, two, three, four, five, six, seven, eight, nine, ten);

var ei: enum;

etran: array [10] of enum;

begin

{ initalize translation array }

for ei := one to ten do etran[ord(ei)] := ei;

...

ei := etran[5];

- The translation of the integer to the enumeration type is difficult task and the use of array lookup is being used. The translation array depends on the size of the enumerated type or enum.

32. Why use the standard version of the language (when other dialects are more widely used)?

ISO 7185 standard is the original language as created by N. Wirth, more precisely defined and more secure than the original. The standard makers refrained from making large improvements or extensions to the language. In fact, because Pascal is one of the most carefully designed languages and also one of the most carefully standardized, there is a high degree of ability to determine, unambiguously, if a given program construct is legal according to ISO 7185 rules.

Pascal, almost from the first of its use, was widely extended and changed. One reason for this may be that the language was also very popular in compiler classes, and tended to produce many experimental versions.

The original language, Pascal/1972 or J&W Pascal, has been around since 1972, standardized in 1982, and only minor changes were required to programs to bring them into compliance with it (see below). The basis of the language is still very strong, and the ISO 7185 standard is freely available. Further, there are many books written with the standard in mind.