title
Fortran Tutorial

description
Cheat Sheet & Transcript : http://bit.ly/fortrantutorial Best Fortran Book : https://amzn.to/2rCf5fl https://www.patreon.com/derekbanas MY UDEMY COURSES ARE 87.5% OFF TIL February 13th ($9.99) One is FREE ➡️ Python Data Science Series for $9.99 : Highest Rated & Largest Python Udemy Course + 56 Hrs + 200 Videos + Data Science https://bit.ly/Master_Python_46 ➡️ C++ Programming Bootcamp Series for $9.99 : Over 23 Hrs + 53 Videos + Quizzes + Graded Assignments + New Videos Every Month https://bit.ly/C_Course_46 ➡️ FREE 15 hour Golang Course!!! : https://bit.ly/go-tutorial7 (100 Available) 00:32 Basics 01:37 User Input 04:19 Variables / Data Types 08:55 Print / Formatted Output 13:12 Math Operators 15:15 Random Numbers 16:16 Math Functions 16:52 Conditionals 17:28 If / Else 19:26 Select 20:42 Looping 21:24 While / Cycle / Exit 23:59 Arrays 33:52 Format 36:44 Strings 38:42 Structures 41:32 Functions 45:00 Optional Arguments 46:03 Recursive Functions 48:39 Modules / Overloading 54:08 Subroutines 56:24 Pointers 59:08 File I/O 1:02:55 Modules / Class / Interface In this one video I condense most everything you'd learn about Fortran in a 400 page book into one video. I cover User Input, Variables, Data Types, Print, Formatted Output, Math Operators, Random Numbers, Math Functions, Conditionals, If / Else, Select, Looping, While, Cycle, Exit, Arrays, Format, Strings, Structures, Functions, Optional Arguments, Recursive Functions, Modules, Overloading, Subroutines, Pointers, File I/O, Modules, Class, Interface and more. MY UDEMY COURSES ARE 87.5% OFF TILL June 20th ►► New C++ Programming Bootcamp Series for $9.99 : http://bit.ly/C_Course3 Over 20 Hrs + 52 Videos + Quizzes + Graded Assignments + New Videos Every Month ►► Python Programming Bootcamp Series for $9.99 : http://bit.ly/Master_Python3 Highest Rated Python Udemy Course + 48 Hrs + 199 Videos + Data Science GET FREE STUFF WHILE SUPPORTING MY TUTORIALS 1. Get a Free Stock : share.robinhood.com/derekb1560 2. Get 2 Free Audiobooks : https://amzn.to/2Y5FV2p

detail
{'title': 'Fortran Tutorial', 'heatmap': [{'end': 705.45, 'start': 523.95, 'weight': 0.768}, {'end': 1322.012, 'start': 1268.776, 'weight': 0.703}, {'end': 1504.809, 'start': 1440.911, 'weight': 0.76}, {'end': 2724.061, 'start': 2577.748, 'weight': 0.884}, {'end': 2997.103, 'start': 2932.395, 'weight': 0.902}, {'end': 3246.329, 'start': 3198.983, 'weight': 0.772}], 'summary': 'The fortran tutorial covers basics, formatting, math operations, arrays, loops, format statements, vba table formatting, string manipulation, functions, module functions, subroutines, pointers, fileio, and fortran modules, providing a comprehensive understanding of fortran programming with examples and explanations.', 'chapters': [{'end': 520.448, 'segs': [{'end': 252.092, 'src': 'embed', 'start': 218.485, 'weight': 1, 'content': [{'end': 219.886, 'text': 'So I can just go read.', 'start': 218.485, 'duration': 1.401}, {'end': 221.647, 'text': 'And exactly like we did before.', 'start': 220.266, 'duration': 1.381}, {'end': 224.449, 'text': 'And I can say L name like that.', 'start': 222.067, 'duration': 2.382}, {'end': 226.19, 'text': 'And then I can come down here once again.', 'start': 224.689, 'duration': 1.501}, {'end': 230.073, 'text': "Hello And we're going to change or we're going to put first name inside here.", 'start': 226.31, 'duration': 3.763}, {'end': 234.056, 'text': 'But what I want to do first is to trim off any excess white space.', 'start': 230.233, 'duration': 3.823}, {'end': 237.719, 'text': 'Which is going to be needed since I said that these are going to be 20 characters in length.', 'start': 234.096, 'duration': 3.623}, {'end': 241.236, 'text': 'And we can throw a space in here just separating everything with commas.', 'start': 238.092, 'duration': 3.144}, {'end': 243.9, 'text': 'And then once again, and trimming.', 'start': 241.617, 'duration': 2.283}, {'end': 244.862, 'text': 'And there we are.', 'start': 244.241, 'duration': 0.621}, {'end': 252.092, 'text': "And now you'll be able to see that we'll be able to come over here and run this and run it and say Derek Bananas.", 'start': 245.182, 'duration': 6.91}], 'summary': "Code is used to manipulate and format names, ensuring a 20-character limit, with a demonstration using the name 'derek bananas.'", 'duration': 33.607, 'max_score': 218.485, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf8218485.jpg'}, {'end': 291.02, 'src': 'embed', 'start': 259.459, 'weight': 0, 'content': [{'end': 263.203, 'text': 'And now I want to talk more about variable types as well as data types.', 'start': 259.459, 'duration': 3.744}, {'end': 270.229, 'text': "OK, so it's very important to remember that variables must start with a letter and then you can have letters, numbers or underscores.", 'start': 263.563, 'duration': 6.666}, {'end': 275.193, 'text': "And another thing that's important to remember is that variables are case insensitive.", 'start': 270.529, 'duration': 4.664}, {'end': 280.715, 'text': "Let's say you wanted to declare a constant, which is just a value that will not change.", 'start': 275.433, 'duration': 5.282}, {'end': 291.02, 'text': 'Real basically means that this is going to be a double or a number or a float or a value that or does contain decimal places.', 'start': 281.676, 'duration': 9.344}], 'summary': 'Variables must start with a letter, can have letters, numbers, or underscores, and are case insensitive. constants do not change and real means double, float, or number with decimal places.', 'duration': 31.561, 'max_score': 259.459, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf8259459.jpg'}, {'end': 354.684, 'src': 'embed', 'start': 325.731, 'weight': 4, 'content': [{'end': 329.132, 'text': 'another type that is available to you if you want a lot of precision.', 'start': 325.731, 'duration': 3.401}, {'end': 332.974, 'text': 'real, by default, are only going to have six digits of precision,', 'start': 329.132, 'duration': 3.842}, {'end': 341.457, 'text': 'while a double is going to provide you with 15 decimals and just pays particular attention right here where we have d plus zero at the very end of it.', 'start': 332.974, 'duration': 8.483}, {'end': 349.241, 'text': 'that is going to be needed if you want to use doubles to get more precision, And if we also have integers, of course,', 'start': 341.457, 'duration': 7.784}, {'end': 354.684, 'text': "and we're just going to put colon and i, and num1 is equal to 0..", 'start': 349.241, 'duration': 5.443}], 'summary': "Double provides 15 decimals of precision, integers are represented as 'i', and num1 is set to 0.", 'duration': 28.953, 'max_score': 325.731, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf8325731.jpg'}, {'end': 505.184, 'src': 'embed', 'start': 475.929, 'weight': 2, 'content': [{'end': 480.172, 'text': "Let's go about doing this for other different data types that are available.", 'start': 475.929, 'duration': 4.243}, {'end': 487.717, 'text': "Let's change this to 5, and all the code is available in the description, so if you want it, and it's free of course, you can just go and get that.", 'start': 480.312, 'duration': 7.405}, {'end': 495.18, 'text': "And if you, I'm moving a little bit fast, hit that pause button and go through the entire video at your own speed.", 'start': 488.257, 'duration': 6.923}, {'end': 505.184, 'text': "and this is going to be a double, and I'll just throw a double type double num, and then we'll also do a logical, just for the heck of it,", 'start': 495.18, 'duration': 10.004}], 'summary': 'Demonstrating data type changes with examples and offering free code in the description.', 'duration': 29.255, 'max_score': 475.929, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf8475929.jpg'}], 'start': 0.196, 'title': 'Fortran programming basics', 'summary': 'Introduces a fortran tutorial with g fortran, emphasizing the use of atom text editor and terminal, covering core syntax and basic input/output operations, and providing an overview of variable and data types, with examples and explanations.', 'chapters': [{'end': 76.876, 'start': 0.196, 'title': 'Fortran tutorial with g fortran', 'summary': 'Introduces a fortran tutorial using g fortran, emphasizes the use of atom text editor and terminal, and covers the core syntax, including the necessity of declaring all variables, providing a condensed understanding of the language.', 'duration': 76.68, 'highlights': ['The tutorial focuses on using G Fortran or GNU Fortran, accessible via gccgnu.org or by searching G4Tran in Google, and emphasizes the use of Atom text editor and terminal on both Windows and Macintosh.', 'The tutorial covers the core syntax of Fortran and emphasizes the necessity of declaring all variables, providing a condensed understanding of the language, comparable to reading a 300-page book on Fortran.']}, {'end': 520.448, 'start': 77.369, 'title': 'Introduction to fortran programming', 'summary': 'Introduces basic input and output operations in fortran, including displaying and receiving user inputs, and provides an overview of variable and data types, with examples and explanations of character arrays, real, integer, logical, string, and complex types, as well as functions for obtaining the largest and smallest values for different types.', 'duration': 443.079, 'highlights': ["The chapter introduces basic input and output operations in Fortran, including displaying and receiving user inputs. Demonstrates multiple ways of outputting information and receiving user inputs, showcasing the process of creating and using a variable 'name' to prompt and store user input, and outputting the entered name.", 'Provides an overview of variable and data types, with examples and explanations of character arrays, real, integer, logical, string, and complex types. Explains the rules for variable naming conventions and demonstrates the declaration and usage of different variable types such as character arrays, real numbers, integers, logical types, strings, and complex types.', "Includes examples and explanations of functions for obtaining the largest and smallest values for different types. Demonstrates the usage of functions such as 'huge' and 'tiny' to obtain the largest and smallest values for real and integer types, and explains the function 'kind' to return the number of bytes for each type."]}], 'duration': 520.252, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf8196.jpg', 'highlights': ['The tutorial covers the core syntax of Fortran and emphasizes the necessity of declaring all variables, providing a condensed understanding of the language, comparable to reading a 300-page book on Fortran.', 'The tutorial focuses on using G Fortran or GNU Fortran, accessible via gccgnu.org or by searching G4Tran in Google, and emphasizes the use of Atom text editor and terminal on both Windows and Macintosh.', 'Provides an overview of variable and data types, with examples and explanations of character arrays, real, integer, logical, string, and complex types. Explains the rules for variable naming conventions and demonstrates the declaration and usage of different variable types such as character arrays, real numbers, integers, logical types, strings, and complex types.', "Includes examples and explanations of functions for obtaining the largest and smallest values for different types. Demonstrates the usage of functions such as 'huge' and 'tiny' to obtain the largest and smallest values for real and integer types, and explains the function 'kind' to return the number of bytes for each type.", "The chapter introduces basic input and output operations in Fortran, including displaying and receiving user inputs. Demonstrates multiple ways of outputting information and receiving user inputs, showcasing the process of creating and using a variable 'name' to prompt and store user input, and outputting the entered name."]}, {'end': 1235.645, 'segs': [{'end': 705.45, 'src': 'heatmap', 'start': 523.95, 'weight': 0.768, 'content': [{'end': 529.132, 'text': 'And here you can see the number of bytes that each of the different data types are have available to them.', 'start': 523.95, 'duration': 5.182}, {'end': 529.772, 'text': 'All right.', 'start': 529.312, 'duration': 0.46}, {'end': 534.995, 'text': 'So more on that and more on all the different things we can do math wise inside of Fortran.', 'start': 529.832, 'duration': 5.163}, {'end': 538.216, 'text': 'Now I want to get more into formatted output with print.', 'start': 535.055, 'duration': 3.161}, {'end': 549.122, 'text': "Now, the most basic form of using print is going to be this guy, and let's say we have something like iNumber, and then I follow that up with 10.", 'start': 538.676, 'duration': 10.446}, {'end': 556.166, 'text': "As you are going to see, that is going to be right justified by default, but I'm going to show you all the cool things we can do here.", 'start': 549.122, 'duration': 7.044}, {'end': 562.77, 'text': "So basically, integers are going to be formatted like this, where you're going to have R, I, and W.", 'start': 556.326, 'duration': 6.444}, {'end': 569.454, 'text': 'And basically, the R is going to be or represent the number of times to use what follows per line,', 'start': 563.11, 'duration': 6.344}, {'end': 573.597, 'text': 'and the W is going to define the width to take up for each value.', 'start': 569.454, 'duration': 4.143}, {'end': 576.619, 'text': 'Let me show you in examples exactly what I mean by that.', 'start': 573.737, 'duration': 2.882}, {'end': 584.124, 'text': "So I'm going to say print and I'm going to say that what follows formatting-wise is going to be done three times,", 'start': 576.939, 'duration': 7.185}, {'end': 588.366, 'text': 'and that is going to be integers that take up five in space.', 'start': 584.124, 'duration': 4.242}, {'end': 591.108, 'text': 'And then I can go seven, six, and eight.', 'start': 588.867, 'duration': 2.241}, {'end': 595.651, 'text': "And let's go and do another example here just to show you something else.", 'start': 592.469, 'duration': 3.182}, {'end': 599.114, 'text': "Let's go and just copy that and throw that down there.", 'start': 595.891, 'duration': 3.223}, {'end': 604.557, 'text': "And here what I'm going to do is get rid of the three just so you can see exactly what that means and everything else stays the same.", 'start': 599.334, 'duration': 5.223}, {'end': 605.598, 'text': 'And there you can see.', 'start': 604.837, 'duration': 0.761}, {'end': 611.802, 'text': 'So in this situation, we are going to say we want five spaces for each of these individual digits.', 'start': 605.838, 'duration': 5.964}, {'end': 617.626, 'text': 'And here when we leave the three out, what it does is put them on two separate lines whenever we output that information.', 'start': 612.002, 'duration': 5.624}, {'end': 620.588, 'text': 'Floats are going to have even more things they can do.', 'start': 617.806, 'duration': 2.782}, {'end': 622.67, 'text': 'because they also have decimal places.', 'start': 620.808, 'duration': 1.862}, {'end': 631.119, 'text': "So, with a float, you're going to have again repeat the formatting code that follows how many different times represented with R F?", 'start': 623.05, 'duration': 8.069}, {'end': 637.986, 'text': 'for the float, W is going to define the same as above, which is going to be the width to take up for each.', 'start': 631.119, 'duration': 6.867}, {'end': 643.091, 'text': "You're going to have a dot and then you're going to have the number of decimal places that you would like to output.", 'start': 638.246, 'duration': 4.845}, {'end': 644.893, 'text': "And I'll show you an example of that.", 'start': 643.351, 'duration': 1.542}, {'end': 654.463, 'text': "So we'll go print and this, and I'm going to say I want this to be done two times, this formatting, F and 8.5.", 'start': 644.973, 'duration': 9.49}, {'end': 661.526, 'text': 'and then after that i can put two different values inside of here and know that they are going to print out the way that i want them to.', 'start': 654.463, 'duration': 7.063}, {'end': 666.508, 'text': 'so 1.234, simple enough, and there you can see how they output on our screen.', 'start': 661.526, 'duration': 4.982}, {'end': 666.828, 'text': 'all right.', 'start': 666.508, 'duration': 0.32}, {'end': 668.589, 'text': "so that's how we format those.", 'start': 666.828, 'duration': 1.761}, {'end': 676.452, 'text': "we're also going to be able to format characters, and let's say also that you would like to put a new line inside of your formatting.", 'start': 668.589, 'duration': 7.863}, {'end': 679.954, 'text': 'what you do is just put a forward slash like that and a comma,', 'start': 676.452, 'duration': 3.502}, {'end': 684.896, 'text': "And in here they're going to be defined with the number of times and then the total width for each one.", 'start': 680.174, 'duration': 4.722}, {'end': 688.597, 'text': "So I'm going to say 2a and let's say 8.", 'start': 684.936, 'duration': 3.661}, {'end': 694.359, 'text': 'Then after that, I can come in and I can do something like name and then age.', 'start': 688.597, 'duration': 5.762}, {'end': 696.78, 'text': 'And if we run it, you can see how those all lay out.', 'start': 694.699, 'duration': 2.081}, {'end': 700.604, 'text': "There's also going to be exponential notation available to you.", 'start': 696.98, 'duration': 3.624}, {'end': 705.45, 'text': "And for that, we're going to use E and I'm going to say something like 10.3.", 'start': 701.045, 'duration': 4.405}], 'summary': 'The transcript covers formatted output in fortran with examples for integers, floats, and characters.', 'duration': 181.5, 'max_score': 523.95, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf8523950.jpg'}, {'end': 617.626, 'src': 'embed', 'start': 588.867, 'weight': 3, 'content': [{'end': 591.108, 'text': 'And then I can go seven, six, and eight.', 'start': 588.867, 'duration': 2.241}, {'end': 595.651, 'text': "And let's go and do another example here just to show you something else.", 'start': 592.469, 'duration': 3.182}, {'end': 599.114, 'text': "Let's go and just copy that and throw that down there.", 'start': 595.891, 'duration': 3.223}, {'end': 604.557, 'text': "And here what I'm going to do is get rid of the three just so you can see exactly what that means and everything else stays the same.", 'start': 599.334, 'duration': 5.223}, {'end': 605.598, 'text': 'And there you can see.', 'start': 604.837, 'duration': 0.761}, {'end': 611.802, 'text': 'So in this situation, we are going to say we want five spaces for each of these individual digits.', 'start': 605.838, 'duration': 5.964}, {'end': 617.626, 'text': 'And here when we leave the three out, what it does is put them on two separate lines whenever we output that information.', 'start': 612.002, 'duration': 5.624}], 'summary': 'Demonstrated formatting with 5 spaces, showing output changes', 'duration': 28.759, 'max_score': 588.867, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf8588867.jpg'}, {'end': 805.55, 'src': 'embed', 'start': 731.913, 'weight': 0, 'content': [{'end': 733.654, 'text': 'and then 43, and there it is.', 'start': 731.913, 'duration': 1.741}, {'end': 739.019, 'text': 'But you might ask yourself well, how would I go about left justifying numbers?', 'start': 733.955, 'duration': 5.064}, {'end': 745.704, 'text': "well, you could do something like right, and let's go and create a character here.", 'start': 739.019, 'duration': 6.685}, {'end': 749.487, 'text': 'remember, all of your variable definitions have to come at the top.', 'start': 745.704, 'duration': 3.783}, {'end': 755.111, 'text': "so I'm gonna say length is equal to 5 and I character.", 'start': 749.487, 'duration': 5.624}, {'end': 768.503, 'text': 'so then what we can do is we can go I and character and I 5 and put parentheses around that and and 10, and then we can come in and go print.', 'start': 755.111, 'duration': 13.392}, {'end': 771.605, 'text': 'and this is just like a weird thing that gets asked all the time.', 'start': 768.503, 'duration': 3.102}, {'end': 773.007, 'text': "it's the only reason I'm covering it.", 'start': 771.605, 'duration': 1.402}, {'end': 783.476, 'text': 'a, a, there are your strings, and then you could say a number, comma, adjust left i character and there you go a number 10.', 'start': 773.007, 'duration': 10.469}, {'end': 784.056, 'text': 'all right.', 'start': 783.476, 'duration': 0.58}, {'end': 788.961, 'text': 'so just another weird way of doing things with using write instead of print.', 'start': 784.056, 'duration': 4.905}, {'end': 793.063, 'text': "Alright, so there's a couple different ways we can format data.", 'start': 789.261, 'duration': 3.802}, {'end': 794.764, 'text': 'Now I want to talk about math operators.', 'start': 793.103, 'duration': 1.661}, {'end': 802.288, 'text': 'Okay, so you can pause your screen and type in all of this variable data here or just copy and paste from the code in the description.', 'start': 795.144, 'duration': 7.144}, {'end': 805.55, 'text': "Basically, I'm going to show you demonstrations of how precision works.", 'start': 802.388, 'duration': 3.162}], 'summary': 'Demonstrating left justifying numbers and formatting data using write instead of print.', 'duration': 73.637, 'max_score': 731.913, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf8731913.jpg'}, {'end': 853.062, 'src': 'embed', 'start': 825.507, 'weight': 1, 'content': [{'end': 829.451, 'text': "And of course, we're going to be able to add values inside of Fortran.", 'start': 825.507, 'duration': 3.944}, {'end': 832.832, 'text': "And we're going to be able to do more than that obviously.", 'start': 830.111, 'duration': 2.721}, {'end': 836.854, 'text': "Okay, so we'll also be able to come in and subtract values.", 'start': 832.852, 'duration': 4.002}, {'end': 840.836, 'text': "And you can see I'm able to perform all this directly inside of our print command.", 'start': 837.134, 'duration': 3.702}, {'end': 843.076, 'text': 'And 5 times 4.', 'start': 841.196, 'duration': 1.88}, {'end': 847.558, 'text': "And let's change this to 2 because we know we're going to have to accommodate two values there.", 'start': 843.076, 'duration': 4.482}, {'end': 849.419, 'text': 'We could also do a division.', 'start': 847.738, 'duration': 1.681}, {'end': 853.062, 'text': "Very commonly, you're going to also use modulus.", 'start': 849.699, 'duration': 3.363}], 'summary': 'Demonstrating arithmetic operations in fortran, including addition, subtraction, multiplication, division, and modulus.', 'duration': 27.555, 'max_score': 825.507, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf8825507.jpg'}, {'end': 1051.758, 'src': 'embed', 'start': 1021.231, 'weight': 6, 'content': [{'end': 1023.132, 'text': 'or equal to or less than and equal to.', 'start': 1021.231, 'duration': 1.901}, {'end': 1026.854, 'text': "And of course, I'm going to show you examples using all of the above.", 'start': 1023.252, 'duration': 3.602}, {'end': 1033.821, 'text': "Likewise, you're going to have logical operators that are going to be AND, as well as OR, as well as NOT.", 'start': 1027.074, 'duration': 6.747}, {'end': 1035.723, 'text': 'And that is how they are going to be used.', 'start': 1034.102, 'duration': 1.621}, {'end': 1041.731, 'text': "Now I'll show you how to use them with an example in regards to IF, ELSEIF.", 'start': 1035.964, 'duration': 5.767}, {'end': 1043.632, 'text': 'and so forth and so on.', 'start': 1042.111, 'duration': 1.521}, {'end': 1048.175, 'text': "so let's create an integer and let's call it age is equal to 16.", 'start': 1043.632, 'duration': 4.543}, {'end': 1051.758, 'text': "we're now going to be able to come in and say age.", 'start': 1048.175, 'duration': 3.583}], 'summary': 'Demonstrates logical operators and, or, not with examples.', 'duration': 30.527, 'max_score': 1021.231, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf81021231.jpg'}, {'end': 1213.334, 'src': 'embed', 'start': 1186.253, 'weight': 2, 'content': [{'end': 1193.999, 'text': "if the value of age is five, we're going to get that result and you're also going to be able to do use a range.", 'start': 1186.253, 'duration': 7.746}, {'end': 1203.807, 'text': "so if the age is between 6 and 13, you'll be able to do this, and then here we'll say middle school and then we'll say case.", 'start': 1193.999, 'duration': 9.808}, {'end': 1213.334, 'text': 'and if your heart desires the option to put in every single one of these, Well, Fortran will accommodate that desire by allowing you to list out.', 'start': 1203.807, 'duration': 9.527}], 'summary': 'Using fortran, age 5 will yield a specific result, while a range of 6-13 will be categorized as middle school.', 'duration': 27.081, 'max_score': 1186.253, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf81186253.jpg'}], 'start': 520.889, 'title': 'Fortran formatting and math operations', 'summary': 'Covers the formatted output in fortran, including representations for integers and formatting, such as the number of times to use per line and the width for each value. it also explains formatting for floats, characters, exponential notation, and left-justifying numbers, along with math operators and precision of floats and double precision. additionally, it discusses the use of random number generators, math functions, and conditionals, including relational and logical operators, if-else statements, and the select case conditional operator.', 'chapters': [{'end': 605.598, 'start': 520.889, 'title': 'Formatted output in fortran', 'summary': 'Covers the formatted output in fortran, explaining how to represent integers and their formatting, including the number of times to use what follows per line and the width to take up for each value.', 'duration': 84.709, 'highlights': ['Integers are formatted using R, I, and W, where R represents the number of times to use what follows per line, and W defines the width to take up for each value.', 'The number of bytes available to different data types will be demonstrated.', 'The basic form of using print and formatting integers will be explained.']}, {'end': 1235.645, 'start': 605.838, 'title': 'Fortran formatting and math operators', 'summary': 'Covers formatting in fortran, including formatting for floats, characters, exponential notation, and left justifying numbers, along with math operators like addition, subtraction, multiplication, division, modulus, and exponentiation. it also explains the precision of floats and double precision, as well as the use of random number generators and math functions. additionally, it discusses conditionals, including relational and logical operators, if-else statements, and the select case conditional operator.', 'duration': 629.807, 'highlights': ['The chapter covers formatting in Fortran, including formatting for floats, characters, exponential notation, and left justifying numbers. Demonstrates the formatting options for floats, characters, exponential notation, and left justifying numbers.', 'It also explains math operators like addition, subtraction, multiplication, division, modulus, and exponentiation. Explains various math operators such as addition, subtraction, multiplication, division, modulus, and exponentiation.', 'The precision of floats and double precision is discussed, along with the use of random number generators and math functions. Covers the precision of floats and double precision, as well as the use of random number generators and math functions.', 'Additionally, it discusses conditionals, including relational and logical operators, if-else statements, and the select case conditional operator. Explains conditionals, including relational and logical operators, if-else statements, and the select case conditional operator.']}], 'duration': 714.756, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf8520889.jpg', 'highlights': ['Integers are formatted using R, I, and W, where R represents the number of times to use per line and W defines the width for each value.', 'The chapter covers formatting for floats, characters, exponential notation, and left justifying numbers.', 'Covers the precision of floats and double precision, as well as the use of random number generators and math functions.', 'Explains conditionals, including relational and logical operators, if-else statements, and the select case conditional operator.', 'The number of bytes available to different data types will be demonstrated.', 'The basic form of using print and formatting integers will be explained.', 'Explains various math operators such as addition, subtraction, multiplication, division, modulus, and exponentiation.']}, {'end': 2151.946, 'segs': [{'end': 1322.012, 'src': 'heatmap', 'start': 1268.776, 'weight': 0.703, 'content': [{'end': 1273.077, 'text': 'and how much do we want to increment each time, or what is the step.', 'start': 1268.776, 'duration': 4.301}, {'end': 1277.057, 'text': "And we can come in and we're going to output an integer.", 'start': 1273.577, 'duration': 3.48}, {'end': 1278.738, 'text': 'And I think you know how that will end.', 'start': 1277.397, 'duration': 1.341}, {'end': 1280.438, 'text': 'And then we go and do.', 'start': 1278.818, 'duration': 1.62}, {'end': 1283.379, 'text': 'And there you can see how we were able to cycle through those values.', 'start': 1280.678, 'duration': 2.701}, {'end': 1286.039, 'text': 'Now we will do a do while loop.', 'start': 1283.639, 'duration': 2.4}, {'end': 1291.02, 'text': "And I'm going to do more with looping that I don't necessarily show here because I like to show examples.", 'start': 1286.059, 'duration': 4.961}, {'end': 1298.323, 'text': "So let's say we want to loop as long as m has a value that is less than 20.", 'start': 1291.28, 'duration': 7.043}, {'end': 1302.204, 'text': "And we're going to come in and we're going to, well, let's go first.", 'start': 1298.323, 'duration': 3.881}, {'end': 1305.986, 'text': "Let's go if and mod m and 2.", 'start': 1302.384, 'duration': 3.602}, {'end': 1309.127, 'text': 'What this is going to do is only print even values.', 'start': 1305.986, 'duration': 3.141}, {'end': 1310.187, 'text': "There's modulus.", 'start': 1309.327, 'duration': 0.86}, {'end': 1317.83, 'text': 'And if the modulus of a division by 2 gives us a result of 0, then we know we are dealing with an even value.', 'start': 1310.527, 'duration': 7.303}, {'end': 1322.012, 'text': 'So we can say then and we want to print that out on our screen.', 'start': 1318.05, 'duration': 3.962}], 'summary': 'Demonstration of looping and conditional printing with modulus in a do-while loop.', 'duration': 53.236, 'max_score': 1268.776, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf81268776.jpg'}, {'end': 1504.809, 'src': 'heatmap', 'start': 1440.911, 'weight': 0.76, 'content': [{'end': 1448.212, 'text': 'So if you want to create an integer array, you would just type in integer and comma, and then you have to define the size for it.', 'start': 1440.911, 'duration': 7.301}, {'end': 1452.093, 'text': "And I'm going to say that I want five spaces on each side.", 'start': 1448.532, 'duration': 3.561}, {'end': 1455.373, 'text': "If I want to have multiple arrays, that's not a problem.", 'start': 1452.133, 'duration': 3.24}, {'end': 1457.574, 'text': 'And we can just type all those in.', 'start': 1455.934, 'duration': 1.64}, {'end': 1461.595, 'text': "We're also going to be able to have real arrays as well.", 'start': 1457.774, 'duration': 3.821}, {'end': 1463.015, 'text': "So we'll type in this.", 'start': 1461.855, 'duration': 1.16}, {'end': 1468.138, 'text': "50 and let's just call this a r1.", 'start': 1465.056, 'duration': 3.082}, {'end': 1470.761, 'text': "we're going to have multi-dimensional arrays.", 'start': 1468.138, 'duration': 2.623}, {'end': 1474.023, 'text': "so let's go integer and dimension.", 'start': 1470.761, 'duration': 3.262}, {'end': 1483.352, 'text': "so that's a 5 by 5 multi-dimensional array and we'll call that a4 and let's come in and define some integers that i know we're going to need to use.", 'start': 1474.023, 'duration': 9.329}, {'end': 1487.915, 'text': "so we'll say n and m, and x and y.", 'start': 1483.352, 'duration': 4.563}, {'end': 1489.757, 'text': 'we can also define arrays.', 'start': 1487.915, 'duration': 1.842}, {'end': 1492.599, 'text': 'that size is determined at run time.', 'start': 1489.757, 'duration': 2.842}, {'end': 1504.809, 'text': 'so to do that we can just go integer and dimension and inside here just put the colon with no other values and then a comma and then allocatable,', 'start': 1492.599, 'duration': 12.21}], 'summary': 'Creating integer arrays and multi-dimensional arrays with specific sizes, and defining integers and arrays for run time allocation.', 'duration': 63.898, 'max_score': 1440.911, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf81440911.jpg'}, {'end': 1551.374, 'src': 'embed', 'start': 1530.845, 'weight': 7, 'content': [{'end': 1540.599, 'text': "and then you just do a forward slash and then put all the values inside of here that you would like to have and i think that's more than enough and then end that with a forward slash as well.", 'start': 1530.845, 'duration': 9.754}, {'end': 1543.503, 'text': "And then let's go throw another one inside of here.", 'start': 1541.039, 'duration': 2.464}, {'end': 1545.786, 'text': 'Integer dimension.', 'start': 1544.064, 'duration': 1.722}, {'end': 1549.752, 'text': "And let's make this three by three.", 'start': 1545.806, 'duration': 3.946}, {'end': 1551.374, 'text': "And you'll see what I'm going to do with that.", 'start': 1549.872, 'duration': 1.502}], 'summary': 'Demonstrates using forward slash to input values, and creating a 3x3 integer dimension.', 'duration': 20.529, 'max_score': 1530.845, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf81530845.jpg'}, {'end': 1656.589, 'src': 'embed', 'start': 1624.432, 'weight': 5, 'content': [{'end': 1626.713, 'text': "So let's say I want to do this three times.", 'start': 1624.432, 'duration': 2.281}, {'end': 1630.915, 'text': 'And set two spaces aside for each of those integers.', 'start': 1627.353, 'duration': 3.562}, {'end': 1632.195, 'text': "Whoops Let's go like this.", 'start': 1630.955, 'duration': 1.24}, {'end': 1632.695, 'text': '3, i, and 2.', 'start': 1632.215, 'duration': 0.48}, {'end': 1633.255, 'text': 'And the values.', 'start': 1632.695, 'duration': 0.56}, {'end': 1636.717, 'text': 'array that we want to work with.', 'start': 1635.476, 'duration': 1.241}, {'end': 1639.058, 'text': 'then i want to get the first three values.', 'start': 1636.717, 'duration': 2.341}, {'end': 1640.199, 'text': "that's how you get that.", 'start': 1639.058, 'duration': 1.141}, {'end': 1644.982, 'text': 'i could also go in and get a range with an increment.', 'start': 1640.199, 'duration': 4.783}, {'end': 1656.589, 'text': "so let's go to i and two whoops two, i and two, and here we'll go a one again and one through three, with an increment of two or a step.", 'start': 1644.982, 'duration': 11.607}], 'summary': 'Using python to work with arrays and get values, with example of iterating and getting ranges.', 'duration': 32.157, 'max_score': 1624.432, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf81624432.jpg'}, {'end': 1721.539, 'src': 'embed', 'start': 1694.46, 'weight': 6, 'content': [{'end': 1698.403, 'text': "so i'm going to say print and i'm going to show you other different ways of doing this stuff too.", 'start': 1694.46, 'duration': 3.943}, {'end': 1699.403, 'text': 'so i can go i1 and a1, i1,', 'start': 1698.403, 'duration': 1}, {'end': 1715.895, 'text': 'a3 and i1 and then i can follow that up with n with a space M and I can throw a colon inside of there and then go and get the actual value A4 and N and M.', 'start': 1699.403, 'duration': 16.492}, {'end': 1717.536, 'text': 'And the rest of that is perfectly fine.', 'start': 1715.895, 'duration': 1.641}, {'end': 1721.539, 'text': 'And you can see that we went and printed out that multidimensional array.', 'start': 1717.816, 'duration': 3.723}], 'summary': 'Demonstrating different ways to print multidimensional array elements.', 'duration': 27.079, 'max_score': 1694.46, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf81694460.jpg'}, {'end': 1810.492, 'src': 'embed', 'start': 1786.098, 'weight': 8, 'content': [{'end': 1792.684, 'text': 'just change this to 4 and there you can see 5 and 25, the total number of values that are stored inside.', 'start': 1786.098, 'duration': 6.586}, {'end': 1794.886, 'text': "let's go and get a couple more of these guys.", 'start': 1792.684, 'duration': 2.202}, {'end': 1798.388, 'text': "you're also going to be able to get the number of dimensions.", 'start': 1794.886, 'duration': 3.502}, {'end': 1808.772, 'text': 'to do that, we can go rank and a4 going to be able to get the elements in each of the different dimensions by using shape.', 'start': 1798.388, 'duration': 10.384}, {'end': 1810.492, 'text': 'you can type in shape or shape.', 'start': 1808.772, 'duration': 1.72}], 'summary': 'Change 4 to see 5 and 25, get more, get dimensions with rank and shape.', 'duration': 24.394, 'max_score': 1786.098, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf81786098.jpg'}, {'end': 1976.026, 'src': 'embed', 'start': 1921.902, 'weight': 0, 'content': [{'end': 1926.687, 'text': "so we'll say a7 is equal to reshape and here are those variables.", 'start': 1921.902, 'duration': 4.785}, {'end': 1929.009, 'text': 'here is a7 up here, right there.', 'start': 1926.687, 'duration': 2.322}, {'end': 1930.709, 'text': "see, That's the guy we're working with.", 'start': 1929.009, 'duration': 1.7}, {'end': 1933.91, 'text': 'So 1 by 9 into a 3 by 3 array.', 'start': 1930.809, 'duration': 3.101}, {'end': 1940.312, 'text': 'And how you do that is go reshape and A6 is the 1 by 9 array.', 'start': 1934.29, 'duration': 6.022}, {'end': 1942.452, 'text': 'And we want to change it into 3 by 3.', 'start': 1940.432, 'duration': 2.02}, {'end': 1946.873, 'text': 'So forward slash 3 comma 3 and another forward slash.', 'start': 1942.452, 'duration': 4.421}, {'end': 1947.914, 'text': "And you'll get what you wanted.", 'start': 1946.973, 'duration': 0.941}, {'end': 1953.635, 'text': 'We can check if values are equal across one dimension of our array.', 'start': 1947.994, 'duration': 5.641}, {'end': 1960.639, 'text': "and to use logical operators, you're going to come in here and put an l and one, so we can say all,", 'start': 1953.855, 'duration': 6.784}, {'end': 1969.023, 'text': "and then we can say a1 is equal to a2 and that is going to represent the dimension, the first dimension that we're working with,", 'start': 1960.639, 'duration': 8.384}, {'end': 1976.026, 'text': "and we're also going to be able to check If any of them are equal, just by changing this to any.", 'start': 1969.023, 'duration': 7.003}], 'summary': 'Reshaping a 1x9 array into a 3x3 array using reshape function and checking for equality across dimensions with logical operators.', 'duration': 54.124, 'max_score': 1921.902, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf81921902.jpg'}, {'end': 2069.543, 'src': 'embed', 'start': 2019.827, 'weight': 2, 'content': [{'end': 2022.468, 'text': 'Internet And whoops, I forgot to get rid of that.', 'start': 2019.827, 'duration': 2.641}, {'end': 2023.429, 'text': "Let's change that to five.", 'start': 2022.488, 'duration': 0.941}, {'end': 2028.131, 'text': 'And there you can see the results of all of our code that we have right there.', 'start': 2023.889, 'duration': 4.242}, {'end': 2031.133, 'text': 'So there is a whole bunch of information about arrays.', 'start': 2028.351, 'duration': 2.782}, {'end': 2032.914, 'text': 'And now I want to talk about format.', 'start': 2031.353, 'duration': 1.561}, {'end': 2037.877, 'text': 'Okay, so I went and created a couple different variables here to start off.', 'start': 2033.114, 'duration': 4.763}, {'end': 2047.082, 'text': 'And basically the format statement has a numbered label and you are going to pass values to it that will fit into the designated formatting.', 'start': 2038.277, 'duration': 8.805}, {'end': 2049.664, 'text': "So let's go and do another do loop here.", 'start': 2047.222, 'duration': 2.442}, {'end': 2054.869, 'text': "I'm going to say num and let's go 1 through 12.", 'start': 2049.684, 'duration': 5.185}, {'end': 2058.893, 'text': 'And then I can say print and 100.', 'start': 2054.869, 'duration': 4.024}, {'end': 2060.154, 'text': 'There is our label.', 'start': 2058.893, 'duration': 1.261}, {'end': 2064.678, 'text': 'And then num and then num times 7.', 'start': 2060.373, 'duration': 4.305}, {'end': 2066.039, 'text': 'Just arbitrary thing.', 'start': 2064.678, 'duration': 1.361}, {'end': 2069.543, 'text': 'And basically now we have format.', 'start': 2066.3, 'duration': 3.243}], 'summary': 'The transcript discusses coding with arrays and formatting using labeled variables and loops.', 'duration': 49.716, 'max_score': 2019.827, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf82019827.jpg'}], 'start': 1235.645, 'title': 'Fortran, arrays, loops, and format statement', 'summary': "Covers fortran looping, conditional operators, 'do' and 'do while' loops, arrays, including integer, real, multi-dimensional, and dynamically-sized arrays, various loop operations, and working with arrays, format statement, and array manipulation, including retrieving and assigning values to arrays, and performing calculations.", 'chapters': [{'end': 1379.276, 'start': 1235.645, 'title': 'Fortran looping examples', 'summary': "Discusses conditional operator options and looping in fortran, including examples of using 'do' and 'do while' loops to iterate through values and manage looping conditions.", 'duration': 143.631, 'highlights': ["The chapter discusses conditional operator options and looping in Fortran, including examples of using 'do' and 'do while' loops to iterate through values and manage looping conditions.", "Demonstrates the use of 'do' to define a range of values to iterate through, with the ability to specify the start, end, and increment values, and outputting integers based on the defined range.", "Illustrates the use of 'do while' loop to continue looping as long as a condition is met, including the use of 'cycle' to jump back to the beginning of the loop and 'exit' to break out of the loop based on specified conditions."]}, {'end': 1810.492, 'start': 1379.276, 'title': 'Arrays and loops in programming', 'summary': 'Covers the usage of arrays and loops in programming, including demonstrating a guessing game and explaining the creation and manipulation of different types of arrays, such as integer, real, multi-dimensional, and dynamically-sized arrays, as well as showcasing various loop operations and methods for retrieving and assigning values to arrays.', 'duration': 431.216, 'highlights': ['Demonstrating a guessing game The chapter includes a demonstration of a guessing game where the user is prompted to input information until they guess the correct number.', 'Creation and manipulation of different types of arrays The transcript discusses the creation and manipulation of different types of arrays, including integer, real, multi-dimensional, and dynamically-sized arrays.', 'Various loop operations and methods for retrieving and assigning values to arrays The chapter covers various loop operations and methods for retrieving and assigning values to arrays, including cycling through a range, getting a range with an increment, and assigning values to multi-dimensional arrays.']}, {'end': 2151.946, 'start': 1810.492, 'title': 'Working with arrays and format statement', 'summary': 'Covers working with arrays, including defining array size at runtime, allowing user input for array size, reshaping arrays, checking equality, finding minimum and maximum values, getting product and sum of array dimension. it also explains the format statement, demonstrating how to format output with numbered labels and perform calculations.', 'duration': 341.454, 'highlights': ['Defining array size at runtime and allowing user input for array size The chapter explains how to define array size at runtime and allow the user to input the array size, providing flexibility in array allocation.', 'Reshaping arrays and checking equality of values across one dimension The transcript details the process of reshaping arrays and checking for equality of values across one dimension, allowing for efficient manipulation and comparison of array elements.', 'Finding minimum and maximum values, getting product and sum of array dimension The chapter covers methods for finding minimum and maximum values in an array, as well as obtaining the product and sum of array dimensions, enabling comprehensive analysis of array data.', 'Explaining the format statement and demonstrating its usage The transcript explains the format statement and provides examples of its usage, including formatting output with numbered labels and performing calculations based on specified formatting.']}], 'duration': 916.301, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf81235645.jpg', 'highlights': ["Demonstrates the use of 'do' to define a range of values to iterate through, with the ability to specify the start, end, and increment values, and outputting integers based on the defined range.", 'Various loop operations and methods for retrieving and assigning values to arrays, including cycling through a range, getting a range with an increment, and assigning values to multi-dimensional arrays.', 'Defining array size at runtime and allowing user input for array size, providing flexibility in array allocation.', 'Finding minimum and maximum values, getting product and sum of array dimension, enabling comprehensive analysis of array data.', 'Explaining the format statement and demonstrating its usage, including formatting output with numbered labels and performing calculations based on specified formatting.', 'Demonstrating a guessing game where the user is prompted to input information until they guess the correct number.', 'Creation and manipulation of different types of arrays, including integer, real, multi-dimensional, and dynamically-sized arrays.', "Illustrates the use of 'do while' loop to continue looping as long as a condition is met, including the use of 'cycle' to jump back to the beginning of the loop and 'exit' to break out of the loop based on specified conditions.", 'Reshaping arrays and checking equality of values across one dimension, allowing for efficient manipulation and comparison of array elements.']}, {'end': 2478.763, 'segs': [{'end': 2448.807, 'src': 'embed', 'start': 2369.302, 'weight': 0, 'content': [{'end': 2374.526, 'text': "and we can say dimension, and let's say we want five total customers.", 'start': 2369.302, 'duration': 5.224}, {'end': 2386.253, 'text': "let's go and create an integer inside of here which is just going to be and and then let's also come in and create a customer and to do that you just go,", 'start': 2374.526, 'duration': 11.727}, {'end': 2393.656, 'text': "type and reference your custom structure that you created customer, and let's just call it customer one.", 'start': 2386.253, 'duration': 7.403}, {'end': 2403, 'text': "we're then going to be able to assign values by going customer one and name, and this can be sally smith if you would like it.", 'start': 2393.656, 'duration': 9.344}, {'end': 2408.202, 'text': 'We could then also come in and assign an age to it.', 'start': 2403.28, 'duration': 4.922}, {'end': 2410.323, 'text': "So we'll say 34.", 'start': 2408.463, 'duration': 1.86}, {'end': 2413.345, 'text': "And then we'll also assign a balance.", 'start': 2410.323, 'duration': 3.022}, {'end': 2415.306, 'text': "You can see that we're doing that.", 'start': 2413.845, 'duration': 1.461}, {'end': 2419.488, 'text': "And let's say she owes us $320.45.", 'start': 2415.806, 'duration': 3.682}, {'end': 2423.81, 'text': 'We could then come in and assign a structure to an array.', 'start': 2419.488, 'duration': 4.322}, {'end': 2429.053, 'text': "So we'll go customers1 is going to be equal to customer1.", 'start': 2423.97, 'duration': 5.083}, {'end': 2431.3, 'text': "and that's set.", 'start': 2430.2, 'duration': 1.1}, {'end': 2440.504, 'text': 'and also we would be able to assign values independently to the array by going customers and put it in the second space that we have there,', 'start': 2431.3, 'duration': 9.204}, {'end': 2443.705, 'text': "and then you're just going to reference the name, just like you did before,", 'start': 2440.504, 'duration': 3.201}, {'end': 2448.807, 'text': 'and then we can come in and do this for all of the other different amounts also,', 'start': 2443.705, 'duration': 5.102}], 'summary': 'Creating a custom structure with 5 customers, assigning names, ages, and balances to each, and organizing them in an array.', 'duration': 79.505, 'max_score': 2369.302, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf82369302.jpg'}], 'start': 2151.946, 'title': 'Vba table formatting and string manipulation in programming', 'summary': 'Covers formatting a table in vba with specific statements and a filtered table output. it also includes string manipulation techniques such as trimming, concatenating, and substring operations, with an array size of 30 characters. additionally, it introduces structures in programming, enabling the creation of custom types with multiple values of different data types and their usage in arrays.', 'chapters': [{'end': 2200.547, 'start': 2151.946, 'title': 'Formatting table in vba', 'summary': 'Covers the process of formatting a table in vba, including the use of specific formatting statements and the output of a filtered table.', 'duration': 48.601, 'highlights': ["The process of formatting a table in VBA involves using the format statement with specific parameters, such as defining spaces and floats, for example, using 'format 200' and 'floats 5.3'.", 'Output of a filtered table is demonstrated, showcasing the result of the formatting process in VBA.']}, {'end': 2478.763, 'start': 2200.547, 'title': 'String manipulation and structures in programming', 'summary': 'Covers string manipulation techniques including trimming, concatenating, getting substrings, and finding indexes, with an array size of 30 characters. it also introduces the concept of structures in programming, allowing the creation of custom types with multiple values of different data types and their usage in arrays.', 'duration': 278.216, 'highlights': ['It covers string manipulation techniques such as trimming, concatenating, getting substrings, and finding indexes with an array size of 30 characters. The chapter provides an overview of string manipulation techniques, including trimming white spaces, concatenating, getting substrings, and finding indexes, with an array size of 30 characters.', "Introduces the concept of structures in programming, enabling the creation of custom types with multiple values of different data types and their usage in arrays. The chapter introduces structures in programming, allowing the creation of custom types with multiple values of different data types and their usage in arrays, demonstrating the creation and manipulation of a custom structure 'customer' with string, integer, and real data types."]}], 'duration': 326.817, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf82151946.jpg', 'highlights': ["The process of formatting a table in VBA involves using the format statement with specific parameters, such as defining spaces and floats, for example, using 'format 200' and 'floats 5.3'.", 'Output of a filtered table is demonstrated, showcasing the result of the formatting process in VBA.', "Introduces the concept of structures in programming, enabling the creation of custom types with multiple values of different data types and their usage in arrays. The chapter introduces structures in programming, allowing the creation of custom types with multiple values of different data types and their usage in arrays, demonstrating the creation and manipulation of a custom structure 'customer' with string, integer, and real data types.", 'It covers string manipulation techniques such as trimming, concatenating, getting substrings, and finding indexes with an array size of 30 characters. The chapter provides an overview of string manipulation techniques, including trimming white spaces, concatenating, getting substrings, and finding indexes, with an array size of 30 characters.']}, {'end': 2919.45, 'segs': [{'end': 2724.061, 'src': 'heatmap', 'start': 2577.748, 'weight': 0.884, 'content': [{'end': 2589.999, 'text': "so we'll go 5 plus 4 is equal to, and then follow that up 5 plus 4 is equal to, and then throw our answer inside of there and there it is right there.", 'start': 2577.748, 'duration': 12.251}, {'end': 2596.224, 'text': "okay, so there's our first example of a function we can work with which we're going to keep creating a whole bunch more.", 'start': 2589.999, 'duration': 6.225}, {'end': 2601.429, 'text': "Let's say we want to define a function and then define what is going to be returned.", 'start': 2596.364, 'duration': 5.065}, {'end': 2605.713, 'text': "So here we'll say get some, let's just call it get some two.", 'start': 2601.509, 'duration': 4.204}, {'end': 2608.897, 'text': "And once again, it's going to get two values passed inside of it.", 'start': 2606.014, 'duration': 2.883}, {'end': 2615.522, 'text': 'And then, if you want to define the name of the variable that is going to be returned, you just do it like that again.', 'start': 2609.057, 'duration': 6.465}, {'end': 2617.783, 'text': "we're going to do implicit none.", 'start': 2615.522, 'duration': 2.261}, {'end': 2624.646, 'text': "then, if you would like to set up your function so that the variable values that are passed inside of it can't be changed,", 'start': 2617.783, 'duration': 6.863}, {'end': 2632.45, 'text': "what you're going to do here is go integer intent in, and then you can reference your two variables that you have.", 'start': 2624.646, 'duration': 7.804}, {'end': 2639.773, 'text': "we're still going to need some created here, so let's create that and then let's go and get.", 'start': 2632.45, 'duration': 7.323}, {'end': 2643.655, 'text': 'Sum is equal to n1 plus n2..', 'start': 2640.373, 'duration': 3.282}, {'end': 2646.356, 'text': 'And then once again, end our function.', 'start': 2643.955, 'duration': 2.401}, {'end': 2649.318, 'text': 'And this is going to be getSum2 instead.', 'start': 2646.777, 'duration': 2.541}, {'end': 2654.341, 'text': "And here, what I'll do is I'll actually call the function directly inside of here.", 'start': 2649.678, 'duration': 4.663}, {'end': 2656.122, 'text': "So let's just get rid of that altogether.", 'start': 2654.361, 'duration': 1.761}, {'end': 2663.806, 'text': "And I'm just going to come up here and go getSum2 and pass the 5 and the 4 inside of that.", 'start': 2656.142, 'duration': 7.664}, {'end': 2665.627, 'text': "And of course, that's going to work perfectly.", 'start': 2663.946, 'duration': 1.681}, {'end': 2666.908, 'text': 'And there you can see it did work.', 'start': 2665.827, 'duration': 1.081}, {'end': 2667.628, 'text': 'all right.', 'start': 2667.128, 'duration': 0.5}, {'end': 2669.169, 'text': 'so more on functions.', 'start': 2667.628, 'duration': 1.541}, {'end': 2672.692, 'text': "i'm going to create a whole bunch of them here, so we can look at different things.", 'start': 2669.169, 'duration': 3.523}, {'end': 2679.597, 'text': "you're also going to be able to block functions from changing input variables, but just by putting the pure keyword in front of it,", 'start': 2672.692, 'duration': 6.905}, {'end': 2683.579, 'text': 'so we can go function and get some three again.', 'start': 2679.597, 'duration': 3.982}, {'end': 2685.781, 'text': "we're getting values passed inside of it.", 'start': 2683.579, 'duration': 2.202}, {'end': 2691.024, 'text': "we're going to say that we want our results to be the variable we define called sum.", 'start': 2685.781, 'duration': 5.243}, {'end': 2693.286, 'text': "we're going to use implicit none again.", 'start': 2691.024, 'duration': 2.262}, {'end': 2695.467, 'text': 'Go and grab this guy right here.', 'start': 2693.666, 'duration': 1.801}, {'end': 2697.288, 'text': 'Throw both of them inside of it.', 'start': 2695.487, 'duration': 1.801}, {'end': 2701.01, 'text': "It's also important to know that arguments don't need to have a value passed.", 'start': 2697.408, 'duration': 3.602}, {'end': 2710.554, 'text': 'And if you want to protect from the user not sending everything in, you can say intent in and then put optional down inside of there and end to.', 'start': 2701.07, 'duration': 9.484}, {'end': 2714.016, 'text': 'And then we can also come in and define our sum.', 'start': 2710.794, 'duration': 3.222}, {'end': 2724.061, 'text': "And then what we can do to check if a value has been assigned is we go present And then n2, which is the thing we don't know if it exists or not.", 'start': 2714.276, 'duration': 9.785}], 'summary': 'The transcript discusses creating functions, defining return variables, and protecting input values in programming.', 'duration': 146.313, 'max_score': 2577.748, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf82577748.jpg'}, {'end': 2789.71, 'src': 'embed', 'start': 2762.037, 'weight': 0, 'content': [{'end': 2765.922, 'text': 'We are also going to be able to use recursive functions inside of Fortran.', 'start': 2762.037, 'duration': 3.885}, {'end': 2770.428, 'text': 'And a recursive function is just one that calls themselves repeatedly.', 'start': 2765.962, 'duration': 4.466}, {'end': 2772.29, 'text': "And let's just have integer up here.", 'start': 2770.728, 'duration': 1.562}, {'end': 2774.373, 'text': "And let's create our recursive function.", 'start': 2772.491, 'duration': 1.882}, {'end': 2777.798, 'text': "You have to actually say that it's a recursive function in Fortran.", 'start': 2774.533, 'duration': 3.265}, {'end': 2780.221, 'text': "So we'll say recursive and function.", 'start': 2777.818, 'duration': 2.403}, {'end': 2789.71, 'text': "and we will calculate factorial and that is going to get a value and then we will say results, and let's just have that be o.", 'start': 2780.781, 'duration': 8.929}], 'summary': 'Using recursive functions in fortran to calculate factorial.', 'duration': 27.673, 'max_score': 2762.037, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf82762037.jpg'}, {'end': 2915.669, 'src': 'embed', 'start': 2890.261, 'weight': 1, 'content': [{'end': 2896.971, 'text': 'It goes and gets four times and then it calls the factorial function once again for three, which jumps down to this part.', 'start': 2890.261, 'duration': 6.71}, {'end': 2900.176, 'text': "So here we have four and we don't have six yet.", 'start': 2897.231, 'duration': 2.945}, {'end': 2901.357, 'text': 'And we jump down here.', 'start': 2900.416, 'duration': 0.941}, {'end': 2902.718, 'text': 'We do this calculation.', 'start': 2901.417, 'duration': 1.301}, {'end': 2903.859, 'text': '3 is right there.', 'start': 2902.738, 'duration': 1.121}, {'end': 2905.861, 'text': "We don't have this value to get it.", 'start': 2904.079, 'duration': 1.782}, {'end': 2906.701, 'text': 'We jump down here.', 'start': 2905.901, 'duration': 0.8}, {'end': 2909.544, 'text': 'You can see this is the situation in which we get the 1.', 'start': 2906.822, 'duration': 2.722}, {'end': 2915.669, 'text': 'That gives us a value of 2, which jumps up here, which gives us a value of 6, which jumps up here, which gives us the final value of 24.', 'start': 2909.544, 'duration': 6.125}], 'summary': 'Factorial function iterates 4 times, resulting in a final value of 24.', 'duration': 25.408, 'max_score': 2890.261, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf82890261.jpg'}], 'start': 2479.043, 'title': 'Fortran functions', 'summary': 'Covers working with functions in fortran including defining return types, passing attributes, and using implicit none, creating functions with default values for parameters, and using recursive functions to calculate factorial.', 'chapters': [{'end': 2632.45, 'start': 2479.043, 'title': 'Working with functions in fortran', 'summary': 'Demonstrates the creation and usage of functions in fortran, including defining return types, passing attributes, and using implicit none, with examples of adding two numbers and restricting variable changes.', 'duration': 153.407, 'highlights': ["The chapter provides examples of creating functions in Fortran, such as defining the return type, function name, and attributes passed, as well as using 'implicit none' for variable declaration.", "An example is given where a function 'get sum' is defined to add two numbers, with the use of 'implicit none' and the subsequent printing of the result.", "Another example is presented where a function 'get sum two' is defined, with the application of 'integer intent in' to restrict variable changes and ensure data integrity."]}, {'end': 2761.737, 'start': 2632.45, 'title': 'Functions and variable manipulation', 'summary': "Discusses creating functions, using default values for function parameters, and blocking functions from changing input variables by using the 'pure' keyword.", 'duration': 129.287, 'highlights': ['The chapter discusses creating functions and using default values for function parameters to handle cases where a value is not passed inside the function.', "It also covers blocking functions from changing input variables by using the 'pure' keyword.", "The chapter demonstrates the use of the 'present' keyword to check if a value has been assigned to a variable and perform calculations accordingly."]}, {'end': 2919.45, 'start': 2762.037, 'title': 'Recursive functions in fortran', 'summary': 'Explains how to use recursive functions in fortran to calculate factorial, with an example demonstrating the calculation of factorial for the value 4 resulting in the answer 24.', 'duration': 157.413, 'highlights': ['The chapter explains the concept of recursive functions in Fortran, with a focus on calculating factorial using a recursive approach, showcasing the calculation of factorial for the value 4, resulting in the answer 24.', 'It details the step-by-step process of how the recursive function for calculating factorial works, demonstrating the iterative calls and the final result of 24 for the value 4.']}], 'duration': 440.407, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf82479043.jpg', 'highlights': ['The chapter explains recursive functions in Fortran, focusing on calculating factorial (24).', "The chapter covers creating functions with default parameter values and using 'pure' keyword.", 'The chapter provides examples of creating functions in Fortran, defining return types and attributes.']}, {'end': 3239.365, 'segs': [{'end': 2997.103, 'src': 'heatmap', 'start': 2932.395, 'weight': 0.902, 'content': [{'end': 2942.018, 'text': "So to create a module, what we're going to do is come over here in our Fortran code and I'm going to say new file and I'm going to call this malt mod.", 'start': 2932.395, 'duration': 9.623}, {'end': 2944.159, 'text': 'And this is going to be F90 as well.', 'start': 2942.298, 'duration': 1.861}, {'end': 2945.039, 'text': 'And there that is.', 'start': 2944.319, 'duration': 0.72}, {'end': 2946.78, 'text': "and let's create a module.", 'start': 2945.459, 'duration': 1.321}, {'end': 2954.946, 'text': "so we will say module, and malt mod is going to be the name of it, and again we're going to use implicit none inside.", 'start': 2946.78, 'duration': 8.166}, {'end': 2962.092, 'text': "I'm gonna give you another, more complex example of how to use modules, but basically here you would define your private variables.", 'start': 2954.946, 'duration': 7.146}, {'end': 2969.938, 'text': "I'm going to say that malt is going to be public, which means it can be accessed from any where in your code.", 'start': 2962.092, 'duration': 7.846}, {'end': 2974.802, 'text': 'private means it can only be accessed inside of this module itself.', 'start': 2969.938, 'duration': 4.864}, {'end': 2987.997, 'text': "and what we're going to do here is we're going to define two functions that we will associate with the one singular malt function we're going to create and we're going to get different results based off of the input data types.", 'start': 2974.802, 'duration': 13.195}, {'end': 2997.103, 'text': "so we're going to create an interface here and what we're going to do is basically define our two functions that we're going to create in this module.", 'start': 2987.997, 'duration': 9.106}], 'summary': 'Creating a fortran module with public and private variables, and defining two functions for different input data types.', 'duration': 64.708, 'max_score': 2932.395, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf82932395.jpg'}, {'end': 2987.997, 'src': 'embed', 'start': 2962.092, 'weight': 3, 'content': [{'end': 2969.938, 'text': "I'm going to say that malt is going to be public, which means it can be accessed from any where in your code.", 'start': 2962.092, 'duration': 7.846}, {'end': 2974.802, 'text': 'private means it can only be accessed inside of this module itself.', 'start': 2969.938, 'duration': 4.864}, {'end': 2987.997, 'text': "and what we're going to do here is we're going to define two functions that we will associate with the one singular malt function we're going to create and we're going to get different results based off of the input data types.", 'start': 2974.802, 'duration': 13.195}], 'summary': 'Defines public and private access for malt function with two associated functions.', 'duration': 25.905, 'max_score': 2962.092, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf82962092.jpg'}, {'end': 3156.456, 'src': 'embed', 'start': 3130.45, 'weight': 0, 'content': [{'end': 3135.711, 'text': "let's just go and do this like this, just to show once again that we can do it.", 'start': 3130.45, 'duration': 5.261}, {'end': 3144.592, 'text': "and here you'll see that we're using malt again, but we are going to be using real values and it's going to go and automatically get the right thing,", 'start': 3135.711, 'duration': 8.881}, {'end': 3153.954, 'text': "and then we can come in and grab this and paste that in there and let's see, i think this should be 12 instead 12,", 'start': 3144.592, 'duration': 9.362}, {'end': 3156.456, 'text': "And then we're going to define this as a float.", 'start': 3153.954, 'duration': 2.502}], 'summary': 'Demonstrating the use of malt with real values and defining a variable as a float.', 'duration': 26.006, 'max_score': 3130.45, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf83130450.jpg'}, {'end': 3204.425, 'src': 'embed', 'start': 3180.536, 'weight': 2, 'content': [{'end': 3189.219, 'text': "and to properly compile it, you're going to type in gfortran again with the dash c malt mod and also your fortran tut,", 'start': 3180.536, 'duration': 8.683}, {'end': 3192.341, 'text': "as long as i typed everything right, which it doesn't look like i did.", 'start': 3189.219, 'duration': 3.122}, {'end': 3198.983, 'text': 'oops, one thing i forgot was to actually reference malt and tie it together with these two separate functions,', 'start': 3192.341, 'duration': 6.642}, {'end': 3204.425, 'text': "and let's see if that corrects all those problems falling back on bad habits using other programming languages.", 'start': 3198.983, 'duration': 5.442}], 'summary': 'Compiling code with gfortran and referencing malt to correct problems.', 'duration': 23.889, 'max_score': 3180.536, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf83180536.jpg'}], 'start': 2919.67, 'title': 'Fortran module functions', 'summary': 'Discusses creating a fortran module to use generic functions for working with integers and reals, allowing public and private access, and provides a more complex example. it also covers defining two functions within a fortran module to handle different data types, showcasing the use of modules and functions in fortran programming and the need for proper compilation.', 'chapters': [{'end': 2974.802, 'start': 2919.67, 'title': 'Using generic functions in fortran modules', 'summary': 'Discusses creating a fortran module to use generic functions for working with integers and reals using the same function name, allowing public and private access, and providing a more complex example of using modules.', 'duration': 55.132, 'highlights': ['Creating a Fortran module to use generic functions for integers and reals with the same function name', 'Explaining public and private access in Fortran modules', 'Providing a more complex example of using modules in Fortran']}, {'end': 3239.365, 'start': 2974.802, 'title': 'Defining functions in fortran module', 'summary': 'Covers the process of defining two functions, malt real and malt int, within a fortran module to handle different data types, showcasing the use of modules and functions in fortran programming and the need for proper compilation.', 'duration': 264.563, 'highlights': ['Defining malt real and malt int functions within a Fortran module to handle real and integer values, showcasing the use of modules and functions in Fortran programming The chapter discusses the creation of malt real and malt int functions within a Fortran module to handle real and integer values, demonstrating the use of interfaces, functions, and modules in Fortran programming.', 'Demonstrating the necessity of proper compilation and usage of the defined module and functions to obtain accurate results The transcript emphasizes the importance of properly compiling the module and using the defined functions to ensure the accurate execution of the code, as seen in the demonstration of using malt module and functions with different data types.', 'Addressing compilation errors and the iterative process of correcting them, showcasing the practical debugging approach in Fortran programming The transcript highlights the iterative process of identifying and correcting compilation errors, demonstrating the practical debugging approach in Fortran programming and the transparency of addressing mistakes to the audience.']}], 'duration': 319.695, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf82919670.jpg', 'highlights': ['Creating a Fortran module to use generic functions for integers and reals with the same function name', 'Defining malt real and malt int functions within a Fortran module to handle real and integer values', 'Explaining public and private access in Fortran modules', 'Addressing compilation errors and the iterative process of correcting them', 'Providing a more complex example of using modules in Fortran', 'Demonstrating the necessity of proper compilation and usage of the defined module and functions to obtain accurate results']}, {'end': 3540.25, 'segs': [{'end': 3367.659, 'src': 'embed', 'start': 3336.705, 'weight': 4, 'content': [{'end': 3347.649, 'text': 'and then what we can do is say print and print out that information so we can say i1 and if we want to go and put a new line inside of there,', 'start': 3336.705, 'duration': 10.944}, {'end': 3361.615, 'text': 'we can do that and i1 once again and another new line and then i1 again and then go and actually get them and print them so p1 and p2 And come over here.', 'start': 3347.649, 'duration': 13.966}, {'end': 3363.116, 'text': 'Whoops, I hit the wrong thing.', 'start': 3361.835, 'duration': 1.281}, {'end': 3367.659, 'text': 'Also, make sure you get rid of UseMultMod that was up here.', 'start': 3363.616, 'duration': 4.043}], 'summary': 'Printed information with i1, p1, and p2. removed usemultmod.', 'duration': 30.954, 'max_score': 3336.705, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf83336705.jpg'}, {'end': 3512.919, 'src': 'embed', 'start': 3468.553, 'weight': 0, 'content': [{'end': 3473.117, 'text': "let's go and increase the pointer two's value by two.", 'start': 3468.553, 'duration': 4.564}, {'end': 3479.98, 'text': 'so pointer two, just to see how that is going to affect our target, and then we can output those changes as well.', 'start': 3473.117, 'duration': 6.863}, {'end': 3485.282, 'text': "an integer and once again we'll say pointer one.", 'start': 3479.98, 'duration': 5.302}, {'end': 3492.685, 'text': "and also, let's come in and let's go and show the target and how the target's value changed this.", 'start': 3485.282, 'duration': 7.403}, {'end': 3494.006, 'text': "that's perfectly fine.", 'start': 3492.685, 'duration': 1.321}, {'end': 3502.272, 'text': "and then let's just change this to target instead and then output our target value and if we run it, you're going to see pointer one five,", 'start': 3494.006, 'duration': 8.266}, {'end': 3503.213, 'text': 'pointer one five.', 'start': 3502.272, 'duration': 0.941}, {'end': 3503.993, 'text': 'you can see that.', 'start': 3503.213, 'duration': 0.78}, {'end': 3512.919, 'text': 'the target, however, is three, and the reason why is target has been tied in with pointer two, has a value of one here and then,', 'start': 3503.993, 'duration': 8.926}], 'summary': 'Using pointers, target value changed to 3 from 5.', 'duration': 44.366, 'max_score': 3468.553, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf83468553.jpg'}], 'start': 3239.565, 'title': 'Fortran subroutines and pointers', 'summary': "Covers fortran subroutines, highlighting their ability to return multiple values and the usage of 'intent out' to define output. it also explores the manipulation of pointers to change target values in memory.", 'chapters': [{'end': 3367.659, 'start': 3239.565, 'title': 'Subroutines and multiple return values', 'summary': "Discusses subroutines in fortran, highlighting their ability to return multiple values and demonstrating the use of 'intent out' to define the output. it also covers the process of calling a subroutine and printing the returned values.", 'duration': 128.094, 'highlights': ["Subroutines allow for the return of multiple values, demonstrated through the use of 'intent out' to define the output and the automatic return of specified values.", 'Demonstration of calling a subroutine and passing in values, followed by the process of printing the returned values.', "Explanation of defining subroutines using 'contains' and 'intent out' to indicate the return of multiple values."]}, {'end': 3540.25, 'start': 3367.679, 'title': 'Pointers and subroutines in programming', 'summary': 'Discusses the usage of pointers and subroutines in programming, demonstrating the ability to return multiple values using a subroutine and the manipulation of pointers to change target values in memory.', 'duration': 172.571, 'highlights': ['The subroutine was able to return multiple values, 1, 2, 3, demonstrating its capability for handling and returning various data. The subroutine successfully returned multiple different values, 1, 2, 3, showcasing its ability to handle and return diverse data.', 'Demonstrated the ability to change the target value in memory by manipulating pointers, showcasing the practical application of pointers in programming. The manipulation of pointers successfully showcased the practical application of pointers in programming by changing the target value in memory.', "Illustrated the process of disassociating a pointer and a target using 'nullify' and deallocating storage for a pointer using 'deallocate', providing insights into memory management techniques. The illustration of disassociating a pointer and a target using 'nullify' and deallocating storage for a pointer using 'deallocate' provided valuable insights into memory management techniques."]}], 'duration': 300.685, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf83239565.jpg', 'highlights': ["Subroutines allow for the return of multiple values using 'intent out'", 'Demonstration of calling a subroutine and printing the returned values', 'Manipulation of pointers to change target values in memory', "Illustration of disassociating a pointer and a target using 'nullify'", "Demonstration of deallocating storage for a pointer using 'deallocate'"]}, {'end': 4382.936, 'segs': [{'end': 3797.184, 'src': 'embed', 'start': 3767.181, 'weight': 0, 'content': [{'end': 3773.568, 'text': 'And you can see that we were able to write the IAM string to the file and then also read it back.', 'start': 3767.181, 'duration': 6.387}, {'end': 3774.669, 'text': 'Okay, so cool stuff.', 'start': 3773.628, 'duration': 1.041}, {'end': 3779.655, 'text': "And to finish off this tutorial, I'm going to do a kind of complicated module example.", 'start': 3774.93, 'duration': 4.725}, {'end': 3783.977, 'text': "actually, i think i'm going to do a couple examples, two, two examples, all right.", 'start': 3779.875, 'duration': 4.102}, {'end': 3787.319, 'text': "so i'm going to create a module called shape.", 'start': 3783.977, 'duration': 3.342}, {'end': 3797.184, 'text': "so i'm going to say use shape and i'm going to come over here once again and i'm going to say i want a new file and this is going to be called shape and let's just leave it at that,", 'start': 3787.319, 'duration': 9.865}], 'summary': 'Demonstrated file read/write and module creation with 2 examples.', 'duration': 30.003, 'max_score': 3767.181, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf83767181.jpg'}, {'end': 3918.674, 'src': 'embed', 'start': 3886.229, 'weight': 3, 'content': [{'end': 3898.271, 'text': "and then we'll define our other one that we said that we were going to define subroutine, get area and let's just have it print out to the screen,", 'start': 3886.229, 'duration': 12.042}, {'end': 3911.353, 'text': "the area, and then we can come in and say height, times, width and then ends our subroutine and that's get area,", 'start': 3898.271, 'duration': 13.082}, {'end': 3915.392, 'text': 'And then we need to end our module like that.', 'start': 3911.654, 'duration': 3.738}, {'end': 3916.012, 'text': 'all right.', 'start': 3915.652, 'duration': 0.36}, {'end': 3918.674, 'text': 'so there is the entire module right there.', 'start': 3916.012, 'duration': 2.662}], 'summary': 'Defining subroutine get area to calculate and print area on screen.', 'duration': 32.445, 'max_score': 3886.229, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf83886229.jpg'}, {'end': 4200.898, 'src': 'embed', 'start': 4179.108, 'weight': 1, 'content': [{'end': 4187.971, 'text': "then contains, and this is the function that we said that we wanted to have inside of all our subclasses, and it's called get area.", 'start': 4179.108, 'duration': 8.863}, {'end': 4194.435, 'text': "okay, so let's just look at this again, say we're saying that we want to come in here and define get area.", 'start': 4187.971, 'duration': 6.464}, {'end': 4199.658, 'text': "that's what that says, and deferred says that we will do that in all our subclasses.", 'start': 4194.435, 'duration': 5.223}, {'end': 4200.898, 'text': 'so we must do it.', 'start': 4199.658, 'duration': 1.24}], 'summary': "Defining 'get area' function in all subclasses is required.", 'duration': 21.79, 'max_score': 4179.108, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf84179108.jpg'}, {'end': 4251.366, 'src': 'embed', 'start': 4227.793, 'weight': 2, 'content': [{'end': 4238.499, 'text': 'which is this object itself and why, and our function gets area and then and the module all to gather right.', 'start': 4227.793, 'duration': 10.706}, {'end': 4242.101, 'text': "And then we'll jump back over into our Fortran type.", 'start': 4238.619, 'duration': 3.482}, {'end': 4244.563, 'text': 'We have both of those already set inside of there.', 'start': 4242.161, 'duration': 2.402}, {'end': 4251.366, 'text': "And the easiest way to really get this to gel in your brain is to think of something you know that you'd like to do, calculation wise,", 'start': 4244.803, 'duration': 6.563}], 'summary': 'Explanation of object and function with fortran type, encouraging practical application.', 'duration': 23.573, 'max_score': 4227.793, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf84227793.jpg'}], 'start': 3540.882, 'title': 'Fileio and fortran module', 'summary': 'Discusses fileio, including creating, opening, writing to, reading from, and deleting files, with error handling. it also covers creating modules and inheritance in fortran, with examples of creating a module called shape, inheriting from it to create triangle module, and demonstrating module usage and compilation.', 'chapters': [{'end': 3766.881, 'start': 3540.882, 'title': 'Fileio overview and file manipulation', 'summary': 'Discusses working with pointers and targets, and then delves into fileio, covering the process of creating, opening, writing to, reading from, and deleting files, along with error handling and message output.', 'duration': 225.999, 'highlights': ['The chapter covers the process of creating, opening, writing to, reading from, and deleting files. This includes working with pointers and targets, defining error values, error messages, and error status, as well as handling file operations like opening a file with a unique unit number, specifying file status, checking for errors, writing to a file, and reading information from a file.', 'Error handling is discussed, including checking for error status and outputting error messages. The chapter outlines the process of checking for errors using an error value not equal to 0, outputting error messages, and stopping program execution if an error occurs.', "The process of deleting a file after working with it is explained. The chapter explains the process of deleting a file after completing operations, demonstrating the use of 'delete' to remove the file."]}, {'end': 4382.936, 'start': 3767.181, 'title': 'Fortran module and inheritance', 'summary': 'Covers creating modules and inheritance in fortran, including examples of creating a module called shape with subroutines, and inheriting from shape mod and creating triangle mod for calculating area, with a demonstration of how to use and compile the modules.', 'duration': 615.755, 'highlights': ['Creating a module called shape with subroutines for set shape and get area, and demonstrating usage with values 10.5 and 20.5 for height and width, and calculating the area. The tutorial covers creating a module called shape with subroutines for set shape and get area, demonstrating usage with values 10.5 and 20.5 for height and width, and calculating the area.', 'Inheriting from shape mod and creating triangle mod for calculating area, with a demonstration of how to use and compile the modules. The chapter includes inheriting from shape mod and creating triangle mod for calculating area, with a demonstration of how to use and compile the modules.', 'Demonstrating the usage of triangle mod with values 10 and 20 for try X and try Y, and calculating the area. The transcript demonstrates the usage of triangle mod with values 10 and 20 for try X and try Y, and calculating the area.']}], 'duration': 842.054, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/__2UgFNYgf8/pics/__2UgFNYgf83540882.jpg', 'highlights': ['The chapter covers fileio operations, including creating, opening, writing to, reading from, and deleting files, with error handling.', 'Creating a module called shape with subroutines for set shape and get area, and demonstrating usage with values 10.5 and 20.5 for height and width, and calculating the area.', 'Inheriting from shape mod and creating triangle mod for calculating area, with a demonstration of how to use and compile the modules.', 'Error handling is discussed, including checking for error status and outputting error messages.']}], 'highlights': ['The tutorial covers the core syntax of Fortran and emphasizes the necessity of declaring all variables, providing a condensed understanding of the language, comparable to reading a 300-page book on Fortran.', 'The chapter covers fileio operations, including creating, opening, writing to, reading from, and deleting files, with error handling.', "Demonstrates the use of 'do' to define a range of values to iterate through, with the ability to specify the start, end, and increment values, and outputting integers based on the defined range.", 'Introduces the concept of structures in programming, enabling the creation of custom types with multiple values of different data types and their usage in arrays.', "Subroutines allow for the return of multiple values using 'intent out'"]}