1. (34 points) Suppose that the following definitions are made: (a) (22 points) Give the values of the following expressions.
|
|
- Lesley Nelson
- 5 years ago
- Views:
Transcription
1 1. (34 points) Suppose that the following definitions are made: import Data.Char zone :: [(Int,Char)] zone = [(23, g ), (3, m ), (4, d ), (2, k ), (13, e )] poach :: [a] -> Float poach [] = 6.1 poach (x:z) = 3.2 poach (w:y:ts) = 4.0 force :: a -> (a,integer) force x = (x,17) mark :: Int -> [(Int,Char)] -> String mark r [] = [] mark r ((d,m):rest) r == d = m : mark i rest otherwise = "##" handler :: Integer -> Bool handler v = v < 7 odd v (a) (22 points) Give the values of the following expressions. (i). [1,4..9] [1,4,7] (ii). islower? False (iii). handler 2 True (iv). 7:1:9:[] [7,1,9] (v). zip [8,2,6] [400,300,200,100] [(8,400),(2,300),(6,200)] (vi). poach [3,63,12] 3.2 (vii). [ q (i,q) <- zone, even i] "dk" (viii). mark 23 zone "g##" (ix). concat [[4,],[1,2,7],[],[6,2,1]] [4,,1,2,7,6,2,1] (x). div 21 4 (xi). length [[2,4],[9,13],[7],[],[8,6]] (b) (12 points) Give the types of the following expressions (e.g., the type of [False] is [Bool]).
2 (i). (poach [3.], odd 8) (Float,Bool) (ii). force Q (Char,Integer) (iii). [ S, U ]:[] [[Char]] (iv). fst (length [2,2,2],handler 13) Int (v). [ force a (a,b) <- zone] [(Int,Integer)] (vi). unzip zone ([Int],[Char]) 2. (16 points) Consider the following (partial) file system hierarchy, where the numeric labels associated with directories are intended merely as identification for the questions that follow: 1 / 2 dei/ 8 missions/ 9 owca/ 3 doof/ 4 norm/ 10 carl/ 11 mm/ 12 perry/ 13 silentg/ backstory/ 6 inators/ 7 plans/ 14 family/ 1 gear/ 16 missions/ 17 plans/ For each question that follows, suppose that Heinz s home directory is directory #3 and that his current working directory is directory #1. (a) If Heinz executed the Unix command pwd, what would be the system s response? /owca/perry/gear (b) If Heinz executed the Unix command cd.., which directory would become his current working directory? (Give the number of the directory, not the name.) #12 (c) If Heinz executed the Unix command cd ~/.., which directory would become his current working directory? (Give the number of the directory, not the name.) #2
3 As before, suppose that Heinz s home directory is directory #3 and that his current working directory is directory #1. For each of the following tasks, give a single Unix command would allow Heinz to complete the task. You should assume that each task is completed independently of the others (i.e., changes made in one task do not affect other tasks). (d) List all files (including hidden files) in directory #14, but do not include info about file permissions and creation dates ls -a../family (e) Create a subdirectory in directory #4 called tasks mkdir /dei/norm/tasks (f) Make a copy of the file agents (located in directory #13), placing it in directory #7 with the name blog cp /owca/silentg/agents ~/plans/blog (g) Delete the file duplic.pdf (located in directory #6) rm ~/inators/duplic.pdf (h) Move the file kickball (located in directory #) to directory #8 mv ~/backstory/kickball /missions 3. (16 points) A gourmet pizza shops sells pizzas with a variety of premium and regular toppings: The base price for a large pizza is $18; the base price for a small pizza is $10. Each premium topping costs $4 for a large pizza and $3 for a small pizza. Each regular topping costs $3 for a large pizza and $2 for a small pizza. To attract new customers, the shop is currently running a special promotion: the first three toppings on large pizzas are free, but additional toppings are charged at the usual prices. Under this deal, premium toppings are discounted first (see examples below). Here are examples of how the pricing works: Ana orders a small pizza with two premium toppings and five regular toppings. She pays $26 ($10 for small pizza, $6 for the premium toppings, and $10 for the regular toppings). Blake buys a large pizza with two premium toppings and five regular toppings. The special promotion makes three toppings (two premium and one regular) free. The remaining four regular toppings cost $12, and hence he pays $30 in total. Cora buys a large pizza with four premium toppings and one regular topping. Because of the special promotion, she receives three premium toppings for free. Thus, she pays $2 ($18 for large pizza, $4 for one premium topping, and $3 for one regular topping). Dale buys a large pizza with one premium topping. Because of the special promotion, the topping is free. Thus, he pays $18. Your task: Write a Haskell function
4 cost :: Bool -> Int -> Int -> Int such that cost large prem reg calculates the cost (in dollars) of a customer s pizza purchase, where prem indicates the number of premium toppings, reg indicates the number of regular toppings, and large is true precisely when a large pizza is ordered. If either prem or reg is negative, the function should return 0. For example, your function should have the following behavior: *Main> cost False 2 26 *Main> cost True 2 30 *Main> cost True Sample solution: cost large prem reg prem < 0 reg < 0 = 0 not large = 10 + prem*3 + reg*2 prem >= 3 = 18 + (prem-3)*4 + reg*3 otherwise = 18 + newreg*3 where newreg = max 0 (reg - (3-prem)) 4. (10 points) Write a Haskell function interleave :: String -> String -> String such that interleave cs ds returns the string obtained by interleaving the elements of cs and ds; the resulting string should be twice the length of the shorter of the two strings. For example, the function should have the following behavior: *Main> interleave "abcde" "XYZ" "axbycz" *Main> interleave "..." "ABCDE" ".A.B.C.D" Sample solution #1: interleave (x:xs) (y:ys) = x: y: interleave xs ys interleave = [] Sample solution #2: interleave xs ys = concat [ [x,y] (x,y) <- zip xs ys ]. (12 points) Write a Haskell function condense :: [Integer] -> [Integer]
5 such that condense xs returns the list obtained by removing all consecutive duplicate entries in the list xs; non-consecutive duplicates are left alone. For example, the function should have the following behavior: *Main> condense [3,0,0,0,21,3,3,7,1,1,1,0] [3,0,21,3,7,1,0] Sample solution: condense (x:y:zs) x == y = condense (y:zs) otherwise = x: condense (y:zs) condense xs = xs -- handles empty and singleton lists 6. (12 points) Write a Haskell function getnth :: [a] -> Integer -> a -> a such that getnth xs k backup returns the k-th element of xs; if the list does not have a k-th element (either because the list is too short or k is nonpositive), then backup is returned instead. Do not use the built-in operator!! for this question. For example: *Main> getnth "cis 22" 3 A s *Main> getnth "cis 22" 13 A A *Main> getnth "cis 22" (-2) A A Sample solution #1: getnth [] k backup = backup getnth (x:xs) k backup k <= 0 = backup k == 1 = x otherwise = getnth xs (k-1) backup Sample solution #2: getnth xs k backup = head ([ x (i,x) <- zip [1..] xs, i == k] ++ [backup])
CIS 252 Introduction to Computer Science Section M013: Exam 1 (Pink) February 22, Points Possible
Name: CIS 252 Introduction to Computer Science Section M013: February 22, 2018 Question Points Possible Points Received 1 34 2 16 3 16 4 10 5 12 6 12 Total 100 Instructions: 1. This exam is a closed-book
More information1. (34 points) Suppose that the following definitions are made: (a) (22 points) Give the values of the following expressions.
1. (34 points) Suppose that the following definitions are made: import Data.Char field :: [(Char,Integer)] field = [( e,12), ( a,3), ( k,5),( t,2)] huck :: [a] -> Int huck [] = 55 huck (x:z) = 81 huck
More informationCIS 252 Introduction to Computer Science Section M013: Exam 1 (Blue) February 22, Points Possible
Name: CIS 252 Introduction to Computer Science Section M013: February 22, 2018 Question Points Possible Points Received 1 34 2 16 3 16 4 10 5 12 6 12 Total 100 Instructions: 1. This exam is a closed-book
More information1. (34 points) Suppose that the following definitions are made: (a) (22 points) Give the values of the following expressions.
1. (34 points) Suppose that the following definitions are made: import Data.Char ice :: [(Char,Integer)] ice = [( d,12), ( m,3), ( j,5),( f,2)] curl :: [a] -> String curl [] = "skip" curl (x:z) = "vice"
More informationCIS 252 Introduction to Computer Science Section M019: Exam 1 (Yellow) February 22, Points Possible
Name: CIS 252 Introduction to Computer Science Section M019: February 22, 2018 Question Points Possible Points Received 1 34 2 16 3 16 4 10 5 12 6 12 Total 100 Instructions: 1. This exam is a closed-book
More informationCIS 252 Introduction to Computer Science Exam 1 (Green) October 3, Points Possible
Name: CIS 252 Introduction to Computer Science October 3, 2018 Question Points Possible Points Received 1 34 2 16 3 18 4 10 5 10 6 12 Total 100 Instructions: 1. This exam is a closed-book (and closed-notes)
More information2. (18 points) Suppose that the following definitions are made (same as in Question 1):
1. (18 points) Suppose that the following definitions are made: import Data.Char data Roadway = Avenue Char Lane [Integer] String Parkway Float Int doze :: Integer -> Bool doze m = even m m > 10 dream
More informationPROGRAMMING IN HASKELL. Chapter 5 - List Comprehensions
PROGRAMMING IN HASKELL Chapter 5 - List Comprehensions 0 Set Comprehensions In mathematics, the comprehension notation can be used to construct new sets from old sets. {x 2 x {1...5}} The set {1,4,9,16,25}
More information2. (18 points) Suppose that the following definitions are made (same as in Question 1):
1. (18 points) Suppose that the following definitions are made: import Data.Char data Avenue = Court Char Road String [Integer] Street Int Float snooze :: Int -> Bool snooze m = even m m < 5 slumber ::
More informationCIS 252 Introduction to Computer Science Section M013: Exam 2 (Green) March 29, Points Possible
Name: CIS 252 Introduction to Computer Science Section M013: March 29, 2018 Question Points Possible Points Received 1 18 2 18 3 12 4 6 5 34 6 12 Total 100 Instructions: 1. This exam is a closed-book (and
More information2. (18 points) Suppose that the following definitions are made (same as in Question 1):
1. (18 points) Suppose that the following definitions are made: import Data.Char data Field = Pasture Char Lawn Integer Float Meadow String [Integer] gaze :: Integer -> Bool gaze m = odd m && m < 10 wonder
More informationPROGRAMMING IN HASKELL. CS Chapter 6 - Recursive Functions
PROGRAMMING IN HASKELL CS-205 - Chapter 6 - Recursive Functions 0 Introduction As we have seen, many functions can naturally be defined in terms of other functions. factorial :: Int Int factorial n product
More informationIntroduction to Programming: Lecture 6
Introduction to Programming: Lecture 6 K Narayan Kumar Chennai Mathematical Institute http://www.cmi.ac.in/~kumar 28 August 2012 Example: initial segments Write a Haskell function initsegs which returns
More informationA Sudoku Solver (1A) Richard Bird Implementation. Young Won Lim 11/15/16
A Sudoku Solver (1A) Richard Bird Implementation Copyright (c) 2016 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,
More informationShell CSCE 314 TAMU. Functions continued
1 CSCE 314: Programming Languages Dr. Dylan Shell Functions continued 2 Outline Defining Functions List Comprehensions Recursion 3 A Function without Recursion Many functions can naturally be defined in
More informationCS 320: Concepts of Programming Languages
CS 320: Concepts of Programming Languages Wayne Snyder Computer Science Department Boston University Lecture 06: Useful Haskell Syntax, HO Programming Continued o Goodbye to Bare Bones Haskell: Built-in
More informationCSCE 314 TAMU Fall CSCE 314: Programming Languages Dr. Flemming Andersen. Haskell Functions
1 CSCE 314: Programming Languages Dr. Flemming Andersen Haskell Functions 2 Outline Defining Functions List Comprehensions Recursion 3 Conditional Expressions As in most programming languages, functions
More informationA general introduction to Functional Programming using Haskell
A general introduction to Functional Programming using Haskell Matteo Rossi Dipartimento di Elettronica e Informazione Politecnico di Milano rossi@elet.polimi.it 1 Functional programming in a nutshell
More informationIntroduction to the UNIX command line
Introduction to the UNIX command line Steven Abreu Introduction to Computer Science (ICS) Tutorial Jacobs University s.abreu@jacobs-university.de September 19, 2017 Overview What is UNIX? UNIX Shell Commands
More informationProgramming in Haskell Aug-Nov 2015
Programming in Haskell Aug-Nov 2015 LECTURE 5 AUGUST 18, 2015 S P SURESH CHENNAI MATHEMATICAL INSTITUTE The datatype Char Values are written with single quotes a, 3, %, #, Character symbols stored in a
More informationIt is better to have 100 functions operate one one data structure, than 10 functions on 10 data structures. A. Perlis
Chapter 14 Functional Programming Programming Languages 2nd edition Tucker and Noonan It is better to have 100 functions operate one one data structure, than 10 functions on 10 data structures. A. Perlis
More informationLecture 2: List algorithms using recursion and list comprehensions
Lecture 2: List algorithms using recursion and list comprehensions Søren Haagerup Department of Mathematics and Computer Science University of Southern Denmark, Odense September 12, 2017 Expressions, patterns
More informationInformatics 1 Functional Programming Lecture 11. Data Representation. Don Sannella University of Edinburgh
Informatics 1 Functional Programming Lecture 11 Data Representation Don Sannella University of Edinburgh Part I Complexity t = n vs t = n 2 10.4 9.6 8.8 8 7.2 6.4 5.6 4.8 4 3.2 2.4 1.6 0.8 0 0.8 1.6 2.4
More informationStandard prelude. Appendix A. A.1 Classes
Appendix A Standard prelude In this appendix we present some of the most commonly used definitions from the standard prelude. For clarity, a number of the definitions have been simplified or modified from
More informationPROGRAMMING IN HASKELL. Chapter 2 - First Steps
PROGRAMMING IN HASKELL Chapter 2 - First Steps 0 The Hugs System Hugs is an implementation of Haskell 98, and is the most widely used Haskell system; The interactive nature of Hugs makes it well suited
More informationChapter Two. Lesson A. Objectives. Exploring the UNIX File System and File Security. Understanding Files and Directories
Chapter Two Exploring the UNIX File System and File Security Lesson A Understanding Files and Directories 2 Objectives Discuss and explain the UNIX file system Define a UNIX file system partition Use the
More informationInformatics 1 Functional Programming Lectures 15 and 16. IO and Monads. Don Sannella University of Edinburgh
Informatics 1 Functional Programming Lectures 15 and 16 IO and Monads Don Sannella University of Edinburgh Part I The Mind-Body Problem The Mind-Body Problem Part II Commands Print a character putchar
More informationCSCE 314 Programming Languages
CSCE 314 Programming Languages Haskell: Higher-order Functions Dr. Hyunyoung Lee 1 Higher-order Functions A function is called higher-order if it takes a function as an argument or returns a function as
More informationProgramming Language Concepts: Lecture 14
Programming Language Concepts: Lecture 14 Madhavan Mukund Chennai Mathematical Institute madhavan@cmi.ac.in http://www.cmi.ac.in/~madhavan/courses/pl2009 PLC 2009, Lecture 14, 11 March 2009 Function programming
More informationState Monad (3D) Young Won Lim 9/25/17
Copyright (c) 2016-2017 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 informationEDAF40. 2nd June :00-19:00. WRITE ONLY ON ONE SIDE OF THE PAPER - the exams will be scanned in and only the front/ odd pages will be read.
EDAF40 2nd June 2017 14:00-19:00 WRITE ONLY ON ONE SIDE OF THE PAPER - the exams will be scanned in and only the front/ odd pages will be read. DO NOT WRITE WITH OTHER COLOUR THAN BLACK - coloured text
More informationShell CSCE 314 TAMU. Higher Order Functions
1 CSCE 314: Programming Languages Dr. Dylan Shell Higher Order Functions 2 Higher-order Functions A function is called higher-order if it takes a function as an argument or returns a function as a result.
More informationIntroduction to Programming, Aug-Dec 2006
Introduction to Programming, Aug-Dec 2006 Lecture 3, Friday 11 Aug 2006 Lists... We can implicitly decompose a list into its head and tail by providing a pattern with two variables to denote the two components
More informationHaskell Programs. Haskell Fundamentals. What are Types? Some Very Basic Types. Types are very important in Haskell:
Haskell Programs We re covering material from Chapters 1-2 (and maybe 3) of the textbook. Haskell Fundamentals Prof. Susan Older A Haskell program is a series of comments and definitions. Each comment
More informationInformatics 1 Functional Programming Lecture 12. Data Abstraction. Don Sannella University of Edinburgh
Informatics 1 Functional Programming Lecture 12 Data Abstraction Don Sannella University of Edinburgh Part I Sets as lists without abstraction We will look again at our four ways of implementing sets.
More informationPython for Astronomers. Week 1- Basic Python
Python for Astronomers Week 1- Basic Python UNIX UNIX is the operating system of Linux (and in fact Mac). It comprises primarily of a certain type of file-system which you can interact with via the terminal
More informationHaskell Types, Classes, and Functions, Currying, and Polymorphism
1 CSCE 314: Programming Languages Dr. Flemming Andersen Haskell Types, Classes, and Functions, Currying, and Polymorphism 2 Types A type is a collection of related values. For example, Bool contains the
More informationCSCE 314 Programming Languages. Monadic Parsing
CSCE 314 Programming Languages Monadic Parsing Dr. Hyunyoung Lee 1 What is a Parser? A parser is a program that takes a string of characters (or a set of tokens) as input and determines its syntactic structure.
More informationInformatics 1 Functional Programming 19 Tuesday 23 November IO and Monads. Philip Wadler University of Edinburgh
Informatics 1 Functional Programming 19 Tuesday 23 November 2010 IO and Monads Philip Wadler University of Edinburgh The 2010 Informatics 1 Competition Sponsored by Galois (galois.com) List everyone who
More informationCSc 372. Comparative Programming Languages. 15 : Haskell List Comprehension. Department of Computer Science University of Arizona
1/20 CSc 372 Comparative Programming Languages 15 : Haskell List Comprehension Department of Computer Science University of Arizona collberg@gmail.com Copyright c 2013 Christian Collberg 2/20 List Comprehensions
More informationCSCE 314 Programming Languages. Functional Parsers
CSCE 314 Programming Languages Functional Parsers Dr. Hyunyoung Lee 1 What is a Parser? A parser is a program that takes a text (set of tokens) and determines its syntactic structure. String or [Token]
More informationHaskell through HUGS THE BASICS
Haskell through HUGS THE BASICS FP for DB Basic HUGS 1 Algorithmic Imperative Languages variables assignment if condition then action1 else action2 loop block while condition do action repeat action until
More informationHaskell Overview II (2A) Young Won Lim 8/9/16
(2A) Copyright (c) 2016 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 informationAbstract Types, Algebraic Types, and Type Classes
Informatics 1 Functional Programming Lectures 13 and 14 Monday 9 and Tuesday 10 November 2009 Abstract Types, Algebraic Types, and Type Classes Philip Wadler University of Edinburgh Reminders Tutorial
More information1 The smallest free number
1 The smallest free number Introduction Consider the problem of computing the smallest natural number not in a given finite set X of natural numbers. The problem is a simplification of a common programming
More informationUNIX Tutorial One
1.1 Listing files and directories ls (list) When you first login, your current working directory is your home directory. Your home directory has the same name as your user-name, for example, ee91ab, and
More informationWatch out for the arrows. Recollecting Haskell, Part V. A start on higher types: Mapping, 1. A start on higher types: Mapping, 2.
Watch out for the arrows Recollecting Haskell, Part V Higher Types CIS 352/Spring 2018 Programming Languages January 30, 2018 1 / 28 2 / 28 A start on higher types: Mapping, 1 Mapping via list comprehension
More informationLogical Methods in... using Haskell Getting Started
Logical Methods in... using Haskell Getting Started Jan van Eijck May 4, 2005 Abstract The purpose of this course is to teach a bit of functional programming and logic, and to connect logical reasoning
More informationHaskell Overview II (2A) Young Won Lim 8/23/16
(2A) Copyright (c) 2016 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 informationINTRODUCTION TO HASKELL
INTRODUCTION TO HASKELL PRINCIPLES OF PROGRAMMING LANGUAGES Norbert Zeh Winter 2018 Dalhousie University 1/81 HASKELL: A PURELY FUNCTIONAL PROGRAMMING LANGUAGE Functions are first-class values: Can be
More informationAdvanced Type System Features Tom Schrijvers. Leuven Haskell User Group
Advanced Type System Features Tom Schrijvers Leuven Haskell User Group Data Recursion Genericity Schemes Expression Problem Monads GADTs DSLs Type Type Families Classes Lists and Effect Free Other Handlers
More informationUnix background. COMP9021, Session 2, Using the Terminal application, open an x-term window. You type your commands in an x-term window.
Unix background COMP9021, Session 2, 2016 1 Introduction Using the Terminal application, open an x-term window. You type your commands in an x-term window. Many commands take one or more arguments. Many
More informationCSCE 314 Programming Languages. Monadic Parsing
CSCE 314 Programming Languages Monadic Parsing Dr. Hyunyoung Lee 1 What is a Parser? A parser is a program that takes a string of characters (or a set of tokens) as input and determines its syntactic structure.
More informationInformatics 1 Functional Programming Lectures 13 and 14 Monday 11 and Tuesday 12 November Type Classes. Don Sannella University of Edinburgh
Informatics 1 Functional Programming Lectures 13 and 14 Monday 11 and Tuesday 12 November 2013 Type Classes Don Sannella University of Edinburgh Mock exam Slots and rooms have now been assigned Mon 18
More informationLab Working with Linux Command Line
Introduction In this lab, you will use the Linux command line to manage files and folders and perform some basic administrative tasks. Recommended Equipment A computer with a Linux OS, either installed
More informationThe List Datatype. CSc 372. Comparative Programming Languages. 6 : Haskell Lists. Department of Computer Science University of Arizona
The List Datatype CSc 372 Comparative Programming Languages 6 : Haskell Lists Department of Computer Science University of Arizona collberg@gmail.com All functional programming languages have the ConsList
More informationProgramming Languages Fall 2013
Programming Languages Fall 2013 Lecture 2: types Prof. Liang Huang huang@qc.cs.cuny.edu Recap of Lecture 1 functional programming vs. imperative programming basic Haskell syntax function definition lazy
More informationCHAPTER 1 UNIX FOR NONPROGRAMMERS
CHAPTER 1 UNIX FOR NONPROGRAMMERS The man command is used to display the manual entry associated with word entered as argument. The -k option is used displays a list of manual entries that contain entered
More informationChapter 4. Unix Tutorial. Unix Shell
Chapter 4 Unix Tutorial Users and applications interact with hardware through an operating system (OS). Unix is a very basic operating system in that it has just the essentials. Many operating systems,
More informationCSc 372 Comparative Programming Languages
CSc 372 Comparative Programming Languages 8 : Haskell Function Examples Christian Collberg collberg+372@gmail.com Department of Computer Science University of Arizona Copyright c 2005 Christian Collberg
More informationLecture 19: Functions, Types and Data Structures in Haskell
The University of North Carolina at Chapel Hill Spring 2002 Lecture 19: Functions, Types and Data Structures in Haskell Feb 25 1 Functions Functions are the most important kind of value in functional programming
More informationMore fun with recursion
Informatics 1 Functional Programming Lecture 6 More fun with recursion Don Sannella University of Edinburgh Part I Counting Counting Prelude [1..3] [1,2,3] Prelude enumfromto 1 3 [1,2,3] [m..n] stands
More informationCSc 372. Comparative Programming Languages. 8 : Haskell Function Examples. Department of Computer Science University of Arizona
1/43 CSc 372 Comparative Programming Languages 8 : Haskell Function Examples Department of Computer Science University of Arizona collberg@gmail.com Copyright c 2013 Christian Collberg Functions over Lists
More informationAlgebra I Final Test Review Sem 2 Ch 4, 5, 8, 9. Simplify each expression Solve each equation or inequality for x.
Simplify each expression. 1) xy 3x 6xy x 3y ) 3x 4y x 5x 9y 3) 4( x 3) 8x 1 4) 5x 3(x 4) 1x 8 Solve each equation or inequality for x. 5) 6x 8 44 6) ( x 4) 5x 7 7) 5x 3( x 4) 4x 16 8) x 4 3 x 9) 3 ( x
More informationHistory. Terminology. Opening a Terminal. Introduction to the Unix command line GNOME
Introduction to the Unix command line History Many contemporary computer operating systems, like Microsoft Windows and Mac OS X, offer primarily (but not exclusively) graphical user interfaces. The user
More informationYou should see something like this, called the prompt :
CSE 1030 Lab 1 Basic Use of the Command Line PLEASE NOTE this lab will not be graded and does not count towards your final grade. However, all of these techniques are considered testable in a labtest.
More informationIntroduction: The Unix shell and C programming
Introduction: The Unix shell and C programming 1DT048: Programming for Beginners Uppsala University June 11, 2014 You ll be working with the assignments in the Unix labs. If you are new to Unix or working
More informationInformatics 1 Functional Programming Lecture 5. Function properties. Don Sannella University of Edinburgh
Informatics 1 Functional Programming Lecture 5 Function properties Don Sannella University of Edinburgh Part I Booleans and characters Boolean operators not :: Bool -> Bool (&&), ( ) :: Bool -> Bool ->
More informationStudy Guide for Test 2
Study Guide for Test 2 Topics: decisions, loops, arrays, c-strings, linux Material Selected from: Chapters 4, 5, 6, 7, 10.1, 10.2, 10.3, 10.4 Examples 14 33 Assignments 4 8 Any syntax errors are unintentional
More informationFunctional Programming TDA 452, DIT 142
Chalmers Göteborgs Universitet 2016-04-07 Examiner: David Sands dave@chalmers.se. Answering questions on the day of the exam (at approx 15.00): Gregoire Detrez (tel: 073 55 69 550) and at other times by
More informationLinux & Shell Programming 2014
Unit -1: Introduction to UNIX/LINUX Operating System Practical Practice Questions: Find errors (if any) otherwise write output or interpretation of following commands. (Consider default shell is bash shell.)
More informationHaske k ll An introduction to Functional functional programming using Haskell Purely Lazy Example: QuickSort in Java Example: QuickSort in Haskell
Haskell An introduction to functional programming using Haskell Anders Møller amoeller@cs.au.dk The most popular purely functional, lazy programming language Functional programming language : a program
More informationCSCE 314 TAMU Fall CSCE 314: Programming Languages Dr. Flemming Andersen. Functional Parsers
1 CSCE 314: Programming Languages Dr. Flemming Andersen Functional Parsers What is a Parser? A parser is a program that takes a text (set of tokens) and determines its syntactic structure. String or [Token]
More information02157 Functional Programming Lecture 3: Lists
Lecture 3: Lists nsen 1 DTU Informatics, Technical University of Denmark Lecture 3: Lists MRH 17/09/2012 Overview Generation of lists Useful functions on lists Typical recursions on lists as a modelling
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 informationSECTION 2: CODE REASONING + PROGRAMMING TOOLS. slides borrowed and adapted from Alex Mariakis and CSE 390a
SECTION 2: CODE REASONING + PROGRAMMING TOOLS cse331-staff@cs.washington.edu slides borrowed and adapted from Alex Mariakis and CSE 390a OUTLINE Reasoning about code Developer tools Eclipse and Java versions
More informationAn introduction introduction to functional functional programming programming using usin Haskell
An introduction to functional programming using Haskell Anders Møller amoeller@cs.au.dkau Haskell The most popular p purely functional, lazy programming g language Functional programming language : a program
More informationProgramming Languages ML Programming Project Due 9/28/2001, 5:00 p.m.
Programming Languages ML Programming Project Due 9/28/2001, 5:00 p.m. Functional Suite Instead of writing a single ML program, you are going to write a suite of ML functions to complete various tasks.
More informationCS 307: UNIX PROGRAMMING ENVIRONMENT KATAS FOR EXAM 1
CS 307: UNIX PROGRAMMING ENVIRONMENT KATAS FOR EXAM 1 Prof. Michael J. Reale Fall 2014 COMMAND KATA 0 Command Kata 0: Preparation First, go to ~/cs307 cd ~/cs307 Make directory dkata0 and go to it mkdir
More informationProgramming in Haskell Aug-Nov 2015
Programming in Haskell Aug-Nov 2015 LECTURE 14 OCTOBER 1, 2015 S P SURESH CHENNAI MATHEMATICAL INSTITUTE Enumerated data types The data keyword is used to define new types data Bool = False True data Day
More informationCSCE 314 Programming Languages
CSCE 314 Programming Languages Final Review Part I Dr. Hyunyoung Lee 1 Programming Language Characteristics Different approaches to describe computations, to instruct computing devices E.g., Imperative,
More informationStatic Contract Checking for Haskell
Static Contract Checking for Haskell Dana N. Xu INRIA France Work done at University of Cambridge Simon Peyton Jones Microsoft Research Cambridge Joint work with Koen Claessen Chalmers University of Technology
More informationLists. Adrian Groza. Department of Computer Science Technical University of Cluj-Napoca
Lists Adrian Groza Department of Computer Science Technical University of Cluj-Napoca Recall... Parameter evaluation Call-by-value Call-by-name Call-by-need Functions Infix operators Local declarations,
More informationSet Haskell Exercises
Set Haskell Exercises Young W. Lim 2018-11-20 Tue Young W. Lim Set Haskell Exercises 2018-11-20 Tue 1 / 71 Outline 1 Based on 2 Pardoxes and Haskell type system Using STAL.hs Paradox Types and Type Classes
More informationHonors Introduction to C (COP 3223H) Program 5 Pizza Shack Inventory and Finances
Honors Introduction to C (COP 3223H) Program 5 Pizza Shack Inventory and Finances Objective To give students practice writing a program with structs, functions and arrays, all interleaved. The Problem:
More informationHaskell Overview II (2A) Young Won Lim 9/26/16
(2A) Copyright (c) 2016 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 informationCSCE 314 Programming Languages Functors, Applicatives, and Monads
CSCE 314 Programming Languages Functors, Applicatives, and Monads Dr. Hyunyoung Lee 1 Motivation Generic Functions A common programming pattern can be abstracted out as a definition. For example: inc ::
More informationFunctional Programming TDA 452, DIT 142
Chalmers Göteborgs Universitet 2018-01-11 Examiner: Thomas Hallgren, D&IT, Answering questions at approx 15.00 (or by phone) Functional Programming TDA 452, DIT 142 2018-01-11 14.00 18.00 Samhällsbyggnad
More informationINTI COLLEGE MALAYSIA
CSC 107 (F) / Page 1 of 6 INTI COLLEGE MALAYSIA COMPUTING AND INFORMATION TECHNOLOGY CERTIFICATE CSC 107 : PROGRAMMING IN C (BASED ON AB) FINAL EXAMINATION : AUGUST 2000 SESSION This paper consists of
More informationUnix Basics. Systems Programming Concepts
Concepts Unix directories Important Unix file commands man, pwd, ls, mkdir, cd, cp, mv File and directory access rights through permission settings Using chmod to change permissions Other important Unix
More informationUnit 10. Linux Operating System
1 Unit 10 Linux Operating System 2 Linux Based on the Unix operating system Developed as an open-source ("free") alternative by Linux Torvalds and several others starting in 1991 Originally only for Intel
More informationCOMPUTER SCIENCE 123. Foundations of Computer Science. 5. Strings
COMPUTER SCIENCE 123 Foundations of Computer Science 5. Strings Summary: This lecture introduces strings in Haskell. You should also have: Tutorial sheet 2 Solutions to Tutorial sheet 1 Lab sheet 3 Solutions
More informationHaskell An Introduction
Haskell An Introduction What is Haskell? General purpose Purely functional No function can have side-effects IO is done using special types Lazy Strongly typed Polymorphic types Concise and elegant A First
More information1. (18 points) Suppose that the following definitions are made: Give the values of the following expressions.
1. (18 points) Suppose that the following definitions are made: data Thing = Pumpkin [Float] Bat (Bool,Int) Char trick :: Integer -> Thing -> Integer trick k (Pumpkin (a:_:cs)) = k + 500 trick k _ = 44
More informationCITS3211 FUNCTIONAL PROGRAMMING. 7. Lazy evaluation and infinite lists
CITS3211 FUNCTIONAL PROGRAMMING 7. Lazy evaluation and infinite lists Summary: This lecture introduces lazy evaluation and infinite lists in functional languages. cs123 notes: Lecture 19 R.L. While, 1997
More informationHow to update or change your banking information in isolved
How to update or change your banking information in isolved 1. Login to isolved through the Purdue intranet site or from the NASDA web page. 2. Choose the Direct Deposit Updates tab under Employee Self
More informationOCaml. ML Flow. Complex types: Lists. Complex types: Lists. The PL for the discerning hacker. All elements must have same type.
OCaml The PL for the discerning hacker. ML Flow Expressions (Syntax) Compile-time Static 1. Enter expression 2. ML infers a type Exec-time Dynamic Types 3. ML crunches expression down to a value 4. Value
More informationCSC111 Computer Science II
CSC111 Computer Science II Lab 1 Getting to know Linux Introduction The purpose of this lab is to introduce you to the command line interface in Linux. Getting started In our labs If you are in one of
More informationCSc 520 Principles of Programming Languages. Currying Revisited... Currying Revisited. 16: Haskell Higher-Order Functions
Higher-Order Functions CSc 520 Principles of Programming Languages 16: Haskell Higher-Order Functions Christian Collberg collberg@cs.arizona.edu Department of Computer Science University of Arizona Copyright
More informationCSc 372. Comparative Programming Languages. 11 : Haskell Higher-Order Functions. Department of Computer Science University of Arizona
CSc 372 Comparative Programming Languages 11 : Haskell Higher-Order Functions Department of Computer Science University of Arizona collberg@gmail.com Copyright c 2010 Christian Collberg Higher-Order Functions
More information