CPS120: Introduction to Computer Science Session 5.

Slides:



Advertisements
Similar presentations
Gates and Circuits Nell Dale & John Lewis (adaptation by Erin Chambers and Michael Goldwasser)
Advertisements

Assembly Language for Intel-Based Computers, 4 th Edition Chapter 1: Basic Concepts (c) Pearson Education, All rights reserved. You may modify and.
How Are Algorithms Developed?
Introduction to Programming
زبانهای برنامه سازی برنامه سازی پیشرفته ارائه دهنده دکتر سيد امين حسيني E.mail: Home page:
ITEC113 Algorithms and Programming Techniques
Program Design and Development
Chapter 4 Gates and Circuits.
CSC 110 – Intro to Computing Lecture 14: Midterm Review.
9/19/06 Hofstra University – Overview of Computer Science, CSC005 1 Chapter 4 Gates and Circuits.
9/19/06 Hofstra University – Overview of Computer Science, CSC005 1 Chapter 4 Gates and Circuits.
Lecture 3. Boolean Algebra, Logic Gates
Chapter 3 Planning Your Solution
The Program Design Phases
Lecture 3. Boolean Algebra, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x.
DCT 1123 Problem Solving & Algorithms
1 Survey of Computer Science CSCI 110, Spring 2011 Lecture 16 Digital Circuits, binary Numbers.
Chapter 4 Gates and Circuits. 4–2 Chapter Goals Identify the basic gates and describe the behavior of each Describe how gates are implemented using transistors.
Chapter 4 Gates and Circuits.
Lecture 3. Error Detection and Correction, Logic Gates Prof. Sin-Min Lee Department of Computer Science 2x.
CPS 120: Introduction to Computer Science
Summer 2014 Chapter 1: Basic Concepts. Irvine, Kip R. Assembly Language for Intel-Based Computers 6/e, Chapter Overview Welcome to Assembly Language.
Fundamentals of IT UNIT-I OnlyforIPMCA. DIGITAL SIGNALS & LOGIC GATES Signals and data are classified as analog or digital. Analog refers to something.
CPS120: Introduction to Computer Science
CPS120: Introduction to Computer Science Midterm Exam Review.
CPS120: Introduction to Computer Science Decision Making in Programs.
1 Introduction to Flowcharting. 2 Writing a program Defining the problem –Write down what the program will do Planning –Write down the steps, draw a flowchart.
Binary Number System & Logic Operations. The focus of the last lecture was on the microprocessor During that lecture we learnt about the function of the.
CPS120 Introduction to Computer Programming The Programming Process.
1 Boolean Expressions to Make Comparisons Boolean expression –Represents only one of two states –Expression evaluates to either true or false Expressions.
CPS120: Introduction to Computer Science Decision Making in Programs.
Week 6: Gates and Circuits: PART I READING: Chapter 4.
CPS120: Introduction to Computer Science Operations Lecture 9.
ITEC113 Algorithms and Programming Techniques
Control Structures CPS120: Introduction to Computer Science Lecture 5.
1 Ethics of Computing MONT 113G, Spring 2012 Session 1 Digital Circuits, binary Numbers Course webpage:
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
CPS120: Introduction to Computer Science Midterm Exam Review.
CPS120: Introduction to Computer Science Decision Making in Programs.
CPS120: Introduction to Computer Science Decision Making in Programs.
ECE DIGITAL LOGIC LECTURE 15: COMBINATIONAL CIRCUITS Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2015, 10/20/2015.
CPS120 Introduction to Computer Science Exam Review.
Digital electronics 4–1 Gates and Circuits SANJAYBHAI RAJGURU COLLEGE OF ENGG.
Logic Gates Dr.Ahmed Bayoumi Dr.Shady Elmashad. Objectives  Identify the basic gates and describe the behavior of each  Combine basic gates into circuits.
4–1. BSCS 5 th Semester Introduction Logic diagram: a graphical representation of a circuit –Each type of gate is represented by a specific graphical.
CHAPTER 3 BINARY NUMBER SYSTEM. Computers are electronic machines which operate using binary logic. These devices use two different values to represent.
L OGIC G ATES Computer Organization – week 3. W HAT ’ S ALU? 1. ALU stands for: Arithmetic Logic Unit 2. ALU is a digital circuit that performs Arithmetic.
4–1 Gates Let’s examine the processing of the following six types of gates NOT AND OR XOR NAND NOR Typically, logic diagrams are black and white, and the.
Week 1: Introduction and Logic gates IT3002 – Computer Architecture
CPS120 Introduction to Computer Science
Basics of Logic gates - Part 1
Dr.Ahmed Bayoumi Dr.Shady Elmashad
Chapter 3 - Binary Numbering System
Flow Charts Basic Flow Chart Symbols Few sample flowcharts Rules
CSIS-110 Introduction to Computer Science
Introduction To Flowcharting
Fundamentals & Ethics of Information Systems IS 201
University of Gujrat Department of Computer Science
Chapter 4 Gates and Circuits.
Unit# 9: Computer Program Development
CPS120: Introduction to Computer Science
Agenda – 2/12/18 Questions? Readings: CSI 4, P
Introduction to Algorithms and Programming
Logic Gates.
CPS120: Introduction to Computer Science
How Are Algorithms Developed?
Chapter 4 Gates and Circuits.
Boolean Expressions to Make Comparisons
CPS120: Introduction to Computer Science
What are Logic Gates?.
Presentation transcript:

CPS120: Introduction to Computer Science Session 5

Decimal Equivalents Assuming the bits are unsigned, the decimal value represented by the bits of a byte can be calculated as follows: 1.Number the bits beginning on the right using superscripts beginning with 0 and increasing as you move left Note: 2 0, by definition is 1 2.Use each superscript as an exponent of a power of 2 3.Multiply the value of each bit by its corresponding power of 2 4.Add the products obtained

Groups of Three (from right) Convert each group is 642 in base 8 17 Converting Binary to Octal

What is the decimal equivalent of the octal number 642? 6 x 8² = 6 x 64 = x 8¹ = 4 x 8 = x 8º = 2 x 1 = 2 = 418 in base Converting Octal to Decimal

Binary to Hex Step 1: Form four-bit groups beginning from the rightmost bit of the binary number –If the last group (at the leftmost position) has less than four bits, add extra zeros to the left of the group to make it a four-bit group becomes Step 2: Replace each four-bit group by its hexadecimal equivalent –DEF (16

What is the decimal equivalent of the hexadecimal number DEF? D x 16² = 13 x 256 = E x 16¹ = 14 x 16 = F x 16º = 15 x 1 = 15 = 3567 in base 10 Remember, base 16 is 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F Converting Hexadecimal to Decimal

Converting Decimal to Other Bases Step 1: Divide the number by the base you are converting to (r) Step 2: Successively divide the quotients by (r) until a zero quotient is obtained Step 3: The decimal equivalent is obtained by writing the remainders of the successive division in the opposite order in which they were obtained –Know as modulus arithmetic Step 4: Verify the result by multiplying it out

D E F 21 Converting Decimal to Hexadecimal

CPS120 Introduction to Computer Science Pseudocode

Start Variables = Open Files More items? Process Record (Detail Time) Write Record Stop No Yes Sample Program Flowchart Terminal Symbol I/O Symbol Process Symbol Decision Symbol Preparation Symbolor Initialize Variables Read a Record Close Files Process Record (Total Time)

Terminator. Shows the starting and ending points of the program. A terminator has flow lines in only one direction, either in (a stop node) or out (a start node). Data Input or Output. Allows the user to input data and results to be displayed. Processing. Indicates an operation performed by the computer, such as a variable assignment or mathematical operation. With a heading – an internal subroutine Decision. The diamond indicates a decision structure. A diamond always has two flow lines out. One flow lineout is labeled the “yes” branch and the other is labeled the “no” branch. Predefined Process. One statement denotes a group of previously defined statements. Such as a function or a subroutine created externally Connector. Connectors avoid crossing flow lines, making the flowchart easier to read. Connectors indicate where flow lines are connected. Connectors come in pairs, one with a flow line in and the other with a flow line out. Off-page connector. Even fairly small programs can have flowcharts that extend several pages. The off-page connector indicates the continuation of the flowchart on another page. Just like connectors, off-page connectors come in pairs. Flow line. Flow lines connect the flowchart symbols and show the sequence of operations during the program execution. Common Flowchart Symbols

Rules for Drawing Flowcharts Top to bottom and left to right –Draw the flowchart the way you like to read –Use arrowheads on flow lines whenever the flow is not top to bottom, left to right Be neat ! Use graphics software Avoid intersecting lines

Programs A program is a set of step- by-step instructions that directs the computer to do the tasks you want it to do and produce the results you want.

What Can a Program Do? A program can only instruct a computer to: –Read Input –Sequence –Calculate –Store data –Compare and branch –Iterate or Loop –Write Output

Sequence Control Structures Sequence control structures direct the order of program instructions. The fact that one instruction follows another—in sequence—establishes the control and order of operations.

Calculate A program can instruct a computer to perform mathematical operations. Add 1 to Counter

Store A program will often instruct a computer to store intermediate results. Place 1 in Counter

Compare and Branch A program can instruct a computer to compare two items and do something based on a match or mismatch which, in turn, redirect the sequence of programming instructions. –There are two forms: –IF-THEN –IF-THEN-ELSE

IF-THEN Test condition p falsetrue Entry Exit True statement a

IF-THEN-ELSE falsetrue Entry Exit Test condition p “true” statement a “false” statement a

Iterate A program loop is a form of iteration. A computer can be instructed to repeat instructions under certain conditions. No

Iteration Control Structures Iteration control structures are looping mechanisms. Loops repeat an activity until stopped. The location of the stopping mechanism determines how the loop will work: Leading decisions Trailing decisions

Leading Decisions If the stop is at the beginning of the iteration, then the control is called a leading decision. The command DO WHILE performs the iteration and places the stop at the beginning.

DO WHILE Loop No Yes Entry Exit Test condition p Loop statement a

Trailing Decisions If the stop is at the end of the iteration, the control mechanism is called a trailing decision. The command DO UNTIL performs the iteration and puts the stop at the end of the loop.

DO UNTIL Loop Loop statement a NoYes Entry Test condition p Exit

Pseudocode Pseudocode is an artificial and informal language that helps programmers develop algorithms.

Pseudocode This device is not visual but is considered a “first draft” of the actual program. Pseudocode is written in the programmer’s native language and concentrates on the logic in a program—not the syntax of a programming language.

Writing Pseudocode You need to reach a balance between excessive and insufficient detail.

Rules for Pseudocode 1.Make the pseudocode language-independent 2.Indent lines for readability 3.Make key words stick out by showing them capitalized, in a different color or a different font 4.Punctuation is optional 5.End every IF with ENDIF 6.Begin loop with LOOP and end with ENDLOOP 7.Show MAINLINE first; all others follow 8.TERMINATE all routines with an END instruction

A Computer Example Problem –Create an address list that includes each person’s name, address, telephone number, and address –This list should then be printed in alphabetical order –The names to be included in the list are on scraps of paper and business cards

A Computer Example

CPS120 Introduction to Computer Science Boolean Logic

Decision Making In Computers A circuit quite simply allows one out of two choices to be made depending on its inputs When decisions are made in a computer program, they are simply the result of a computation in which the final result is either TRUE or FALSE The value zero (0) is considered to be FALSE. Any positive or negative value is considered to be TRUE (usually represented by 1)

I Know This Concept If you have ever taken a True or False test, you have used Boolean logic. –In the Boolean system an object can exist in only one of two states, there is no third choice This is a central concept in programming.

Computers and Electricity A gate is a device that performs a basic operation on electrical signals Gates are combined into circuits to perform more complicated tasks

Computers and Electricity There are three different, but equally powerful, notational methods for describing the behavior of gates and circuits –Boolean expressions –logic diagrams –truth tables

Computers and Electricity Boolean algebra: expressions in this algebraic notation are an elegant and powerful way to demonstrate the activity of electrical circuits

Computers and Electricity Logic diagram: a graphical representation of a circuit –Each type of gate is represented by a specific graphical symbol Truth table: defines the function of a gate by listing all possible input combinations that the gate could encounter, and the corresponding output

Truth Tables Use this truth table to determine the results of the logical operators. In this table, 1 represents TRUE and 0 represents FALSE. Note that the ! symbol (the logical NOT operator) changes a TRUE to a FALSE

Gates Let’s examine the processing of the following six types of gates –NOT –AND –OR –XOR –NAND –NOR Typically, logic diagrams are black and white, and the gates are distinguished only by their shape

NOT Reverses the input. If TRUE is input, the result id FALSE; if FALSE is input, the result is TRUE. –1 would evaluate to FALSE –0 would evaluate to TRUE

NOT Gate A NOT gate accepts one input value and produces one output value Various representations of a NOT gate

NOT Gate By definition, if the input value for a NOT gate is 0, the output value is 1, and if the input value is 1, the output is 0 A NOT gate is sometimes referred to as an inverter because it inverts the input value

AND Two or more items must agree(be evaluated to the same result) for the expression to be true. –1 AND 1 would evaluate to TRUE –0 AND 1 would evaluate to FALSE –1 AND 0 would evaluate to FALSE –0 AND 0 would evaluate to FALSE –1 AND 1 AND 1 would evaluate to TRUE –1 AND 1 AND 0 would evaluate to FALSE

AND Gate An AND gate accepts two input signals If the two input values for an AND gate are both 1, the output is 1; otherwise, the output is 0 Various representations of an AND gate

OR One, both or more items must agree. If both inputs are FALSE, the result it FALSE. –1 OR 1 would evaluate to TRUE –0 OR 1 would evaluate to TRUE –0 OR 0 would evaluate to FALSE

OR Gate If the two input values are both 0, the output value is 0; otherwise, the output is 1 Figure 4.3 Various representations of a OR gate

XOR (eXclusive OR) Only one input may be TRUE, if both are TRUE the entire result id FALSE. –1 XOR 1 would evaluate to FALSE –1 XOR 0 would evaluate to TRUE –0 XOR 1 would evaluate to TRUE –0 XOR 0 would evaluate to FALSE

XOR Gate XOR, or exclusive OR, gate –An XOR gate produces 0 if its two inputs are the same, and a 1 otherwise –Note the difference between the XOR gate and the OR gate; they differ only in one input situation –When both input signals are 1, the OR gate produces a 1 and the XOR produces a 0

XOR Gate Various representations of an XOR gate

NAND (Not AND) This basically negates AND: –1 NAND 1 would evaluate to FALSE –1 NAND 0 would evaluate to TRUE –0 NAND 0 would evaluate to TRUE –0 NAND 1 would evaluate to TRUE

NAND and NOR Gates The NAND and NOR gates are essentially the opposite of the AND and OR gates, respectively Various representations of a NAND gate Various representations of a NOR gate

Using Logical Operators When complex decisions must be coded into an algorithm, it may be necessary to "chain together" a few relational expressions (that use relational operators) This is done with logical operators (also called Boolean operators.) && is the logical AND operator || is the logical OR operator ! is the logical NOT operator