meeting #1 – november 2010 – intro to c# homework assignments svetlin nakov telerik corporation

25
Telerik School Academy Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation www.telerik. com http:// schoolacademy.telerik.com

Upload: jennifer-easter-potter

Post on 18-Dec-2015

220 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

Telerik School Academy

Meeting #1 – November 2010 – Intro to C#Homework Assignments

Svetlin NakovTelerik

Corporationwww.telerik.com

http://schoolacademy.telerik.com

Page 2: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

Prepare IT Test Questions

Page 3: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

Prepare IT Test Questions

Prepare at least 20 questions for preparation for the National Olympiad's IT test Prepare at least one question for

each category from the official conspectus

Categories are officially published at http://edusoft.fmi.uni-sofia.bg/documents/Conspect0910.pdf

Follow strictly the IT test template: IT-Test-Questions-Template.pptx

3

Page 4: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

.NET Framework Overview

Page 5: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

.NET Framework

1. Install at home .NET Framework 4 and Microsoft Visual Studio 2010 (or VS Express) Write a "Hello World" application in

C#

2. Install at home the .NET Reflector Play with it by decompiling the System.Console class

5

Page 6: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

C# Language Overview

C#

Page 7: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

C# Language Overview

1. Write a C# program that prints all numbers 1…100.

2. Write a program that prints all the numbers from 1 to N, that are not divisible by 3 and 7.

3. Write a program that reads from the console a sequence of N integer numbers and returns the minimal and maximal of them.

4. Write a program that calculates N!/K! for given N and K (1<N<K).

5. Write a program that reads a number N and calculates the sum of the first N members of the sequence of Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, …

7

Page 8: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

C# Language Overview (2)

6. Write a program that finds the maximal sequence of equal elements in an array.

Example: {2, 1, 1, 2, 3, 3, 2, 2, 2, 1} {2, 2, 2}.

7. Write a program that finds the maximal increasing sequence of elements in an array. Example: {3, 2, 3, 4, 2, 2, 4} {2, 3, 4}.

9. Write a program that finds the most frequent number in an array. Example:{4, 1, 1, 4, 2, 3, 4, 4, 1, 2, 4, 9, 3} 4 (5 times)

10.Write a program that finds all prime numbers in the range [1...10 000 000]. Use the sieve of Eratosthenes algorithm (find it in Wikipedia).

8

Page 9: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

C# Language Overview (3)

11. Write a program that prints to the console which day of the week is today. Use System.DateTime.

12. Write methods that calculate the surface of a triangle by given: side and an altitude to it; three sides; two sides and an angle between them. Use System.Math.

13. Write a program that enters file name along with its full file path (e.g. C:\WINDOWS\win.ini), reads its contents and prints it on the console. Find in MSDN how to use System.IO.File.ReadAllText(…). Be sure to catch all possible exceptions and print user-friendly error messages.

9

Page 10: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

C# Language Overview (4)

14. Write a program that downloads a file from Internet (e.g. http://www.devbg.org/img/Logo-BASD.jpg) and stores it the current directory. Find in Google how to download files in C#. Be sure to catch all exceptions and to free any used resources.

15. Write a program that reads a string, reverses it and prints it on the console. Example: "sample" "elpmas".

16. Write a program that reads from a text file a list of strings, sorts them and prints them on the console in alphabetical order.

10

Page 11: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

C# Language Overview (5)

17.Write a program that finds how many times a substring is contained in a given text (perform case insensitive search).

Example: The target substring is "in". The text is as follows:

The result is: 9.

We are living in an yellow submarine. We don't have anything else. Inside the submarine is very tight. So we are drinking all the day. We will move out of it in 5 days.

11

Page 12: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

C# Language Overview (6)

18. Write a program that parses an URL address given in the format:

and extracts from it the [protocol], [server] and [resource] elements. For example from the URL http://www.devbg.org/forum/index.php the following information should be extracted:

[protocol] = "http"[server] = "www.devbg.org"[resource] = "/forum/index.php"

[protocol]://[server]/[resource]

12

Page 13: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

C# Language Overview (7)

19. Write a program that finds in given array of integers (all belonging to the range [0..1000]) how many times each of them occurs.

Example: array = {3, 4, 4, 2, 3, 3, 4, 3, 2}

2 2 times

3 4 times

4 3 times

20. Write a program that reads a text file and finds all words used in it and how many times each word occurs. Assume that words differing in character casing only are the same.

13

Page 14: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

Object-Oriented Programming in C#

C#

Page 15: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

OOP in C#

1. Define a class Human with first name and last name. Define new class Student which is derived from Human and has new field – grade. Define class Worker derived from Human with new field weekSalary and work-hours per day and method MoneyPerHour() that returns money earned by hour by the worker. Define the proper constructors and properties for this hierarchy. Initialize an array of 10 students and sort them by grade in ascending order. Initialize an array of 10 workers and sort them by money per hour in descending order.

15

Page 16: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

OOP in C# (2)2. Define abstract class Shape with only

one virtual method CalculateSurface() and fields width and height. Define two new classes Triangle and Rectangle that implement the virtual method and return the surface of the figure (height*width for rectangle and height*width/2 for triangle). Define class Circle and suitable constructor so that on initialization height must be kept equal to width and implement the CalculateSurface() method. Write a program that tests the behavior of the CalculateSurface() method for different shapes (Circle, Rectangle, Triangle) stored in an array.

16

Page 17: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

OOP in C# (3)

3. Create a hierarchy Dog, Frog, Cat, Kitten, Tomcat and define suitable constructors and methods according to the following rules: all of this are Animals. Kittens and tomcats are cats. All animals are described by age, name and sex. Kittens can be only female and tomcats can be only male. Each animal produce a sound. Create arrays of different kinds of animals and calculate the average age of each kind of animal using static methods. Create static method in the animal class that identifies the animal by its sound.

17

Page 18: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

Lambda Expressions, Extension Methods and

LINQ

LINQ

Page 19: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

LINQ1. Create a class student with properties

FirstName, LastName, FN, Tel, Email, Marks (a List<int>), GroupNumber. Create a List<Student> with sample students. Select only the students that are from group number 2. Use LINQ query. Order the students by FirstName.

2. Implement the previous using the same query expressed with extension methods.

3. Extract all students that have email in abv.bg. Use string methods and LINQ.

4. Extract all students having phones in Sofia (staring with 02). Use LINQ and regular expressions.

19

Page 20: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

LINQ (2)5. Select all students that have at least

one mark Excellent (6) into a new anonymous class that has properties – FullName and Marks. Use LINQ.

6. Write down a similar program that extracts the students with exactly two marks "2". Use extension methods.

7. Extract all Marks of the students that enrolled in 2006. (The students from 2006 have 06 as their 5-th and 6-th digit in the FN).

8. Create a class Group with properties GroupNumber and DepartmentName. Introduce a property Group in the Student class. Extract all students from "Mathematics" department. Use the Join operator.

20

Page 21: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

LINQ (3)

9. Write a program to return the string with maximum length from an array of strings. Use LINQ.

10.Create a program that extracts all students grouped by GroupName and then prints them to the console. Use LINQ.

11.Rewrite the previous using extension methods.

21

Page 22: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

Submission Instructions and

Deadline

Page 23: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

Submission Instructions Homework solutions should be submitted at the following Web site: http://nakov.devbg.org/schoolacadem

y-uploads/

Solutions should be packed in a single ZIP or RAR archive with a following structure IT-Test – directory for the IT test

CSharp – directory for the C# solutions

OOP – directory for the OOP solutions

LINQ – directory for the LINQ solutions

23

Page 24: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

Further Instructions The deadline for the homework is:

A week before the next training session

Everybody is free to use help from friends, teachers or Internet Submission of the same work by

different authors may result in a disqualification

Ask your questions in the Telerik School Academy official discussion group: http://

groups.google.com/group/it-olymp

24

Page 25: Meeting #1 – November 2010 – Intro to C# Homework Assignments Svetlin Nakov Telerik Corporation

Homework Assignments

Questions? ??

? ? ???

?

?

http://schoolacademy.telerik.com