220 likes | 346 Views
Programming and Data Structures Lab Section 6. Prof. Soumyajit Dey Room 306, CSE Email: soumya@cse.iitkgp.ernet.in Prof. Arobinda Gupta Room 306, CSE Email: agupta@cse.iitkgp.ernet.in http://cse.iitkgp.ac.in/~soumya/pds-lab/pds-lab.html. Teaching Assistants.
E N D
Programming and Data Structures LabSection 6 Prof. Soumyajit Dey Room 306, CSE Email: soumya@cse.iitkgp.ernet.in Prof. Arobinda Gupta Room 306, CSE Email: agupta@cse.iitkgp.ernet.in http://cse.iitkgp.ac.in/~soumya/pds-lab/pds-lab.html
Teaching Assistants • Gujju Chanakya (gujju.chanakya@gmail.com) • Tapas Kumar Mishra (tap1cse@gmail.com ) • Kunal Kumar (kunalkumar@cse.iitkgp.ernet.in) • Nikunj Patel (nixpri@gmail.com) • Tutika Venkata Manoj (manojwowie92@gmail.com ) • Topharla Sidhhartha (siddhu.topcharla@gmail.com)
Lab Rules • You must come to lab with a C programming book and a notebook for tutorials • Tutorials will be held during the first 1 hour of the lab • All tutorial problems are to be done by hand in the notebook (no computers to be used). This notebook may have to be submitted, so please buy a notebook for tutorials only. • Tutorials will be evaluated every day
All assignments to be done in the lab and submitted at the end of the lab • Any attempts to copy will involve severe penalties • 0 for the assignment copied for BOTH the person copying and the person copied from • Any repeat offense will result in deregistration from the course
Marks Distribution • Lab Test 1 (just before midsem) – 25 • Lab Test 2 (just before endsem) – 35 • Assignments - 40
Computing Environment • Sun Microsystems server and thin clients • Not PCs • Solaris operating system • Similar to linux operating system for your purpose • Text editor: emacs • For typing in your C program • C language compiler: cc • For compiling the C program
Logging in to the System • In the username, type f<your 2-digit terminal no.>f57 if you are on terminal 57 f2 if you are on terminal 2 • In the password field, type in user12 • You should see a new screen
Basic Program Execution • Writing your program • Open a terminal • Open a text editor (emacs) • Open a new file • Type your program in the text editor • Save it • Compile and run your program
Starting the Emacs Editor • Click on the icon named terminal on the screen • You should see a new window open • Start the emacs editor in the window • type emacs & at the $ prompt and press Enter • You should see a new window open • Close the emacs editor by selecting the Quit entry from the File menu (on top left corner)
Writing and Saving in Emacs • start the emacs editor: emacs & • Select Visit New File from the File menu • Type a filename first.c (at the bottom of the emacs window) and press Enter • Type your name in the window • Save the file by selecting the Save option in the File menu • Exit from the emacs editor (Quit option in File menu)
Checking Your Saved File • Restart emacs editor • Select Open File from the File menu • Type the filename first.c at the bottom of the emacs editor • Make sure you see what you typed earlier • Now just delete all contents of the file • We will now type our first C program in this file
Writing the C Program • Type in the following C program exactly as it is in the file, and then save it /* The first C program */ #include <stdio.h> void main( ) { printf(“Hello World\n”); }
Compiling and Running Your C Program • In the terminal window, at the $ prompt, type cc first.c • If the compilation is successful, you should see the $ prompt come back with no errors • Run the program by typing ./a.out • You should see Hello World printed out
Making a Mistake • Remove the ) (right bracket) after main in emacs /* The first C program */ #include <stdio.h> void main( { printf(“Hello World\n”); }
Save the file again • Compile the file again • You will see an error printed out: first.c:4 : error: Syntax error …….. • Go back to emacs and correct the error • Save the file again • Compile the file again • Should show no errors this time • Run the file and verify that Hello World is printed
IMPORTANT • Every time you change something in the file, you must • Save it again • Compile it again • This will generate a new executable a.out with the changes
Some Basics • Your programs will be stored in files • Files are stored in directories (folders in windows) • Directories will contain other subdirectories and files • You may create a separate subdirectory for each of your assignments so that you can find them easily • But this is not a requirement for this lab, so if you want, just keep all your files in the same directory
Some Useful Linux Commands • pwd – shows the current directory you are in • ls – shows the contents (Files and subdirectories) of the current directory • mkdir X – creates a subdirectory named X under the current directory • cd X – changes the current directory to the directory named X under it
Creating a Practice Directory • On the $ prompt, type mkdir practice • Type ls to verify that the new directory is created • Change to the new directory: type cd practice • Type pwd to verify that you are in the new directory • We will now use this directory to store our practice files
Some More C Practice Programs • Sum of first n integers #include <stdio.h> void main( ) { int n, sum; printf(“Enter a positive integer: ”); scanf(“%d”, &n); sum = n*(n+1)/2; printf(“The sum is %d \n”, sum); }
Finding the larger of two numbers #include <stdio.h> void main( ) { int a, b, max; printf(“Enter two integers: ”); scanf(“%d%d”, &a, &b); if (a > b) max = a; else max = b; printf(“The larger no is %d \n”, max); }
Checking if an integer is prime or not #include <stdio.h> void main( ) { int n, k=2, flag=0; printf(“Enter a positive integer: ”); scanf(“%d”, &n); while (k < n && flag==0) { if ( n % k == 0) flag = 1; k++; } if (flag == 1) printf(“Not Prime\n”); else printf(“Prime\n”); }