Introduction to Scientific Engineering Computing

Introduction to Scientific Engineering Computing
paly

The course BIL106 E, taught by Hseyin TOROS, Ph.D. from Istanbul Technical University's Faculty of Aeronautics and Astronautics, is an introduction to scientific engineering computing. The course covers topics such as Fortran, F Compiler, and the Free On-Line Dictionary of Computing.

About Introduction to Scientific Engineering Computing

PowerPoint presentation about 'Introduction to Scientific Engineering Computing'. This presentation describes the topic on The course BIL106 E, taught by Hseyin TOROS, Ph.D. from Istanbul Technical University's Faculty of Aeronautics and Astronautics, is an introduction to scientific engineering computing. The course covers topics such as Fortran, F Compiler, and the Free On-Line Dictionary of Computing.. The key topics included in this slideshow are computing, engineering, scientific, Fortran, F Compiler, syllabus,. Download this presentation absolutely free.

Presentation Transcript


1. BIL106 E Introduction to Scientific & Engineering Computing Hseyin TOROS , Ph.D. Istanbul Technical University Faculty of Aeronautics and Astronautics Dept. of Meteorological Engineering Voice: 285 31 27 E-mail: toros @itu.edu.tr http:// atlas.cc. itu.edu.tr/~ toros An important fraction of our interaction will be via e-mail Useful Pages: http://www.be.itu.edu.tr/ http://atlas.cc.itu.edu.tr/~toros/bil106e.htm http://atlas.cc.itu.edu.tr/~F90/mainindex.html http://www.fortran.com/ http:// www.foldoc.org (Free OnLine Dictionary of Computing) F Compiler: Read this first , Full installer (3.4Mb): win95nt.exe For more information syllabus_F 07/26/09 Introduction to Scientific & Engineering Computing 1

2. H istory of Computers The first computers were people! That is, electronic computers (and the earlier mechanical computers) were given this name because they performed the work that had previously been assigned to people. "Computer" was originally a job title: it was used to describe those human beings (predominantly women) whose job it was to perform the repetitive calculations required to compute such things as navigational tables, tide charts, and planetary positions for astronomical almanacs. Imagine you had a job where hour after hour, day after day, you were to do nothing but compute multiplications. Boredom would quickly set in, leading to carelessness, leading to mistakes. And even on your best days you wouldn't be producing answers very fast. Therefore, inventors have been searching for hundreds of years for a way to mechanize (that is, find a mechanism that can perform) this task. 07/26/09 2 Introduction to Scientific & Engineering Computing

3. The abacus was an early aid for mathematical computations. Its only value is that it aids the memory of the human performing the calculation. A skilled abacus operator can work on addition and subtraction problems at the speed of a person equipped with a hand calculator (multiplication and division are slower). The abacus is often wrongly attributed to China. In fact, the oldest surviving abacus was used in 300 B.C. by the Babylonians. 07/26/09 3 Introduction to Scientific & Engineering Computing

4. ELECTRONC NUMERCAL INTEGRATOR AND COMPUTER 1st large scale electronic digital computer designed and constructed at the Moore School of Electrical Engineering of the University of Pennsylvania since 1920s, faculty had worked with Aberdeen Proving Grounds Ballistics Research Laboratory (BRL) 07/26/09 4 Introduction to Scientific & Engineering Computing

5. INSPRATON AND PERSPRATON UNTE 1943 Mauchly and Eckert prepare a proposal for the US Army to build an Electronic Numerical Integrator calculate a trajectory in 1 second May 31, 1943 Construction of ENIAC starts 1944 early thoughts on stored program computers by members of the ENIAC team July 1944 two accumulators working 07/26/09 5 Introduction to Scientific & Engineering Computing

6. ACCUMULATOR (28 VACUUM TUBES) 07/26/09 6 Introduction to Scientific & Engineering Computing

7. ENIAC AT MOORE SCHOOL, UNVERSTY OF PENNSYLVANA 07/26/09 7 Introduction to Scientific & Engineering Computing

8. 07/26/09 8 Introduction to Scientific & Engineering Computing

9. EARLY THOUGHTS ABOUT STORED PROGRAM COMPUTNG January 1944 Moore School team thinks of better ways to do things; leverages delay line memories from War research September 1944 John von Neumann visits Goldstines meeting at Aberdeen Train Station October 1944 Army extends the ENIAC contract to include research on the EDVAC and the stored-program concept Spring 1945 ENIAC working well June 1945 First Draft of a Report on the EDVAC: Electronic Discrete Variable Automatic Computer 07/26/09 9 Introduction to Scientific & Engineering Computing

10. MANCHESTER MARK I (1948)

11. MANCHESTER MARK I (1948) Freddy Williams and Tom Kilburn Developed an electrostatic memory Prototype operational June 21, 1948 and machine to execute a stored program Memory: 32 words of 32 bits each Storage: single Williams tube (CRT) Fully operational: October 1949 Ferranti Mark I delivered in February 1951 07/26/09 11 Introduction to Scientific & Engineering Computing

12. EDSAC Maurice Wilkes , University Mathematical Laboratory, Cambridge University Moore School Lectures Electronic Delay Storage Automatic Calculator, EDSAC operational May, 1949 J. Lyons Company and the LEO, Lyons Electronic Office , operational fall 1951 07/26/09 12 Introduction to Scientific & Engineering Computing

13.

14. NATONAL PHYSCAL LABORATORY Alan Turing Automatic Computing Engine (ACE) Basic design by spring, 1946 Harry Huskey joins project Pilot ACE working, May 10, 1950 English Electric: DEUCE, 1954 Full version of ACE at NPL, 1959 07/26/09 14 Introduction to Scientific & Engineering Computing

16. 07/26/09 16 Introduction to Scientific & Engineering Computing MANFRAME COMPUTERS

17. REMNGTON RAND UNIVAC 43 UNIVACs were delivered to government and industry Memory: mercury delay lines : 1000 words of 12 alphanumeric characters Secondary storage: metal oxide tape Access time: 222 microseconds (average) Instruction set: 45 operation codes Accumulators: 4 Clock: 2.25 Mhz 07/26/09 17 Introduction to Scientific & Engineering Computing

18. 1951 UNVAC 1951 UNVAC Typical 1968 pricesEX-cluding maintenance & support!

19. IBM 701 (DEFENSE CALCULATOR) Addition time: 60 microseconds Multiplication: 456 microseconds Memory: 2048 (36 bit) words using Williams tubes Secondary memory: Magnetic drum: 8192 words Magnetic tape: plastic Delivered: December 1952 : IBM World Headquarters (total of 19 installed) 07/26/09 19 Introduction to Scientific & Engineering Computing

20. SECOND GENERATON (1958-1964) 1958 Philco introduces TRANSAC S-2000 first transistorized commercial machine IBM 7070, 7074 (1960), 7072(1961) 1959 IBM 7090, 7040 (1961), 7094 (1962) 1959 IBM 1401, 1410 (1960), 1440 (1962) FORTRAN, ALGOL , and COBOL are first standardized programming languages 07/26/09 20 Introduction to Scientific & Engineering Computing

21. THRD GENERATON (1964-1971) April 1964 IBM announces the System/360 solid logic technology (integrated circuits) family of compatible computers 1964 Control Data delivers the CDC 6600 nanoseconds telecommunications BASIC , Beginners All-purpose Symbolic Instruction Code 07/26/09 21 Introduction to Scientific & Engineering Computing

22. FOURTH GENERATON (1971- ) Large scale integrated circuits (MSI, LSI) Nanoseconds and picoseconds Databases (large) Structured languages ( Pascal ) Structured techniques Business packages 07/26/09 22 Introduction to Scientific & Engineering Computing

23. DGTAL EQUPMENT CORPORATON(MN-COMPUTERS) ASSABET MLLS, MAYNARD, MA 23

24. FLPCHP 24

25. PDP-8, FRST MASS-PRODUCED MN 25

26. PDP-11 (1970) 26

27. INTEL Noyce, Moore , and Andrew Grove leave Fairchild and found Intel in 1968 focus on random access memory (RAM) chips Question: if you can put transistors, capacitors, etc. on a chip, why couldnt you put a central processor on a chip? Ted Hoff designs the Intel 4004 , the first microprocessor in 1969 based on Digitals PDP-8 07/26/09 27 Introduction to Scientific & Engineering Computing MCROCOMPUTERS

28. MCROCOMPUTERS Ed Roberts founds Micro Instrumentation Telemetry Systems (MITS) in 1968 Popular Electronics puts the MITS Altair on the cover in January 1975 [ Intel 8080 ] Les Solomons 12 year old daughter, Lauren , was a lover of Star Trek . He asked her what the name of the computer on the Enterprise was. She said computer but why dont you call it Altair because that is where they are going tonight! 07/26/09 28 Introduction to Scientific & Engineering Computing

29. ALTAR 8800 COMPUTER 29

30. INTEL PROCESSORS 07/26/09 30 Introduction to Scientific & Engineering Computing MICROPROCESSOR YEAR SPEED WORD LENGT H TRANSIST ORS MIPS Intel 4004 1969 108 KHz 4-bit 2,300 .06 Intel 8008 1972 200 KHz 8-bit 3,500 .06 Intel 8080 1974 2 MHz 8-bit 6,000 .64 Intel 8086 1978 4.47 MHz 16-bit 29,000 .66 Intel 8088 1981 4.47 MHz 16-bit 29,000 .75 Intel 80286 1982 12 MHz 16-bit 134,000 2.66 Intel 80386 1985 16-33 MHz 32-bit 275,000 4 Intel 80486 (i486) 1989 20-100 MHz 32-bit 1.2 Million 70 Intel 80586 (Pentium) 1993 75-200 MHz 32-bit 3.3 Million 126 - 203 Intel Pentium Pro 1995 150-200 MHz 32-bit 5.5 Million 300 Intel Pentium MMX 1997 166-233 MHz 32-bit 4.5 Million - Intel Pentium II 1997 233-450 MHz 32-bit 7.5 Million - Intel Pentium III 1999 450-933 MHz 32-bit Over 9.5 Million - Intel Itanium Processor 2000 1 GHz 64-bit 15,000,000 1,200

31. 07/26/09 31 Introduction to Scientific & Engineering Computing Computer Processing Speed Computer processing speed depends on a variety of factors. Three of the most important factors are: Word length (the number of bits that can be processed at one time by the microprocessor) Cycle Speed (how fast individual events are processed, measured in Megahertz) Data Bus Width (determines how much data can be transferred between the CPU and memory) Other factors Include: RAM (amount of available random access memory) Disk Access Speed (speed that data can be read from hard disk) Code Efficiency (how efficiently the computer code has been designed)

32. 32 32 What is a computer? nput Processing Output storage. 07/26/09 Introduction to Scientific & Engineering Computing The computer is an automatic device that performs calculations makes decisions has capacity for storing instantly recalling vast amount of information 32

33. 33 33 07/26/09 Introduction to Scientific & Engineering Computing Computer system A collection of related components that are designed to work together. A system includes hardware and software. Hardware Software What is a computer System ? 33

34. Introduction to Scientific & Engineering Computing What is a computer? Hardware Processor Memory I/O units (Input/Output Units) 07/26/09 34

35. Introduction to Scientific & Engineering Computing How does a computer work? Executes very simple instructions . Executes them incredibly fast . Must be programmed: it is the software , i.e., the programs, that characterize what a computer actually does . 07/26/09 35

36. Computer Structure Computer Structure Input Devices Output Devices Control Unit Arithmetic- Logic Unit Main Memory External Memory CPU = Central Processing Unit Major Components of a computing system 07/26/09 Introduction to Scientific & Engineering Computing 36

37. Computer Structure Registers are a set of special high-speed memory locations within the CPU Access speed within the register is thousands of times faster than access speed in RAM MEMORY MEASUREMENT The memory unit of a computer is two-state devices. Then it is natural to use a binary scheme (using only the two binary digits {bits} 0 and 1 to represent information in a computer). Bytes = 8 Bits Memory is commonly measured in bytes, and a block of 2 10 = 1024 bytes = 1 K 1MB=1024 K=1024 . 2 10 = 2 10 . 2 10 = 2 20 = 1,048,576 bytes. or 2 20 . 2 3 = 2 23 = 8,384,608 bits. 07/26/09 Introduction to Scientific & Engineering Computing 37

38. 07/26/09 38 Introduction to Scientific & Engineering Computing What is a computer program? The computer program characterizes what a computer actually does. A program (independently of the language in which it is written) is constituted by two fundamental parts: A representation of the information (data) relative to the domain of interest. A description of how to manipulate the representation in such a way as to realize the desired functionality: operations. To write a program both aspects have to be addressed.

39. 39 39 07/26/09 Introduction to Scientific & Engineering Computing A list of instructions that are grouped together to accomplish a task or tasks. The instructions, called machine code or assembly code consist of things like reading and writing memory, arithmetic operations, and comparisons. 39 Program

40. 40 40 07/26/09 Introduction to Scientific & Engineering Computing E v ery program must be translated into a machine language that the computer can understand. This translation is performed by compilers , interpreters , and assemblers . When you buy software , you normally buy an executable version of a program. This means that the program is already in machine language -- it has already been compiled and assembled and is ready to execute. Program

41. 07/26/09 41 Introduction to Scientific & Engineering Computing

42. 07/26/09 42 Introduction to Scientific & Engineering Computing While easily understood by computers, machine languages are almost impossible for humans to use because they consist entirely of numbers. Programmers , therefore, use either a high-level programming language or an assembly language . An assembly language contains the same instructions as a machine language, but the instructions and variables have names instead of being just numbers. Programs written in high-level languages are translated into assembly language or machine language by a compiler . Assembly language programs are translated into machine language by a program called an assembler . Every CPU has its own unique machine language. Programs must be rewritten or re compiled , therefore, to run on different types of computers. Program

43. 07/26/09 43 Introduction to Scientific & Engineering Computing Compiler A program that translates source code into object code. The compiler derives its name from the way it works, looking at the entire piece of source code and collecting and reorganizing the instructions. Thus, a compiler differs from an interpreter, which analyzes and executes each line of source code in succession, without looking at the entire program. The advantage of interpreters is that they can execute a program immediately. Compilers require some time before an executable program emerges. However, programs produced by compilers run much faster than the same programs executed by an interpreter .

44. 07/26/09 44 Introduction to Scientific & Engineering Computing Every high-level programming language (except strictly interpretive languages) comes with a compiler. In effect, the compiler is the language, because it defines which instructions are acceptable. Because compilers translate source code into object code, which is unique for each type of computer, many compilers are available for the same language. For example, there is a FORTRAN compiler for PCs and another for Apple Macintosh computers. In addition, the compiler industry is quite competitive, so there are actually many compilers for each language on each type of computer. More than a dozen companies develop and sell C compilers for the PC. Compiler Source Program (High-level language) Compiler Object Program (machine language) Compilation errors Run-time errors Steps of execution of a Fortran program

45. 07/26/09 45 Introduction to Scientific & Engineering Computing Interpreter A program that executes instructions written in a high-level language . There are two ways to run programs written in a high-level language. The most common is to compile the program; the other method is to pass the program through an interpreter. An interpreter translates high-level instructions into an intermediate form, which it then executes. In contrast, a compiler translates high-level instructions directly into machine language . Compiled programs generally run faster than interpreted programs. The advantage of an interpreter, however, is that it does not need to go through the compilation stage during which machine instructions are generated. This process can be time-consuming if the program is long. The interpreter, on the other hand, can immediately execute high-level programs. For this reason, interpreters are sometimes used during the development of a program, when a programmer wants to add small sections at a time and test them quickly. In addition, interpreters are often used in education because they allow students to program interactively. Both interpreters and compilers are available for most high-level languages. However, BASIC and LISP are especially designed to be executed by an interpreter. In addition, page description languages , such as PostScript , use an interpreter. Every PostScript printer , for example, has a built-in interpreter that executes PostScript instructions.

46. 46 46 07/26/09 Introduction to Scientific & Engineering Computing Programing Language A programming language that is once removed from a computer's machine language . Machine languages consist entirely of numbers and are almost impossible for humans to read and write. Assembly languages have the same structure and set of commands as machine languages, but they enable a programmer to use names instead of numbers. Each type of CPU has its own machine language and assembly language, so an assembly language program written for one type of CPU won't run on another. In the early days of programming, all programs were written in assembly language. Now, most programs are written in a high-level language such as FORTRAN or C . Programmers still use assembly language when speed is essential or when they need to perform an operation that isn't possible in a high-level language.

47. Why we use a programming language ? The main reason for learning a programming language is to use the computer to solve scientific engineering problems 07/26/09 47 Introduction to Scientific & Engineering Computing

48. 07/26/09 Introduction to Scientific & Engineering Computing Taught in t hree versions: Fortran (F) C Matlab Introduction to Scientific & Engineering Computing 48

49. 49 49 P rogramming language Basic skills for scientific/engineering problem solving using computers: Data structures and algorithms Programming skills in a (standard) language Skills for integrating the computing chain: ????????????????? Analyze Program Run Visualize 07/26/09 Introduction to Scientific & Engineering Computing

50. Engineering simulation of the natural/artificial systems Build a conceptual quantitative model (most of the time, write down the appropriate equations) Formulate a solution to these equations using numerical methods Data structures + algorithms Program these data structures and algorithms in a language Run the program and analyze its output using visualization techniques 07/26/09 Introduction to Scientific & Engineering Computing 50

51. 07/26/09 51 Introduction to Scientific & Engineering Computing Scientific & E ngineering problems ? ? ?

52. 07/26/09 52 Introduction to Scientific & Engineering Computing Flowcharts are often used to graphically represent algorithms. In mathematics, computing, linguistics, and related subjects, an algorithm is a finite sequence of instructions, an explicit, step-by-step procedure for solving a problem, often used for calculation and data processing. It is formally a type of effective method in which a list of well-defined instructions for completing a task, will when given an initial state, proceed through a well-defined series of successive states, eventually terminating in an end-state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as probabilistic algorithms, incorporate randomness. solving a problem : Algorithm - Flowcharts

53. 07/26/09 53 Introduction to Scientific & Engineering Computing

54. 07/26/09 54 Introduction to Scientific & Engineering Computing Write out the problem statement. Include information on what you are to solve, and consider why you need to solve the problem.

55. 07/26/09 55 Introduction to Scientific & Engineering Computing A simple flowchart representing a process for dealing with a broken lamp.

56. 07/26/09 56 Introduction to Scientific & Engineering Computing A simple flowchart for computing factorial N (N!)

57. 57 57 Kavak Aac ile Kabak Ulu bir kavak aacnn yannda bir kabak filizi boy gstermi. Bahar ilerledike bitki kavak aacna sarlarak ykselmeye balam. Yamurlarn ve gnein etkisiyle mthi bir hzla bym ve neredeyse kavak aac ile ayn boya gelmi. Bir gn dayanamayp sormu kavaa: -Sen ka ayda bu hale geldin aa? -On ylda, demi kavak. -On ylda m? Diye glm ve ieklerini sallam kabak. -Ben neredeyse iki ayda seninle ayn boya geldim bak! -Doru, demi kavak. Gnler gnleri kovalam ve sonbaharn ilk rzgrlar baladnda kabak meye sonra yapraklarn drmeye, souklar arttka da aaya doru inmeye balam. Sormu endieyle kavaa: -Neler oluyor bana aa? -lyorsun, demi kavak. -Niin? -Benim on ylda geldiim yere, iki ayda gelmeye altn iin. almadan emek harcamadan gelinen nokta baar saylmaz. Kolay kazanlan, kolay kaybedilir. Her ite aln teri ve emek arttr. 07/26/09 Introduction to Scientific & Engineering Computing 57

58. 58 58 07/26/09 Introduction to Scientific & Engineering Computing

59. 07/26/09 Introduction to Scientific & Engineering Computing 59

60. ! ! program check integer::M,N,F print*,Please enter full number for N? N>1 read*,N M=1 F=1 do if (M==N) then print*,M=,M, N=,N, F=,F exit else M=M+1 F=F*M cycle endif enddo end program check 07/26/09 Introduction to Scientific & Engineering Computing 60

61. 07/26/09 Introduction to Scientific & Engineering Computing 61

62. 62 62 Programming and Problem Solving Programming and Problem Solving Program-development process consists of at least five steps: 1) Problem analysis and specification The first stage in solving the problem is to analyze the problem and formulate a precise specification of it 2) Data organization and algorithm design Determine how to organize and store the data in the problem. Develop procedures to process the data and produce the required output. These procedures are called algorithms . 3) Program coding Coding is the process of implementing data objects and algorithms in some programming language. A Simple program begins with the PROGRAM, and ends with the END PROGRAM statements 07/26/09 Introduction to Scientific & Engineering Computing

63. 63 63 Programming and Problem Solving Programming and Problem Solving 4) Execution and testing This is the checking step that the algorithm and program are correct. Compile (produce an object file) { compile-time errors } + run { run-time errors }: IMPORTANT !! Logic errors that arise in the design of the algorithm or in the coding of the program are very hard to find. 5) Program maintenance In real world applications, programs need to modify to improve their performance. 07/26/09 Introduction to Scientific & Engineering Computing

64. Baz eyler paylaldka klr, BLG ve SEVG ise paylaldka byr 07/26/09 Introduction to Scientific & Engineering Computing 64

65. Algoritma ve Ak Diyagramlar Algoritma szc Ebu Abdullah Muhammed bin Musa el Harezmi adndaki ranl alimden gelmitir. El Harezmi 9. yzylda cebir alanndaki almalarn kitaba dkerek matematie ok byk bir katk salamtr. Hazrlad bu Hisab el-cebir ve el-mukabala kitab dnyann ilk cebir kitab ve ayn zamanda ilk algoritma kitab olma zelliini kazanmtr. Algoritma, zlmesi gereken bir problemin belirli kurallar ve mantk erevesinde adm adm zlerek yazya dklmesi ilemidir. Algoritmalar sonlu ve kesin ifadelerle birlikte kullanlmaldr. Aksi takdirde sonu belirlenmemi ve/veya kesin ifadeler kullanlmam algoritmalar yazlrsa sonsuz dng, kilitlenme gibi istenmeyen bir takm hatalar ortaya kacaktr. http://www.ozgurlukicin.com/atolye/algoritma-ve-akis- diyagramlari/ Yazar: Mehmet PEKGEN

66. Algoritma Neden Gereklidir? Aslnda algoritmalar her zaman hayatmzn bir paras olmutur. ou insan her gn birtakm ilerini algoritma yoluyla yaptklar halde bunun farknda deildir. rnein, ay demlemek, yemek yapmak, ie gitmek, araba srmek gibi ilemlerde normal artlar altnda belli bir sralama takip edilmektedir. Ksacas yapacamz tm ilemlerde yaplmas ve/veya yaplmamas gereken kurallar dizisi olacaktr. Bu yzden tm programclar bu kurallar atlamadan hatasz bir ekilde program oluturmaya alrlar. Bunu baarabilmeleri iin birka saat ya da gn ayrarak bu ilem basamaklarn oluturmak zorundadrlar. Eer algoritma oluturmadan program yazlrsa, daha sonra yazlan yzlerce ve/ veya binlerce kod arasndan hata bulmak neredeyse imkanszdr. Fakat elimizin altnda belli bir srada ilem basamaklar olduu srece hangi programlama dilinde yazarsak yazalm programmz hatasz olacaktr. zellikle bilgisayar programcl okuyan arkadalarmzn arasnda rastladm kadaryla ou, bu durumu gz ard etmektedir. Ne kadar ok programlama dili bilirsek o kadar iyi program yazabiliriz dncesine sahipler. Unutulmamaldr ki eer bir soruna matematiksel ya da mantksal bir zm getiremiyorsak programlama dili bilmemizinde bir anlam yoktur.Programclar algoritmalarn dnda bir de ak diyagramlar kullanmaktadrlar.

67. Ak Diyagram Neden Gereklidir? Algoritmann daha iyi anlalabilmesi iin yaz yerine ak diyagramlar kullanlmaktadr. Bunu kullanmann dier bir nemli yan da oluturulan her algoritmann herkesin anlad dili yanstmasdr. Aksi halde algoritmalar, yazld dili (Trke, ngilizce vb.) bilmeyen dier bir kii tarafndan anlalr olmayacaktr. Bu yzden uluslararas standart sembollerle tm algoritmalarn yazldklar dillerden bamsz hale getirilmesi gerekmektedir. Bunun iin ak diyagramlar hayatmza girmitir. Konunun daha iyi anlalmas asndan u rnei verebiliriz. Trafik lambalarnda renk ve/veya ekil yerine DUR, BEKLE ya da GE yazmas bizim iin anlamldr ancak yabanclar iin hibir anlam ifade etmemektedir. Trafik lambalarnda yaz yerine KIRMIZI, YEL gibi renk kodlarnn kullanlmas tm dnyada bu iaretleri anlalr klmtr. Bu yzden algoritmalar ak diyagramlar ile sembolize etmek projenizin uluslararas anlalrln artracaktr

68. Algoritmann zellikleri Etkinlik: Algoritma olutururken dikkat etmemiz gereken zelliklerden biri etkinliktir. Bu zelliin salanabilmesi iin oluturulan algoritmalarda ilem tekrar olmamasna dikkat edilmelidir. Dier bir ilem ise oluturulan algoritmann gerekirse dier algoritmalar iinde kullanlmasn salyor. Kesinlik: Kullanlan deerler her zaman kesin ifadeler iermelidir. Sonluluk: Her algoritmann bir sonu vardr. Ne kadar ilem ya da dng olursa olsun algoritmann uygun bir admda sonlandrlmas gerekir. Giri/k: Tm algoritmalarn giri ve k verileri olmak zorundadr. k verilerinin kesinlikle doru olmasna dikkat edilmelidir. nk, kverileri baka bir algoritmann giri verisi olarak kullanlabiliyor. Performans: Performans deeri, algoritmann ne kadar tekrar ettii, uygulad ilemler, alma sresi gibi ilemlere gre belirlenir. Eer oluturulan algoritmada performans ihtiyac varsa saydm bu tr zelliklere dikkat edilmesi gerekiyor. Eer bu tip sorunlar varsa tekrar incelenerek dzeltilmesi gerekir.

69. rnek Algoritma... Yeni balayan arkadalara rnek oluturmas iin 1den 100e kadar olan tam saylarn aritmetik ortalamasn hesaplayan bir algoritma ve ak diyagramn yapalm. Bunun iin ncelikle 1den 100e kadar olan saylarn toplamna ihtiyacmz olacaktr. Sonrasnda bu toplamn 100e blnmesiyle ortalama elde edilecektir. Burada toplam iin (n*n+1) /2 ne gne duruyor dediinizi duyar gibiyim. :) Tabiki toplam bulmak iin Gauss yntemini kullanabiliriz ancak anlatmaya altmz ey algoritma kurmay gstermek olduundan biz uzun yolu seiyoruz. Bu anlattklarmz nda algoritmamz aadaki gibi olacaktr. Bala Sayac=1 : Toplam=0 : Aritmetik_Orta=0 Eer Sayac=100 ise Git 6 Toplam=Toplam+Sayac Sayac=Sayac+1 : Git 3 Aritmetik_Orta=Toplam/100 Aritmetik_Orta deerini yaz Dur.

70. Ayrca anlalrln artrmak iin ak diyagramn izdiimizde oluacak diyagram ise aadaki gibidir.

71. Algoritmann programlama dillerinden bamsz olmasnn yannda iletim sistemlerinden de bamsz olduunu unutmaynz. Programcln balangcndan itibaren, hayatnzn sonuna kadar devam edecek ve deimeyecek tek gerek aslnda algoritmadr. Bu yzden programcla yeni balayan ya da balayacak olan arkadalara algoritma ile iyi geinmelerini tavsiye ederim. Konu ile ilgili gr ve nerilerinizi zgrlkin forumlarna bekliyorum. http://www.ozgurlukicin.com/atolye/algoritma-ve-akis- diyagramlari/ Yazar: Mehmet PEKGEN