0% found this document useful (0 votes)
27 views2 pages

CSE2303 Formal Methods I Tutorial 1 Regular Expressions: Please Attempt All The Starred Questions Before Your Tutorial

This document contains a tutorial on regular expressions with 16 questions. The tutorial covers writing regular expressions to describe languages over various alphabets, including dates, times, floating point numbers, arithmetic expressions, palindromes and strings with equal numbers of letters. Students are asked to attempt the starred questions before the tutorial.

Uploaded by

AndrewDong
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views2 pages

CSE2303 Formal Methods I Tutorial 1 Regular Expressions: Please Attempt All The Starred Questions Before Your Tutorial

This document contains a tutorial on regular expressions with 16 questions. The tutorial covers writing regular expressions to describe languages over various alphabets, including dates, times, floating point numbers, arithmetic expressions, palindromes and strings with equal numbers of letters. Students are asked to attempt the starred questions before the tutorial.

Uploaded by

AndrewDong
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

School of Computer Science and Software Engineering

Clayton Campus, Monash University


Semester I, 2005

CSE2303 Formal Methods I


Tutorial 1
Regular Expressions
Please attempt all the starred questions before your tutorial.

1. Write down all the words described by the following regular expression.
(aa + bb)(ba + ab)(aa + bb)
2. Write down all the words of length 6 described by the following regular expression.
(aa + bb)
3. Write down all the words of length less than or equal to 8 described by the following regular expression.
(ab + ba)(aa + bb) ab
4. A programmer used the following regular expression to describe dates where the
day, month, and year are separated by /.
([0 9][0 9]|[0 9])/([0 9][0 9])/[0 9]+
Give an example of a valid date not described by this regular expression, and an
invalid date described by this regular expression.
For Questions 5 through 11, construct a regular expression defining each of the following languages over the alphabet {a, b}.
5. All words that contain exactly two letters.
6. All words that contain exactly two bs or exactly three bs, not more.
7. All strings that end in a double letter.
8. All strings that do not end in a double letter.
9. All strings that have exactly one double letter in them.
10. All strings that have an even length.
11. All strings in which the letter b is never tripled. This means that no
word contain the string bbb.
1

12. Construct a regular expression to describe times for the twenty four hour clock,
where the hour, minute, and second are separated by :.
13. In the book The C programming Language, by B.W. Kernighan and D.M.
Ritchie, a floating point number is defined as an optional sign, a string of numbers possible containing a decimal point, and an optional exponent field containing an E or e followed by a possible signed integer. Construct a regular
expression which describes a floating point number.
14. In the lectures regular expressions were defined by a recursive definition. Give a
recursive definition for arithmetic expressions, which use integers, the operators
+, -, /, *, and brackets, ().
15. The language PALINDROME over the alphabet {a, b} consists of those strings
of a and b which are the same read forward or backward. Give a recursive definition for the language PALINDROME.
16. The language EQUAL over the alphabet {a, b} consists of those strings of a and
b which have the same number of as and bs. Give a recursive definition for the
language EQUAL.

You might also like