Computer Science

Procedural Programming

Procedural programming is a programming paradigm that involves breaking down a program into smaller, more manageable procedures or functions. These procedures are executed in a specific order to achieve a desired outcome. It is a structured approach to programming that emphasizes the use of procedures and functions to solve problems.

Written by Perlego with AI-assistance

5 Key excerpts on "Procedural Programming"

  • Philosophy and Computer Science
    • Timothy Colburn(Author)
    • 2015(Publication Date)
    • Routledge
      (Publisher)
    some time by a programmer, but they will often be satisfied by low-level code already written to perform routine operations like input and output. More important, the programmer will first be thinking about objects in the real world, how to abstractly specify the legal operations on them given the information about them she knows, and last how to translate these operations into computational procedures. She lives comfortably in the infological world, passing into the datalogical world only when necessary.
    There is, of course, an element of wishful thinking in this scenario, as any programmer laboring in a pit of antique code (and there is still lots of it) will attest. Nevertheless, it is one desideratum of software engineering to allow both infological and datalogical thinking in the programming process, and training in both is a primary objective in computer science education.

    Programming Paradigms

    The drive toward procedural and data abstraction in software design has resulted in the delineation of various programming paradigms, each with its own story about how it enhances the software development process. These are called “paradigms” because they constitute general models of computer problem solving which any one of a number of particular programming languages may attempt to instantiate. An understanding of the fundamental nature of these paradigms, and how they have evolved, can help to illuminate today’s role of the software developer as information modeler. To describe these paradigms, we must start with a working definition of what a programming language actually is. We use one taken from a standard programming languages text:
    A programming language is a language that is intended to be used by a person to express a process by which a computer can solve a problem.16
    Any process, whether purely physical, computational, or otherwise, is a sequence of actions among objects. A computational process occurring on a computer is a curious entity because it is at once concrete and abstract. It is concrete because it can be described as the passing of electrons in circuits measured in microns, effecting changes in the state of semiconducting memory elements. On the other hand, the description of these state changes is a program that, as an expression in a formal language, is an abstraction of a process the programmer hopes is a correct model of the solution of a problem in the real world. What distinguishes the major programming paradigms is the kinds of object and action that the abstract process involves.
  • Information Technology
    eBook - ePub

    Information Technology

    An Introduction for Today's Digital World

    imperative) programming languages (aside from LISP, which is a functional language). The procedural approach to programming consists of writing a program that is a collection of subroutines. A subroutine can invoke another subroutine so that the pattern of execution is based on subroutines calling each other. Each subroutine has its own local variables, the entire program may have global variables, and subroutines communicate to each other through parameter passing.

    8.2.3      OBJECT -ORIENTED PROGRAMMING

    In 1963, the language Simula-I was developed. The goal for that languages was to write simulation-based programs. To write a simulation, you define a model using variables and equations (e.g., physics equations to simulate an object’s motion). For Simula, models are created by defining a class of object. The class
  • Clinical Engineering
    eBook - ePub

    Clinical Engineering

    A Handbook for Clinical and Biomedical Engineers

    • Azzam Taktak, Paul Ganney, David Long, Richard Axell(Authors)
    • 2019(Publication Date)
    • Academic Press
      (Publisher)
    The models discussed above are some of the basic models and individual software projects may sometimes combine techniques from different models to suit their specific needs. Medical Physics/Clinical Engineering projects often follow an iterative or agile approach since the requirements are not always clearly defined and may undergo frequent revisions. It is essential in such cases to maintain a robust software change control process (see “Software Quality Assurance” later in this chapter).
    Fig. 9.8  The agile model.

    Procedural, object-oriented and functional programming

    In the early days of computing, when memory was small and processing power slow (compared to today), many programs were short and simple. They followed a linear path from start to finish. As computers grew in complexity and memory (both internal and external) increased, along with processing power
    25
    more complex programs were possible. Whilst modern computing power means that less efficiently designed programs will still run in an acceptable time (and for a one-off result that may be acceptable), Procedural Programming will better utilise what are still limited resources.
    Procedural Programming
    Procedural Programming breaks a problem down into several subproblems and identifies similarities between these. For example, a program that displays a set of test results, together with the reference range and a note as to whether the result is inside or outside of this, will format the same type of output several times. By moving this formatting code to a separate routine (often called a subroutine) and parameterising it, the code becomes easier to write and more efficient to store (see Fig. 9.9 ). It also has two added advantages: firstly, that a change to the way in which these results are to be displayed (for example, wanting results outside of the reference range to be displayed in red) only needs to be made in one place. The second advantage is that if a subsequent program is written that requires the same formatting, it is easy to extract the relevant code and re-use it elsewhere.
    The above description also provides two examples of code reuse: internally and externally. Code that is to be reused externally often requires a more stringent design (as it is impossible to predict exactly all the uses the code may be put to) and provides the basis for a code library. A code library may be pre-compiled so that other programs may use the routines, but not alter the source code, thereby ensuring continued integrity.
  • Designing and Developing Robust Instructional Apps
    • Kenneth J. Luterbach(Author)
    • 2018(Publication Date)
    • Routledge
      (Publisher)
    Computer Programming
    Computer programming languages are tools for problem solving and creative expression. Indeed, people engaged in creative problem solving with computer programming languages developed technologies that resulted in the epochal transformation of the past half century. This information era is marked by computer programs (software) that implement the communication protocols enabling the Internet and the web; software enabling mobile communications; software enabling email and other messaging; software for shopping; software for creating 2D images and 3D models; animation software; office productivity software; voice recognition software, and software for learning, for instance. Learning a computer programming language is extremely beneficial as an outlet for creative expression and problem solving.
    One selects a particular programming language to fit a variety of circumstances. When it is necessary to receive and respond to data at particular microsecond intervals, one writes code in a low-level programming language using the CPU’s instruction set, which addresses memory and input ports directly. Commonly, though, application software is written in a high-level computer programming language, which eliminates the need to consider the computer’s architecture. After distinguishing between low-level and high-level computer programming languages, it is helpful to recognize four main programming paradigms: imperative (procedural/ structural); object-oriented; functional; and logical. Each paradigm has something to offer problem solvers (Kedar, 2011). In this book, we will not be using Haskell (Thompson, 2011) or any functional programming language (so no f(g(x)) for us in this work). Also, we do not consider a logic programming language, such as Prolog. We will consider object-oriented concepts, as necessary. Object-oriented languages, such as C++, C# (C sharp), Objective-C, and Java include imperative language components. Indeed, C++, C#, and Objective-C are implementations of C with objects. C, like JavaScript, Perl, Lua, Swift, Java, and Python, all have imperative (procedural) language components, which enable input/output, and solve problems using the following core elements:
  • Anyone Can Code
    eBook - ePub

    Anyone Can Code

    The Art and Science of Logical Creativity

    This allows us to use known methods of problem-solving and creativity within the context of programming. Also, it helps us use the algorithmic thinking approach in non-programming tasks and solve our other problems more efficiently. But let’s not get ahead of ourselves. We will talk about these in Chapter 2. But first, let’s talk about a few important subjects that will help you explore the book and understand why it is structured in this particular way. I.1   Software Development The word “software” refers to the collection of information that a computer uses. The “soft” part is due to the fact that it can easily change, as opposed to the physical device, or hardware, that is less flexible. 7 The terms “computer programing,” “coding,” “software development,” and “software engineering” are frequently used in the computer industry and literature. They are very much related but not quite the same. While there may be different definitions and interpretations, the most commonly used one defines computer programming as the act of creating a program, a set of executable instructions in a formal language that can be (after some steps) executed by a computer to achieve a particular purpose or result. 8 The key elements of this definition are (1) instructions or program, (2) language, (3) execution by a computer, and (4) purpose or results. Key Point: Programming is the process of creating a computer program (set of executable instructions) in a formal language for a particular purpose. The term Code is frequently used as equivalent to Program, but it can also mean a part of the program (as opposed to data) and also a specific representation of a program’s instruction (as in “machine code” vs. “human-readable code”). In this book, I make a distinction between code and data as two parts of a program: the information used by the program and the operations performed on that information
Index pages curate the most relevant extracts from our library of academic textbooks. They’ve been created using an in-house natural language model (NLM), each adding context and meaning to key research topics.