Exercise(s) Solution(s) to the exercise(s)
|
|
- Madeline Lynch
- 6 years ago
- Views:
Transcription
1 Exercise(s) Problem 1. Counting configurations Consider two different types of atoms, say A and B (represented by red and blue, respectively in the figures). Let A atoms and B atoms be distributed on N ( ) lattice sites. How many different ways can these atoms be arranged? This is an important question. Let the number of different arrangements be called. Then, As we shall see later, the natural logarithm of multiplied by a constant (called the Boltzmann constant) is known as the configurational entropy ( ) and plays a key role in the thermodynamics of binary, substitutional alloys. Write a C program that reads and from a file, and returns. Test the code for, ; and,,. Solution(s) to the exercise(s) Solution to Problem 1: Counting configurations A solution to Problem 1 is the code given below. We would like to draw your attention to the function factorial which calls itself in a recursive fashion. / Cprogramming/Exercise1.c Copyright (C) 2012 Prita Pant and M P Gururajan This program is a free software; you can redistribute it and/or modify it under the terms of the GNU General Public License published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY of FITMESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA , USA
2 / / Include the standard libraries and library for string manipulations / #include<stdio.h> #include<stdlib.h> / Function to calculate factorial / int factorial(int n); / The main function of C program always returns an integer; if the returned integer is zero, the Operating system knows that the program execution was successful. In our case, the main program does not take any input parameters; so, we write void / int main(void){ FILE fp; / File pointer for reading data / int Na,Nb; / Number of A and B atoms respectively / int N; / Total number of lattice points / double omega; / Number of arrangements / / Condition opening of files; if opening of files is not successful for any reason, the code will inform the user so / if( (fp=fopen("nanb.dat","r")) == NULL){ printf("unable to open elements.dat. \n"); printf("exiting\n"); exit(0); else{ fp = fopen("nanb.dat","r"); / Read the input data from the file "NaNb.dat"; note that we use fgets for reading the string / fscanf(fp,"%d%d",&na,&nb); / Close the opened file / fclose(fp); / Calculate the total number of atoms, hence, the lattice points /
3 N = Na+Nb; / Calculate omega by calling the factorial function / omega = (double)(factorial(n))/( (double) (factorial(na))(double) (factorial(nb)) ); / Output the number of configurations / printf("%lf is the total number of configurations, given\n",omega); printf("na = %d; Nb= %d; N = %d\n",na,nb,n); printf("%d\n",factorial(na)); printf("%d\n",factorial(nb)); printf("%d\n",factorial(n)); / The job is done; return 0 to the operating system signaling the successful completion of the program / return 0; / The function to calculate factorial / int factorial(int n){ / Note the calculation of factorial using a recursive algorithm / if(n == 1) return 1; else return nfactorial(n-1); When this program is run with the values of and, we do get the right answer of 70 (as can be checked by manual calculation). However, the code obviously fails for and. This is because, on the computer, for the storage of numbers, there are only a finite amount of memory. Hence, if a number is bigger than the largest number that the computer can store, handle and manipulate, we will not be able to deal with them on the computer. In this exercise, one can use Stirling's formula, namely to overcome this problem. A code that uses Stirling's formula is given below. Note that the factorial function no longer returns an integer value. / Cprogramming/Exercise1StirlingApprox.c Copyright (C) 2012 Prita Pant and M P Gururajan This program is a free software; you can redistribute it and/or modify it under the terms of the GNU General Public License published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
4 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY of FITMESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA , USA / / Include the standard libraries and library for string manipulations / #include<stdio.h> #include<stdlib.h> #include<math.h> / Function to calculate factorial / double factorial(int n); / The main function of C program always returns an integer; if the returned integer is zero, the Operating system knows that the program execution was successful. In our case, the main program does not take any input parameters; so, we write void / int main(void){ FILE fp; / File pointer for reading data / int Na,Nb; / Number of A and B atoms respectively / int N; / Total number of lattice points / double omega; / Number of arrangements / / Condition opening of files; if opening of files is not successful for any reason, the code will inform the user so / if( (fp=fopen("nanb.dat","r")) == NULL){ printf("unable to open elements.dat. \n"); printf("exiting\n");
5 exit(0); else{ fp = fopen("nanb.dat","r"); / Read the input data from the file "NaNb.dat"; note that we use fgets for reading the string / fscanf(fp,"%d%d",&na,&nb); / Close the opened file / fclose(fp); / Calculate the total number of atoms, hence, the lattice points / N = Na+Nb; / Calculate omega by calling the factorial function / omega = (double)(factorial(n))/( (double) (factorial(na))(double) (factorial(nb)) ); / Output the number of configurations / printf("%lf is the total number of configurations, given\n",omega); printf("na = %d; Nb= %d; N = %d\n",na,nb,n); printf("%le\n",factorial(na)); printf("%le\n",factorial(nb)); printf("%le\n",factorial(n)); / The job is done; return 0 to the operating system signaling the successful completion of the program / return 0; / The function to calculate factorial / double factorial(int n){ / Note the calculation of factorial using a recursive algorithm / if(n == 1) return 1.; else return sqrt(2m_pi)pow(n,(double)n+0.5)exp(-n); In a similar manner, real numbers, again, can only be represented on a computer upto some finite accuracy. This can also lead to difficulties. For example, if two roots are very close, the usual formula for calculating the roots of a quadratic equation,, namely,
6 will fail to return accurate results. Please see Numerical recipes in C for a detailed discussion on these issues.
Computational Approach to Materials Science and Engineering
Computational Approach to Materials Science and Engineering Prita Pant and M. P. Gururajan December, 2012 Copyright c 2012, Prita Pant and M P Gururajan. Permission is granted to copy, distribute and/or
More informationCS 161 Intro to CS I. Finish Pointers/Start Recursion
CS 161 Intro to CS I Finish Pointers/Start Recursion 1 In-class Exercise #3 Understanding Pointers Create a pointer to a double, i.e. double *d; and three doubles d1, d2, and, d3 that get the values 7.8,
More informationTribhuvan University Institute of Science and Technology 2065
1CSc.102-2065 2065 Candidates are required to give their answers in their own words as for as practicable. 1. Draw the flow chart for finding largest of three numbers and write an algorithm and explain
More informationComputational Approach to Materials Science and Engineering
Computational Approach to Materials Science and Engineering Prita Pant and M. P. Gururajan October, 2012 Copyright c 2012, Prita Pant and M P Gururajan. Permission is granted to copy, distribute and/or
More informationNumber Song Names by Play Order v2.0
Number Song Names by Play Order v2.0 AppleScript for itunes Find more free AppleScripts and info on writing your own at Doug's AppleScripts for itunes. This script will prefix each selected track's Song
More informationCS103L SPRING 2017 UNIT 8: RECURSION
CS103L SPRING 2017 UNIT 8: RECURSION RECURSION A recursion function is defined in terms of itself Applies to math, e.g. recursion relations, sequences Fibonacci: F 0 = 1, F 1 = 1, F n = F n-1 + F n-2 Applies
More informationOpen Source Used In c1101 and c1109 Cisco IOS XE Fuji
Open Source Used In c1101 and c1109 Cisco IOS XE Fuji 16.8.1 Cisco Systems, Inc. www.cisco.com Cisco has more than 200 offices worldwide. Addresses, phone numbers, and fax numbers are listed on the Cisco
More informationProgramming & Data Structure Laboratory. Day 2, July 24, 2014
Programming & Data Structure Laboratory Day 2, July 24, 2014 Loops Pre and post test loops for while do-while switch-case Pre-test loop and post-test loop Condition checking True Loop Body False Loop Body
More informationSubject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100
Code: DC-05 Subject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100 NOTE: There are 11 Questions in all. Question 1 is compulsory and carries 16 marks. Answer to Q. 1. must be written in the space
More informationVST Preset Generator Documentation. François Mazen V0.2.8
VST Preset Generator Documentation François Mazen V0.2.8 Table of Contents Installation................................................................................. 1 Overview..................................................................................
More informationRecursion. CSCI 112: Programming in C
Recursion CSCI 112: Programming in C 1 What is recursion? Recursion looks at a large problem as a bunch of smaller versions of the same problem. 2 2 What is recursion? Recursion looks at a large problem
More informationLibRCPS Manual. Robert Lemmen
LibRCPS Manual Robert Lemmen License librcps version 0.2, February 2008 Copyright c 2004 2008 Robert Lemmen This program is free software; you can redistribute
More informationSorting is ordering a list of objects. Here are some sorting algorithms
Sorting Sorting is ordering a list of objects. Here are some sorting algorithms Bubble sort Insertion sort Selection sort Mergesort Question: What is the lower bound for all sorting algorithms? Algorithms
More informationALGORITHM 2-1 Solution for Exercise 4
Chapter 2 Recursion Exercises 1. a. 3 * 4 = 12 b. (2 * (2 * fun1(0) + 7) + 7) = (2 * (2 * (3 * 0) + 7) + 7) = 21 c. (2 * (2 * fun1(2) + 7) + 7) = (2 * (2 * (3 * 2) + 7) + 7) = 45 2. a. 3 b. (fun2(2, 6)
More informationTopic 7: Algebraic Data Types
Topic 7: Algebraic Data Types 1 Recommended Exercises and Readings From Haskell: The craft of functional programming (3 rd Ed.) Exercises: 5.5, 5.7, 5.8, 5.10, 5.11, 5.12, 5.14 14.4, 14.5, 14.6 14.9, 14.11,
More informationUnit 7. Functions. Need of User Defined Functions
Unit 7 Functions Functions are the building blocks where every program activity occurs. They are self contained program segments that carry out some specific, well defined task. Every C program must have
More informationProgramming & Data Structure Laboratory. Arrays, pointers and recursion Day 5, August 5, 2014
Programming & Data Structure Laboratory rrays, pointers and recursion Day 5, ugust 5, 2014 Pointers and Multidimensional rray Function and Recursion Counting function calls in Fibonacci #include
More informationQ1 Q2 Q3 Q4 Q5 Q6 Total
Name: SSN: Computer Science Foundation Exam May 5, 006 Computer Science Section 1A Q1 Q Q3 Q4 Q5 Q6 Total KNW KNW KNW ANL,DSN KNW DSN You have to do all the 6 problems in this section of the exam. Partial
More informationChoice of C++ as Language
EECS 281: Data Structures and Algorithms Principles of Algorithm Analysis Choice of C++ as Language All algorithms implemented in this book are in C++, but principles are language independent That is,
More informationAlgorithm. An algorithm is a computational process for solving a problem. computational: a computer must be able to perform the steps of the process
Algorithm An algorithm is a computational process for solving a problem. computational: a computer must be able to perform the steps of the process This concept was formalized by Alan Turing and Alonzo
More informationUNIVERSITY OF ENGINEERING & MANAGEMENT, KOLKATA C ASSIGNMENTS
UNIVERSITY OF ENGINEERING & MANAGEMENT, KOLKATA C ASSIGNMENTS All programs need to be submitted on 7th Oct 206 by writing in hand written format in A4 sheet. Flowcharts, algorithms, source codes and outputs
More informationI2204 ImperativeProgramming Semester: 1 Academic Year: 2018/2019 Credits: 5 Dr Antoun Yaacoub
Lebanese University Faculty of Science Computer Science BS Degree I2204 ImperativeProgramming Semester: 1 Academic Year: 2018/2019 Credits: 5 Dr Antoun Yaacoub I2204- Imperative Programming Schedule 08h00-09h40
More informationCOE428 Lecture Notes Week 1 (Week of January 9, 2017)
COE428 Lecture Notes: Week 1 1 of 10 COE428 Lecture Notes Week 1 (Week of January 9, 2017) Table of Contents COE428 Lecture Notes Week 1 (Week of January 9, 2017)...1 Announcements...1 Topics...1 Informal
More informationGChemTable manual. GChemTable manual
GChemTable manual i GChemTable manual GChemTable manual ii Copyright 2006-2012 Jean Bréfort Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
More informationModule 7 Highlights. Mastered Reviewed. Sections ,
Sections 5.3 5.6, 6.1 6.6 Module 7 Highlights Andrea Hendricks Math 0098 Pre-college Algebra Topics Degree & leading coeff. of a univariate polynomial (5.3, Obj. 1) Simplifying a sum/diff. of two univariate
More informationThe Complexity of Algorithms (3A) Young Won Lim 4/3/18
Copyright (c) 2015-2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published
More informationDemo problem: Solution of a "free-boundary" Poisson problem in an "elastic" domain revisited -- this time with AlgebraicElements
Chapter 1 Demo problem: Solution of a "free-boundary" Poisson problem in an "elastic" domain revisited -- this time with AlgebraicElements Detailed documentation to be written. Here s a plot of the result
More informationInductive Definition to Recursive Function
C Programming 1 Inductive Definition to Recursive Function C Programming 2 Factorial Function Consider the following recursive definition of the factorial function. 1, if n = 0, n! = n (n 1)!, if n > 0.
More informationCS 231 Data Structures and Algorithms Fall Recursion and Binary Trees Lecture 21 October 24, Prof. Zadia Codabux
CS 231 Data Structures and Algorithms Fall 2018 Recursion and Binary Trees Lecture 21 October 24, 2018 Prof. Zadia Codabux 1 Agenda ArrayQueue.java Recursion Binary Tree Terminologies Traversal 2 Administrative
More informationCSCE 110 Notes on Recursive Algorithms (Part 12) Prof. Amr Goneid
CSCE 110 Notes on Recursive Algorithms (Part 12) Prof. Amr Goneid 1. Definition: The expression Recursion is derived from Latin: Re- = back and currere = to run, or to happen again, especially at repeated
More informationSelected Tags to Lyrics v1.1
Selected Tags to Lyrics v1.1 AppleScript for itunes Find more free AppleScripts and info on writing your own at Doug's AppleScripts for itunes. Primarily for iphone and ipod Touch users, this script will
More informationMIPS function continued
MIPS function continued Review Functions Series of related instructions one after another in memory Called through the jal instruction Pointed to by a label like any other Returns by calling Stack Top
More informationHow to use MPLABX to program and debug PICsimLab
How to use MPLABX to program and debug PICsimLab Luis Claudio Gambôa Lopes http://sourceforge.net/projects/picsim/ November 2, 2015 Contents 1 Installing the Necessary Tools 2 1.1
More informationMake Video PDF Booklet v1.0
Make Video PDF Booklet v1.0 AppleScript for itunes Find more free AppleScripts and info on writing your own at Doug's AppleScripts for itunes. This script will create a PDF booklet containing video-oriented
More informationChapter 10: Recursive Problem Solving
2400 COMPUTER PROGRAMMING FOR INTERNATIONAL ENGINEERS Chapter 0: Recursive Problem Solving Objectives Students should Be able to explain the concept of recursive definition Be able to use recursion in
More informationA Recursively-Defined Tree Class
A Recursively-Defined Tree Class Jeffrey D. Oldham 2000 Apr 05 We explain how to use the recursively defined Tree class. The implementation file and example use code are available. 1 The Tree Class Using
More informationStep 0 How to begin and what you need to do before you start?
Written and cooked by Janusz R. Getta, School of Computing and Information Technology, University of Wollongong Building 3, room 2120, ext 4339, jrg@uow.edu.au, http://www.uow.edu.au/ jrg ËÁ̽½ Ø Å Ò Ñ
More informationfinger-user-enum User Documentation
finger-user-enum User Documentation pentestmonkey@pentestmonkey.net 21 January 2007 Contents 1 Overview 2 2 Installation 2 3 Usage 3 4 Some Examples 3 4.1 Normal Usage............................. 4 4.2
More informationWe cover recursion in 150. Why do it again in 151?
Recursion We cover recursion in 150. Why do it again in 151? First, good solutions to problems are often recursive. Here is a quick way to sort a list of objects: split the list in half, recursively sort
More informationComputer Science Foundation Exam
Computer Science Foundation Exam August 26, 2017 Section I A DATA STRUCTURES NO books, notes, or calculators may be used, and you must work entirely on your own. Name: UCFID: NID: Question # Max Pts Category
More information* =========================================================== 003 * ===========================================================
C:/jfreechart-1.0.2/jfreechart-1.0.2/source/org/jfree/chart/renderer/category/GanttRenderer.java, Top line: 1 001 / =========================================================== 002 JFreeChart : a free chart
More informationNotes - Recursion. A geeky definition of recursion is as follows: Recursion see Recursion.
Notes - Recursion So far we have only learned how to solve problems iteratively using loops. We will now learn how to solve problems recursively by having a method call itself. A geeky definition of recursion
More informationPractice Sheet #07 with Solutions
Department of Computer Science & Engineering Indian Institute of Technology Kharagpur Practice Sheet #07 with Solutions Topic: Pointer in C Date: 23-02-2017 1 Assume the following C variable declaration
More informationA PROBLEM can be solved easily if it is decomposed into parts. Similarly a C program decomposes a program into its component functions.
FUNCTIONS IN C A PROBLEM can be solved easily if it is decomposed into parts. Similarly a C program decomposes a program into its component functions. Big problems require big programs too big to be written
More informationChapter 4 Functions By C.K. Liang
1 Chapter 4 Functions By C.K. Liang What you should learn? 2 To construct programs modularly from small pieces called functions Math functions in C standard library Create new functions Pass information
More informationrsh-grind User Documentation
rsh-grind User Documentation pentestmonkey@pentestmonkey.net 6 May 2007 Contents 1 Overview 2 2 Installation 2 3 Usage 3 4 Some Examples 4 4.1 Assuming Remote Usernames are Same as Local Usernames... 5
More information6. Asymptotics: The Big-O and Other Notations
Chapter 7 SEARCHING 1. Introduction, Notation 2. Sequential Search 3. Binary Search 4. Comparison Trees 5. Lower Bounds 6. Asymptotics: The Big-O and Other Notations Outline Transp. 1, Chapter 7, Searching
More informationReg. No. : Question Paper Code : B.E./B.Tech. DEGREE EXAMINATION, JANUARY First Semester GE 6151 COMPUTER PROGRAMMING
wss Reg. No. : Question Paper Code : 37007 B.E./B.Tech. DEGREE EXAMINATION, JANUARY 2014. First Semester Civil Engineering GE 6151 COMPUTER PROGRAMMING (Common to all branches) (Regulation 2013) Time :
More information8. Functions (II) Control Structures: Arguments passed by value and by reference int x=5, y=3, z; z = addition ( x, y );
- 50 - Control Structures: 8. Functions (II) Arguments passed by value and by reference. Until now, in all the functions we have seen, the arguments passed to the functions have been passed by value. This
More informationP.E.S. INSTITUTE OF TECHNOLOGY BANGALORE SOUTH CAMPUS 1 ST INTERNAL ASSESMENT TEST (SCEME AND SOLUTIONS)
FACULTY: Ms. Saritha P.E.S. INSTITUTE OF TECHNOLOGY BANGALORE SOUTH CAMPUS 1 ST INTERNAL ASSESMENT TEST (SCEME AND SOLUTIONS) SUBJECT / CODE: Programming in C and Data Structures- 15PCD13 What is token?
More informationDivide & Conquer. 2. Conquer the sub-problems by solving them recursively. 1. Divide the problem into number of sub-problems
Divide & Conquer Divide & Conquer The Divide & Conquer approach breaks down the problem into multiple smaller sub-problems, solves the sub-problems recursively, then combines the solutions of the sub-problems
More informationKLiC C Programming. (KLiC Certificate in C Programming)
KLiC C Programming (KLiC Certificate in C Programming) Turbo C Skills: The C Character Set, Constants, Variables and Keywords, Types of C Constants, Types of C Variables, C Keywords, Receiving Input, Integer
More informationlecture notes September 2, How to sort?
.30 lecture notes September 2, 203 How to sort? Lecturer: Michel Goemans The task of sorting. Setup Suppose we have n objects that we need to sort according to some ordering. These could be integers or
More informationCOURSE: NUMERICAL ANALYSIS. LESSON: Methods for Solving Non-Linear Equations
COURSE: NUMERICAL ANALYSIS LESSON: Methods for Solving Non-Linear Equations Lesson Developer: RAJNI ARORA COLLEGE/DEPARTMENT: Department of Mathematics, University of Delhi Page No. 1 Contents 1. LEARNING
More informationList of Practical for Master in Computer Application (5 Year Integrated) (Through Distance Education)
List of Practical for Master in Computer Application (5 Year Integrated) (Through Distance Education) Directorate of Distance Education Guru Jambeshwar University of Science & Technology, Hissar First
More informationFunction Calls. Tom Kelliher, CS 220. Oct. 24, SPIM programs due Wednesday. Refer to homework handout for what to turn in, and how.
Function Calls Tom Kelliher, CS 220 Oct. 24, 2011 1 Administrivia Announcements Assignment SPIM programs due Wednesday. Refer to homework handout for what to turn in, and how. From Last Time Outline 1.
More informationMTH 307/417/515 Final Exam Solutions
MTH 307/417/515 Final Exam Solutions 1. Write the output for the following programs. Explain the reasoning behind your answer. (a) #include int main() int n; for(n = 7; n!= 0; n--) printf("n =
More informationDSV Library for Lisp
DSV Library for Lisp Gene Michael Stover created Sunday, 2005 June 19 updated Monday, 2005 July 11 Copyright copyright 2005 Gene Michael Stover. All rights reserved. Permission to copy, store, & view this
More informationdns-grind User Documentation
dns-grind User Documentation pentestmonkey@pentestmonkey.net 21 January 2007 Contents 1 Overview 2 2 Installation 2 3 Usage 3 4 Some Examples 3 4.1 Bruteforcing Hostnames (A-record Lookups)............
More informationXbee Shield. Introduction
Xbee Shield Introduction A Xbee shield allows an Arduino board to communicate wirelessly using Bee compatible modules (like Zigbee or BlueTooth Bee). It is designed to be used with Xbee module from MaxStream.
More informationDiscogs Search Kit v1.0 AppleScript for itunes Find more free AppleScripts and info on writing your own at Doug's AppleScripts for itunes.
Discogs Search Kit v1.0 AppleScript for itunes Find more free AppleScripts and info on writing your own at Doug's AppleScripts for itunes. Two scripts assist with searching and then retreiving track and
More informationOVERVIEW. Recursion is an algorithmic technique where a function calls itself directly or indirectly. Why learn recursion?
CH. 5 RECURSION ACKNOWLEDGEMENT: THESE SLIDES ARE ADAPTED FROM SLIDES PROVIDED WITH DATA STRUCTURES AND ALGORITHMS IN JAVA, GOODRICH, TAMASSIA AND GOLDWASSER (WILEY 2016) OVERVIEW Recursion is an algorithmic
More information1 Dynamic Memory continued: Memory Leaks
CS104: Data Structures and Object-Oriented Design (Fall 2013) September 3, 2013: Dynamic Memory, continued; A Refresher on Recursion Scribes: CS 104 Teaching Team Lecture Summary In this lecture, we continue
More informationChapter 17 - Notes Recursion
Chapter 17 - Notes Recursion I. Recursive Definitions A. Recursion: The process of solving a problem by reducing it to smaller versions of itself. B. Recursive Function: A function that calls itself. C.
More informationECE 2574: Data Structures and Algorithms - Recursion Part I. C. L. Wyatt
ECE 2574: Data Structures and Algorithms - Recursion Part I C. L. Wyatt Today we will introduce the notion of recursion, look at some examples, and see how to implement them in code. Introduction to recursion
More informationFun facts about recursion
Outline examples of recursion principles of recursion review: recursive linked list methods binary search more examples of recursion problem solving using recursion 1 Fun facts about recursion every loop
More informationMODULE 5: Pointers, Preprocessor Directives and Data Structures
MODULE 5: Pointers, Preprocessor Directives and Data Structures 1. What is pointer? Explain with an example program. Solution: Pointer is a variable which contains the address of another variable. Two
More informationSection I B COMPUTER SCIENCE SOLUTION
Computer Science Foundation Exam December 17, 2010 Section I B COMPUTER SCIENCE NO books, notes, or calculators may be used, and you must work entirely on your own. SOLUTION Question # Max Pts Category
More informationAStyle C/C++ Source Code Formatter Plugin
AStyle C/C++ Source Code Formatter Plugin This plugin allows for formatting and pretty-printing of C/C++ source code in an easy and convenient way. It is based on the Artistic Style code formatter utility.
More informationLecture 10: Recursive Functions. Computer System and programming in C 1
Lecture 10: Recursive Functions Computer System and programming in C 1 Outline Introducing Recursive Functions Format of recursive Functions Tracing Recursive Functions Examples Tracing using Recursive
More informationComputer Science Foundation Exam
Computer Science Foundation Exam December 16, 2011 Section I A COMPUTER SCIENCE NO books, notes, or calculators may be used, and you must work entirely on your own. Name: PID: Question # Max Pts Category
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 informationSolutions for Algorithm Design Exercises and Tests
Chapter 4 Solutions for Algorithm Design Exercises and Tests 4.1 Divide and Conquer 4.1.1 Solutions for Selected Exercises Solution for Exercise #1 in Section 1.9 Solution for Part (a): This problem requires
More information2. First C. Algorithm
2. First C 1 Algorithm Recipe to solve the problem A sequence of steps that leads from starting point to a finished product Only by following the algorithm, one can solve the problem, even if one( he,
More informationPROGRAM EFFICIENCY & COMPLEXITY ANALYSIS
Lecture 03-04 PROGRAM EFFICIENCY & COMPLEXITY ANALYSIS By: Dr. Zahoor Jan 1 ALGORITHM DEFINITION A finite set of statements that guarantees an optimal solution in finite interval of time 2 GOOD ALGORITHMS?
More informationBinary Search Tree 1.0. Generated by Doxygen Mon Jun :12:39
Binary Search Tree 1.0 Generated by Doxygen 1.7.1 Mon Jun 6 2011 16:12:39 Contents 1 Binary Search Tree Program 1 1.1 Introduction.......................................... 1 2 Data Structure Index 3
More informationToday's Topics. CISC 458 Winter J.R. Cordy
Today's Topics Last Time Semantics - the meaning of program structures Stack model of expression evaluation, the Expression Stack (ES) Stack model of automatic storage, the Run Stack (RS) Today Managing
More informationPointers and scanf() Steven R. Bagley
Pointers and scanf() Steven R. Bagley Recap Programs are a series of statements Defined in functions Can call functions to alter program flow if statement can determine whether code gets run Loops can
More informationMergesort again. 1. Split the list into two equal parts
Quicksort Mergesort again 1. Split the list into two equal parts 5 3 9 2 8 7 3 2 1 4 5 3 9 2 8 7 3 2 1 4 Mergesort again 2. Recursively mergesort the two parts 5 3 9 2 8 7 3 2 1 4 2 3 5 8 9 1 2 3 4 7 Mergesort
More informationP.E.S. INSTITUTE OF TECHNOLOGY BANGALORE SOUTH CAMPUS DEPARTMENT OF SCIENCE AND HUMANITIES EVEN SEMESTER FEB 2017
P.E.S. INSTITUTE OF TECHNOLOGY BANGALORE SOUTH CAMPUS DEPARTMENT OF SCIENCE AND HUMANITIES ST INTERNAL ASSESMENT TEST (SCEME AND SOLUTIONS) EVEN SEMESTER FEB 07 FACULTY: Dr.J Surya Prasad/Ms. Saritha/Mr.
More informationB-Trees. nodes with many children a type node a class for B-trees. an elaborate example the insertion algorithm removing elements
B-Trees 1 B-Trees nodes with many children a type node a class for B-trees 2 manipulating a B-tree an elaborate example the insertion algorithm removing elements MCS 360 Lecture 35 Introduction to Data
More informationLesson 13: Exploring Factored Form
Opening Activity Below is a graph of the equation y = 6(x 3)(x + 2). It is also the graph of: y = 3(2x 6)(x + 2) y = 2(3x 9)(x + 2) y = 2(x 3)(3x + 6) y = 3(x 3)(2x + 4) y = (3x 9)(2x + 4) y = (2x 6)(3x
More informationLab ACN : C++ Programming Exercises
Lab ACN : C++ Programming Exercises ------------------------------------------------------------------------------------------------------------------- Exercise 1 Write a temperature conversion program
More informationData Structure and Algorithm Midterm Reference Solution TA
Data Structure and Algorithm Midterm Reference Solution TA email: dsa1@csie.ntu.edu.tw Problem 1. To prove log 2 n! = Θ(n log n), it suffices to show N N, c 1, c 2 > 0 such that c 1 n ln n ln n! c 2 n
More informationAnalysis of Recursive Algorithms
Lec 4 Analysis of Recursive Algorithms A recursive function is a function that is defined in terms of itself Similarly, an algorithm is said to be recursive if the same algorithm is invoked in the body
More informationCP2 Revision. theme: file access and unix programs
CP2 Revision theme: file access and unix programs file access in C basic access functionality: FILE *fopen(const char *filename, const char *mode); This function returns a pointer to a file stream (or
More informationChapter 4: Trees. 4.2 For node B :
Chapter : Trees. (a) A. (b) G, H, I, L, M, and K.. For node B : (a) A. (b) D and E. (c) C. (d). (e).... There are N nodes. Each node has two pointers, so there are N pointers. Each node but the root has
More information12. Predicate Logic Structures. The Lecture
12. Predicate Logic Structures The Lecture What is predicate logic? What is predicate logic? Predicate logic deals with properties of elements and relations between elements of a domain. What is predicate
More informationRecursion, Trees and Tree Traversal. Module CE System Programming & Computer Control Systems
Recursion, Trees and Tree Traversal Module CE00352-2 System Programming & Computer Control Systems Lists Data Pointer Data Pointer Can be used as queue or stack Data Pointer Data Pointer Tree Structure
More informationO(n): printing a list of n items to the screen, looking at each item once.
UNIT IV Sorting: O notation efficiency of sorting bubble sort quick sort selection sort heap sort insertion sort shell sort merge sort radix sort. O NOTATION BIG OH (O) NOTATION Big oh : the function f(n)=o(g(n))
More informationMulti-way Search Trees! M-Way Search! M-Way Search Trees Representation!
Lecture 10: Multi-way Search Trees: intro to B-trees 2-3 trees 2-3-4 trees Multi-way Search Trees A node on an M-way search tree with M 1 distinct and ordered keys: k 1 < k 2 < k 3
More informationComputer Programming 5th Week loops (do-while, for), Arrays, array operations, C libraries
Computer Programming 5th Week loops (do-while, for), Arrays, array operations, C libraries Hazırlayan Asst. Prof. Dr. Tansu Filik Computer Programming Previously on Bil 200 Low-Level I/O getchar, putchar,
More informationPlotting run-time graphically. Plotting run-time graphically. CS241 Algorithmics - week 1 review. Prefix Averages - Algorithm #1
CS241 - week 1 review Special classes of algorithms: logarithmic: O(log n) linear: O(n) quadratic: O(n 2 ) polynomial: O(n k ), k 1 exponential: O(a n ), a > 1 Classifying algorithms is generally done
More informationCSci 1113 Midterm 2. Name: Student ID:
CSci 1113 Midterm 2 Name: Student ID: Instructions: Please pick and answer any 6 of the 8 problems for a total of 90 points. If you answer more than 6 problems, only the first 6 will be graded. The time
More informationPacket Trace Guide. Packet Trace Guide. Technical Note
Packet Trace Guide Technical Note VERSION: 2.0 UPDATED: JANUARY 2016 Copyright Notices Copyright 2002-2016 KEMP Technologies, Inc.. All rights reserved.. KEMP Technologies and the KEMP Technologies logo
More informationFunctions Introduction to Algorithms and Programming II School of Computer Science Term: Summer 2013 Instructor: Dr. Asish Mukhopadhyay
Functions 60-141 Introduction to Algorithms and Programming II School of Computer Science Term: Summer 2013 Instructor: Dr. Asish Mukhopadhyay Motivation A complex program Approximate Ellipse Demo Ellipse2DDouble.java
More informationCSE 214 Computer Science II Recursion
CSE 214 Computer Science II Recursion Fall 2017 Stony Brook University Instructor: Shebuti Rayana shebuti.rayana@stonybrook.edu http://www3.cs.stonybrook.edu/~cse214/sec02/ Introduction Basic design technique
More information238P Operating Systems, Fall Counting Semaphores. Discussed on whiteboard 30 November Slides Posted 10 December 2018
238P Operating Systems, Fall 2018 Counting Semaphores Discussed on whiteboard 30 November 2018 Slides Posted 10 December 2018 Aftab Hussain University of California, Irvine semaphore an integer variable
More informationQuestions Bank. 14) State any four advantages of using flow-chart
Questions Bank Sub:PIC(22228) Course Code:-EJ-2I ----------------------------------------------------------------------------------------------- Chapter:-1 (Overview of C Programming)(10 Marks) 1) State
More informationDivide and Conquer. Algorithm Fall Semester
Divide and Conquer Algorithm 2014 Fall Semester Divide-and-Conquer The most-well known algorithm design strategy: 1. Divide instance of problem into two or more smaller instances 2. Solve smaller instances
More information