1. (34 points) Suppose that the following definitions are made: (a) (22 points) Give the values of the following expressions.
|
|
- Rosemary Owens
- 5 years ago
- Views:
Transcription
1 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" curl (w:y:ts) = "lead" sweep :: a -> (Float,a) sweep x = (1.0,x) freeze :: Integer -> [(Char,Integer)] -> String freeze i [] = [] freeze i ((w,p):rest) i == p = w : freeze i rest otherwise = "!!" hurry :: Int -> Bool hurry v = v > 100 even v (a) (22 points) Give the values of the following expressions. (i). 3:5:1:[] [3,5,1] (ii). div (iii). curl [1,10,100] "vice" (iv). hurry 18 True (v). [20,24..30] [20,24,28] (vi). isupper? False (vii). length [[2,4],[7],[],[8,6]] 4 (viii). [ r (r,m) <- ice, odd m] "mj" (ix). freeze 12 ice "d!!" (x). zip [3,6,10,12] [20,30,40] [(3,20),(6,30),(10,40)] (xi). concat [[2,7],[],[31,8,2]] [2,7,31,8,2] (b) (12 points) Give the types of the following expressions (e.g., the type of [False] is [Bool]).
2 (i). ["104","days"]:[] [[String]] (ii). (odd 6, length [3.5]) (Bool,Int) (iii). unzip ice ([Char],[Integer]) (iv). sweep Q (Float,Char) (v). fst (hurry 13,"sun") Bool (vi). [ sweep b (a,b) <- ice] [(Float,Integer)] 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/ 5 backstory/ 6 inators/ 7 plans/ 14 family/ 15 gear/ 16 missions/ 17 plans/ For each question that follows, suppose that Perry s home directory is directory #12 and that his current working directory is directory #6. (a) If Perry executed the Unix command pwd, what would be the system s response? /dei/doof/inators (b) If Perry executed the Unix command cd.., which directory would become his current working directory? (Give the number of the directory, not the name.) #3 (c) If Perry executed the Unix command cd ~/.., which directory would become his current working directory? (Give the number of the directory, not the name.) #9
3 As before, suppose that Perry s home directory is directory #12 and that his current working directory is directory #6. For each of the following tasks, give a single Unix command would allow Perry 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 #7, but do not include info about file permissions and creation dates ls -a../plans (e) Create a subdirectory in directory #8 called canada mkdir /missions/canada (f) Make a copy of the file watch.pdf (located in directory #10), placing it in directory #15 with the name new.pdf cp /owca/carl/watch.pdf ~/gear/new.pdf (g) Delete the file vacation (located in directory #17) rm ~/plans/vacation (h) Move the file seattle (located in directory #16) to directory #13 mv ~/missions/seattle /owca/silentg 3. (16 points) A small burger shop sells burgers and fries (and not much else): The standard cost for a burger is $7, and the cost for an order of fries is $2. To attract new customers, the shop is currently running a promotion: for every two burgers purchased at the standard price, one order of fries is free. The shop also has a loyalty program for repeat customers. Customers who present their membership card at the time of purchase pay only $6 per burger (but they pay full price for all fries). Here are examples of how the pricing works: Ana wishes to purchase five burgers and three orders of fries. She does not present a membership card at the time of purchase. Because she s ordering five burgers, she is eligible for two free orders of fries. She therefore pays a total of $37 (five burgers at $7 apiece, plus $2 for the one non-free order of fries). Blake also wishes to purchase five burgers and three orders of fries, but he does present his membership card at the time of purchase. Because he s using his membership card, he is not eligible for any free orders of fries. He pays a total of $36 (five burgers at $6 apiece, plus three orders of fries at $2 apiece). Cora wishes to purchase three burgers and no fries, and she does not present a membership card at the time of purchase. Because she s ordering three burgers, she would be eligible for one free order of fries, but she doesn t use that benefit. She pays a total of $21 (three burgers at $7 apiece). Your task: Write a Haskell function
4 cost :: Integer -> Integer -> Bool -> Integer such that cost burgs fries card calculates the cost (in dollars) of a customer s food purchase, where burgs indicates the number of burgers purchased, fries indicates the number of orders of fries desired, and card is true precisely when the customer presents a membership card at the time of purchase. If either burgs or fries is negative, the function should return 0. For example, your function should have the following behavior: *Main> cost 5 3 False 37 *Main> cost 5 3 True 36 *Main> cost 3 0 False 21 *Main> cost 3 0 True 18 cost burgs fries card burgs < 0 fries < 0 = 0 card = burgs * 6 + fries * 2 otherwise = burgs * 7 + paidfries * 2 where paidfries = max 0 (fries - div burgs 2) cost card burgs fries burgs < 0 fries < 0 = 0 card = burgs * 6 + fries * 2 paidfries > 0 = burgs * 7 + paidfries * 2 otherwise = burgs * 7 where paidfries = fries - div burgs 2 4. (10 points) Write a Haskell function neighbors :: [a] -> [(a,a)] such that neighbors xs returns a list of all pairs of neighboring (i.e., adjacent) elements of xs. For example, the function should have the following behavior: *Main> neighbors [3,0,21,3,3,7,1] [(3,0),(0,21),(21,3),(3,3),(3,7),(7,1)] *Main> neighbors "cis252" [( c, i ),( i, s ),( s, 2 ),( 2, 5 ),( 5, 2 )] *Main> neighbors [3] [] neighbors (x:y:zs) = (x,y) : neighbors (y:zs) neighbors zs = [] -- handles [] and singletons
5 neighbors [] = [] neighbors (x:xs) = zip (x:xs) xs 5. (12 points) Write a Haskell function changefirst :: Char -> String -> String such that changefirst ch cs returns the string obtained by changing the first occurrence of ch in cs to # (everything else in the string stays the same). For example: *Main> changefirst 2 "cis 252" "cis #52" *Main> changefirst A "cis 252" "cis 252" Sample solution: changefirst ch [] = [] changefirst ch (c:cs) ch == c = # :cs otherwise = c: changefirst ch cs 6. (12 points) Write a Haskell function addsome :: Int -> [(Int,Char)] -> Int such that addsome k ps calculates the sum of the first k numbers paired with a lowercase letter in the list ps. (If there are fewer than k pairs with lowercase letters, then the function sums those that exist; when k is nonpositive, the function returns 0.) For example, the list [(5,! ),(3, b ),(6, w ),(8, Q ),(12, $ ),(-1, s ),(6, b )] has four numbers paired with lowercase letters: 3, 6, -1, and 6. Thus, addsome has the following behavior: *Main> addsome 1 [(5,! ),(3, b ),(6, w ),(8, Q ),(12, $ ),(-1, s ),(6, b )] 3 *Main> addsome 2 [(5,! ),(3, b ),(6, w ),(8, Q ),(12, $ ),(-1, s ),(6, b )] 9 *Main> addsome 3 [(5,! ),(3, b ),(6, w ),(8, Q ),(12, $ ),(-1, s ),(6, b )] 8 *Main> addsome 10 [(5,! ),(3, b ),(6, w ),(8, Q ),(12, $ ),(-1, s ),(6, b )] 14 *Main> addsome (-2) [(5,! ),(3, b ),(6, w ),(8, Q ),(12, $ ),(-1, s ),(6, b )] 0 addsome k [] = 0 addsome k ((m,c):rest) k <= 0 = 0 islower c = m + addsome (k-1) rest otherwise = addsome k rest addsome k ps = sum (take k [m (m,c) <- ps, islower c])
CIS 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 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 zone :: [(Int,Char)] zone = [(23, g ), (3, m ), (4, d ), (2, k ), (13, e )] poach :: [a] -> Float poach [] = 6.1 poach (x:z)
More informationCIS 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 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 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 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 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 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 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 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 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 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 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 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 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 informationCIS 252 Introduction to Computer Science Section M013: Exam 3 (Blue) April 26, Points Possible
Name: CIS 252 Introduction to Computer Science Section M013: April 26, 2018 Question Points Possible Points Received 1 18 2 20 3 12 4 14 5 24 6 12 Total 100 Instructions: 1. This exam is a closed-book
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 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 informationcommandname flags arguments
Unix Review, additional Unix commands CS101, Mock Introduction This handout/lecture reviews some basic UNIX commands that you should know how to use. A more detailed description of this and other commands
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 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 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 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 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 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 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 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 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 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 informationWrite code that simulates one roll of a 6-sided die and prints out the
CS 101, Spring 2017 Mar 14th Exam 2 Name: Question 1. [5 points] If i = 4 and j = 2, what will print: true or false? Briefly explain. if ((i!= 3) (j < 2)) { printf("true"); else { printf("false"); Question
More informationUnix Filesystem. January 26 th, 2004 Class Meeting 2
Unix Filesystem January 26 th, 2004 Class Meeting 2 * Notes adapted by Christian Allgood from previous work by other members of the CS faculty at Virginia Tech Unix Filesystem! The filesystem is your interface
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 informationFunctional Programming and Haskell
Functional Programming and Haskell Tim Dawborn University of Sydney, Australia School of Information Technologies Tim Dawborn Functional Programming and Haskell 1/22 What are Programming Paradigms? A programming
More informationCase by Case. Chapter 3
Chapter 3 Case by Case In the previous chapter, we used the conditional expression if... then... else to define functions whose results depend on their arguments. For some of them we had to nest the conditional
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 informationEssential Linux Shell Commands
Essential Linux Shell Commands Special Characters Quoting and Escaping Change Directory Show Current Directory List Directory Contents Working with Files Working with Directories Special Characters There
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 informationOverview. Declarative Languages D7012E. Overloading. Overloading Polymorphism Subtyping
Overview Declarative Languages D7012E Lecture 4: The Haskell type system Fredrik Bengtsson / Johan Nordlander Overloading & polymorphism Type classes instances of type classes derived type classes Type
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 informationITEC2620 Introduction to Data Structures
ITEC2620 Introduction to Data Structures Lecture 10a Grammars II Review Three main problems Derive a sentence from a grammar Develop a grammar for a language Given a grammar, determine if an input is valid
More informationIntroduction to Supercomputing
Introduction to Supercomputing TMA4280 Introduction to UNIX environment and tools 0.1 Getting started with the environment and the bash shell interpreter Desktop computers are usually operated from a graphical
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 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 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 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 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 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 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 informationIntroduction to Algorithms and Programming I Lab. Exercises #1 Solution
60-140 Introduction to Algorithms and Programming I Lab. Exercises #1 Solution Objectives are to: 1. Learn basic Unix commands for preparing a source C program file, compiling a C program and executing
More informationProblem Grade Total
CS 101, Prof. Loftin: Final Exam, May 11, 2009 Name: All your work should be done on the pages provided. Scratch paper is available, but you should present everything which is to be graded on the pages
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 Matt Mullins Texas A&M Computing Society October 6, 2009 Matt Mullins (TACS) Introduction to Haskell October 6, 2009 1 / 39 Outline Introduction to Haskell Functional Programming
More informationCS1101: Lecture 5 Basic File Manipulation II
CS1101: Lecture 5 Dr. Barry O Sullivan b.osullivan@cs.ucc.ie Lecture Overview Basic File Manipulation Commands mkdir rmdir Two More Abbreviations? * Example using Wildcards More Basic File Manipulation
More informationExercise 1 ( = 22 points)
1 Exercise 1 (4 + 3 + 4 + 5 + 6 = 22 points) The following data structure represents polymorphic lists that can contain values of two types in arbitrary order: data DuoList a b = C a (DuoList a b) D b
More informationCSc 520. Principles of Programming Languages 11: Haskell Basics
CSc 520 Principles of Programming Languages 11: Haskell Basics Christian Collberg Department of Computer Science University of Arizona collberg@cs.arizona.edu Copyright c 2005 Christian Collberg April
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 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 information1- Write a single C++ statement that: A. Calculates the sum of the two integrates 11 and 12 and outputs the sum to the consol.
1- Write a single C++ statement that: A. Calculates the sum of the two integrates 11 and 12 and outputs the sum to the consol. B. Outputs to the console a floating point number f1 in scientific format
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 informationCIS552: Advanced Programming
CIS552: Advanced Programming Handout 8 What is a Parser? A parser is a program that analyzes a piece of text to deine its structure (and, typically, returns a tree representing this structure). The World
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 informationMTU Computer Structure
1 MTU Computer Structure Home directory: h drive Same for Suns & PC s Location to store files Organize files by creating appropriate directories (folders) Subdirectory - any directory within in another
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 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 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 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 informationMultiple Choice - 58 Questions - 10 of 15%
CST 8129 Ian Allen Fall 2005-1- 110 minutes Evaluation: Part I - 58 M/C Questions Name: Important Instructions 1. Read all the instructions and both sides (back and front) of all pages. 2. Manage your
More informationQuestion 1. [5 points] Circle and briefly explain the error(s) in the following code:
CS 101, Spring 2017 Feb 14th Exam 1 Name: Question 1. [5 points] Circle and briefly explain the error(s) in the following code: double x, y; result = (x)(x) + y; printf("%lf\n", result); Question 2. [10
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 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 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 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 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 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 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 informationUnit 13. Linux Operating System Debugging Programs
1 Unit 13 Linux Operating System Debugging Programs COMPILATION 2 3 Editors "Real" developers use editors designed for writing code No word processors!! You need a text editor to write your code Eclipse,
More information: Principles of Imperative Computation Victor Adamchik. Practice Exam - I
15-122 Practice Exam - I Page 1 of 10 15-122 : Principles of Imperative Computation Victor Adamchik Practice Exam - I Name: Andrew ID: Answer the questions in the space provided following each question.
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 informationCS 455 Midterm Exam 1 Fall 2017 [Bono] Thursday, Sep. 28, 2017
Name: USC NetID (e.g., ttrojan): CS 455 Midterm Exam 1 Fall 2017 [Bono] Thursday, Sep. 28, 2017 There are 6 problems on the exam, with 55 points total available. There are 10 pages to the exam (5 pages
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 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 informationHaskell Types COMP360
Haskell Types COMP360 No computer has ever been designed that is ever aware of what it's doing; but most of the time, we aren't either. Marvin Minsky Haskell Programming Assignment A Haskell programming
More informationMills HPC Tutorial Series. Linux Basics I
Mills HPC Tutorial Series Linux Basics I Objectives Command Line Window Anatomy Command Structure Command Examples Help Files and Directories Permissions Wildcards and Home (~) Redirection and Pipe Create
More informationA tour of the Haskell Prelude
A tour of the Haskell Prelude Bernie Pope 2001 1 Haskell The Haskell language was conceived during a meeting held at the 1987 Functional Programming and Computer Architecture conference (FPCA 87). At the
More informationInformatics 1 Functional Programming Lecture 7. Map, filter, fold. Don Sannella University of Edinburgh
Informatics 1 Functional Programming Lecture 7 Map, filter, fold Don Sannella University of Edinburgh Part I Map Squares *Main> squares [1,-2,3] [1,4,9] squares :: [Int] -> [Int] squares xs [ x*x x
More informationUnix File System. Class Meeting 2. * Notes adapted by Joy Mukherjee from previous work by other members of the CS faculty at Virginia Tech
Unix File System Class Meeting 2 * Notes adapted by Joy Mukherjee from previous work by other members of the CS faculty at Virginia Tech Unix File System The file system is your interface to: physical
More informationCSCE 314 Programming Languages
CSCE 314 Programming Languages Haskell: Declaring Types and Classes Dr. Hyunyoung Lee 1 Outline Declaring Data Types Class and Instance Declarations 2 Defining New Types Three constructs for defining types:
More informationHaskell Introduction Lists Other Structures Data Structures. Haskell Introduction. Mark Snyder
Outline 1 2 3 4 What is Haskell? Haskell is a functional programming language. Characteristics functional non-strict ( lazy ) pure (no side effects*) strongly statically typed available compiled and interpreted
More informationChapter-3. Introduction to Unix: Fundamental Commands
Chapter-3 Introduction to Unix: Fundamental Commands What You Will Learn The fundamental commands of the Unix operating system. Everything told for Unix here is applicable to the Linux operating system
More informationLab manual for Subject: System Programming. Class : sixth semester(cse)
Lab manual for Subject: System Programming Class : sixth semester(cse) List of Practical. 1) Write a Program to create,read, and write into a file having record of students. 2) a) Write a program to generate
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 informationCS101 Linux Shell Handout
CS101 Linux Shell Handout Introduction This handout is meant to be used as a quick reference to get a beginner level hands on experience to using Linux based systems. We prepared this handout assuming
More informationREVIEW. The C++ Programming Language. CS 151 Review #2
REVIEW The C++ Programming Language Computer programming courses generally concentrate on program design that can be applied to any number of programming languages on the market. It is imperative, however,
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 information