Recent Posts

Exercise 5 – Reynolds again: overflow without exception

The 5th of Prashant’s 15 Exercises for Learning a new Programming Language builds directly onto the 4th: Modify the above program such that it will ask for ‘Do you want to calculate again (y/n), if you say ‘y’, it’ll again ask the parameters. If ‘n’, it’ll exit. (Do while loop) While running the program give value mu = 0. See what happens. Does it give ‘DIVIDE BY ZERO’ error? Does it give ‘Segmentation fault..core dump?’. How to handle this situation. Is there something built in the language itself? (Exception Handling) The first bit is easy, the second bit may be surprising.  First thing I’ll do is show you what happens when I run the program from last time with mu = 0.

Exercise 4 – Reynold’s Number: a basic class

The fourth of Prashant’s exercises is: Reynolds number is calculated using formula (D*v*rho)/mu Where D = Diameter, V= velocity, rho = density, mu = viscosity. Write a program that will accept all values in appropriate units (Don’t worry about unit conversion). If number is < 2100, display Laminar flow, If it’s between 2100 and 4000 display ‘Transient flow’ and if more than ‘4000’, display ‘Turbulent Flow’ (If, else, then…) In working this solution I decided to declare a class to help in the calculation.  The solution also shows some details of reading input from the console.

More learning references

As I’ve been working on learning C# and .NET in the last couple of weeks, I’ve come across a number of useful references beyond the tutorials and other things I list in my second post. They range from books, to posters, to podcasts, and I’ll briefly look at them in this post.

Exercise 3 - Collections and Sorting

The third exercise in 15 Exercises for Learning a new Programming Language is: Accepting series of numbers, strings from keyboard and sorting them ascending, descending order. The naive solution would be to build an array of entered strings/numbers and then write a method that will sort that array - a simple bubble sort would do.  Of course, .NET offers a better way…

Max/Min revisited

A kind commenter on my last post (thanks Matt) told me about an alternative to my Max/Min implementation.  The .NET framework includes a class library called LINQ (Language INtegrated Query).  In looking through the MSDN library I had seen this mentioned, but figured it had something to do with database queries.  I was partly right, but it turns out that LINQ is far more, and allows an alternate solution to Prashant’s second exercise.

Exercise 2 – Fibonacci, and other things

Prashant’s second exercise is: Fibonacci series, swapping two variables, finding maximum/minimum among a list of numbers. So in this post we get to play with a bit of recursion, and I’ve thrown in some parametric types for good measure.

C#’s type system

C# is a strongly-typed object-oriented language.  Many of the types will appear familiar, at first glance, to those who know C or C++, and most C expressions will behave similarly in C#, but the C# type-system is fundamentally different. In my previous post I introduced C#’s integer types. In this post I’ll look at C#’s type system.

The First Exercise

The first item in Prashant’s list of 15 Exercises for Learning a new Programming Language is: Display series of numbers (1,2,3,4, 5.…etc) in an infinite loop. The program should quit if someone hits a specific key (Say ESCAPE key). So this post we start to look at loops and integer types.

Where to begin?

So the first thing to do when learning a new language is obviously to find some reference materials. In this post I’ll look at C# references.  I’ll leave .NET to later, when we start to get into it.

Hello, World!

That’s an appropriate title for the first post, on the first blog, of a guy who’s starting to learn a new programming language.