آرايه Array آرايه مجموعه اى از متغيرهاى از يك نوع است كه با يك نام مشترك تحت استفاده قرار مى گيرند. يك عنصر بخصوص در يك آرايه با يك index (انديس ) مورد.

Slides:



Advertisements
Similar presentations
Queue theory.
Advertisements

شهادت امام جعفر صادق(ع) تسلیت باد سیستمهای کنترل خطی پاییز 1389 بسم ا... الرحمن الرحيم دکتر حسين بلندي- دکتر سید مجید اسما عیل زاده.
مهدی آذرنوش مبحث ششم : آرایه ها و رشته ها حسابگری الگوریتمی.
Logic Block Architectures. 2 Crosspoint Solution  Requires the use of large amounts of programmable interconnect −  suffer from area-inefficiency 
1 1-d Arrays. 2 Array Many applications require multiple data items that have common characteristics  In mathematics, we often express such groups of.
در جامعه، افرادي که موقعيت و مسؤليت خود را مي‌دانند از راحتي و امنيت بيشتري برخوردارند هر کلاس از جامعه، مجموعه‌اي از امکانات و تواناييهاي مجاز برخوردار.
Stranded Costs مقدمه 1 - آشنايی با پديده های غيرخطی ( ياد آوری و تکميل ) 2 - مبانی رياضی ( مهم )
سازگاري فرايندهاي يادگيري Consistency of Learning Processes ارائه دهنده : الهام باوفای حقیقی استاد درس : آقای دکتر شيري دانشگاه امير كبير دانشكده ‌ مهندسي.
آرايه ها يا رشته ها Arrays
ارائه درس روباتيکز Extended Kalman Filter فريد ملازم استاد مربوطه دکتر شيري دانشگاه امير کبير – دانشکده کامپيوتر و فناوري اطلاعات.
Imperative Programming Prof. Béat Hirsbrunner Amine Tafat, PhD Student Matthias Buchs and Raphaël Lesceux, Graduate Students Department of Informatics.
0 Arrays (1/2) #include /* count digits, white space, others */ main() { int c, i, nwhite, nother; int ndigit[10]; nwhite = nother = 0; for (i = 0; i
Declarations/Data Types/Statements. Assignments Due – Homework 1 Reading – Chapter 2 – Lab 1 – due Monday.
تعميم در يادگيري مبتني بر نمونه ها
ادامه برنامه های فرعی عباسپور 1 متغير ها در برنامه های فرعی هر نوع متغيری که در برنامه فرعی اعلان می شود مخصوص همان برنامه است و در خارج از آن موجوديت.
مراحل مختلف اجرای يک برنامه
Artificial Intelligent Systems Laboratory 1 الگو‌هاي فرايند (Process Patterns) فصل 2 درس مهندسي نرم‌افزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده :
به نام خدا برنامه سازی سمت سرور (php)
1 C Programming Week 2 Variables, flow control and the Debugger.
 Hassan jamali In the name of God Grade: three CD شامل : مكالمه لغات جديد درس نقاط گرامري و تمرين است.
Administrative things
Introduction to Programming Lecture 6: Making Decisions.
Data Types Modifiers Base data type Size Sign signed int 2 B unsigned float 4 B short double 8 B long char 1 B.
روابط مجموعه ها سلیمی. دکتر سلیمانی. نظریه فازی در سال 1965 بوسیله یک دانشمند ایرانی بنام پروفسور لطفی زاده معرفی گردید. گرچه این نظریه در ابتدا با.
Introduction to Programming
UniMAP Sem2-10/11 DKT121: Fundamental of Computer Programming1 Arrays.
اسامي شناسه ها (Identifier names) اسامي متغيرها ، توابع ، برچسب ها (labels) وبقيه اشياء تعريف شده توسط كاربر در C ، شناسه ( identifier ) ناميده مي شود.
1 فصل دوم تبديلات. 2 فصل دوم سرفصل مطالب مقدمه ضرب بردارها دستگاه ‌ هاي مختصات دوران ‌ ها مختصات همگن دوران ‌ ها و انتقال ‌ ها تبديلات تركيبي همگن تبديل.
شرط و تصميم اصول كامپيوتر 1. 2 الگوريتم اقليدس E1: [find remainder] Divide m by n and let r be the remainder. Clearly, 0
1/19 Informed search algorithms Chapter 4 Modified by Vali Derhami.
Department of Computer Eng. & IT Amirkabir University of Technology (Tehran Polytechnic) Data Structures Lecturer: Abbas Sarraf Order.
Introduction to Programming Lecture 5: Interaction.
KUKUM-06/07 EKT120: Computer Programming 1 Week 6 Arrays-Part 1.
سیستمهای کنترل خطی پاییز 1389 بسم ا... الرحمن الرحيم دکتر حسين بلندي- دکتر سید مجید اسما عیل زاده.
1 فصل سوم سينماتيك مستقيم. 2 محتواي فصل   تعريف مجموعه فازي   تابع عضويت   نمايش مجموعه هاي فازي   برش آلفا   متغيرهاي زباني   ساخت مجموعه.
الف) تابع y = f(x) = X >= 0x -2 < x < 0 x3x3 X
به نام خدا.
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
فصل ششم روال ها.
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
به نام خدا POWER SYSTEM ANALYSIS Ali Karimpour Associate Professor
بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics
آرايه ها و ساختارها.
آرايه ها.
ANOVA: Analysis Of Variance
ANOVA: Analysis Of Variance
نمايش معادلات فضاي حالت توسط فرمهاي كانوليكال
وحید حقيقت دوست دانشکده فنی و مهندسی دانشگاه شاهد
واحد های مختلف برنامه عباسپور
Quick Sort مرتب سازي سريع.
آشنايي با برنامه نويسي به زبان C++
تکنیک دیماتل DEMATEL: decision making trial and evaluation laboratory.
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
دکتر حسين بلندي/ دکتر سید مجید اسماعیل زاده / دکتر بهمن قربانی واقعی
تبدیل فوریه (Fourier Transform)
نمايش اعداد در کامپيوتر چهار عمل اصلي
Similarity transformation
سميرا قانوني زهرا معدني
سيستمهاي اطلاعات مديريت
مدلسازي تجربي – تخمين پارامتر
هیدرولیک جریان در کانالهای باز
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
فيلتر كالمن معرفي : فيلتر كالمن تخمين بهينه حالت‌ها است كه براي سيستم‌هاي ديناميكي با اختلال تصادفي در سال 1960 بزاي سيستم‌هاي گسسته و در سال 1961 براي.
بنام خدا زبان برنامه نویسی C (21814( Lecture 3 Chapter 4
عباس طبیبی-دانشگاه صنعتی اصفهان
مثال : فلوچارتي رسم كنيد كه دو عدد از ورودي دريافت كرده بزرگترين عدد
بسم الله الرحمن الرحيم.
گروه كارشناسي ارشد مديريت فنآوري اطلاعات(واحد الكترونيكي تهران)
تخمين پارامترها - ادامه
Graph Theory in Circuit-1
Presentation transcript:

آرايه Array آرايه مجموعه اى از متغيرهاى از يك نوع است كه با يك نام مشترك تحت استفاده قرار مى گيرند. يك عنصر بخصوص در يك آرايه با يك index (انديس ) مورد دستيابى قرار مى گيرد. در Cتمام عناصر آرايه از مكانهاى مجاور ( بهم چسبيده ) حافظه تشكيل مى گردند. كوچكترين آدرس ، آدرس عنصر اول است. بزرگترين آدرس متناظر آخرين عنصر است. آرايه ها مى توانند يك بعدى يا چند بعدى باشند. آرايه هاى يک بعدى فرم كلى آرايه يک بعدى به اين صورت است : type array-name[ size ] ; همان نوع پايه است كه نوع هر عنصر آرايه است. type اندازه ( size )مى گويد آرايه چند عنصر درون خود خواهد داشت. انديس اولين عنصر هر آرايه ، صفر مى باشد.

مثال : اگر بگوييدint x[10] ; x به عنوان يك آرايه با 10 عنصر معرفى شده لذا عناصرش x[0], x[1], x[2], …, x[9] مى باشد. عنصر آدرس عنصر آدرس اگر x در حافظه از آدرس 1000 شروع شده باشد آنگاه :

مثال : #include main( ) { int x[10] ; int t ; for ( t = 0 ; t < 10 ; ++t ) x[ t ] = t ; for ( t = 0 ; t < 10 ; ++t ) printf(“x[%d]= %d\n”,t, x[t]); }

sizeof(type) * length of array total bytes = char interest[10] ; كل اندازه آرايه از فرمول زير بدست مى آيد : مثال : int id[4] ; 1 x 10 = 10 مثال : 2 x 4 = 8

Sizeof1.C برنامه مثال : #include main() { int x[10], num ; clrscr(); printf("size of int is %d \n", sizeof(int)); printf("size of float is %d \n", sizeof(float)); printf("size of double is %d \n", sizeof(double)); printf("size of long double is %d \n", sizeof(long double)); printf("size of long int is %d \n", sizeof(long int)); printf("size of num is %d \n\n", sizeof(num)); printf("size of x is %d \n\n", sizeof(x) ); } size of int is 2 size of float is 4 size of double is 8 size of long double is 10 size of long int is 4 size of num is 2 size of x is 20 size of int is 2 نتيجه اجرا

x X[0] X[1] X[8] y y[0] y[1] y[8] x + y X[0] + y[0] X[1] + y[1] X[8] + y[8]

#define MAX 100 #include main() { /* sum of two vectors */ int i, n; double x[MAX], y[MAX] ; printf(“ n ? \n”); scanf(“%d”, &n) ; printf(“please enter the values of the first vector:\n”) ; for (i = 0 ; i < n ; i++ ) { printf(“x[%d] ? \t “, i ) ; scanf(“%lf”, &x[i]) ; } printf(“please enter the values of the second vector:\n”) ; for (i = 0 ; i < n ; i++ ) { printf(“y[%d] ? \t “, i ) ; scanf(“%lf”, &y[i]) ; } برنامه جمع دو بردار

for (i = 0 ; i < n ; i++ ) printf(“sum[%d] = %.0f \n”, i, x[i] + y[i] ) ; }

toupper(ch) = اگر ch يك حرف كوچك باشدمعادل بزرگ ch در غير اينصورت ch #include

tolower(ch) = اگر ch يك حرف بزرگ باشدمعادل كوچكch در غير اينصورت ch #include

#define MAX 100 #include main() { /* sum of two vectors */ int i, n, cyesno ; double x[MAX], y[MAX] ;

for(cyesno = 'Y' ; cyesno == 'Y' ; ) { clrscr(); printf(" n ? \n"); scanf("%d", &n) ; printf("please enter the values of the first vector:\n") ; for (i = 0 ; i < n ; i++ ) { printf("x[%d] ? \t ", i ) ; scanf("%lf", &x[i]) ; } printf("please enter the values of the second vector:\n") ; for (i = 0 ; i < n ; i++ ) { printf("y[%d] ? \t ", i ) ; scanf("%lf", &y[i]) ; } for (i = 0 ; i < n ; i++ ) printf("sum[%d] = %.0f \n", i, x[i] + y[i] ) ; printf("do you want to sum other vectors ? Y/N\t"); cyesno = toupper(getche()); } }

آرايه هاى داراى ابعاد بالاتر : type array-name [ size1 ] [ size2 ] …. [size n ] ; مثال : int a[2][3] ; a 00 a 01 a 02 a 10 a 11 a 12 مثال : int b[2][2] ; b 00 b 01 b 10 b 11

در زبان C ماتريس دو بعدى در حافظه بصورت سطرى نگهدارى مى شود :نكته : a 00 a01a01 a02a02 a10a10 a 11 a 12 مثال :برنامه محاسبه جمع دو ماتريس : #include #define MAX 100 main ( ) { int m, n, i, j ; double a[MAX][MAX], b[MAX][MAX] ;

1- شروع 2- m را از ورودي دريافت كن 3- n را از ورودي دريافت كن 4- مقادير ماتريس اول ( A ) را از ورودي دريافت كن 5- مقادير ماتريس دوم ( B ) را از ورودي دريافت كن 6- مقادير ماتريسهاي A و B را با هم جمع و چاپ كن 7- پايان

printf ( “ number of rows of matrices : m ?\t “ ) ; scanf(“%d”, &m ) ; printf ( “ number of columns of matrices : n ?\t “ ) ; scanf(“%d”, &n ) ; printf(“ Enter aij \‘s members of the first matrix :A \n”) ; for ( i = 0 ; i < m ; i++ ) for ( j = 0 ; j < n ; j++ ) { printf( “ a[%d][%d] ? \t”, i, j ) ; scanf( “%lf”, &a[i][j] ) ; } printf(“ Enter bij \‘s members of the second matrix :B \n”) ; for ( i = 0 ; i < m ; i++ ) for ( j = 0 ; j < n ; j++ ) { printf( “ b[%d][%d] ? \t”, i, j ) ; scanf( “%lf”, &b[i][j] ) ; }

for ( i = 0 ; i < m ; i++ ) for ( j = 0 ; j < n ; j++ ) printf( “ sum[%d][%d] = %lf\n”, i, j, a[i][j] + b[i][j] ) ; }

انواع خطاها Kinds of Errors 1- Syntax error خطاى نحوى 2- linker error خطاى اتصال دهنده 3- Run-time error خطاى زمان اجرا 4- Logical error خطاى منطقى Debugرفع اشكال Bug اشكال Moduleبسته ، تكه Maintance Support

تابع function آرايه Array خيلي خيلي خيلي مهم خيلي خيلي مهم

sin п0 return ضابطه Function عملكرد f(x) = sin(x) f xx2x2 f(x) = x2x2 f(t) = t2t2 به x يا t پارامتر ظاهري تابع مي گويندFormal parameter به п پارامتر واقعي تابع مي گويندActual parameter تابع Function

sin sqrt(4) √4 cos square root log10(100) 2 tan return value مقدار بازگشتي asin acos atan atan2(y,x) cast

2 5 2 * 2 * 2 * 2 * 2 5 base n base * base * base … * base n

#include main() { int n; do { scanf(“%d”, &n); if( n < 0 ) printf(“Enter a positive integer number: ”); } while( n < 0 ) printf(“%lf”, sqrt( (double) n); }

#include int power( int, int); /* test power function */ main( ) { int i ; for ( i = 0 ; i < 10 ; i++ ) printf(“%d %d %d\n”, i, power(2, i), power(-3, i) ); return 0 ; } Function Call فراخوانى تابع insert mode مثال :تابع توان تابع Function

/* power : raise base to n-th power ; n >= 0 */ int power (int base, int n ) { int i, p; for ( p = 1, i = 1 ; i <= n ; ++i ) p = p * base ; n = 20; return p; } double sqrt(double x)

return-type function-name(parameter declaration,if any) { declarations statements } تعريف تابع :

Actual parameters َ پارامترهاى واقعى arguments آرگومان Formal parameters پارامترهاى رسمى parameter Call by value فراخوانى توسط مقدار

pow(x, y) function prototype نمونه اوليه 2 ** 3 2 ^ 3 math.h Mathematics #include

Character Ascii Code 0 48 ‘0’ 1 49 ‘1’ ‘9’

#include /* count digits, White space, others */ main( ) { int c, i, nwhite, nother ; int ndigit[10] ; nwhite = nother = 0 ; for ( i= 0; i < 10 ; ++i ) ndigit[ i ] = 0 ;

while ( ( c = getchar() ) != EOF ) if ( c >= ‘0’ && c <= ‘9’ ) ++ndigit[ c – ‘0’ ] ; else if ( c == ‘ ‘ || c== ‘\n’ || c== ‘\t’ ) ++nwhite ; else ++nother ; printf(”digits = “ ) ; for ( i = 0 ; i < 10 ; ++i ) printf(“ %d”, ndigit[ i ] ); printf( “, white space = %d, other = %d\n”, nwhite, nother ) ; }