advertisement

Lec15-CS110 Computational Engineering

50 %
50 %
advertisement
Information about Lec15-CS110 Computational Engineering
Education

Published on March 3, 2014

Author: SriHarsha1508

Source: slideshare.net

Description

A keynote on Problem Solving using Computers
advertisement

Data I/O Lecture 15 February 11, 2008

Lab • Lab starts next week again • State in your feedback form if you need a shift from the current allocated day along with reason. Write your roll number in this case. • Shift is permitted only if you have to participate in other IIT M certified activity. • Current allocation – – – – – RFID 1 - 60 (Mon) RFID 61-120 (Tue) RFID 121-180 (Wed) RFID 181-240 (Thurs) RFID 241-300 (Fri)

Lab • NO MORE RE-ALLOCATION POSSIBLE AFTER TODAY.

printf() function • printf(control string, arg1, arg2,…,argn)

printf() %c - single character %d - decimal integer %e - Floating point %f - Floating point %i - decimal, hexadecimal or octal integer %o - octal integer

printf() %s - String %u - unsigned decimal %X - hexadecimal

Small issues #include <stdio.h> main() { char item[20]; int partno; float cost; printf(“%s %d %f”,item,partno,cost); // printf(“%s%d%f”,item,partno,cost); }

Small issues #include <stdio.h> main() { double x = 5000.0, y = 0.0025; printf(“%f %f %fn”,x,y,x*y); printf(“%e %e %en”,x,y,x*y); } 5000.000000 0.002500 12.500000 5.000000e+03 2.500000e-03 1.250000e+01

Small issues #include <stdio.h> main() { /*minimum field width specifications */ int i = 12345; float x = 345.678; printf(“%3d %8dn”,i,i); printf(“%3f %13fn”,x,x); printf(“%3e %16en”,x,x); } 12345 bbb12345 345.678000 bbb345.678000 3.456780e+02 bbbb3.456780e+02

Small issues #include <stdio.h> main() { /*minimum field width specifications */ float x = 345.678; printf(“%3g %13gn”,x,x); } 345.678 bbbbbb345.678 %g - shortest of the %f and %e representations.

Small issues #include <stdio.h> main() { /*Floating point precision */ float x = 123.456; printf(“%7f %7.3f %7.1fn”,x,x,x); } Rounding 123.4560000 123.456 bb123.5

Small issues #include <stdio.h> main() { /*Floating point precision */ float x = 123.456; printf(“%12e %12.5e %12.3en”,x,x,x); } Rounding 1.234560e+02 1.23456e+02 bbb1.235e+02

Small issues #include <stdio.h> main() { /*Floating point precision */ float x = 123.456; printf(“%e %.5e %.3en”,x,x,x); } Rounding and no leading blank spaces 1.234560e+02 1.23456e+02 1.235e+02

Small issues #include <stdio.h> main() { /*String precision */ char ln[12]; …… printf(“%10s %15s %15.5s %.5s”,ln,ln,ln,ln); } Let ln be hexadecimal; always right justified. hexadecimal bbbbhexadecimal bbbbbbbbbbhexad hexad

Interesting stuffs #include <stdio.h> main() { short a,b; long c,d; …… printf(“%5hd %6hx %8lo %lu”,a,b,c,d); } Minimum field width specification for int datatypes.

Interesting stuffs #include <stdio.h> main() { /* Uppercase conversion */ int a = 0x80ec; float b = 0.3e-12; printf(“%4x %10.2en”,a,b); printf(“%4X %10.2En”,a,b); } 80ec 3.00e-13 80EC 3.00E-13

Interesting Prefixes • - means left justified • + means + should appear before positive numbers • 0 means leading zeros instead of blanks • ‘ ‘ means blanks space before positive values • # in front of octal and hex mean print 0 and 0x in front respectively. • # in front of e-, f-, g- mean put a decimal point even if whole number

A sample program #include<stdio.h> main() { int j = 123; printf(“%6dn”,j); printf(“%-6dn”,j); printf(“%+6dn”,j); printf(“%-+6dn”,j); } bbb123 123bbb bb+123 +123 //The same for justifying strings

The gets() and puts() • Reads till end-of-line character #include<stdio.h> main() { char line[80]; gets(line); puts(line); }

The fprintf() • Similar to printf() but uses a file pointer • Similarly – fgets(fpt,..); fputs(fpt,..); – ch = getc(fpt); putc(ch,fpt); • fclose(fpt); versus fcloseall();

Binary files • fopen(“…”,”rt”); open for read as text and is default, the suffix “t” is not needed – Equivalent to fopen(…,”r”); • fopen(“…”, “rb”); open for read as binary – You may use the fwrite() command on this file

Binary files • Advantage is as follows – Four digit integers need 2 bytes – fprintf() etc. stores it in TEXT form - so 4 bytes – fwrite() stores in binary form - 2 bytes on a file opened in binary write mode – 50% space savings - assume it stores one million numbers.

A sample program #include<stdio.h> main() { FILE *fp; int I; if ((fp=fopen(“binval.dat”,”wb”)) == NULL) printf(“n ERRORn”); else { for (I = 10001; I <= 11000; I++) fwrite(&I, sizeof(int), 1, fp); } fclose(fp); }

Creative Question • Given a Black box that takes as input two lower triangular matrices and outputs the product of the same, use the black box to multiple two arbitrary square matrices.

Add a comment

Related presentations

Related pages

Lec15-CS110 Computational Engineering - Education

1. Data I/O Lecture 15 February 11, 2008 ; 2. Lab • Lab starts next week again • State in your ...
Read more

Lec05-CS110 Computational Engineering - Education

International Journal of Computational Engineering Research(IJCER) Comments. ... Lec15-CS110 Computational Engineering. Lec21-CS110 Computational Engineering.
Read more

Lec05-CS110 Computational Engineering - Education

1. CS110: Models of Computing Lecture 5 V. Kamakoti 10th January 2008. 2. Today’s Lecture Contents• Number Systems and conversions ...
Read more

Lec25-CS110 Computational Engineering - Education

1. Pointer Arithmetic V. Kamakoti. 2. Rule - 1 • A pointer variable can be assigned the address of an ordinary variable. • int v, *pv; – pv = &v ...
Read more

Computational Engineering | LinkedIn

View 5145 Computational Engineering posts, presentations, experts, and more. Get the professional knowledge you need on LinkedIn.
Read more

Lec12-CS110 Computational Engineering - Education

1. CS110: Arrays in C Lecture 12 V. Kamakoti 4th February 2008. 2. Loops • for (j = 1; j <= 10; j++) – The initial and final conditions are known.
Read more

Lec16-CS110 Computational Engineering - Education

1. Solutions to Creative Problems Lecture 16 Feb 12, 2008. 2. Creative Question • Given a Black box that takes as input two symmetric matrices and ...
Read more

Lec10-CS110 Computational Engineering - Education

1. CS110: Matrix operations in C Lecture 10 V. Kamakoti 29th January 2008. 2. Arrays • Matrix is – A two dimensional array – Array of one dimensional ...
Read more