Lecture_Module3 Prof Saroj Kaushik, IIT Delhi
|
|
- Regina Hubbard
- 5 years ago
- Views:
Transcription
1 Lecture_Module3
2 Problem definition Method (how to solve it) Algorithm Data structure Verification for correctness Analysis for efficiency Coding in given programming language Understanding of computer architecture Compilation, testing, de-bugging Documentation 2
3 Most difficult Requires interaction between programmer and user Specs include: Input data Type, accuracy, units, range, format, location, sequence Special symbols to signal end of data Output data (results) type, accuracy, units, range, format, location, headings How is output related to input Any special constraint Example: find the phone no. of a person Problems get revised often 3
4 It is a finite set of instructions which, if followed accomplish a particular task. It is basically used to describe a problem solving method suitable for implementation as a computer program. Algorithm is independent of the machine and language used for implementation. 4
5 Input Zero or more quantities are supplied externally Output At least one quantity is produced Definiteness Each instruction is clear & unambiguous Finiteness It terminates after finite steps Effectiveness Each instruction is simple to be carried out manually. 5
6 An unambiguous specification of a method Is characterized by: Ordered sequence of well-defined, effective operations that, when executed, will produce a result after terminating within a finite no of steps 6
7 Well-defined and effective No ambiguity, a method must exist Good Examples: Add 1 to x compute largest prime no. < 100 compute square root of x to 4 decimal places Bad examples: divide 10 by x compute largest prime compute square root of x 7
8 Always terminate, and be sure about it Produce correct results this may require some hard thinking testing helps, but is not adequate 8
9 Basic differences are: Program is written in programming language whereas algorithm is in English like pseudo language. Program may be non terminating (OS) whereas algorithm should terminate in finite steps. 9
10 Study of algorithm can be classified in four distinct areas namely how to devise express validate analyze algorithms 10
11 Devising good algorithm: Requires study of various design techniques Top down, bottom up and object oriented approaches Expressing an algorithm: Good algorithms are expressed using principle of structured programming Validation of algorithm: It should be validated for correctness of all possible legal inputs. (correct, incorrect, exceptions) Note that algorithm need not yet be expressed as a computer program. 11
12 Analysis of an algorithm: Study of behavior pattern or performance profile. It can be calculated in terms of computing time and space requirement in the machine. Time Complexity: Running time of the program as a function of the size of input. Space Complexity: Amount of computer memory required during the program execution. 12
13 In top-down model, an overview of the system is formulated, without going into detail for any part of it. Each part of the system is then refined in more details. Each new part may then be refined again, defining it in yet more details until the entire specification is detailed enough to validate the model. 13
14 This design model can also be applied while developing algorithm. It basically refers to successive refinement of the problem (task) into sub problems (subtasks). Refinement is applied until we reach to the stage where the subtasks can be directly carried out. 14
15 Main Task subtask1 subtask2 subtask3 15
16 In bottom-up design individual parts of the system are specified in details. The parts are then linked together to form larger components, which are in turn linked until a complete system is formed. Object-oriented languages such as C++ or JAVA use bottom-up approach where each object is identified first. 16
17 17
18 It is a technique using which one can write algorithms (programs) in top down fashion. This technique should be used with every level of refinement. In SP, one entry and one exit principle is adopted in all the constructs. Basically there are three structures in SP 18
19 Sequential (sequence) entry T1 T2 exit 19
20 If cond then task1 Cond N Y task1 If cond then task1 else task2 task2 N Cond Y task1 20
21 While While (cond) do { } Repeat Repeat Until (cond) 21
22 for ordered sequence T1, while C then T2,T3 T1 N C T2 Y T3 22
23 for ordered sequence T1, Repeat T2 until C,T3 T1 T2 N C T3 Y 23
24 What is the difference between: S1 S1 S2 C N Y Y C N S2 S3 S3 S1, Repeat S2 until C, S3 S1, While C { S2 }, S3 24
25 Computation of income tax Given a tax table as below, compute the tax, T, on an income, X. INCOME TAX 0 <= INC <= <= INC <= *(INC ) <= INC <= *(INC ) <= INC *(INC ) Here is an algorithm: Step 1: Input INC; Step 2: Compute tax, T; Step 3: Output T 25
26 Step 1: Input INC; Step 2a: if INC > then T *(INC ); Step 2b: if INC > and INC then T *(INC ); Step 2c: if INC > and INC then T *(INC ); Step 2d: if INC then T 0; Step 3: Output T 26
27 Table look-up: Consider: special key K, length of list, 5 or N, more generally unsorted L = [(x1, y1), (x2, y2), (x3, y3), (x4, y4), (x5, y5)], where xi is key and yi is corresponding output value Problem is to search whether key K is in the list and output relevant pair if it exist Here is an algorithm: Step 1: Input all data, K, and list L; Step 2: Search for K in L; Step 3: Output results 27
28 Here is refined version of the algorithm: Input K; Input (x1, y1); Input (x2, y2); Input (x3, y3); Input (x4, y4); Input (x5, y5); If K = x1 then output (x1, y1); If K = x2 then output (x2, y2); If K = x3 then output (x3, y3); If K = x4 then output (x4, y4); If K = x5 then output (x5, y5) 28
29 This algorithm does the same thing, except that it is compact: Input K; Repeat these operations 5 times: { Input (x, y); If K = x then output (x, y) } 29
30 An even better algorithm: Input n; If n > 0 then { Input K; Repeat these operations n times: { Input (x, y); If K = x then output (x, y) } } 30
31 Formula: x1 = [(-b) + (b 2 4ac)]/2a x2 = [(-b) - (b 2 4ac)]/2a Algorithm: input a, b, c; d = b*b 4*a*c; if (d 0) then { e = sqrt(d); r1 = (-b + e) / (2*a); r2 = (-b - e) / (2*a); i1=0; i2 =0 } else { e = sqrt(-d); r1 = (-b) / (2*a); r2 = r1; i1= e / (2*a); i2 = -e/(2*a); } output r1,r2,i1,i2
32 Formula: fact = n * n-1 * * 2 * 1 Algorithm: input n; i = 0; initialization fact = 1; looping while (i < n) { i = i + 1; fact = i * fact; } output fact Execution Let n = 4; i = 0; fact = 1; while loop 0 < 4; i = i +1=1; fact = 1 * 1; 1 < 4; i = i +1=2; fact = 1 * 2; 2 < 4; i = i +1=3; fact = 2 * 3; 3 < 4; i = i +1=4; fact = 6 * 4 4 < 4 is false so exit the while loop; output fact = 24 32
33 Algorithm: input num; rev = 0; while (num > 0) { rev = rev*10 + num mod 10; num = num div 10; } output rev Execution num = 245; rev = 0; while loop rev = 0 * = 5; num = 24; rev = 5 * = 54; num = 2; rev = 54 * = 542; num = 0; exit while output rev as
34 Algorithm: Here number is read in the loop. At the end of loop, read elements are not available. max = 0; i=0; while (i < 100) { i = i+1; input num; if (num > max) then max = num; } output max 34
35 Algorithm: input num(i), i = 1,100; max = 0; i = 0; while (i < 100) { i = i+1; if (num(i) > max) then max = num(i); } output max, num(i), i = 1,100 Execution Let numbers are: 4, 2,7,1 max = 0; i = 0; while loop i = 1; 4 > max so max = 4; i = 2; 2 < max so no change i = 3; 7 > max so max = 7; i = 4; 1 < max so no change exit of while output max as 7 and numbers as 4, 2, 7, 1 35
36 Series:f=0!+1!+2!+ +n! (n 0) Algorithm: Here we are given the value of n. Series sum is calculated by finding sum after adding previous sum with a term at each step. input n; f=0;term=1;i=0; while (i < n) { f=f+term; i=i+1; term = term * i; } output f
C Program. Output. Hi everyone. #include <stdio.h> main () { printf ( Hi everyone\n ); }
C Program Output #include main () { printf ( Hi everyone\n ); Hi everyone #include main () { printf ( Hi everyone\n ); #include and main are Keywords (or Reserved Words) Reserved Words
More informationConstructing Algorithms and Pseudocoding This document was originally developed by Professor John P. Russo
Constructing Algorithms and Pseudocoding This document was originally developed by Professor John P. Russo Purpose: # Describe the method for constructing algorithms. # Describe an informal language for
More informationEECS1012. Net-centric Introduction to Computing. Lecture 7 Computational Thinking. Fall 2018, EECS York University. M.S. Brown and Amir H.
EECS1012 Net-centric Introduction to Computing Lecture 7 Computational hinking all 2018, EECS York University M.S. Brown and Amir H. Chinaei overview computational thinking the thought process involved
More informationProblem Solving and Algorithms
Problem Solving and Algorithms Problem Solving We do it all the time Approaches: Less successful Grope blindly toward a solution Fail to complete a chain or reasoning Successful Begin with what is understood
More informationAlgorithm Discovery and Design. Why are Algorithms Important? Representing Algorithms. Chapter 2 Topics: What language to use?
Algorithm Discovery and Design Chapter 2 Topics: Representing Algorithms Algorithmic Problem Solving CMPUT101 Introduction to Computing (c) Yngvi Bjornsson & Jia You 1 Why are Algorithms Important? If
More information1.3 Conditionals and Loops. 1.3 Conditionals and Loops. Conditionals and Loops
1.3 Conditionals and Loops any program you might want to write objects functions and modules graphics, sound, and image I/O arrays conditionals and loops Math primitive data types text I/O assignment statements
More informationPROGRAM DESIGN TOOLS. Algorithms, Flow Charts, Pseudo codes and Decision Tables. Designed by Parul Khurana, LIECA.
PROGRAM DESIGN TOOLS Algorithms, Flow Charts, Pseudo codes and Decision Tables Introduction The various tools collectively referred to as program design tools, that helps in planning the program are:-
More informationChapter 8 Algorithms 1
Chapter 8 Algorithms 1 Objectives After studying this chapter, the student should be able to: Define an algorithm and relate it to problem solving. Define three construct and describe their use in algorithms.
More information1.3 Conditionals and Loops
.3 Conditionals and Loops Introduction to Programming in Java: An Interdisciplinary Approach Robert Sedgewick and Kevin Wayne Copyright 2008 February 04, 2008 0:00 AM A Foundation for Programming A Foundation
More informationFortran 90 Two Commonly Used Statements
Fortran 90 Two Commonly Used Statements 1. DO Loops (Compiled primarily from Hahn [1994]) Lab 6B BSYSE 512 Research and Teaching Methods The DO loop (or its equivalent) is one of the most powerful statements
More information1.3 Conditionals and Loops
1 1.3 Conditionals and Loops any program you might want to write objects functions and modules graphics, sound, and image I/O arrays conditionals and loops to infinity and beyond Math primitive data types
More informationLecture 3: Loops. While Loops. While Loops: Powers of Two. While Loops: Newton-Raphson Method
While Loops Lecture : Loops The while loop is a common repetition structure. Check loop-continuation condition. Execute a sequence of statements. Repeat. while (boolean expression) statement; while loop
More informationINTRODUCTION TO ALGORITHMS
UNIT- Introduction: Algorithm: The word algorithm came from the name of a Persian mathematician Abu Jafar Mohammed Ibn Musa Al Khowarizmi (ninth century) An algorithm is simply s set of rules used to perform
More informationLecture 3: Loops. While Loops. While Loops: Newton-Raphson Method. While Loops: Powers of Two
While Loops Lecture 3: Loops The while loop is a common repetition structure. Check loop-continuation condition. Execute a sequence of statements. Repeat. while (boolean expression) statement; while loop
More informationComputational Mathematics: Models, Methods and Analysis. Zhilin Li
Computational Mathematics: Models, Methods and Analysis Zhilin Li Chapter 1 Introduction Why is this course important (motivations)? What is the role of this class in the problem solving process using
More informationUnit-II Programming and Problem Solving (BE1/4 CSE-2)
Unit-II Programming and Problem Solving (BE1/4 CSE-2) Problem Solving: Algorithm: It is a part of the plan for the computer program. An algorithm is an effective procedure for solving a problem in a finite
More information8 Algorithms 8.1. Foundations of Computer Science Cengage Learning
8 Algorithms 8.1 Foundations of Computer Science Cengage Learning 8.2 Objectives After studying this chapter, the student should be able to: Define an algorithm and relate it to problem solving. Define
More informationAlgorithm Discovery and Design
Algorithm Discovery and Design Chapter 2 The Algorithmic Foundations of Computer Science Algorithms Algorithm Step-by-step method for accomplishing some task Operations used to construct algorithms Sequential,
More informationThe births of the generations are as follow. First generation, 1945 machine language Second generation, mid 1950s assembly language.
Lesson Outcomes At the end of this chapter, student should be able to: Describe what a computer program is Explain the importance of programming to computer use Appreciate the importance of good programs
More informationEmbedded Systems Design with Platform FPGAs
Embedded Systems Design with Platform FPGAs Spatial Design Ron Sass and Andrew G. Schmidt http://www.rcs.uncc.edu/ rsass University of North Carolina at Charlotte Spring 2011 Embedded Systems Design with
More information! Sequence of statements that are actually executed in a program. ! Conditionals and loops: enable us to choreograph control flow.
Control Flow 1.3 Conditionals and Loops Control flow.! Sequence of statements that are actually executed in a program.! Conditionals and loops: enable us to choreograph control flow. statement 1 boolean
More information1. General Computer Questions
CE 311K Introduction to Computer Methods McKinney Example Problems Section Page 1. General Computer Questions... 1 2. Flowcharts... 2 3. Number Systems... 3 5. Programming Language Facts... 4 1. General
More informationCompiler Construction
Compiler Construction Exercises 1 Review of some Topics in Formal Languages 1. (a) Prove that two words x, y commute (i.e., satisfy xy = yx) if and only if there exists a word w such that x = w m, y =
More informationIntroduction to Computer Science Unit 2. Notes
Introduction to Computer Science Unit 2. Notes Name: Objectives: By the completion of this packet, students should be able to describe the difference between.java and.class files and the JVM. create and
More informationRepetition Algorithms
Repetition Algorithms Repetition Allows a program to execute a set of instructions over and over. The term loop is a synonym for a repetition statement. A Repetition Example Suppose that you have been
More informationOutline. Introduction to Programming (in C++) Introduction. First program in C++ Programming examples
Outline Introduction to Programming (in C++) Introduction Programming examples Algorithms, programming languages and computer programs Jordi Cortadella, Ricard Gavaldà, Fernando Orejas Dept. of Computer
More informationSNS COLLEGE OF ENGINEERING,
SNS COLLEGE OF ENGINEERING, COIMBATORE Department of Computer Science and Engineering QUESTION BANK(PART A) GE8151 - PROBLEM SOLVING AND PYTHON PROGRAMMING TWO MARKS UNIT-I 1. What is computer? Computers
More informationSteps to program development
Automate processes - Programming Concepts and Design Steps to program development A computer program is a set of formal instructions, which the computer executes in order to carry out some designated task.
More informationCS111: PROGRAMMING LANGUAGE1. Lecture 2: Algorithmic Problem Solving
CS111: PROGRAMMING LANGUAGE1 Lecture 2: Algorithmic Problem Solving Agenda 2 Problem Solving Techniques Pseudocode Algorithm Flow charts Examples How People Solve Problems 3 A Problem exists when what
More information2.3 Flow Control. Flow-Of-Control. If-Else: Leap Year. If-Else
Flow-Of-Control 2.3 Flow Control Flow-of-control. Sequence of statements that are actually executed in a program. Conditionals and loops: enable us to harness power of the computer. statement 1 boolean
More informationClassic Data Structures Introduction UNIT I
ALGORITHM SPECIFICATION An algorithm is a finite set of instructions that, if followed, accomplishes a particular task. All algorithms must satisfy the following criteria: Input. An algorithm has zero
More informationPROBLEM SOLVING TECHNIQUES SECTION - A. 1. Answer any ten of the following
PROBLEM SOLVING TECHNIQUES SECTION - A 1. Answer any ten of the following a. Define an algorithm. An algorithm is a finite set of instructions that if followed, accomplishes a particular task. b. Define
More informationCSci 1113, Fall 2015 Lab Exercise 4 (Week 5): Write Your Own Functions. User Defined Functions
CSci 1113, Fall 2015 Lab Exercise 4 (Week 5): Write Your Own Functions User Defined Functions In previous labs, you've encountered useful functions, such as sqrt() and pow(), that were created by other
More informationELEMENTARY NUMBER THEORY AND METHODS OF PROOF
CHAPTER 4 ELEMENTARY NUMBER THEORY AND METHODS OF PROOF Copyright Cengage Learning. All rights reserved. SECTION 4.8 Application: Algorithms Copyright Cengage Learning. All rights reserved. Application:
More informationHomework #2. If (your ID number s last two digits % 6) = 0: 6, 12, 18
2005/Sep/19 1 Homework #2 Chapter 1: Exercises 7, 9 with modifications: for Exercise 7.a: 20 and 32 are changed as your ID number s last two digits and 60. for Exercise 9: 47x25 are change as 47x(your
More informationYEAH 2: Simple Java! Avery Wang Jared Bitz 7/6/2018
YEAH 2: Simple Java! Avery Wang Jared Bitz 7/6/2018 What are YEAH Hours? Your Early Assignment Help Only for some assignments Review + Tips for an assignment Lectures are recorded, slides are posted on
More informationAlgorithms. Chapter 8. Objectives After studying this chapter, students should be able to:
Objectives After studying this chapter, students should be able to: Chapter 8 Algorithms Define an algorithm and relate it to problem solving. Define three construct and describe their use in algorithms.
More informationCS101 Introduction to computing Problem Solving (Computing)
CS101 Introduction to computing Problem Solving (Computing) A. Sahu and S. V.Rao Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati 1 Outline Problem Solving : Process involves Definition,
More informationFunctions. Lecture 6 COP 3014 Spring February 11, 2018
Functions Lecture 6 COP 3014 Spring 2018 February 11, 2018 Functions A function is a reusable portion of a program, sometimes called a procedure or subroutine. Like a mini-program (or subprogram) in its
More information1.3 Conditionals and Loops
A Foundation for Programming 1.3 Conditionals and Loops any program you might want to write objects functions and modules graphics, sound, and image I/O arrays conditionals and loops Math primitive data
More informationHandout 9: Imperative Programs and State
06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative
More informationPythagorean Triples. Chapter 2. Exercises
Chapter Pythagorean Triples Exercises.1. (a) We showed that in any primitive Pythagorean triple (a, b, c), either a or b is even. Use the same sort of argument to show that either a or b must be a multiple
More informationSyntax of for loop is as follows: for (inite; terme; updatee) { block of statements executed if terme is true;
Birla Institute of Technology & Science, Pilani Computer Programming (CSF111) Lab-5 ---------------------------------------------------------------------------------------------------------------------------------------------
More informationPROGRAM DESIGN TOOLS. Algorithms, Flow Charts, Pseudo codes and Decision Tables. Designed by Parul Khurana, LIECA.
PROGRAM DESIGN TOOLS Algorithms, Flow Charts, Pseudo codes and Decision Tables Pseudo-Code Pseudo-code is another programming tool that is used for planning the program. The word pseudo means imitation
More informationIntroduction to Computer Science Unit 2. Notes
Introduction to Computer Science Unit 2. Notes Name: Objectives: By the completion of this packet, students should be able to describe the difference between.java and.class files and the JVM. create and
More informationUNDERSTANDING PROBLEMS AND HOW TO SOLVE THEM BY USING COMPUTERS
UNDERSTANDING PROBLEMS AND HOW TO SOLVE THEM BY USING COMPUTERS INTRODUCTION TO PROBLEM SOLVING Introduction to Problem Solving Understanding problems Data processing Writing an algorithm CONTINUE.. Tool
More informationIntroduction Objectives: 1) differentiate between high-level, low-level, and machine language; 2) explain why it is necessary to translate a program
Introduction Objectives: 1) differentiate between high-level, low-level, and machine language; 2) explain why it is necessary to translate a program written in a high-level programming language into machine
More informationPROCESS SPECIFICATION
MODULE 6 PROCESS SPECIFICATIO OBJECTIVE QUESTIOS There are 4 alternative answers to each question. One of them is correct. Pick the correct answer. Do not guess. A key is given at the end of the module
More informationCSc 10200! Introduction to Computing. Lecture 1 Edgardo Molina Fall 2013 City College of New York
CSc 10200! Introduction to Computing Lecture 1 Edgardo Molina Fall 2013 City College of New York 1 Introduction to Computing Lectures: Tuesday and Thursday s (2-2:50 pm) Location: NAC 1/202 Recitation:
More informationCITS5501 Software Testing and Quality Assurance Formal methods
CITS5501 Software Testing and Quality Assurance Formal methods Unit coordinator: Arran Stewart May 1, 2018 1 / 49 Sources Pressman, R., Software Engineering: A Practitioner s Approach, McGraw-Hill, 2005
More informationAP Computer Science Unit 1. Programs
AP Computer Science Unit 1. Programs Open DrJava. Under the File menu click on New Java Class and the window to the right should appear. Fill in the information as shown and click OK. This code is generated
More information1. INTRODUCTION TO DATA STRUCTURE
1. INTRODUCTION TO DATA STRUCTURE 1.1 What is Data Structure? Data Structure: Data structure is a way to storing and organizing data in a computer so that it can be used efficiently. Data structure is
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 01: Procedural Programming MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Procedural Programming 2 Introduction Procedural Programming: General Overview Procedural Programming:
More information[IT6004-SOFTWARE TESTING] UNIT 2
1. List the two basic Testing strategies. UNIT 2 Black box testing. White box testing. 2. What are the knowledge sources for Black box testing? Requirements Document specification Domain knowledge Defect
More informationExcel Lesson 3 USING FORMULAS & FUNCTIONS
Excel Lesson 3 USING FORMULAS & FUNCTIONS 1 OBJECTIVES Enter formulas in a worksheet Understand cell references Copy formulas Use functions Review and edit formulas 2 INTRODUCTION The value of a spreadsheet
More informationChapter 6 Programming the LC-3
Chapter 6 Programming the LC-3 Based on slides McGraw-Hill Additional material 4/5 Lewis/Martin Aside: Booting the Computer How does it all begin? We have LC-3 hardware and a program, but what next? Initial
More informationConcepts Review. 2. A program is the implementation of an algorithm in a particular computer language, like C and C++.
Concepts Review 1. An algorithm is a sequence of steps to solve a problem. 2. A program is the implementation of an algorithm in a particular computer language, like C and C++. 3. A flowchart is the graphical
More informationMathematics Stage 4 Diagnostic Tasks Answers with Common Errors
Mathematics Stage 4 Diagnostic Tasks Answers with Answers Computation with Integers An integer is a positive or negative whole number, or zero. Not recognising negative numbers as integers. Just writing
More informationDLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 3 DLD P VIDYA SAGAR
DLD UNIT III Combinational Circuits (CC), Analysis procedure, Design Procedure, Combinational circuit for different code converters and other problems, Binary Adder- Subtractor, Decimal Adder, Binary Multiplier,
More informationSupersedes: S-S-01. (a) acceptance sampling of discrete units presented for inspection in lots;
Specifications Category: STATISTICAL METHOD Specification: S-S-01 (rev.1) Page: 1 of 13 Specifications for Random Sampling and Randomization 1.0 Scope 1.1 These specifications define algorithms for random
More informationCOMP 182: Algorithmic Thinking Dynamic Programming
Luay Nakhleh 1 Formulating and understanding the problem The LONGEST INCREASING SUBSEQUENCE, or LIS, Problem is defined as follows. Input: An array A[0..n 1] of integers. Output: A sequence of indices
More information1. What is the minimum number of bits needed to store a single piece of data representing: a. An integer between 0 and 100?
1 CS 105 Review Questions Most of these questions appeared on past exams. 1. What is the minimum number of bits needed to store a single piece of data representing: a. An integer between 0 and 100? b.
More informationChapter 2: Algorithm Discovery and Design. Invitation to Computer Science, C++ Version, Fourth Edition
Chapter 2: Algorithm Discovery and Design Invitation to Computer Science, C++ Version, Fourth Edition Objectives In this chapter, you will learn about Representing algorithms Examples of algorithmic problem
More informationBits, Words, and Integers
Computer Science 52 Bits, Words, and Integers Spring Semester, 2017 In this document, we look at how bits are organized into meaningful data. In particular, we will see the details of how integers are
More information1 Short Answer (5 Points Each)
1 Short Answer (5 Points Each) 1. What are the three types of programming errors? Briefly describe each of them. Syntax Error: An error in the program code due to misuse of the programming language. Run-time
More informationJava Methods. Lecture 8 COP 3252 Summer May 23, 2017
Java Methods Lecture 8 COP 3252 Summer 2017 May 23, 2017 Java Methods In Java, the word method refers to the same kind of thing that the word function is used for in other languages. Specifically, a method
More informationModule 10A Lecture - 20 What is a function? Why use functions Example: power (base, n)
Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute of Technology, Madras Module 10A Lecture - 20 What is a function?
More informationCSC 1051 Data Structures and Algorithms I
Repetition CSC 1051 Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website: www.csc.villanova.edu/~map/1051/ Some slides in this
More informationData Types and the while Statement
Session 2 Student Name Other Identification Data Types and the while Statement In this laboratory you will: 1. Learn about three of the primitive data types in Java, int, double, char. 2. Learn about the
More informationSchool of Computer & Communication Sciences École Polytechnique Fédérale de Lausanne
Principles of Dependable Systems Building Reliable Software School of Computer & Communication Sciences École Polytechnique Fédérale de Lausanne Winter 2006-2007 Outline Class Projects: mtgs next week
More informationfor (i=1; i<=100000; i++) { x = sqrt (y); // square root function cout << x+i << endl; }
Ex: The difference between Compiler and Interpreter The interpreter actually carries out the computations specified in the source program. In other words, the output of a compiler is a program, whereas
More informationComputer System and programming in C
Approaches to Problem Solving Concept of algorithm and flow charts ALGORITHMS AND FLOWCHARTS A typical programming task can be divided into two phases: Problem solving phase produce an ordered sequence
More informationQuestion 2. [5 points] Given the following symbolic constant definition
CS 101, Spring 2012 Mar 20th Exam 2 Name: Question 1. [5 points] Determine which of the following function calls are valid for a function with the prototype: void drawrect(int width, int height); Assume
More informationINTRODUCTION TO ALGORITHMS
INTRODUCTION TO ALGORITHMS Logic Logic is a tool to develop reasonable conclusions based on a given set of data. Logic is free of emotion and deals very specifically with information in its purest form.
More informationCS115 INTRODUCTION TO COMPUTER SCIENCE 1. Additional Notes Module 5
CS115 INTRODUCTION TO COMPUTER SCIENCE 1 Additional Notes Module 5 Example my-length (Slide 17) 2 (define (my-length alos) [(empty? alos) 0] [else (+ 1 (my-length (rest alos)))])) (my-length empty) alos
More informationIntroduction to Computer Science using JAVA
NJ CCCS AREA: 21 st -CENTURY LIFE AND CAREERS NJ-CCSS AREA: MATHEMATICS North Brunswick Township Public Schools Introduction to Computer Science using JAVA Acknowledgements Vivian Morris, Teacher Diane
More informationPhysicsAndMathsTutor.com
1. An algorithm is described by the flowchart shown in the diagram above. Edexcel Internal Review 1 (a) Given that S = 25 000, complete the table in the answer book to show the results obtained at each
More informationProgramming Project #2: Solving Quadratic Equations Date Due: Monday 25 September 2017
CISC 5300 Programming in C++ Fall, 2017 Programming Project #2: Solving Quadratic Equations Date Due: Monday 25 September 2017 Write a program that prompts the user to enter the coefficients of a quadratic
More informationCS 105 Lab As a review of what we did last week a. What are two ways in which the Python shell is useful to us?
1 CS 105 Lab 3 The purpose of this lab is to practice the techniques of making choices and looping. Before you begin, please be sure that you understand the following concepts that we went over in class:
More informationCSC 1051 Villanova University. CSC 1051 Data Structures and Algorithms I. Course website:
Repetition CSC 1051 Data Structures and Algorithms I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website: www.csc.villanova.edu/~map/1051/ Some slides in this
More informationAlgorithm: 1. Introduction
Algorithm 1 Algorithm: a finite set of instructions that specify a sequence of operations to be carried out in order to solve a specific problem or class of problems. [Zwass] Properties of algorithms:
More information3 The L oop Control Structure
3 The L oop Control Structure Loops The while Loop Tips and Traps More Operators The for Loop Nesting of Loops Multiple Initialisations in the for Loop The Odd Loop The break Statement The continue Statement
More informationALGORITHMS AND FLOWCHARTS
ALGORITHMS AND FLOWCHARTS ALGORITHMS AND FLOWCHARTS A typical programming task can be divided into two phases: Problem solving phase produce an ordered sequence of steps that describe solution of problem
More informationA Quick Review of Chapter 1
A Quick Review of Chapter 1 The core of computing is algorithms Algorithm A well-ordered collection of unambiguous and effectively computable operations that, when executed, produces a result and halts
More informationCOP 4516: Math for Programming Contest Notes
COP 4516: Math for Programming Contest Notes Euclid's Algorithm Euclid's Algorithm is the efficient way to determine the greatest common divisor between two integers. Given two positive integers a and
More informationFunctional Programming - 2. Higher Order Functions
Functional Programming - 2 Higher Order Functions Map on a list Apply Reductions: foldr, foldl Lexical scoping with let s Functional-11, CS5314, Sp16 BGRyder 1 Higher Order Functions Functions as 1st class
More informationAlgorithms 4. Odd or even Algorithm 5. Greatest among three numbers Algorithm 6. Simple Calculator Algorithm
s 4. Odd or even Step 3 : If number divisible by 2 then Print "Number is Even" Step 3.1 : else Print "Number is Odd" Step 4 : Stop 5. Greatest among three numbers Step 2 : Read values of a, b and c Step
More informationTable : IEEE Single Format ± a a 2 a 3 :::a 8 b b 2 b 3 :::b 23 If exponent bitstring a :::a 8 is Then numerical value represented is ( ) 2 = (
Floating Point Numbers in Java by Michael L. Overton Virtually all modern computers follow the IEEE 2 floating point standard in their representation of floating point numbers. The Java programming language
More informationLecture 5: Lazy Evaluation and Infinite Data Structures
Lecture 5: Lazy Evaluation and Infinite Data Structures Søren Haagerup Department of Mathematics and Computer Science University of Southern Denmark, Odense October 3, 2017 How does Haskell evaluate a
More informationSuccessful vs. Unsuccessful
Hashing Search Given: Distinct keys k 1, k 2,, k n and collection T of n records of the form (k 1, I 1 ), (k 2, I 2 ),, (k n, I n ) where I j is the information associated with key k j for 1
More informationMidterm Exam. CSCI 2132: Software Development. March 4, Marks. Question 1 (10) Question 2 (10) Question 3 (10) Question 4 (10) Question 5 (5)
Banner number: Name: Midterm Exam CSCI 2132: Software Development March 4, 2019 Marks Question 1 (10) Question 2 (10) Question 3 (10) Question 4 (10) Question 5 (5) Question 6 (5) Total (50) Instructions:
More informationComputer Programming: Skills & Concepts (CP) arithmetic, if and booleans (cont)
CP Lect 5 slide 1 Monday 2 October 2017 Computer Programming: Skills & Concepts (CP) arithmetic, if and booleans (cont) Cristina Alexandru Monday 2 October 2017 Last Lecture Arithmetic Quadratic equation
More informationExtended Static Checking for Haskell (ESC/Haskell)
Extended Static Checking for Haskell (ESC/Haskell) Dana N. Xu University of Cambridge advised by Simon Peyton Jones Microsoft Research, Cambridge Program Errors Give Headache! Module UserPgm where f ::
More informationAssertions & Verification Example Exam Questions
2009 November 23 Assertions & Verification Example Exam Questions 1. 2. A B C Give a general template for refining an operation into a sequence and state what questions a designer must answer to verify
More informationCS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University
CS 112 Introduction to Computing II Wayne Snyder Department Boston University Today: Administrivia and Motivation Administrative Matters: Review of course design and course policies Motivation: Two Algorithms
More informationEE 109 Lab 8a Conversion Experience
EE 109 Lab 8a Conversion Experience 1 Introduction In this lab you will write a small program to convert a string of digits representing a number in some other base (between 2 and 10) to decimal. The user
More informationChapter 5. Repetition. Contents. Introduction. Three Types of Program Control. Two Types of Repetition. Three Syntax Structures for Looping in C++
Repetition Contents 1 Repetition 1.1 Introduction 1.2 Three Types of Program Control Chapter 5 Introduction 1.3 Two Types of Repetition 1.4 Three Structures for Looping in C++ 1.5 The while Control Structure
More informationFunction Call Example
Function Call Example A Function Call Example (1) ch 3-25 A Function Call Example (2) ch 3-26 Alternative Function Declaration Recall: Function declaration is "information for compiler Compiler only needs
More informationo Counter and sentinel controlled loops o Formatting output o Type casting o Top-down, stepwise refinement
Last Time Let s all Repeat Together 10/3/05 CS150 Introduction to Computer Science 1 1 We covered o Counter and sentinel controlled loops o Formatting output Today we will o Type casting o Top-down, stepwise
More informationCOMP 410 Lecture 1. Kyle Dewey
COMP 410 Lecture 1 Kyle Dewey About Me I research automated testing techniques and their intersection with CS education My dissertation used logic programming extensively This is my second semester at
More information