كاربر فعال


    كاربر مهمان


درباره وب سايت


با سلام .
افشین رشیدی هستم دانشجوی کارشناسی ناپیوسته مهندسی نرم افزار کامپیوتر مجتمع آموزش عالی ( دانشکده فنی و مهندسی ) بناب از شهرستان مهاباد . هدف از ایجاد این وب سایت کمک به علاقه مندان رشته کامپیوتر از جمله برنامه نویسی است . امیدوارم مقبول بازدیدکنندگان محترم واقع شود .


برای عضویت در وب سایت روی لینک زیر کلیک کنید :

عضویت در وب سایت

برای طرح سوالات و پیشنهادات خود می توانید نظر خود را از طریق فرم پایین صفحات ارسال کنید و یا از طریق ایمیل با ما در میان بگذارید .همچنين مي توانيد به تالار گفتمان به آدرس زير مراجعه كنيد :

تالار گفتمان


لينك به ما


برای قرار دادن لینک سایت آموزش برنامه نویسی در وب سایت یا وبلاگ خود کد زیر را با کلیک بر روی دکمه " کپی کد " کپی کرده و در محل مورد نظر خود قرار دهید .







پيوندها


>>>اف سي پرسپوليس
>>>كسب درآمد اينترنتي ( درآمدزايي آسان و واقعي از طريق اينترنت )
>>>تالار گفتمان
>>>وب سایت افشین رشیدی
>>>وبلاگ بزرگ منچستر
>>>پول * پول * پول
>>>Astronomy
>>>شعرای یمانی
>>>اخبار سپاهان
>>>خريد و فروش اينترنتي (كمترين قيمتها )
>>>امیرحسین
>>>برنامه نویسی
>>>بهترین آهنگ های روز
>>>دريافت پول به ازاي هر كليك
>>>پایگاه آموزش
>>>جديدترين كليپ هاي موبايل
>>>دانلود ، سرگرمی ، مطالب جالب و خواندنی
>>>ارزان سراي اينترنتي
>>>Abtarang
>>>سرمست ترین
>>>سینما و رپ ایرانی
>>>!:: دنیـای عـکس و مـوزیک ::!
>>>عشق ، احساس ، زندگی
>>>فقط چند دقیقه
>>>Iranian-IT
>>>مهندسان برق
>>>مروارید درون
>>>آموزشکده کامپیوتر
>>>جونه من 18- نیان تو
>>>سلول زنده
>>>گيتار
>>>best download
>>>جک و SMS
>>>کلیپ ( جدید - 2008 ) و عکس و رینگتون و اس ام اس
>>>ورود ممنوع
>>>وبلاگ تخصصی کامپیوتر
>>>گروه شبکه پرشین بلاگ - پویا کوشنده
>>>خبرهای روز IT
>>>قفل سکوت
>>>دنیای کامپیوتر
>>>بیا تو مجانی اطلاعات بگیر
>>>برترین اخبار و مقالات رایانه
>>>فدا خانوم رو ببین چه کرده
>>>دابل-کلیک، مرکز آموزش کامپیوتر و اینترنت ایرانیان
>>>قاسم پرسپولیسی
>>>يه سايت توپ براي همه ي سليقه ها
>>>عکس داغ
>>>تجارت الكترونيك
>>>hossein
>>>تفریح>جک>ترفند>مطالب عاشقانه>هرچیکه بخوای
>>>وب سایت تفریحی طوطیا
>>>کرمانشاه نیوز
>>>computer-world20
>>>هنر رزمي فونگ پاي چي وو كونگ فو
>>>AIOS - All In One Site
>>>ROYAYE KHIS
>>>بانک مقالات فارسی
>>>قاسم روني
>>>طراحی وب سایت
>>>عکسهای جدید ایرانی



               WWW.BARNAMENEVISI.SOMEE.COM


آموزش ColdFusion ،انواع داده ي پيچيده : آرايه ها

آموزش ColdFusion ،انواع داده ي پيچيده : آرايه ها

 

 

 

آرايه ها نيز مانند ليست ها، براي ذخيره سازي مقادير متعدد، تحت يک نام مي باشند. اما، برخلاف ليست ها، اين ذخيره سازي در قسمت ها جدا از هم انجام مي گيرد و مانند ليست ها تمام مقادير در يک رشته اي از مقادير جدا شده به وسيله ي حرف جدا کننده ذخيره نمي گردند.

 

ليست ها داده هاي ساده مي باشند، چون فقط يک رشته مي باشند، در حالي که آرايه ها داده هاي پيچيده مي باشند، چون متشکل از چندين قسمت قابل آدرس دهي مي باشند و داراي چنيدن مقدار مختلف مي باشند.

 

ايجاد يک آرايه

برخلاف ليست، که يک رشته ساده مي باشد، آرايه ها نوع داده ي پيچيده اي مي باشند که توسط تابع ArrayNew() ايجاد مي گردند. مانند مثال زير :

 

>cfset myArray = ArrayNew(1)>

 

تکه کد بالا، يک آرايه ي يک بعدي ايجاد مي کند و آن را به ArrayNew تخصيص مي دهد. يک آرايه مي تواند تا 3 بعد داشته باشد.

 

ارجاع به عضوي از يک آرايه

براي دسترسي به عضوي از آرايه، مانند مثال زير عمل مي کنيم :

<cfoutput/>#MyArray[2]#< cfoutput>

 

مثال بالا مقدار عنصر دوم آرايه را چاپ مي کند. بر خلاف اکثر زبان هاي برنامه نويسي، انديس آرايه در کلدفيوژن از يک شروع مي شود.

 

افزودن عنصري به آرايه

براي افزودن عنصري به آرايه از ArrayAppend() به شکل زير استفاده مي کنيم :

 

<cfset myArray = ArrayNew(1)>

<cfset ArrayAppend(myArray,”apple")>

 

به تفاوت ArrayAppend و ListAppend توجه کنيد :

 

<cfset myList = ListAppend(myList, “apple")>

<cfset ArrayAppend(myArray,”apple")>

 

 

ListAppend مقدار ليست اصلي را تغيير نمي دهد، بلکه يک ليست جديد با يک مقدار جديد افزوده شده به انتهاي آن ايجاد مي کند. اما ArrayAppend تغييرات را روي آرايه ي اصلي اعمال مي کند، و مقدار بازگشتي آن در صورت موفقيت تابع true مي باشد و در غير اين صورت false مي باشد. بنابراين شما حتي نياز نداريد که مقدار بازگشتي را ذخيره کنيد.

 

همچنين براي افزودن عنصري به ابتداي يک آرايه از تابع ArrayPrepend مانند مثال زير استفاده مي کنيم :

<cfset ArrayPrepend(myArray,”lemon")>

 

شما همچنين مي توانيد عنصري را ميان عناصر موجود اضافه کنيد . مثلا فرض کنيد آرايه ي ما داراي عناصر زير باشد :

1 :  peach

2 :  apple

شما مي توانيد عنصري را ميان عناصر اول و دوم اضافه کنيد . بدين منظور از تابع ArrayInsertAt به صورت زير استفاده مي کنيم :

 

>cfset ArrayInsertAt(myArray,2,”lemon")>

 

پس از اجراي کد بالا آرايه ي ما داراي عناصر زير خواهد بود :

 

1 : peach

2 : lemon

3 : apple

 

شما همچنين مي توانيد يک عنصر براي آرايه بوسيله عمل تخصيص ايجاد کنيد. مثلا، براي آرايه ي بالا، کد زير را اجرا مي کنيم :

 

<cfset myArray[4]=”blueberry">

 

حال، آرايه ي ما داراي چهار عنصر زير مي باشد :

1 : peach

2 : lemon

3 : apple

4 : blueberry

 

شما همچنين مي توانيد از مقدار دهي به برخي از عناصر صرف نظر کنيد :

 

>cfset myArray[6]=”pomegranate">

 

پس از اجراي کد بالا آرايه ما به صورت زير مي باشد :

 

1 : peach

2 : lemon

3 : apple

4 : blueberry

5 : هيچ عنصري با انديس پنج وجود ندارد

6 : pomegranate

 

به آرايه ي بالا توجه کنيد، هيچ عنصري با انديس 5 وجود ندارد و اين به اين معني نيست که آرايه ي پنجم داراي مقدار خالي مي باشد، فقط، هيچ عنصري با انديس 5 وجود ندارد.

 

حذف عنصري از يک آرايه

براي حذف عنصري از آرايه مي توانيد از تابع ArrayDeleteAt به صورت زير استفاده کنيد :

 

>cfset ArrayDeleteAt(myArray,2)>

 

تابع بالا عنصر دوم از آرايه را حذف مي کند.

 

براي پاک کردن کل آرايه ، يعني حذف تمام عناصر از تابع ArrayClear مانند زير استفاده مي کنيم :

 

<cfset ArrayClear(myArray)>

 

 

 

بدست آوردن اطلاعاتي در رابطه با آرايه :

براي تست کردن اينکه آيا هيچ عنصري در آرايه موجود مي باشد يا نه ، از تابع ArrayIsEmpty به صورت زير استفاده مي کنيم :

 

<cfif ArrayIsEmpty(myArray)>

            This Array is empty.

<cfelse>

            This Array has some elements.

</cfif>

 

براي بدست آوردن تعداد عناصر يک آرايه از تابع ArrayLen بصورت زير استفاده مي کنيم :

>cfset numElements = ArrayLen(myArray)>

 

ArrayLen عناصر تعريف نشده را نيز حساب مي کند.

 

 

 

پيدا کردن عنصري در آرايه :

براي پيدا کردن عناصر در يک ليست دو تابع ListFind و ListFindnocase وجود داشتند، ولي هيچ تابعي براي جستجو بر روي آرايه ها وجود ندارد. بنابراين، براي جستجو در يک آرايه، بايد از cfloop مانند مثال زير استفاده کرد :

 

<cfloop from=”1to=”#ArrayLen(myArray)#” index=”I">

            <cfif myArray[I] EQapple">

                        <cfbreak>

            </cfif>

</cfloop>

 

پس از اجراي کد بالا، I داراي انديس عنصر داراي مقدار apple مي باشد.

 

برخي توابع رياضي براي آرايه ها :

تابع ArrayMin براي پيدا کردن کمترين مقدار موجود در آرايه به کار مي رود.

تابع ArrayMax براي پيدا کردن بيشترين مقدار موجود در آرايه به کار مي رود.

تابع ArraySum براي پيدا کردن مجموع مقادير موجود در آرايه به کار مي رود.

تابع ArrayAvg براي پيدا کردن ميانگين مقادير موجود در آرايه به کار مي رود.

 

به عنوان مثال، به تکه کد زير توجه کنيد :

 

<cfset NumericArray=ArrayNew(1)>

<cfset NumericArray[1]=10>

<cfset NumericArray[2]=12>

<cfset NumericArray[3]=11>

<cfset NumericArray[4]=20>

<cfset NumericArray[5]=10>

 

<cfset Minimum=ArrayMin(NumericArray)>

<cfset Maximum=ArrayMax(NumericArray)>

<cfset Sum=ArraySum(NumericArray)>

<cfset Avg=ArraySum(NumericArray)>

 

 

تعويض جاي عناصر يک آرايه :

فرض کنيد عناصر آرايه ي ما به صورت زير باشند :

1 : peach

2 : lemon

3 : apple

4 : blueberry

 

براي تعويض جاي عنصر اول و عنصر سوم ، از تابع ArraySwap به صورت زير استفاده مي کنيم :

 

<cfset ArraySwap(myArray,1,3)>

 

حال عناصر آرايه ي ما به صورت زير مي باشند :

 

1 : apple

2 : lemon

3 : peach

4 : blueberry

 

 

مرتب سازي عناصر يک آرايه :

همانند ليست ها، شما مي توانيد عناصر يک آرايه را به راحتي مرتب کنيد :

 

<cfset ArraySort(myArray,”text”,”asc">

 

پس از اينکه کد بالا اجرا شد، آرايه داراي عناصر به ترتيب زير مي باشد :

1 : apple

2 : blueberry

3 : lemon

4 : peach

 

اگر عنصر تعريف نشده اي در آرايه موجود باشد، و شما بخواهيد آرايه را مرتب کنيد، کلدفيوژن يک خطا ايجاد مي کند.

 

همانند براي ListSort()، دومين پارامتر تابع ArraySort، نوع مرتب سازي که مي خواهيد انجام دهيد را مشخص مي کند :

 

·          Numeric : آرايه را به صورت عددي مرتب سازي مي کند. اگر عنصري از آرايه نتواند به يک عدد تبديل شود، يک خطا رخ مي دهد.

·          Text : آرايه را به صورت الفبايي مرتب سازي مي کند، و حساس به بزرگي و کوچکي حروف مي باشد.

·          Textnocase : آرايه را به صورت الفبايي مرتب سازي مي کند، و حساس به بزرگي و کوچکي حروف نمي باشد.

 

سومين پارامتر تابع ArraySort() مي تواند “asc” و يا “desc" باشد. بستگي دارد به اينکه شما مي خواهيد آرايه را به صورت از کوچک به بزرگ مرتب کنيد و يا از بزرگ به کوچک مرتب کنيد.

 

 

تغيير اندازه ي يک آرايه :

هر وقت که شما يک عنصر را به آرايه اضافه مي کنيد، مقداري حافظه از سرور کلدفيوژن براي آن عنصر تخصيص مي دهيد. اگر مقدار حافظه ي کافي در محل جاري آرايه موجود نباشد، کلدفيوژن مجبور است که تمام آرايه را يک جا به محل حافظه ي ديگري انتقال دهد. اگر تعداد زيادي عنصر در آرايه موجود باشد، اين عمليات از CPU و حافظه بيهوده استفاده مي کند.

 

به خاطر بهنيه سازي، اگر تعداد عناصر يک آرايه را از اول مي دانيد، مي توانيد قبل از شروع به افزودن عناصر به آرايه بوسيله ي تابع ArrayResize حافظه مورد نياز را از قبل اختصاص دهيد. مانند مثال زير :

<cfset ArrayResize(myArray, 500)>

 

براي بدست آوردن حداکثر بهينه سازي، از تابع ArrayResize بلافاصله بعد از استفاده از ArrayNew استفاده کنيد.

 

 

تبديل بين آرايه ها و ليست ها

 

براي تبديل يک آرايه ي موجود به يک ليست جديد، از تابع ArrayToList به صورت زير استفاده مي کنيم :

<cfset NewList = ArrayToList(myArray)>

 

براي تبديل يک ليست موجود به يک آرايه ي جديد، از تابع ListToArray به صورت زير استفاده مي کنيم :

<cfset NewArray = ListToArray(myList)>

 

 

 

بازگشت به فهرست

بازگشت به صفحه نخست


                آخرین مطالب وب سایت


راهنمای استفاده و آموزش MATLAB

الگوریتم محاسبه کوتاهترین مسیر بین تمام رئوس ( Floyd ) به زبان C

آموزش گام به گام پاسكال

برنامه نویسی با زبان اسمبلی

توابع و قطعه كدهاي مفيد برنامه نويسي

برنامه ماشين حساب مهندسي با زبان دلفي 7

همه چيز در مورد اينترنت

منابع ، سرفصلها و اطلاعات كنكور كارداني به كارشناسي دولتي 1388 نرم افزار كامپيوتر

برنامه بازي مارپله با زبان ويژوال بيسيك

برنامه استك چند گانه با استفاده از آرايه به زبان C

برنامه مساله پر پيچ و خم Mazing به زبان C


               ارسال سوالات ، نظرات و پيشنهادات


نام :
ایمیل :
وب سایت :
موضوع :
متن پیام :
كد امنيتي :

                                     مشاهده سایر پیامها



* براي مشاهده ساير نظرات و ديدن پاسخ سوالات روي " مشاهده ساير پيامها " كليك كنيد
* در صورتی که از پاسخ سوالات مطرح شده سایر بازدیدکنندگان مطلع هستید لطفا از طریق همین فرم پاسخ دهید
* چنانکه نظر شما خصوصی می باشد به ایمیل afshinrashidi@yahoo.com ارسال فرمائید .

منوي اصلي

= صفحه اصلی
= تالار گفتمان
= عضویت در وب سایت
= ورود به حساب شخصی
= آپلود عکس در وب سایت
= چت
= Visual Basic
= VB.NET
= C ++ / VC++ / C
= C #
= Pascal
= Delphi 7
= JAVA
= ASP
= ASP.NET
= PHP
= Gold Fusion
= XML
= HTML
= CSS
= Java Script
= Action Script
= SQL Server
= ADO / ADO.NET
= Security
= Registery
= UML
= Internet
= Windows XP Install
= Access
= Photoshop CS
= Flash
= Microsoft Power Point
= Microsoft Excel
= MATLAB
= ذخیره و بازیابی اطلاعات
= سیستم عامل
= ساختمان داده ها
= مهندسی نرم افزار
= معماری کامپیوتر
= هوش مصنوعی
= شیوه ارائه مطالب
= کتاب آموزش MATLAB
= الگوریتم Floyd
= آموزش گام به گام پاسكال
= برنامه نویسی اسمبلی
= توابع مفيد برنامه نويسي
= برنامه ماشين حساب دلفي
= همه چيز در مورد اينترنت
= كنكور كارداني به كارشناسي 88
= بازي مارپله با ويژوال بيسيك
= استكهاي چندگانه با زبان C
= مساله پر پيچ و خم Mazing
= تبديل Infix به Postfix
= شکستن پسورد administrator
= اجراي فايل صوتي در ويژوال بيسيك
= پارتيشن بندي FDisk
= اسمبل كردن كامپيوتر
= ارسال ايميل به ما


ورود به سيستم


 نام کاربری :
 رمز عبور :


عضویت در وب سایت


نظرسنجي

عالی
خوب
متوسط
ضعیف
بسیار ضعیف

نتايج نظرسنجي

عالی : 73 رای - 68 درصد

خوب : 14 رای - 13 درصد

متوسط : 5 رای - 5 درصد

ضعیف : 2 رای - 2 درصد

خیلی ضعیف : 14 رای - 13 درصد

مجموع آرا : 108 رای


نويسنده


نام : افشین
نام خانوادگی : رشیدی
شهرستان : مهاباد
تاریخ تاسیس : 05/05/1387
ایمیل : afshinrashidi@yahoo.com




آمار وب سايت


[11/22/2009]
بازديدهاي شما :
IP شما : 38.107.191.103
ساعت ورود : 3:03:25 PM
تعداد کل بازدیدها : 86491 بار
تعداد اعضا : 866 نفر
آمار وبگذر :

وضوح تصوير :


افشين رشيدي
Copyright © 2006 Afshin Rashidi - MAHABAD,IRAN , All rights reserved.
E~mail : afshinrashidi@yahoo.com