طراحی صفحات وب با استفاده از HTML

طراحی صفحات وب با استفاده از HTML

HTML مخفف "HyperText Markup Language" است. HTML زبانی است که از آن برای نوشتن صفحات وب ایستا (استاتیک) استفاده می شود. این زبان برای مشخص کردن عناصر مختلف صفحه از یک سری تگ (برچسب) استفاده می شود. برای مثال برای اینکه یک تصویر را وارد صفحه کنیم از برچسب <img> استفاده می کنیم و برای مشخص کردن یک پاراگراف متن مورد نظر خود را بین تگ   < p> و< p/> قرار می دهیم. بدین وسیله مرورگر اینترنت می تواند عناصر مختلف صفحه را شناسایی کند و آنها را نمایش دهد. مرورگرهای اینترنت کدهای HTML را دریافت می کنند و پس از تفسیر آنها را به صورت یک صفحه وب به نمایش در می آورند.

نوشتن صفحات HTML لزوماً به برنامه خاصی احتیاج ندارد. حتی با استفاده از NotePad در ویندوز هم می توانید صفحات مورد نظر خود را طراحی کنید. صرف نظر از برنامه ای که از آن برای طراحی صفحات خود کمک می گیرید آشنایی شما با HTML می تواند تا حد بسیار زیادی در کیفیت صفحات تأثیر بگذارد.

آنچه که قبل از یادگیری HTML لازم است بدانید:

برای شروع کار با HTML شما به چیزهایی نیاز دارید که در لیست زیر آمده است:

  1. شما به یک ویرایشگر متن نیاز دارید. در ویندوز شما می توانید از برنامه Notepad استفاده کنید. از هر نرم افزار ویرایش متن دیگری استفاده کنید اما این نکته را در نظر داشته باشید که نرم افزار WordPad که در ویندوز وجود دارد و نرم افزارهایی مانند Microsoft Office Word و امثال آن برای نوشتن کدهای HTML مناسب نیستند چون در هنگام ذخیره کردن متن این نرم افزارها کدهایی را به آن اضافه می کنند.
    نرم افزار Notepad را می توانید از طریق منوی استارت در قسمت Accessories پیدا کنید یا از طریق فرمان Run با تایپ notepad در کادر Open و فشار دادن دکمه Enter.
  2. شما به یک مرورگر وب به انتخاب خود نیاز دارید. می توانید از Microsoft Internet Explorer استفاده کنید که با ویندوز نصب می شود یا از Opera, Mozilla Firefox و نرم افزارهای مشابه که اغلب به صورت رایگان برای دانلود در اینترنت وجود دارند.
    بهتر است صفحاتی را که می نویسید با چند مرورگر آزمایش کنید. زیرا در HTML قسمتهایی وجود دارد که مختص به یک مرورگر خاص است و با سایر مرورگرها کار نمی کند.
  3. شما به جایی برای ذخیره کردن متن خود دارید که می تواند جایی روی هارد دیسک شما، یک فلاپی دیسک یا یک سرور باشد. البته شما برای استفاده از HTML نیاز ندارید حتماً به اینترنت متصل باشید، شما می توانید با استفاده از یک مرورگر وب در کامپیوتر خود از HTML استفاده کنید.
    برای ذخیره کردن فایلی که با Notepad نوشته اید کافی است از منوی File گزینه Save As را انتخاب کرده و مسیری را برای ذخیره فایل انتخاب کنید و در کادر File Name در پایین پنجره Save As نام فایل را با پسوند html بنویسید. در آخر هم دکمه Save را کلیک کنید.

مثال طراحی صفحات وب

طراحی صفحات وب 

<html> <head> <title> this is my title title> head> <body dir ="ltr" bgcolor = "green" text ="blue"> <pre> به نام خداوند جان افرین body> <p> this is a book p> <p dir ="rtl"> این یک کتاب است <p> this &nbsp; is <br/> this is my test <pre> this is my book student software in uneversity iran <pre> <p> <font color ="blak"> this is my pencel font> p> <font color="#navy"> this is a
font>
i know 2 &lt; 3 . my teacher
said ali :&quat;  do you have any intel &reg; cpu
&quot; microsoft &reg; windows " .
i answered .get !
i have bovght them 150 &pound;

body>
html>


تجزیه و مدلسازی سیستم های نرم افزاری

جلسه اول

system= سیستم مجموعه ای از نیروی انسانی ماهر و نرم افزارهای مکانیکی و الکترونیکی و الکترونیکی که در قبال دریافت داده ها هدف خاصی را دنبال می کند 

برای طراحی و مدلسازی یک سیستم نرم افزاری 5 مرحله را باید طی کنیم

1- تعیین نیازهای کاربران و مشخصات سیستم

2- طراحی نرم افزار و مشخصات ان

3- پیاده سازی

4- ارزیابی

5- تعمیر و نگه داری

شرح

1- تعیین نیازهای کاربران و مشخصات سیستم 

از انجایی که یک سیستم نرم افزار جهت براورده ساختن نیاز های کاربران طراحی می شود باید به گونه ای باشد که مجموعه نیازها را براورده سازد

موفقیت سیستم به پارامتر های زیر وابسته است

1- تطابق سیستم پیاده شده با نیازهای تعیین شده

2- تطابق نیازهای استفاده کنندگان با نیاز های تعیین شده

3- همراه ای پارامتر ها نکات دیگری از جمله امکان سنجی مالی - مکانی - تواناییهای علمی رعایت شود 

2- طراحی نرم افزار و مشخصات ان

در این قسمت پس از اگاهی از نیازهای کاربران سیستم را طراحی می کنیم بهتر است سیستم به کمک چندین mudole طراحی شود ضمن انکه ارتباط بین اینmudole نیز مشخص شود . این بخش از انتخاب نوع زبان برنامه نویسی دخالت دارد

3- پیاده سازی

به گونه ای باید سیستم پیاده سازی شود که متناسب با زبان برنامه نویسی بخش 2 باشد

4- ارزیابی

در این مرحله پس از پیاده سازی سیستم پیچیده باید به کمک داده های فرضی ارزیابی شود

دو نوع ارزیابی در این بخش وجود دارد

1 - ارزیابیmudole

2- ارزیابی نهایی و کلی سیستم

5- تعمیر و نگه داری

مرحله تعمیر و نگهداری سیستم پس از تحویل بسیار مهم  است یعنی باید مجریان سیستم به طور مستند مسیرهای تعمیر و نگهداری را برای کاربران توضیح دهند


حال پس از طی مراحل 5 گانه طراحی سیستم باید این نکته را نیز در نظر داشت که وسایل و ابزارهای موجود با سیستم مدلسازی شده سنخیت داشته باشند تا بتواند حداکثر بهره را از این سیستم کاربران ببرند.در روش طراحی و مدلسازی یک سیستم باید از روش top-down کمک بگیریم یعنی توانایی نمایش سلسله مراتب طراحی از بالا به پایین. در روش  top-down وقتی در بالا هستیم جزئیات را نمی بینیم گاهی لازم است اصل پنهان سازی یا infomation hiding  در طراحی و مدلسازی رعایت شود یعنی فقط بخشی از اطلاعات در اختیار کابران قرار بگیرد.

نکته = عدم اگاهی کاربران از ساختار ساختمان داده سیستم است data abstraction یک سیستم به mudole هایی تقسیم می شود که هر یک اطاعاتی را همانند یک سازه اطاعاتی در خود پنهان می کند

متدولوزی پنهان سازی اطلاعات را می توان در زبانهای برنامه نویسی دارای خصوصیات تجرید به کار برد که انها را زبانهای برنامه سازی شبیه سازی می نامیم مثل = برنامه جاوا - دلفی و ...

ساختار و معماری کامپیوتر و نحوه ارتباط انها با یک زبان برنامه نویسی خاص نیز می تواند برای ما ایجاد محدودیت کنند

مثال = add a1 a2 a3

در این دستور بار اولa1 را دریافت می کند

بار دوم a2 را دریافت می کند

بار سوم نوع دستور العمل تفسیر میشود

و بار چهارم بخش process  فعال می شود و در نتیجه در  a3 ذخیره می گردد

و به حافظه ram  منتقل میشود

لذا میتوانیم به کمک یک loop یا حلقه و یک دستور پاک کردن سرعت اجرا را افزایش دهیم

;loop clear cell

i=i+1


دانلود کتاب الکترونیک قران

دانلود برای Xp

حجم : ۲.۹۹mb

دانلود

دانلود برای vistaو windows 7

دانلود


زنگ تفریح

سلام به دوستای خودم

669966666669999996669999996669966669966669999666669966669966
669966666699999999699999999669966669966699669966669966669966
669966666669999999999999996669966669966996666996669966669966
669966666666699999999999966666699996666996666996669966669966
669966666666666999999996666666669966666996666996669966669966
669966666666666669999666666666669966666699669966669966669966
669966666666666666996666666666669966666669999666666999999666
666666666666666666666666666666666666666666666666666666666666
669996666669996996666996999966669999996669999666669999996666
669969666696996996666996996699669966666699669966669966699666
669966966966996996666996996699669966666996666996669966699666
669966699666996669999666996699669999666999999996669999996666
669966666666996666996666996699669966669966666699669969966666
669966666666996666996666996699669966666666666669969966996666
6699666666669966669966669999666699999966666 66666669966699666
666666666666666666666666666666666666666666666666666666666666
669999999699999966996699999999669996666699699996666669999996
669966666699666996996699666666669969666699699669966699666699
669966666699666996996699666666669966966699699666699669966666
669999666699999966996699999966669966696699699666699666999966
669966666699699666996699666666669966669699699666699666666996
669966666699669966996699666666669966666999699669966699666699
669966666699666996996699999999669966666699699996666669999996


 کنترل f  رو بزنید

حالا پایین صفحه وب رو نگاه کنید ...

آره همونجا...

 عدد ۹ را تایپ کنید

حالا اگر گزینه را

 Highlight all

انتخابش کنید

لینوکس چیست؟

آشنایی با سیستم‌عامل لینوکس
شما هم کامپیوتر را با «منوی استارت ویندوز»، «درایو C»، «آفیس مایکروسافت» و ... می‌شناسید؟ شما هم اینگونه فکر می‌کنید که وقتی کامپیوتر را روشن می‌کنید، باید منتظر بمانید تا «ویندوز» اجرا شود؟ اما صبر کنید! سیستم‌عامل‌های دیگری هم وجود دارند که می‌توانند جایگزین مناسبی برای ویندوز باشند. یکی از این سیستم‌عامل‌ها «لینوکس» نام دارد. در این مقاله با این سیستم‌عامل آشنا می‌شنویم.

سیستم‌عامل چیست؟

چیزی که شما از یک کامپیوتر می‌بینید در واقع همان سخت‌افزار سیستم است. نرم‌افزارها قابل دیدن و لمس کردن نیستند. نرم‌افزار‌ها همان برنامه‌هایی هستند که شما کار‌های کامپیوتری‌یتان را به کمکشان انجام می‌دهید. یک نرم‌افزار به طور مستقیم نمی‌تواند با سخت‌افزار ارتباط داشته باشد. برای مثال وقتی نامه‌ای را تایپ می‌کنید، زدن دکمه‌ها، باعث نقش بستن حروف بر روی صفحه‌نمایش «به‌طور مستقیم» نمی‌شود. در واقع ارتباط بین یک نرم‌افزار و سخت‌افزارها را «سیستم‌عامل» برقرار می‌کند. یک سیستم‌عامل همراه خودش تعدادی نرم‌افزار دارد؛ به همراه این قابلیت که شما نیز می‌توانید نرم‌افزارهای مورد نیازتان را بر رویش نصب کنید. سیستم‌عامل‌های مختلفی با قابلیت‌ها و ویژگی‌های متفاوتی وجود دارند. برای مثال از معروف‌ترین سیستم‌های عامل می‌توان به «ویندوز» (انواع ویندوز مانند ۹۸، ۲۰۰۰، XP، Vista) – لینوکس (انواع لینوکس مانند اوبونتو، فدورا کور، سوزه و ...) - مکینتاش (محصول شرکت اپل) – یونیکس – مینیکس – نت‌ویر – سولاریس – سیمبیان (برای گوشی‌های تلفن همراه) و ... اشاره کرد.

سیستم‌عامل لینوکس چه ویژگی‌هایی دارد؟

لینوکس ویژگی‌ها و برتری‌های دیگری نسبت به سایر سیستم‌عامل‌ها به‌خصوص ویندوز مایکروسافت دارد که به چند مورد از آن اشاره می‌کنیم:
۱. لینوکس منبع‌باز است. در ادامه‌ مقاله درباره‌ این موضوع بحث می‌شود.
۲. لینوکس به‌طور مداوم به‌روز می‌شود. اگر یک نرم‌افزار به‌طور مداوم و سریع به‌روز شود، می‌توان دو معنی را ازین به‌روزرسانی‌ها برداشت کرد: الف) نرم‌افزار مدام بهتر می‌شود. ب) نرم‌افزار اشکالات بسیار زیادی دارد که مدام به‌روز می‌شود. مورد الف کاملا درباره‌ لینوکس صادق است. مورد دوم درباره‌ لینوکس «اکنون» صادق نیست. لینوکس مدتی‌است که به حد قابل‌قبولی رسیده ‌است که می‌تواند به ‌راحتی با سایر سیستم‌عامل‌ها رقابت کند و حتی به جرات می‌تواند در این رقابت برنده باشد. به‌روز رسانی مدوام این سیستم‌عامل و نرم‌افزارهایش باعث شده بهترین و جدیدترین امکانات همواره در دستان شما باشد. برای مثال یک کاربر تازه‌کار با دیدن زیبایی‌های گرافیکی یکی از قسمت‌های جدید لینوکس (KDE 4) دیگر ادعا نمی‌کند «ویندوز ویستا» جذابیت‌های گرافیکی بالایی دارد!

۳. لینوکس از امنیت فوق‌العاده بالایی برخوردار است. برای مثال در کامپیوترهای سرور که خدمات اینترنتی ارائه می‌دهند، امنیت مهم‌ترین مسئله است. بیشتر از ۸۰ درصد سرورهای دنیا از لینوکس استفاده می‌کنند که یکی از دلایل این استفاده‌ی زیاد، امنیت بالای لینوکس است.

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

۵. یک نسخه‌ پایدار لینوکس هنگ نمی‌کند. بسیارند سرورهایی که ۲۴ ساعته روشن هستند و در حال خدمات دادن به کاربران و نزدیک به ۵ – ۶ سال است که حتی یک‌بار هم هنگ نکرده‌اند! و در این چند سال سیستم مدوام در حال کار است.

۶. ۹۰ درصد نرم‌افزارهای لینوکس از مشابه ویندوزی‌یشان قوی‌تر هستند. این موضوع را هنگام کار با لینوکس خودتان متوجه می‌شوید.
۷. لینوکس‌ها عموما رایگان هستند. اکثر نسخه‌های لینوکس رایگانند و شما هیچ هزینه‌ای را برای تهیه‌ این سیستم‌عامل و نرم‌افزارهایش نمی‌پردازید.
۸. شما برای تهیه‌ یک لینوکس می‌توانید به‌طور کاملا قانونی آن‌را کپی کنید. و در حقیقت قانون ازین کار حمایت می‌کنید. توجه کنید به قانون کپی‌رایتی که شامل سایر نرم‌افزارها و سیستم‌عامل‌ها می‌شود و شما بعد از تکثیر آنها، تحت پیگرد قانون خواهید بود.

لینوکس چگونه به‌وجود آمد؟

لینوکس داستان جالبی در زاده شدن دارد. ریچارد استالمن در سال ۱۹۸۴ جنبش نرم افزاری «گنو» (بخوانید geno) را پایه ریخت. جنبش گنو که می‌توانید مفاد کاملش را در gnu.org مطالعه کنید، خواهان تولید سیستم‌عاملی آزاد بود. این جنبش تقریبا حواشی را کامل کرد؛ یعنی نرم‌افزارهای کاربردی و ابزارهای سیستم‌عامل، توسط استالمن و گروهش کامل شده بود. اما در اصل مطلب یعنی هسته سیستم‌عامل یا «کرنل» با مشکلات زیادی مواجه بودند. هسته آنها ناقص بود و رسما کاربردی نداشت.

در همین احوالات «لینوس ترووالدز» دانشجوی فنلاندی، با الهام‌گرفتن از یک سیستم‌عامل دیگر (مینیکس)، به خلق سیستم‌عامل خود پرداخت. او در سال ۱۹۹۱ موفق به اتمام پرژه‌اش شد که به قول خودش فقط برای سرگرمی(!) نوشته شده بود و آن را منتشر کرد. نام لینوکس از ادغام لینوس (اسم کوچک خودش) با مینیکس به‌وجود آمده است و نشانه پنگوئن تاکس (tux) توسط او لوگوی آن شد تا نماد خوش شانسی باشد. پروژه گنو (که به سد بزرگ عدم وجود هسته مناسب برخورد کرده بود) با توجه به رایگان و منبع‌باز بودن لینوکس، در ادامه‌ راهش، هسته‌ لینوکس را برگزید تا سیستم‌عامل گنو – لینوکس به وجود بیاید. سیستم عامل‌هایی که ما اکنون از آنها استفاده می‌کنیم همگی در واقع گنو – لینوکس هستند که برای سهولت لینوکس خوانده می‌شوند. البته جنبش گنو بعد از انتشار گنو – لینوکس بیکار نایستاد و به راه «خلق هسته‌ای مستقل از لینوکس» ادامه داد. این تلاش‌ها در سال ۲۰۰۱ به ثمر نشست و سیستم‌عامل کامل گنو با نام هورد (hurd) با هسته و ابزارهایی از پروژه گنو منتشر شد.

ادامه مطالب

ادامه نوشته

هفته وحدت بر تمامی مسلمین جهان مبارک باد

جزوه کامل درس برنامه سازی شبکه

جزوه کامل درس برنامه سازی شبکه

نوع فایل: PDF

شماربرگ ها: ۳۸ برگ

اندازه فایل: ۱۴.۲ مگابایت

دریافت جزوه

آموزش نصب لینوکس

آموزش نصب لینوکس

» نصب لینوکس
نصب لینوکس در دو حالت متنی و گرافیکی قابل انجام می باشد.برای نصب روش متنی را انتخاب می کنیم.بدین منظور در جلوی عبارت boot: عبارت text را نوشته و سپس enter می زنیم.در پنجره CD Found امکان تست کردن CD های نصب لینوکس وجود دارد.عمل چک کردن CD های نصب لینوکس زمان زیادی لازم دارد و می توان با انتخاب skip از این مرحله صرف نظر کرد. در ادامه به ترتیب پنجره خوش آمد گویی،پنجره انتخاب زبان مورد استفاده در حین نصب،پنجره انتخاب نوع صفحه کلید و پنجره انتخاب نوع ماوس را مشاهده خواهید کرد.در پنجره Installation Type نوع Custom را انتخاب می کنیم.پنجره بعدی Disk Partition می باشد.در این پنجره می توان با استفاده از Auto Partition به صورت اتوماتیک کار پارتیشن بندی را انجام داد.با انتخاب Disk Druid وارد پنجره Partitioning می شویم که امکان انجام پارتیشن بندی به صورت دلخواه را فراهم می کند.اطلاعات مورد نیاز در این پنجره عبارتند از:
۱- در بخش device نام پارتیشن آورده شده است بدین صورت که در سطح اول بسته به تعداد هارددیسکهایی که داریم عباراتی به صورت /dev/had ، /dev/hdb و … وجود دارد.برای هارددیسکهای اسکازی عبارات فوق به صورت /dev/sda و … خواهد بود.در زیر این عبارات بر اساس تعداد پارتیشن های موجود در هارددیسکها، عباراتی به صورت /dev/hda1 ، /dev/hda2 و … خواهیم داشت.
۲- Start , End : شماره سیلندر ابتدا و انتهای پارتیشن را مشخص می کنند.
۳- Size : اندازه پارتیشن
۴- Type : نوع پارتیشن را مشخص می کند.نوع پارتیشن های لینوکس ext3 می باشد که در هنگام ایجاد پارتیشن جدید به صورت پیش فرض در حالت انتخاب قرار دارد. در redhat8 از نوع ext2 استفاده می شده است.نوع swap مخصوص پارتیشن swap می باشد.این پارتیشن یک فضای کمکی برای RAM کامپیوتر می باشد.نوع vfat نیز پارتیشن fat ویندوز را مشخص می کند.
۵- Mount Point : مقدار این فیلد مشخص کننده مسیری است که به پارتیشن نسبت داده شده است.ساختار شاخه ها ومسیرها در لینوکس به این صورت است که بالاترین مسیر با / مشخص می شود.در هنگام ایجاد پارتیشنها می توان تنها یک پارتیشن ایجاد کرد و Mount point را برابر / قرار داد.در اینصورت تمام فایلها و شاخه ها بر روی همین پارتیشن ایجاد خواهد شد.در صورتیکه بخواهیم بدلیل مدیریت بهتر می توانیم برای مسیرهای مختلف(مثل مسیر /var/spool/mail که حاوی ایمیلها می باشد، مسیر /var/named که مخصوص dns است و…)پارتیشن های جداگانه ای ایجاد کنیم و در قسمت Mount point این پارتیشن ها مسیر مورد نظر را وارد کنیم.(مثلا در مسیر /home اطلاعات کاربران نگهداری می شود و ممکن است بخواهیم بدلیل سهولت در Backup گیری این مسیر را بر روی یک هارددیسک جداگانه ایجاد کنیم.
ادامه مطالب

ادامه نوشته

چگونه برنامه نویس شویم(قسمت دوم)

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

PHP

پی اچ پی را بدون شک باید پادشاه زبان های سمت سرور نامید که امروز در اینترنت مورد استفاده قرار می گیرد.- در ۷۵ درصد سرور ها از پی اچ پی استفاده می شود.- زبانی که پروژه های بزرگی مثل وردپرس، ویکی پدیا و فیس بوک از آن استفاده می کنند.


php.png

کد های یک زبان سمت سرور قبل از آن که به مرورگر کاربر برسند اجرا می شوند. پی اچ پی با My Sql ترکیب می شود تا اطلاعات را در یک دیتا بیس وارد کند و یا از آن بخواند.

PHP از ابتدا با هدف استاندارد کردن وب سرور ها منتشر شد اگر تا به حال اصلاحاتی مانند MAMP/WAMP/LAMP را شنیده باشید P از پی اچ پی آمده است.

MYSQL

یکی دیگر از مولفه های یک وب سرور استاندارد MySql است. مای اسکیوال یک دیتا بیس-پایگاه داده- اپن سورس است. My SQL یک زبان برنامه نویسی نیست اما یک زبان است برای برقراری ارتباط با دیتا بیس ها بنابراین اگر در دنیای مدرن وب می خواهید سری در سرها داشته باشید باید قواعد زبانی آن را بیاموزید. گرچه مای اسکیوال یک زبان دستور بیس  – Command line- است اما رابط های گرافیکی بسیاری مانند PHPMyAdmin وجود دارد که می توانید استفاده کنید.

باز هم باید اشاره کرد که در ورد پرس از MySQL استفاده شده است. همه پست ها و غیره در یک دیتا بیس MYSQL ذخیره می شوند.


mysql.png

جاواسکریپت

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

در اینجا نمی شود به جی کوئری اشاره نکرد. جی کوئری در واقع یک فریم ورک برای جاوا اسکریپت است که به شما اجازه می دهد کمتر کد نویسی کنید، امکانات بیشتری به شما می دهد و باید به این نکته هم اشاره کرد که به سرعت در حال تبدیل شدن به یک استاندار در وب می شود.


jquery.png

پرل

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

برای اینکه کمی از قدرت پرل را ببینید به تصویر زیر توجه کنید. این کل کدی است که به زبان پرل برای هک یک دی وی دی رمز گذاری شده استفاده شده است:


perl.png

رابی

رابی یک زبان قدرتمند شی گرا است. فریم ورک آن برای وب Ruby On Rails  در سرور اجرا می شود اما خروجی را به فرم HTML به مرورگر کاربر می فرستد.- شبیه به پی اچ پی اما بسیار متفاوت- از ویژگی این زبان به کدنویسی کمتر و توسعه آسانتر کدها  می توان اشاره کرد .

از این زبان در وب سایت هایی مثل توییتر،Groupon،Shopify  استفاده می شود.


ruby.png

اما متاسفانه بسیاری از وب سرور ها از این زبان به صورت عادی پشتیبانی نمی کنند در این موارد باید خودتان این زبان را در فضایتان نصب کنید.

پایتون

پایتون هم یکی از زبان های سطح بالای شی گرا است. که محافل غیر رسمی از آن با عنوان “یک زبان برای سرگرمی، راحت در استفاده و ابزاری خوب برای یادگیری” یاد می شود.

این در حالی است که در دنیای واقعی کمتر ابزار وبی را می بینیم که از پایتون استفاده کند.


python.png

ASP.net

ابزاری برای توسعه وب که توسط مایکروسافت ارائه شده است. که محبویت بالایی دارد. به دلیل عضویت در خانواده .Net برای اجرای آن باید از سرور ویندوزی استفاده کنید.


aspnet.png



چگونه برنامه نویس شویم(قسمت اول)

programming

در یک اتاق که تنها منبع نورش، از یک مانیتور به است. فردی را پشت کامپیوتر می بینید که مرتب دکمه های کیبورد را فشار می دهد فردی که برنامه ای می نویسد که کل سیستم های امنیتی یک سازمان را مختل خواهد کرد .

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

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

در دنیا، امروزه برای برنامه نویسی دو شاخه  تعریف شده است. زبان هایی “برای نوشتن نرم افزار” و زبان هایی ” برای نوشتن محیط های بر پایه وب”

از زبان های مورد استفاده جهت نوشتن برنامه نویسی نرم افزار می توان به موارد زیر اشاره کرد:

جاوا


java

جاوا یک زبان شی گرا به تمام معنا است. همراه با ویژگی هایی که آن را به زبانی قدرتمند و مورد علاقه برنامه نویسان تبدیل می کند. نرم افزارهای نوشته شده با جاوا می توانند به صورت مجازی بر روی هر سیستم عاملی اجرا شوند. البته نباید جاوا را با جاوا اسکریپت اشتباه گرفت چرا که جاوا اسکریپت زبانی کاملا متفاوت و برای برنامه نویسی وب است.

++C/C

c-plus-plus.png

سی و سی پلاس پلاس هر کدام زبانی جداگانه هستند گرچه باید گفت که ++C ارتقا یاقته زبان سی است. سی پلاس پلاس زبانی شی گراست. از این زبان در بسیاری از انجین های حرفه ای بازی و همچنین نوشتن نرم افزارهای معروف ویندوزی استفاده شده است.

سی شارپ

c-sharp.png

#C که توسط مایکروسافت بر اساس جاوا اما با تفاوت های بسیاری ارائه شده است این زبان قوی و شی گر در مقایسه سرعت با ++C از آن عقب تر است. نرم افزارهای نوشته شده توسط #C برای اجرا شدن به Net framework. نیاز دارند و فقط در ویندوز اجرا می شوند.

ویژوال بیسیک

باز هم محصولی از مایکروسافت که تمرکز بیشتری بر نرم افزارهای با رابط گرافیکی ساده برای کاربران دارد. بیشتر بر پایه رخداد هاست مثلا اگر کاربر روی دکمه کلیک کرد چه اتفاقی بیفتد.

Objective-c/Cocoa


objective-c.png

این مورد زبان اپل مک که بیشتر نرم افزار های OSX و iOS توسط آن نوشته می شود این زبان بر پایه C است که شی گرایی به آن اضافه شده شبیه به  سی پلاس پلاس اما برای اجرای رابط های گرافیکی نیاز به اجرا در فریم ورک Cocoa دارد.

گرچه سینتکس و مفاهیم این زبان بسیار پیچیده است اما اپل محیط توسعه ای با نام Xcode به صورت رایگان فراهم کرده است همچنین ویدئوهای آموزشی متعدد که به برنامه نویسان در این زمینه کمک خواهد کرد.

مساله

مساله:

تابع بازگشتی ( F( n با تعریف زیر مفروض است:

 

مساله Simple Addition

 

تابع ( S( p, q به این صورت تعریف شده است:

 

مساله Simple Addition

 

مقدار ( S( p, q را به ازای مقادیر ورودی p و q محاسبه کنید.

 

ورودی:

ورودی مساله شامل چندین خط است. در هر خط اعداد نامنفی p و q با شرط p ≤ q قرار دارند، که در متغیرهای 32 بیتی قابل ذخیره‌سازی می‌باشند.

انتهای ورودی با دو عدد منفی مشخص می‌شود که نباید به عنوان ورودی مساله پردازش شوند.

 

1 10

10 20

30 40

-1 -1

خروجی:

به ازای هر خط ورودی، یک خط خروجی شامل مقدار ( S( p, q خواهد بود.

 

46

48

52

ادامه مطالب

ادامه نوشته

تاثير وضعيت جغرافيايي و آب و هوا برشبكه هاي وايرلس ( حتی در نوت بوک ها )

شبكه هاي وايرلس به شدت تحت تاثير متغير هاي خارجي و داخلي قرار مي گيرند كه از آن جمله مي توان به پديده هاي آب و هوايي مانند :باد، باران ، برف ، مه ، دما و فشار كه همگي ناشي از موقعيت جغرافيايي منطقه مورد نظر مي باشد اشاره كرد .
لازم به ذكر است كه امواج حاصل در شبكه هاي وايرلس از نوع الكترومغناطيس (EM) مي باشند .
شكست امواج الكترومغناطيسي در اتمسفرامواج Wireless در لايه تروپوسفر كه از سطح زمين شروع شده و بسته به موقعيت زمين و شرايط جوي به ارتفاع 10 تا 17 كيلومتر هم مي رسد، انتشار مي يابند .
* لايه تروپوسفر شامل مجموعه اي از گازها و همچنين بخار آب مي باشد
 
ادامه مطالب

ادامه نوشته

مهر نوشت (بارون  رحمت الهی)

دترمینان ماتریس مربعی

دترمینان ماتریس مربعی -

که به صورت | A | یا ( det( A نمایش داده می‌شود - یکی از مفاهیم مشهور جبر خطی است که کاربردهای بسیاری در علوم مختلف دارد. امکان محاسبه سریع دترمینان یک ماتریس با ابعاد بزرگ، بحث مهمی است، که در ادامه سه روش محاسباتی رایج و پیچیدگی زمانی آنها مرور خواهند شد.

طبق تعریف دترمینان، اگر اندازه ابعاد ماتریس مربعی یک باشد (n = 1)، دترمینان همان مقدار تک‌عضو آن است. یعنی:

 

 

اما اگر مرتبه ماتریس بزرگتر از یک باشد (n > 1)، دترمینان را به یکی از روش‌های زیر می‌توان محاسبه کرد.

 


 

 ادامه مطالب


ادامه نوشته

جستجوی دودویی (Binary Search)

جستجوی دودویی (Binary Search) 

برای یافتن عنصری در یک آرایه نامرتب چاره‌ای نداریم جز این که از روش جستجوی خطی استفاده کنیم. در این روش از ابتدای آرایه شروع کرده و تک‌تک عناصر را بررسی می‌کنیم، تا زمانی که به عنصر دلخواه برسیم. بنابراین اگر آرایه مورد نظر n عنصر داشته باشد، مرتبه اجرایی روش جستجوی خطی ( O( n خواهد بود. اما در مورد آرایه مرتب روش دیگری نیز وجود دارد: روش جستجوی دودویی.

در جستجوی دودویی عنصر وسط آرایه را بررسی می‌کنیم. در صورتی که این عنصر همان عنصر مورد نظر باشد، جستجو تمام می‌شود. اگر نه، باید قسمت‌های راست و چپ عنصر وسط را که تقریبا به یک اندازه هستند مورد جستجو قرار دهیم. اما آیا لازم است هر دو سمت جستجو شود؟ چون آرایه مرتب شده است، عناصر کوچکتر از عنصر مرکز همگی در سمت چپ، و عناصر بزرگتر در سمت راست آن قرار دارند (آرایه را مرتب شده صعودی در نظر گرفته‌ام). با توجه به این مساله که عنصر مورد نظر ما کوچکتر از عنصر مرکزی آرایه است یا بزرگتر، تنها یکی از دو زیر آرایه را بررسی می‌کنیم. در نتیجه در هر مرحله بازه مورد جستجو نصف می‌شود.

برای یافتن مرتبه اجرایی الگوریتم به این صورت عمل می‌کنیم: فرض کنید ( T( n حداکثر تعداد مقایسه‌های لازم برای یافتن عنصر مورد نظرمان در میان n داده باشد. در روش جستجوی خطی T( n ) = n بود. در روش جستجوی دودویی ابتدا عنصر وسط را با عنصر مورد نظرمان مقایسه می‌کنیم. اگر عنصر یافت نشود، در مرحله بعد تنها یکی از دو زیر آرایه بررسی می‌شود که نصف کل عناصر را دارد. پس می‌توان نوشت:

 

T( n ) = T ( n / 2 ) + 1

 

با حل این رابطه بازگشتی به عبارت زیر می‌رسیم:

 

T( n ) = [ log2n ] + 1

 

که در آن منظور از [ ] علامت جزء صحیح است. مرتبه اجرایی این الگوریتم ( O( log n است که در مقایسه با ( O( n در جستجوی خطی بسیار کارآمد است. به عنوان نمونه، برای یافتن عنصری در یک آرایه به طول یک میلیون، در بدترین حالت با استفاده از جستجوی خطی یک میلیون مقایسه و در جستجوی دودویی تنها بیست مقایسه نیاز است.

نکته 1: ممکن است این سوال مطرح شود که هزینه مرتب کردن یک آرایه به مراتب بیشتر از هزینه جستجوی خطی است. چه لزومی به انجام این کار است؟ لیست قبول‌شدگان کنکور را در نظر بگیرید. این لیست پس از آماده شدن تنها یک بار بر اساس شماره داوطلبی مرتب شده و در سایت سازمان سنجش قرار می‌گیرد. پس از آن، طی چند روز میلیون‌ها مراجعه و جستجو در لیست برای مشاهده نتیجه صورت می‌گیرد. در این حالت مطمئنا هزینه چند میلیون جستجویی که انجام می‌شود، بسیار مهم‌تر از هزینه یک بار مرتب‌سازی آن است. بیشتر کاربردهای این روش جستجو هم در همین نوع داده‌ها است.

ادامه مطالب
ادامه نوشته

اسلایدهای کتاب دایتل برای ++C

اسلایدهای کتاب دایتل برای ++C  

برای دریافت این اسلایدها که به زبان انگلیسی می باشد بر روی کلمه ی دانلود کلیک کنید.

دانلود

روش مرتب‌سازی درجی (Insertion Sort)

روش مرتب‌سازی درجی (Insertion Sort) یکی از روش‌های مقدماتی مرتب‌سازی مبتنی بر مقایسه عناصر است که در مقایسه با روش‌های دیگر بیشتر مورد توجه قرار دارد.

قفسه کتابی را در نظر بگیرید که قصد دارید کتاب‌ها را بر اساس عنوان و به ترتیب حروف الفبا مرتب کنید. از یک سمت قفسه شروع به مرتب کردن می‌کنید. ابتدا کتاب دوم را با کتاب اول مقایسه کرده و در صورت لزوم جابجا می‌کنید. سپس کتاب سوم را از محل خود برداشته، و در مقایسه با دو کتاب قبلی در محل مناسب قرار می‌دهید. به همین ترتیب کتاب‌های بعدی را نیز نسبت به کتاب‌های مرتب‌شده قبلی در محل مناسب درج می‌کنید، تا به آخر قفسه برسید.

عملکرد این الگوریتم به گونه‌ای است که در پایان هر مرحله قسمتی از داده‌ها به صورت کامل مرتب هستند. در مرحله بعدی نیز داده‌ای از میان داده‌های غیرمرتب به این قسمت مرتب وارد شده و در محل مناسب درج می‌شود. اگر بخواهیم با روش مرتب‌سازی درجی لیست اعداد زیر را به صورت صعودی (کوچک به بزرگ) مرتب ‌کنیم، در پایان هر مرحله ترتیب عناصر به صورت زیر خواهد بود:

 

0)    5 1 2 7 3 6

 

1)    1 5 2 7 3 6

2)    1 2 5 7 3 6

3)    1 2 5 7 3 6

4)    1 2 3 5 7 6

5)    1 2 3 5 6 7 

 

پیاده‌سازی مرتب‌سازی درجی

الگوریتم مرتب‌سازی درجی به زبان برنامه‌نویسی ++C برای مرتب کردن عناصر آرایه‌ای از اعداد صحیح به صورت زیر پیاده‌سازی می‌شود:

 

void insertion_sort( int arr[ ], int n )

{

  int i, j, t;

  for( i = 1 ; i < n ; i++ )

  {

    t = arr[ i ];

    for( j = i  ; j > 0 ; j-- )

    {

      if( t >= arr[ j - 1 ] )

      {

        break;

      }

      arr[ j ] = arr[ j - 1 ];

    }

    arr[ j ] = t;

  }

}

 

حلقه بیرونی مراحل مختلف مرتب‌سازی را پیاده‌سازی کرده، و حلقه درونی در هر مرحله محل مناسب عنصر جدید را می‌یابد. در انتها نیز این عنصر در محل صحیح خود درج می‌شود. برای درک بهتر، مراحل عمل این الگوریتم به ازای لیست مثال فوق مجددا بررسی می‌شود:

 

5 1 2 7 3 6

 

در مرحله اول i = 1 و t = 1 است:

 

j = 1:    5 5 2 7 3 6

       :    1 5 2 7 3 6

 

در مرحله دوم i = 2 و t = 2 است:

 

j = 2:    1 5 5 7 3 6

j = 1:    1 5 5 7 3 6

       :    1 2 5 7 3 6

 

در مرحله سوم i=3 و t = 7 است:

 

j = 3:    1 2 5 7 3 6

       :    1 2 5 7 3 6

 

در مرحله چهارم i = 4 و t = 3 است:

 

j = 4:    1 2 5 7 7 6

j = 3:    1 2 5 5 7 6

j = 2:    1 2 5 5 7 6

       :    1 2 3 5 7 6

 

و در مرحله پنجم i = 5 و t = 6 است:

 

j = 5:    1 2 3 5 7 7

j = 4:    1 2 3 5 7 7

       :    1 2 3 5 6 7

 

در پایان لیست مرتب شده است.

 ادامه مطالب

ادامه نوشته

روش مرتب‌سازی انتخابی (Selection Sort)

روش مرتب‌سازی انتخابی (Selection Sort) یکی از روش‌های اولیه مرتب‌سازی بر اساس مقایسه عناصر است. این الگوریتم طی چند مرحله عناصر لیست را به صورت صعودی یا نزولی مرتب می‌کند. به این ترتیب که در هر مرحله با بررسی عناصر نامرتب، بزرگترین (یا کوچکترین) عنصر را پیدا کرده، و به انتهای لیست منتقل می‌کند.

لیست اعداد زیر را در نظر بگیرید، که باید به صورت صعودی (کوچک به بزرگ) مرتب شود:

 

2 8 4 1 7

 

در مرحله اول، کل لیست از ابتدا تا انتها بررسی شده، و بزرگترین عنصر با عنصر انتهای لیست نامرتب جابجا می‌شود:

 

1)    2 8 4 1 7    ->    2 7 4 1 8

 

در مرحله دوم، پیمایش از ابتدای لیست تا عنصر چهارم صورت گرفته، و بزرگترین عنصر با عنصر انتهای آن جابجا می‌شود:

 

2)    2 7 4 1 8    ->    2 1 4 7 8

 

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

 

3)    2 1 4 7 8    ->    2 1 4 7 8

 

و در مرحله آخر دو عنصر باقیمانده مقایسه می‌شوند:

 

4)    2 1 4 7 8    ->    1 2 4 7 8

 

و به این ترتیب لیست مرتب می‌شود.

ادامه مطالب

 

ادامه نوشته

دانلود نسخه الکترونیک جزوه ساختمان داده های استاد مقسمی

دانلود نسخه الکترونیک جزوه ساختمان داده های استاد مقسمی دانلود قسمت اول و دوم جزوه ساختمان داده های استاد مقسمی به صورت کتاب الکترونیک

 شامل تمام سرفصل لازم برای کنکور کارشناسی ارشد و کارشناسی ناپیوسته
حجم قسمت 1
حجم قسمت 2
534KB
446KB
سرعت دانلود با ADSL 128Kbps 1.30 دقیقه
سایت سازنده اختصاصی پایگاه تخصصی توسعه فناوری اطلاعات

قسمت اول جزوه ساختمان داده ها را دانلود نمایید.

قسمت دوم جزوه ساختمان داده ها را دانلود نمایید.