Unit 1 Computer Fundamentals

Total Page:16

File Type:pdf, Size:1020Kb

Unit 1 Computer Fundamentals 15 MM VENKATESHWARA COMPUTER FUNDAMENTALS OPEN UNIVERSITY AND PROGRAMMING www.vou.ac.in COMPUTER FUNDAMENTALS AND PROGRAMMING AND FUNDAMENTALS COMPUTER COMPUTER FUNDAMENTALS BBA [BBA-304] VENKATESHWARA OPEN UNIVERSITYwww.vou.ac.in COMPUTER FUNDAMENTALS BBA [BBA-304] BOARD OF STUDIES Prof Lalit Kumar Sagar Vice Chancellor Dr. S. Raman Iyer Director Directorate of Distance Education SUBJECT EXPERT Prof. Saurabh Upadhya Professor Dr. Kamal Upreti Associate Professor Mr. Animesh Srivastav Associate Professor Hitendranath Bhattacharya Assistant Professor CO-ORDINATOR Mr. Tauha Khan Registrar Authors: B. Basavaraj: Unit (1.0-1.2.4, 1.4-1.5.2, 1.8-1.9) Copyright © Vikas® Publishing House, 2010 Vivek Kesari: Unit (1.6-1.7, 1.11) Copyright © Vivek Kesari, 2010 S. Mohan Naidu: Unit (2.0-2.3, 2.5, 2.7, 3.3, 3.6-3.9, 3.17-3.18, 3.20-3.21, 3.23) Copyright © S. Mohan Naidu, 2010 R. Subburaj: Unit (3.0-3.2, 3.4-3.5, 3.10-3.12, 3.19, 3.22) Copyright © Vikas® Publishing House, 2010 Vikas® Publishing House: Units (1.3, 1.10, 1.12-1.17, 2.4, 2.6, 2.8-2.13, 3.13-3.16, 3.24-3.32) Copyright © Vikas® Publishing House, 2010 All rights reserved. No part of this publication which is material protected by this copyright notice may be reproduced or transmitted or utilized or stored in any form or by any means now known or hereinafter invented, electronic, digital or mechanical, including photocopying, scanning, recording or by any information storage or retrieval system, without prior written permission from the Publisher. Information contained in this book has been published by VIKAS® Publishing House Pvt. Ltd. and has been obtained by its Authors from sources believed to be reliable and are correct to the best of their knowledge. However, the Publisher and its Authors shall in no event be liable for any errors, omissions or damages arising out of use of this information and specifically disclaim any implied warranties or merchantability or fitness for any particular use. Vikas® is the registered trademark of Vikas® Publishing House Pvt. Ltd. VIKAS® PUBLISHING HOUSE PVT LTD E-28, Sector-8, Noida - 201301 (UP) Phone: 0120-4078900 Fax: 0120-4078999 Regd. Office: A-27, 2nd Floor, Mohan Co-operative Industrial Estate, New Delhi 1100 44 Website: www.vikaspublishing.com Email: [email protected] SYLLABI-BOOK MAPPING TABLE Computer Fundamentals and Programming Syllabi Mapping in Book Computer Fundamentals Number system: Decimal, octal, binary and hexadecimal; Unit 1: Computer Fundamentals Representation of integers, fixed and floating points, character (Pages: 3-40) representation: ASCII, EBCDIC; Functional units of computer, I/O devices, primary and secondary memories; Programming Fundamentals Algorithm development, Techniques of problem solving, Unit 2: Programming Flow-charting, Step-wise refinement, Algorithms for Fundamentals: Algorithms searching, Sorting (exchange and insertion), merging of and Flowcharts ordered lists. (Pages: 41-161) Programming Representation of integers, characters, real Data types: Unit 3: Programming constants and variables; Arithmetic Expressions, Assignment, (Pages: 163-333) statement, Logical expression, Sequencing, Alteration and iteration; string processing; Sub programs, Recursion, Files and pointers; Structured programming concepts; Top down Design, Development of efficient programs; program correctness; Debugging and testing of Programs. CONTENTS INTRODUCTION 1 UNIT 1 COMPUTER FUNDAMENTALS 3-40 1.0 Introduction 1.1 Unit Objectives 1.2 Number System 1.2.1 Decimal Number System 1.2.2 Binary Number System 1.2.3 Octal Number System 1.2.4 Hexadecimal Number System 1.3 Integers 1.4 Fixed and Floating Points Arithmetic Operations 1.5 Character Representation 1.5.1 ASCII 1.5.2 EBCDIC 1.6 Definition of Computer 1.7 Functional Units of a Computer 1.8 Input Unit 1.9 Output Unit 1.10 I/O Devices 1.11 Primary and Secondary Memories 1.12 PROM and EPROM 1.13 Summary 1.14 Key Terms 1.15 Answers to ‘Check Your Progress’ 1.16 Questions and Exercises 1.17 Further Reading UNIT 2 PROGRAMMING FUNDAMENTALS: ALGORITHMS AND FLOWCHARTS 41-161 2.0 Introduction 2.1 Unit Objectives 2.2 Procedure and Algorithms 2.3 Algorithm Development 2.4 Techniques of Problem Solving 2.5 Flowcharting 2.6 Stepwise Refinement 2.7 Algorithm for Sorting and Searching 2.8 Merging of Ordered List 2.9 Summary 2.10 Key Terms 2.11 Answers to ‘Check Your Progress’ 2.12 Questions and Exercises 2.13 Further Reading UNIT 3 PROGRAMMING 163-333 3.0 Introduction 3.1 Unit Objectives 3.2 Introduction to Programming 3.3 Introduction to C as Reference 3.4 Representation of Integers 3.5 Data Types 3.6 Constants/Literals 3.7 Variables 3.8 Operators 3.9 Program Structures 3.10 Arithmetic Expressions 3.11 Assignment Statement 3.12 Logical Expression 3.13 Sequencing 3.14 Alteration and Iteration 3.15 String Processing 3.16 Subprograms 3.17 Recursion 3.18 Arrays 3.19 Functions 3.20 Pointers 3.21 Input and Output 3.22 Files 3.23 Structured Programming Concepts 3.24 Top-Down and Bottom-Up Design 3.25 Development of Efficient Programs 3.26 Program Correctness 3.27 Debugging and Testing of Programs 3.28 Summary 3.29 Key Terms 3.30 Answers to ‘Check Your Progress’ 3.31 Questions and Exercises 3.32 Further Reading Introduction INTRODUCTION NOTES Computers have become an indispensable part of our lives. We depend on computers for our day-to-day tasks. But, have you ever wondered how these dumb machines have acquired their present-day status in our society? Yes, computers are actually dumb machines, because they cannot function on their own. A bare computer machine, without any software loaded in it, is as good as a piece of wood. However, these bare machines are capable of performing zillions of calculations in almost no time. To reap the benefits of this enormous capability, we need to program these machines, i.e. to provide them with instructions to do our desired tasks. To make use of computers, we need programs (or a set of instructions) that are written in a computer programming language. A computer programming language is a script language that a computer can understand. Now, to tell the computer to perform a desired task, we need to write our requirements in a computer programming language and feed these instructions in the computer. All this is as simple as it sounds, provided that we have thorough understanding of components of a computer and programming concepts and techniques. The present book lays out the very basic concepts and techniques required to write a successful computer program. Unit 1 introduces you to the various number systems and character sets the understanding of which is a prerequisite to writing computer programs. The unit also deals with the input–output devices and computer memory types. Unit 2 teaches you the basics of writing algorithms and making use of flowcharts to write efficient and effective programs. Unit 3 covers the basic constructs of a programming language (C in particular) to enable you to write computer programs to perform various tasks. The book includes ample examples to render better understanding of all the concepts. The book follows the SIM format or the self-instructional mode wherein each Unit begins with an Introduction to the topic followed by an outline of the Unit Objectives. The detailed content is then presented in a simple and an organized manner, interspersed with Check Your Progress questions to test the understanding of the students. A Summary along with a list of Key Terms and a set of Questions and Exercises is also provided at the end of each unit for effective recapitulation. Self-Instructional Material 1 Computer Fundamentals UNIT 1 COMPUTER FUNDAMENTALS NOTES Structure 1.0 Introduction 1.1 Unit Objectives 1.2 Number System 1.2.1 Decimal Number System 1.2.2 Binary Number System 1.2.3 Octal Number System 1.2.4 Hexadecimal Number System 1.3 Integers 1.4 Fixed and Floating Points Arithmetic Operations 1.5 Character Representation 1.5.1 ASCII 1.5.2 EBCDIC 1.6 Definition of Computer 1.7 Functional Units of a Computer 1.8 Input Unit 1.9 Output Unit 1.10 I/O Devices 1.11 Primary and Secondary Memories 1.12 PROM and EPROM 1.13 Summary 1.14 Key Terms 1.15 Answers to ‘Check Your Progress’ 1.16 Questions and Exercises 1.17 Further Reading 1.0 INTRODUCTION The word ‘compute’ means to calculate and we are all aware of the calculations we are required to do in our everyday life, whether it is addition, subtraction, multiplication or subtraction. The earliest known tool for calculations was the abacus, and it was thought to have been invented in Babylon circa 2400 BC. Today, you cannot even think of a life without computers as they exist in every area of our lives, whether it be banking, airlines, communications or simply working in an office. Self-Instructional Material 3 Computer Fundamentals 1.1 UNIT OBJECTIVES After going through this unit, you will be able to: NOTES Understand the different systems of arithmetic used in digital systems Discuss the different arithmetic concepts of integers and fixed and floating points which are used in computer programming. Elaborate on the different functional units of a computer. Analyse the main and auxiliary memory units in a computer. 1.2 NUMBER SYSTEM A number represents a thought that refers to a precise amount of something. Numbers can be expressed in words, gestures and symbols. When expressed in words, numbers are spoken out. Numbers are expressed through gestures using (usually) our hands. Numbers are expressed in symbols that can be written down.
Recommended publications
  • The Comprehensive LATEX Symbol List
    The Comprehensive LATEX Symbol List Scott Pakin <[email protected]>∗ 22 September 2005 Abstract This document lists 3300 symbols and the corresponding LATEX commands that produce them. Some of these symbols are guaranteed to be available in every LATEX 2ε system; others require fonts and packages that may not accompany a given distribution and that therefore need to be installed. All of the fonts and packages used to prepare this document—as well as this document itself—are freely available from the Comprehensive TEX Archive Network (http://www.ctan.org/). Contents 1 Introduction 7 1.1 Document Usage . 7 1.2 Frequently Requested Symbols . 7 2 Body-text symbols 8 Table 1: LATEX 2ε Escapable “Special” Characters . 8 Table 2: Predefined LATEX 2ε Text-mode Commands . 8 Table 3: LATEX 2ε Commands Defined to Work in Both Math and Text Mode . 8 Table 4: AMS Commands Defined to Work in Both Math and Text Mode . 9 Table 5: Non-ASCII Letters (Excluding Accented Letters) . 9 Table 6: Letters Used to Typeset African Languages . 9 Table 7: Letters Used to Typeset Vietnamese . 9 Table 8: Punctuation Marks Not Found in OT1 . 9 Table 9: pifont Decorative Punctuation Marks . 10 Table 10: tipa Phonetic Symbols . 10 Table 11: tipx Phonetic Symbols . 11 Table 13: wsuipa Phonetic Symbols . 12 Table 14: wasysym Phonetic Symbols . 12 Table 15: phonetic Phonetic Symbols . 12 Table 16: t4phonet Phonetic Symbols . 13 Table 17: semtrans Transliteration Symbols . 13 Table 18: Text-mode Accents . 13 Table 19: tipa Text-mode Accents . 14 Table 20: extraipa Text-mode Accents .
    [Show full text]
  • The Intercal Programming Language Revised Reference Manual
    THE INTERCAL PROGRAMMING LANGUAGE REVISED REFERENCE MANUAL Donald R. Woods and James M. Lyon C-INTERCAL revisions: Louis Howell and Eric S. Raymond Copyright (C) 1973 by Donald R. Woods and James M. Lyon Copyright (C) 1996 by Eric S. Raymond Redistribution encouragedunder GPL (This version distributed with C-INTERCAL 0.15) -1- 1. INTRODUCTION The names you are about to ignore are true. However, the story has been changed significantly.Any resemblance of the programming language portrayed here to other programming languages, living or dead, is purely coincidental. 1.1 Origin and Purpose The INTERCAL programming language was designed the morning of May 26, 1972 by Donald R. Woods and James M. Lyon, at Princeton University.Exactly when in the morning will become apparent in the course of this manual. Eighteen years later (give ortakeafew months) Eric S. Raymond perpetrated a UNIX-hosted INTERCAL compiler as a weekend hack. The C-INTERCAL implementation has since been maintained and extended by an international community of technomasochists, including Louis Howell, Steve Swales, Michael Ernst, and Brian Raiter. (There was evidently an Atari implementation sometime between these two; notes on it got appended to the INTERCAL-72 manual. The culprits have sensibly declined to identify themselves.) INTERCAL was inspired by one ambition: to have a compiler language which has nothing at all in common with anyother major language. By ’major’ was meant anything with which the authors were at all familiar,e.g., FORTRAN, BASIC, COBOL, ALGOL, SNOBOL, SPITBOL, FOCAL, SOLVE, TEACH, APL, LISP,and PL/I. For the most part, INTERCAL has remained true to this goal, sharing only the basic elements such as variables, arrays, and the ability to do I/O, and eschewing all conventional operations other than the assignment statement (FORTRAN "=").
    [Show full text]
  • Trinary CPE Report
    Ternary Computing Testbed 3!Trit Computer Architecture Je" Connelly Computer Engineering Department August 29th, 2008 with contributions from Chirag Patel and Antonio Chavez Advised by Professor Phillip Nico California Polytechnic State University of San Luis Obispo Table of Contents 1. Introduction 1 1.1. Method 1 1.2. Plan 2 1.3. Team and Individual Responsibilities 2 1.3.1. Jeff Connelly 2 1.3.2. Antonio Chavez 2 1.3.3. Chirag Patel 3 2. Background Theory 3 2.1. Base 3 3 2.1.1. Compared to Analog 3 2.1.2. Compared to Digital 4 2.1.3. Compared to Base e 5 2.1.4. Trits, Tribbles, and Trytes 7 2.1.5. Base 9 and 27 9 2.1.6. Text 10 2.2. Logic and Arithmetic 10 3. Application Description 10 3.1. Christmas Lights Game 10 3.2. Guessing Game 11 4. Architecture Description 11 4.1. Power Supply 12 4.2. Instruction Memory 13 4.2.1. Experimental Results 16 4.3. Program Counter 16 4.4. Clock Generator 17 4.5. Processor 18 4.5.1. Registers 18 4.5.2. Input and Output 19 4.5.3. 3-Trit Instruction Set 20 4.5.4. LWI Instruction Example (also known as TCA0) 21 4.5.5. CMP Instruction 25 4.5.5.1. ALU 26 4.5.5.2. CMP Instruction Example 29 4.5.6. BE Instruction 31 4.5.6.1. BE Instruction Example 32 4.5.7. Guessing Game Program 33 5. Evaluation 38 6. Conclusion and Future Directions 39 7.
    [Show full text]
  • Math Symbol Tables
    APPENDIX A Math symbol tables A.1 Hebrew and Greek letters Hebrew letters Type Typeset \aleph ℵ \beth ℶ \daleth ℸ \gimel ℷ © Springer International Publishing AG 2016 481 G. Grätzer, More Math Into LATEX, DOI 10.1007/978-3-319-23796-1 482 Appendix A Math symbol tables Greek letters Lowercase Type Typeset Type Typeset Type Typeset \alpha \iota \sigma \beta \kappa \tau \gamma \lambda \upsilon \delta \mu \phi \epsilon \nu \chi \zeta \xi \psi \eta \pi \omega \theta \rho \varepsilon \varpi \varsigma \vartheta \varrho \varphi \digamma ϝ \varkappa Uppercase Type Typeset Type Typeset Type Typeset \Gamma Γ \Xi Ξ \Phi Φ \Delta Δ \Pi Π \Psi Ψ \Theta Θ \Sigma Σ \Omega Ω \Lambda Λ \Upsilon Υ \varGamma \varXi \varPhi \varDelta \varPi \varPsi \varTheta \varSigma \varOmega \varLambda \varUpsilon A.2 Binary relations 483 A.2 Binary relations Type Typeset Type Typeset < < > > = = : ∶ \in ∈ \ni or \owns ∋ \leq or \le ≤ \geq or \ge ≥ \ll ≪ \gg ≫ \prec ≺ \succ ≻ \preceq ⪯ \succeq ⪰ \sim ∼ \approx ≈ \simeq ≃ \cong ≅ \equiv ≡ \doteq ≐ \subset ⊂ \supset ⊃ \subseteq ⊆ \supseteq ⊇ \sqsubseteq ⊑ \sqsupseteq ⊒ \smile ⌣ \frown ⌢ \perp ⟂ \models ⊧ \mid ∣ \parallel ∥ \vdash ⊢ \dashv ⊣ \propto ∝ \asymp ≍ \bowtie ⋈ \sqsubset ⊏ \sqsupset ⊐ \Join ⨝ Note the \colon command used in ∶ → 2, typed as f \colon x \to x^2 484 Appendix A Math symbol tables More binary relations Type Typeset Type Typeset \leqq ≦ \geqq ≧ \leqslant ⩽ \geqslant ⩾ \eqslantless ⪕ \eqslantgtr ⪖ \lesssim ≲ \gtrsim ≳ \lessapprox ⪅ \gtrapprox ⪆ \approxeq ≊ \lessdot
    [Show full text]
  • Blahtex and Blahtexml Version 0.9 Manual
    Blahtex and Blahtexml version 0.9 manual David Harvey and Gilles Van Assche Copyright (c) 2006, David Harvey. Copyright (c) 2007-2010, Gilles Van Assche. The text of this manual is licensed under the Creative Commons Attribution license. 1 Introduction This is the manual for blahtex and blahtexml version 0.9. The most up-to-date information about blahtex and blahtexml is available at http://gva.noekeon.org/blahtexml/. 1.1 How this document is organised • What blahtex can handle (Section 2) explains what kind of TEX input blahtex can cope with, and how it differs from texvc. • The blahtex command-line application (Section 3) describes how to compile, install, and run the blahtex command-line application, and how to interpret its output. This will be of interest to developers who would like a simple way to incorporate blahtex into their project. • The blahtexml command-line application (Section 4) describes how to compile, install, and run the blahtexml command-line application. • The blahtex API (Section 5) describes how to link blahtex directly into your code, which might give better performance in some environments. • History/changelog (Section 6) summarises previous versions and changes. 1.2 What is blahtex? Blahtex is a free software tool/library that translates TEX markup into MathML markup. It is also capable of generating PNG format images, using some exter- nal tools (LATEX and dvipng). Blahtex is not designed to process entire TEX documents. Rather, it focuses on the mathematical capabilities of the TEX language, processing only a single equation at a time. It is designed to provide mathematical support to a larger document markup system.
    [Show full text]
  • Malbolge from Wikipedia, the Free Encyclopedia
    Malbolge From Wikipedia, the free encyclopedia Malbolge is a public domain esoteric programming language invented by Ben Olmstead in 1998, named after the eighth circle of hell in Dante's Inferno, the Malebolge. Malbolge Paradigm Esoteric, Imperative, Malbolge was specifically designed to be almost impossible to use, via a counter-intuitive 'crazy operation', base-three Scalar, Value-level arithmetic, and self-altering code.[1] It builds on the difficulty of earlier, challenging esoteric languages (such as Brainfuck and Befunge), but takes this aspect to the extreme, playing on the entangled histories of computer science and encryption. Despite Designed by Ben Olmstead this design, it is possible (though very difficult) to write useful Malbolge programs. First appeared 1998 Typing Untyped discipline Contents Filename .mal, .mb extensions Influenced by 1 Programming in Malbolge 2 Example Program Brainfuck, INTERCAL (Tri-INTERCAL), Befunge 2.1 Hello, World! Influenced 2.2 CAT Program Dis 3 Design 3.1 Registers 3.2 Pointer notation 3.3 Memory 3.4 Instructions 3.5 Crazy operation 3.6 Encryption 4 Variants 5 Popular culture 6 See also 7 References 8 External links Programming in Malbolge Malbolge was so difficult to understand when it arrived that it took two years for the first Malbolge program to appear. Indeed, the author himself has never written a single Malbolge program.[1] The first program was not written by a human being: it was generated by a beam search algorithm designed by Andrew Cooke and implemented in Lisp.[2] Later, Lou Scheffer posted a cryptanalysis of Malbolge and provided a program to copy its input to its output.[3] He also saved the original interpreter and specification after the original site stopped functioning, and offered a general strategy of writing programs in Malbolge as well as some thoughts on its Turing-completeness.[4] Olmstead believed Malbolge to be a linear bounded automaton.
    [Show full text]
  • Esoteric Programming Languages
    Esoteric Programming Languages An introduction to Brainfuck, INTERCAL, Befunge, Malbolge, and Shakespeare Sebastian Morr Braunschweig University of Technology [email protected] ABSTRACT requires its programs to look like Shakespearean plays, mak- There is a class of programming languages that are not actu- ing it a themed language. It is not obvious at all that the ally designed to be used for programming. These so-called resulting texts are, in fact, meaningful programs. For each “esoteric” programming languages have other purposes: To language, we are going describe its origins, history, and to- entertain, to be beautiful, or to make a point. This paper day’s significance. We will explain how the language works, describes and contrasts five influential, stereotypical, and give a meaningful example and mention some popular imple- widely different esoteric programming languages: The mini- mentations and variants. All five languages are imperative languages. While there mal Brainfuck, the weird Intercal, the multi-dimensional Befunge, the hard Malbolge, and the poetic Shakespeare. are esoteric languages which follow declarative programming paradigms, most of them are quite new and much less popu- lar. It is also interesting to note that esoteric programming 1. INTRODUCTION languages hardly ever seem to get out of fashion, because While programming languages are usually designed to be of their often unique, weird features. Whereas “real” multi- used productively and to be helpful in real-world applications, purpose languages are sometimes replaced by more modern esoteric programming languages have other goals: They can ones that add new features or make programming easier represent proof-of-concepts, demonstrating how minimal a in some way, esoteric languages are not under this kind of language syntax can get, while still maintaining universality.
    [Show full text]
  • The Comprehensive Latex Symbol List
    The Comprehensive LATEXSymbolList Scott Pakin <[email protected]>∗ 29 September 2003 Abstract This document lists 2826 symbols and the corresponding LATEX commands that produce them. Some of these symbols are guaranteed to be available in every LATEX2ε system; others require fonts and packages that may not accompany a given distribution and that therefore need to be installed. All of the fonts and packages used to prepare this document—as well as this document itself—are freely available from the Comprehensive TEX Archive Network (http://www.ctan.org). Contents 1 Introduction 6 1.1DocumentUsage.............................................. 6 1.2FrequentlyRequestedSymbols...................................... 6 2 Body-text symbols 7 Table 1: LATEX2ε Escapable“Special”Characters............................. 7 Table 2: LATEX2ε CommandsDefinedtoWorkinBothMathandTextMode.............. 7 Table 3: Predefined LATEX2ε Text-modeCommands............................ 7 Table4: Non-ASCIILetters(ExcludingAccentedLetters)........................ 8 Table5: LettersUsedtoTypesetAfricanLanguages............................ 8 Table6: PunctuationMarksNotFoundinOT1.............................. 8 Table 7: pifont DecorativePunctuationMarks............................... 8 Table 8: wasysym PhoneticSymbols..................................... 8 Table 9: tipa PhoneticSymbols........................................ 9 Table 10: wsuipa PhoneticSymbols...................................... 10 Table 11: phonetic PhoneticSymbols..................................... 11 Table12:Text-modeAccents........................................
    [Show full text]
  • Esoteric Programming Languages
    Esoteric programming languages Useful applications, business perspectives and why they don´t matter For information on proofs and theoretical background please read the documentation and ask Prof. Glaßer or employees Reasons for programming having fun automating boring stuff Making money art? food? science? love? Chef ● Design principles Fibonacci Pizza. – Program recipes should not only generate Adding Fibonacci flavour to pizzas. valid output, but be easy to prepare and delicious. Ingredients. pizza – Recipes may appeal to cooks with different 1 kg cheese budgets. 1 kg Jalapenos – Recipes will be metric, but may use 1 l tabasco traditional cooking measures such as cups 2 ml water and tablespoons. Method. ● Programming language Put tabasco into mixing bowl. Remove water from mixing bowl. Fold tabasco into mixing bowl. Take pizza – Stack based programming from refrigerator. Heat the pizza. Put cheese into mixing bowl. Add jalapenos to mixing bowl. Put – Turing-complete jalapenos into mixing bowl. Fold cheese into mixing bowl. Fold jalapenos into mixing bowl. Put pizza into mixing bowl. Add tabasco to mixing bowl. Fold pizza into mixing bowl. Heat the pizza until hot Put pizza into mixing bowl. Add cheese to mixing bowl. Serves 1. Chef → 1 Fibonacci Pizza. → 2 Adding Fibonacci flavour to pizzas. → 3 Ingredients. → 4 pizza → 5 1 kg cheese → 6 1 kg Jalapenos → 7 1 l tabasco null3210 123 1235 -11 2 → 8 2 ml water Variables → 9 Method. →10 Put tabasco into mixing bowl. →11 Remove water from mixing bowl. →12 Fold tabasco into mixing bowl. →13 Take pizza from refrigerator. →14 Heat the pizza. →15 Put cheese into mixing bowl.
    [Show full text]
  • A Box, Darkly: Obfuscation, Weird Languages, and Code Aesthetics
    [Submitted to DAC 2005 — 15 August 2005] A Box, Darkly: Obfuscation, Weird Languages, and Code Aesthetics Michael Mateas Nick Montfort Georgia Institute of Technology University of Pennsylvania School of Literature, Communication and Culture Department of Computer and Information Science 686 Cherry Street, Atlanta, GA 30032 USA 3330 Walnut Street, Philadelphia, PA 19104 USA [email protected] [email protected] ABSTRACT This paper suggests some ways to enlarge the an aesthetics of The standard idea of code aesthetics, when such an idea code to account for the existence of obfuscated programming as manifests itself at all, allows for programmers to have elegance a practice and for these unusual languages. Such consideration and clarity as their standards. This paper explores programming shows that a previously neglected layer of computing and new practices in which other values are at work, showing that the media is available for rich aesthetic understanding. aesthetics of code must be enlarged to accommodate them. The two practices considered are obfuscated programming and the 2. READING CODE creation of “weird languages” for coding. Connections between Version 2.1 of the online lexical reference system WordNet gives 11 senses for “read,” including “look at, interpret, and say these two practices, and between these and other mechanical and literary aesthetic traditions, are discussed. out loud something that is written or printed” and “interpret the significance of, as of palms, tea leaves, intestines, the sky, etc.; 1. INTRODUCTION also of human behavior.” [14] This discussion is about a fairly Programmers write code in order to cause the computer to literal application of the most common sense, “interpret function in desired ways.
    [Show full text]
  • Unicode Characters and Corresponding Latex Math Mode Commands
    003DC Ϝzϝ Ϝzϝ\digamma Unicode characters and corresponding LaTeX math mode commands Active features: literal. Used packages: amssymb, amsmath, amsxtra, bbold, isomath, mathdots, stmaryrd, wasysym. Due to (8-bit) TeX’s limitation to 16 math alphabets and conflicts between some packages, not all symbols can accessed simultaneously. [na] in the math symbol column indicates that the symbol is not available with the currently selected packages. No. Text Math Macro Category Requirements Comments 00021 ! ! ! mathpunct EXCLAMATION MARK 00023 # # \# mathord -oz # \# (oz), NUMBER SIGN 00024 $ $ \$ mathord = \mathdollar, DOLLAR SIGN 00025 % % \% mathord PERCENT SIGN 00026 & & \& mathord # \binampersand (stmaryrd) 00028 ( ( ( mathopen LEFT PARENTHESIS 00029 ) ) ) mathclose RIGHT PARENTHESIS 0002A * ∗ * mathord # \ast, (high) ASTERISK, star 0002B + + + mathbin PLUS SIGN 0002C , ; , mathpunct COMMA 0002D - mathbin t -, HYPHEN-MINUS (deprecated for math) 0002E . : . mathalpha FULL STOP, period 0002F / = / mathord # \slash, SOLIDUS 00030 0 0 0 mathord DIGIT ZERO 00031 1 1 1 mathord DIGIT ONE 00032 2 2 2 mathord DIGIT TWO 00033 3 3 3 mathord DIGIT THREE 00034 4 4 4 mathord DIGIT FOUR 00035 5 5 5 mathord DIGIT FIVE 00036 6 6 6 mathord DIGIT SIX 00037 7 7 7 mathord DIGIT SEVEN 00038 8 8 8 mathord DIGIT EIGHT 00039 9 9 9 mathord DIGIT NINE 0003A : : : mathpunct -literal = \colon (literal), COLON (not ratio) 0003B ; ; ; mathpunct SEMICOLON p: 0003C < < < mathrel LESS-THAN SIGN r: 0003D = = = mathrel EQUALS SIGN r: 0003E > > > mathrel GREATER-THAN SIGN r: 0003F
    [Show full text]
  • The Microtype Package Subliminal Refinements Towards Typographical Perfection
    The microtype package Subliminal refinements towards typographical perfection R Schlicht v2.8c [email protected] 2021/03/14 The microtype package provides aLaTeX interface to the micro-typographic exten- sions that were introduced by pdfTeX and have since also propagated to LuaTeX and X Te eX: most prominently, character protrusion and font expansion, furthermore the adjustment of interword spacing and additional kerning, as well as hyphenatable letterspacing (tracking) and the possibility to disable all or selected ligatures. These features may be applied to customisable sets of fonts, and all micro-typographic aspects of the fonts can be configured in a straight-forward and flexible way. Settings for various fonts are provided. Note that character protrusion requires pdfTeX (version 0.14f or later), LuaTeX, or X Te eX (at least version 0.9997). Font expansion works with pdfTeX (version 1.20 for automatic expansion) or LuaTeX. The package will by default enable protrusion and expansion if they can safely be assumed to work. Disabling ligatures requires pdfTeX( 1.30) or LuaTeX, while the adjustment of interword spacing and of kerning only works≥ with pdfTeX( 1.40). Letterspacing is available with pdfTeX( 1.40) or LuaTeX( 0.62). ≥ ≥ The alternative≥ package letterspace, which also works with plainT eX, provides the user commands for letterspacing only, omitting support for all other extensions (see section7). This package is copyright © 2004–2021 R Schlicht. It may be distributed and/or modified under the conditions of theLaTeX Project Public License, either version 1.3c of this license or (at your option) any later version.
    [Show full text]