dart programming language

Learn from examples

1. Program to declare and output integer, double, and string exda1.dart source code // exda1.dart first example declare and output integer, double, string void main() { print("exda1.dart running"); var i = 1; var x = 1.2; var y = 9.9999999e+99; var s = "string"; var ss = 'string2'; int j = 2; num k = 3; double z = 7.5; // no float final int n = 10; // can not change value const double q = 3.14; // compile time constant const double Q = 3.1415; // compile time constant var very_long_name_for_variable = 99; var vec1 = [1, 2, 3]; var vec2 = [1.2, 2.3, 3.4]; var vec3 = [ "a", 'b', 'cde']; print("i= $i"); print("x= $x"); print("y= $y"); print("s= $s"); print("ss= $ss"); print("j= $j"); print("k= $k"); print("z= $z"); print("n= $n"); print("q= $q"); print("Q= $Q"); print("very_long_name_for_variable = $very_long_name_for_variable"); print("vec1= $vec1"); print("vec2= $vec2"); print("vec3= $vec3"); vec3[1] = "aa"; print("vec3= $vec3"); print("vec3[1]= $vec3[1]"); print(" need { } for expression"); print("vec3[1]= ${vec3[1]}"); print(' '); // blank line print("exda1.dart finished"); } Output from execution: exda1.dart running i= 1 x= 1.2 y= 9.9999999e+99 s= string ss= string2 j= 2 k= 3 z= 7.5 n= 10 q= 3.14 Q= 3.1415 very_long_name_for_variable = 99 vec1= [1, 2, 3] vec2= [1.2, 2.3, 3.4] vec3= [a, b, cde] vec3= [a, aa, cde] vec3[1]= [a, aa, cde][1] need { } for expression vec3[1]= aa exda1.dart finished 2. commands to execute the source code at a minimum, Windows, Linux, MacOSX. Windows: optional write output to file dart exda1.dart dart exda1.dart > exda1_dart.out Linux: dart exda1.dart MacOSX dart exda1.dart 3. You must be able to declare variables and arrays and matrix of various types. exda3.dart source code // exda3.dart declare vectors and matrix of various types void main() { print("exda3.dart running"); int n = 5; // vector of 5 items var vec = new List.filled(n,0.0); // n,0 integer array print("vec all 0.0"); print(vec); for(var i=0; i List.generate(rows + 1, (j) => 0.0, growable: false), growable: false); print("cols= $cols rows= $rows"); print("array generated with all elements zero"); for (var i = 0; i < cols; i++) { for (var j = 0; j < rows; j++) { print("array[ $i ][ $j ]= ${array[i][j]}"); array[i][j] = (i+0.0)*rows+j; // initalize } } print(" "); print("initialized matrix"); for (var i = 0; i < cols; i++) { for (var j = 0; j < rows; j++) { print("array[ $i ][ $j ]= ${array[i][j]}"); } } print(" "); print("matrix.dart finished "); } Execution output: exda3.dart running vec all 0.0 [0.0, 0.0, 0.0, 0.0, 0.0] vec[ 0 ]= 0.0 vec[ 1 ]= 0.0 vec[ 2 ]= 0.0 vec[ 3 ]= 0.0 vec[ 4 ]= 0.0 exda3.dart finished matrix.dart running cols= 4 rows= 3 array generated with all elements zero array[ 0 ][ 0 ]= 0.0 array[ 0 ][ 1 ]= 0.0 array[ 0 ][ 2 ]= 0.0 array[ 1 ][ 0 ]= 0.0 array[ 1 ][ 1 ]= 0.0 array[ 1 ][ 2 ]= 0.0 array[ 2 ][ 0 ]= 0.0 array[ 2 ][ 1 ]= 0.0 array[ 2 ][ 2 ]= 0.0 array[ 3 ][ 0 ]= 0.0 array[ 3 ][ 1 ]= 0.0 array[ 3 ][ 2 ]= 0.0 initialized matrix array[ 0 ][ 0 ]= 0.0 array[ 0 ][ 1 ]= 1.0 array[ 0 ][ 2 ]= 2.0 array[ 1 ][ 0 ]= 3.0 array[ 1 ][ 1 ]= 4.0 array[ 1 ][ 2 ]= 5.0 array[ 2 ][ 0 ]= 6.0 array[ 2 ][ 1 ]= 7.0 array[ 2 ][ 2 ]= 8.0 array[ 3 ][ 0 ]= 9.0 array[ 3 ][ 1 ]= 10.0 array[ 3 ][ 2 ]= 11.0 matrix.dart finished 4. You need to be able to have loops, iteration statements exda4.dart source code // exda4.dart use loops and interation, for while void main() { print("exda4.dart running"); for(var i=0; i<3; i++) { print(i); } print(' '); var vec1 = [3, 4, 5]; for(var k in vec1) { print("$k"); } print(' '); var year = 2010; while(year < 2014) { print(year); year += 1; } print(' '); var vec2 = []; vec2.add(7); vec2.add(8); vec2.add(9); print("vec2="); print(vec2); print(' '); for(var k in vec2) { print("$k"); } print(" "); for(var i=2; i<10; i++) { if(i==4) { continue; } if(i==8) { break; } print(i); } print(" "); print("exda4.dart finished"); } Execution output: exda4.dart running 0 1 2 3 4 5 2010 2011 2012 2013 vec2= [7, 8, 9] 7 8 9 2 3 5 6 7 exda4.dart finished exda4.dart finished 5. You need if then else conditional statements exda5.dart source code // exda5.dart void main() { print("exda5.dart running"); var i = 1; var j = 2; if(i==j) { print("i==j"); } if(i!=j || j>=1) // or { print("i!=j || j>=1"); } if(i<=j && ii) // and { print("i<=j && ii"); } if(i>j) { print("i>j"); } if(j=1 i<=j && ii else exda5.dart finished 6. You need to be able to create functions, procedures, subroutines. exda6.dart source code // exda6.dart functions and prodedures void proc1() { print("proc1 running"); } // end proc1 int factorial(int m) { var n = m; if(n<=1) { return 1; } var f=1; while(n>1) { f=f*n; n=n-1; } return f; } // end factorial void main() { print("exda5.dart running"); var result; proc1(); result = factorial(2); print("factorial(2)= $result"); result = factorial(3); print("factorial(3)= $result"); result = factorial(10); print("factorial(10)= $result"); print("exda6.dart finished"); } Execution output: exda5.dart running proc1 running factorial(2)= 2 factorial(3)= 6 factorial(10)= 3628800 exda6.dart finished 7. You need to be able to read and write files in various formats. exda7.dart source code // exda7.dart read and write file import 'dart:io'; main() async { print("exda7.dart running"); print("reads data.txt , prints, writes data-copy.txt"); var file = File('data.txt'); var contents; if (await file.exists()) { // Read file contents = await file.readAsString(); print(contents); // print file // Write file var fileCopy = await File('data-copy.txt').writeAsString(contents); print(await fileCopy.exists()); print(await fileCopy.length()); } print("exda7.dart finished"); } data file to read data.txt: Hello line 1 more text on line 2 // comment on line 3 end line 4 Execution output: exda7.dart running reads data.txt , prints, writes data-copy.txt Hello line 1 more text on line 2 // comment on line 3 end line 4 true 72 exda7.dart finished 8. You need to be able to use a number of files combined to build a program. This may include packages, libraries, operating system commands, header files, etc. exda8.dart source code Execution output: Other sample source code and output sin, cos, ..., exp, log, min, max import 'dart:math'; trig.dart source code trig_dart.out output factorial.dart source code factorial_dart.out output test_sort.dart source code test_sort_dart.out output

Last updated 2/8/2022