بسم الله الرحمن الرحیم

فناوری اطلاعات-کامپیوتر-رایانه

فهرست علوم
علوم کامپیوتر
هوش مصنوعي
آنتولوژی
اطلاعات-دیتا-مدیریت اطلاعات-مهندسی اطلاعات-معماری اطلاعات
نظریه اطلاعات در فیزیک
هوش ضعیف رفتارمحور-هوش قوی پایه محور-هوش قوی اشراق‌محور

در ارجاع href به id حتما از علامت # (بخوانید شارپ) استفاده کنید

کامپیوتر
شکل‌های اس وی جی-svg
نمودار درختی در اس وی جی است
نکات اچ تی ام ال-html
نکات سی اس اس-css
رسم کردن با css
مخفی و آشکار کردن با سی اس اس

نکات جاوا اسکریپت-java script
پنجره مودال در جاوا اسکریت
مخفی و آشکار کردن با جاوااسکریپت
نکات پی اچ پی-php
وارد کردن متن در وسط فایل با پی اچ پی-php

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

نکات کاربردی و تجربی در آي‌تي
کدهای مورد نیاز متفرقه
جدول برنامه‌های واسط خط فرمان یونیکس و شل
راهنمای رنگی کردن متن در جی‌ادیت گنوم gedit plugins با افزونه قطعه‌ها-Snippets
قسمت ویرایش (تحریر) الشاملة--التعبيرات القياسية
صوت و تصویر در کامپیوتر

مرجع css




کتاب آشنایی با برنامه نویسی بَش (BASH)


آموزش و مرجع دستور ویرایشگر sed

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


فلسفه-دنیای/محیط/فضای-مجازی/سایبر


مشکل اسلش





رایانه شیمیایی
رایانش کوانتومی
دی‌ان‌ای رایانه
برنامه‌نویسی ژنتیک
الگوریتم ژنتیک
تقاطع (الگوریتم ژنتیک)
سطح منطقی
جالب ترین و جامعترین صفحه کدهای آماده:
https://www.w3schools.com/howto/default.asp


متن استرونگ با استایل دکمه


دانشمندان روش جدیدی برای ارتباطات کوانتومی ایمن با سرعت بالا ابداع کردند
دانشمندان دانشگاه پنسیلوانیا در ایجاد روشی جدید برای انتقال اطلاعات و ارتباطات کوانتومی با استفاده از نوعی از ذرات نور به نام کیودیت (Qudit) به پیشرفت قابل‌توجهی دست یافته‌اند. این کیودیت‌ها نسبت به کیوبیت‌ها (Qubit) مزیت‌هایی دارند و نوید اینترنت کوانتومی امن و قدرتمندی را می‌دهند.
این روش جدید از دو ویژگی نور (حالت فضایی و قطبش آن) برای ایجاد کیودیت‌های چهاربعدی بهره می‌برد. این کیودیت‌ها روی تراشه‌ای خاص ساخته شده‌اند که امکان مهندسی کوانتومی و انتقال داده‌های دقیق را فراهم می‌کند. این روش جدید در مقایسه با روش‌های مرسوم مزیت‌هایی دارد و باعث افزایش سرعت انتقال داده‌ها و مقاومت در برابر خطاها می‌شود.
➖➖➖➖➖
🗳@hoomas




Qudits and qutrits

اصطلاح qudit بیانگر واحد اطلاعات کوانتومی است که می تواند در سیستم های کوانتومی سطح d مناسب تحقق یابد.[9] یک ثبات کیوبیت که می‌توان آن را با N حالت اندازه‌گیری کرد، با qudit سطح N یکسان است. مترادف [10] به ندرت برای qudit quNit است، [11] زیرا d و N اغلب برای نشان دادن بعد یک سیستم کوانتومی استفاده می شوند.

Qudit ها مشابه انواع اعداد صحیح در محاسبات کلاسیک هستند و ممکن است به آرایه های کیوبیت نگاشت شوند (یا توسط آنها مشخص شوند). Qudit هایی که در آنها سیستم سطح d توان 2 نیست را نمی توان به آرایه های کیوبیت نگاشت. برای مثال می توان qudit های 5 سطحی داشت.

در سال 2017، دانشمندان مؤسسه ملی تحقیقات علمی یک جفت qudit با 10 حالت مختلف ساختند که قدرت محاسباتی بیشتری نسبت به 6 کیوبیت می‌داد.[12]

در سال 2022، محققان دانشگاه اینسبروک موفق به توسعه یک پردازنده کوانتومی جهانی qudit با یون های به دام افتاده شدند.[13] در همان سال، محققان مرکز اطلاعات کوانتومی دانشگاه Tsinghua طرح کیوبیت دوگانه را در رایانه‌های کوانتومی یونی به دام افتاده با استفاده از گونه‌های یونی مشابه پیاده‌سازی کردند.[14]

همچنین در سال 2022، محققان دانشگاه کالیفرنیا، برکلی، تکنیکی را برای کنترل پویا برهمکنش‌های کراس کر بین کوتریت‌های فرکانس ثابت، ایجاد کردند و به گیت‌های دو کوتریتی بالا رسیدند.[15] این امر با نمایش کنترل توسعه پذیر qudit های ابررسانا تا d = 4 {\displaystyle d=4} {\displaystyle d=4} در سال 2024 بر اساس برهمکنش های دو فوتون قابل برنامه ریزی دنبال شد.[16]

مشابه کیوبیت، کوتریت واحد اطلاعات کوانتومی است که می تواند در سیستم های کوانتومی 3 سطحی مناسب تحقق یابد. این مشابه واحد اطلاعات کلاسیک تریت کامپیوترهای سه تایی است.[17] علاوه بر مزیت مربوط به فضای محاسباتی بزرگ، سطح کوتریت سوم را می توان برای پیاده سازی کامپایل کارآمد دروازه های چند کیوبیتی مورد سوء استفاده قرار داد.[16][18][19]
ارسال بازخورد



واکسل از ویکی‌پدیا، دانشنامهٔ آزاد پرش به ناوبری پرش به جستجو پشته‌ای از واکسل‌ها، یکی از آن‌ها تیره گشته‌است. واکسل یا وکسل (به انگلیسی: Voxel) کوچکترین جز ساختاری (element) یک تصویر ۳ بعدی را گویند.[۱] از این لحاظ، وکسل مشابه ۳ بعدی یک پیکسل است. یک واکسل یک مقداری را بر روی یک مختصات معین در فضای سه متغیره نشان می‌دهد. همانند پیکسل‌ها در فایل تصویری بیت مپ(Bitmap)، واکسل‌ها خودشان برای مثال موقعیتی از خودشان(مختصات خودشان) را ندارند به طور صریح در امتداد با مقادیر خودشان به صورت رمزی درآورده شده اند. به طور مثال موقعیت یک واکسل براساس موقعیتش در ارتباط با دیگر واکسل‌ها استباط می‌شود.(یعنی موقعیتش در ساختار دیتا که باعث ایجاد یک تک تصویر حجمی می‌شود). پیکسل‌ها و واکسل‌ها در مقابل هم اند، نقطه ها و چندضلعی‌ها اغلب به طور صریح با مختصات رئوسشان نشان داده می‌شوند. نتیجه این تفاوت چندضلعی‌هایی هستند که قادر به ارائه ساختار 3 بعدی کافی با فضای خیلی زیاد خالی یا پر شده بطور همجنس است، زمانی که واکسل‌ها در نمایش خیلی خوب هستند فضاهای نمونه برای آنکه به طور منظم به صورت غیر-همجنس پر شده‌اند. واکسل‌ها به صورت پیوسته در تجسم و آنالیزهای پزشکی و اطلاعات علمی استفاده می‌شوند. برخی نمایشگرهای حجمی از واکسل‌های برای توصیف وضوح تصویر استفاده کرده‌اند. برای مثال یک نمایشگر ممکن است قادر به نمایش 512*512*512 واکسل باشد.





An Asterisk ( * ) indicates any number of occurrences of any character that occurs in the position where the asterisk occurs in the pattern. A plus sign ( + ) indicates one or more of the preceding character. The question mark ( ? ) indicates zero or one of the preceding character.








جهاز (الناسوخ)---دستگاه فاکس-دورنگار-----Fax


تگی جالب:
ریشه ساقه را باز کنید
ساقه ساقه دوم را باز کنید
ساقه دوم ساقه سوم را باز نکنید!




فرمت فایل ویدیویی

[فرمت فایل ویدیویی]
برای این‌که یه فایل ویدیویی تشکیل بشه، ما معمولا به دو چیز نیاز داریم تصویر و صدا. دیتای تصویری مورد نظر ما با استفاده از فرمت‌های Coding ، کد می‌شن و توی فرمت‌های نگه دارنده (Container Format) ذخیره می‌شن. توی این پست در مورد دیتای تصویری بحث می‌کنیم و توی یک پست دیگه در مورد دیتای صوتی.

[Container Format]
از لحاظ نظری می‌شه تعداد بی‌نهایتی از اطلاعات سینک شده، متادیتا (اطلاعاتی که در مورد اطلاعات دیگه به ما اطلاعات می‌دن :−") ، زیرنویس، و فایل تصویری و صوتی با پروفایل استاندارد[nb]پروفایل‌های استاندارد به شرایطی گفته می‌شن که ارایه دهنده سرویس مشخص می‌کنه از چه فرمت‌هایی(در معنای عام:قالب) توی یک فایل استفاده کرد.[/nb] رو توی یک فرمت نگه دارنده ذخیره کرد.

[Codec]
توی دنیای دیجیتال ما دیتا رو کد گذاری (Encode) می‌کنیم، و هر کد گذاری منطقا برای استفاده مجدد نیاز به کدگشایی(Decode) داره، توی دنیای صوتی و تصویری دیتا رو به دلیل کاهش حجم و حفظ نهایت کیفیت ممکن انکود می‌کنن، انکود کار تکنیکال و نیازمند سیستم‌های مخصوصی هست اما دیکود عموما سمت کاربر. دیکود به دو صورت انجام می‌شه نرم افزاری (SW) و سخت افزاری (HW) جدا از تفاوت‌های این دو روش، دیکود برای انجام کارش نیاز به کتابخونه‌هایی از کد داره که به اونا می‌گیم Codec Library، و این همون چیزی‌ست که اگه توی سیستم عاملی مثل ویندوز نصبش نکنید نمی‌تونید فرمت‌های صوتی و یا تصویری‌تون رو اجرا کنید.
[کدک‌های رایج]
H264
نام کامل: H.264/MPEG-4 AVC
توسط گوگل/یوتیوب، ادوبی و اپل پشتیبانی می‌شه، مزیت اصلیش نسبت به کدک های دیگه اینه که انعطاف پذیری بیش‌تری رو برای سیستم‌های مختلف تامین می‌کنه. مثل قابلیت استریم روی اینترنت‌های با سرعت تبادل پایین (سلام دنیا :) )، پخش روی شبکه‌های تلویزیونی و سینمای دیجیتال، با کدینگ تقریبا بی اتلاف (Lossless)[nb]توی پست‌های بعدی توضیح می‌دم مفهوم فشرده سازی lossless و lossy رو.[/nb].
MPEG
این کدک یکی از کدک‌های محبوب هستش که مجموعه ای از استانداردها و متدها رو ارایه می‌ده (عموماً با ورژن مشخص می‌شن مثل: MPEG−2 یا MPEG−4)، بیشترین استفاده از این کدک شامل ورژن ۲ میشه که امروزه بیش‌تر برای انتقال دیتا از طریق هواست (سیستم ماهواره و رسیور و تلویزیون کابلی). هم‌چنین توی استانداردهای پربازده‌تری مثل HD DVD و ‌Blu-Ray استفاده می‌شه. اما ورژن ۴ به خاطر قابلیت فشرده‌سازی فوق‌العاده‌ش و استفاده اون برای تبادل بین شبکه‌های موبایلی محبوب شد. MPEG-4 Part 14 رو احتمالا با اسم آشنای MP4 شنیدین، هم‌چنین فرمت M4A برای فایل های صوتی این کدک به کار برده می‌شه.
H.265 or HEVC
نام کامل: High Efficiency Video Coding
هدف از توسعه این پروژه این بوده که استانداری عرضه بشه که بدون آسیب به کیفیت تصویر نسبت به استانداردهای قبلی تعداد Bit-Rate[nb]در پست‌های بعد [/nb] ها رو به صورت اساسی کاهش بده که در نتیجه منجر به کاهش حجم بشه (به نسبت فرمت MP4 و استاندارد MPEG تقریبا حجم فایل ها به نصف کاهش یافته)، و هم‌چنین مزیت فوق العاده این استاندارد اینه که توی طراحی به این دقت شده که پیچیدگی رو به حداقل برسونن تا با کمترین هزینه‌ی ممکن، رو range وسیعی از شبکه‌ها، سیستم‌ها و اپلیکیشن‌ها بشه اجراش کرد.
پ.ن: بحث‌های تکنیکی فوق‌العاده جذابی با کلید خوردن این پروژه به وجود اومد که امیدوارم یه روزی مخاطبینی پیدا بشن که بتونیم تو سمپادیا بهش بپردازیم. :/
پ.ن۲:‌ اکیداً بهتون توصیه می‌کنم این فرمت رو جدی بگیرید، مخصوصا با اینترنت نامناسبی که تو کشورمون وجود داره کیفیت مناسب و حجم کم چیز هیجان انگیزی موقع دانلوده :) .


  • مفهوم Bit Rate در ویدیو

    [Bit Rate : Video]

    [مفهوم تکنیکال]
    به تعداد بیت‌های ارسال شده در واحد زمان بیت ریت گفته می‌شه، همون‌طور که می‌دونید هر بایت = ۸ بیت هست (b نشون دهنده بیت و B نشون دهنده بایت)، مقدار بیت ریت رو با نماد bit/s (بیت بر ثانیه) و یا عموما به صورت bps که مخفف bit per second هست نشون می‌دن. می‌تونیم با استفاده از واحدهای SI به صورت راحت تر (اصطلاحا Human Readable) مقدار بیت ریت موردنظر رو بیان کنیم. مانند kbps (کیلو)، Mbps (مگا)، Gbps (گیگا) و الخ.
    [چرا Bit Rate مهمه؟]
    همون‌طور که از مفهوم بیت ریت برمی‌آد بیت ریت تاثیر مستقیمی داره توی حجم فایل، به طور دقیق‌تر اگر از حجم صدای فایل صرف نظر کنیم خواهیم داشت:
    کد:
    File Size = Bit Rate × duration
    حجم فایل = بیت ریت × مدت زمان فایل
    برای این‌که دقیق‌تر متوجه تاثیر بیت ریت روی حجم فایل بشید به مقادیر زیر توجه کنید (آمار تقریبی با توجه به ویدیوهای یوتیوب):
    کد:
    LD 240p @ H.264 baseline profile 350 kbps (3 MB/minute)
    LD 360p  @ H.264 main profile 700 kbps (6 MB/minute)
    SD 480p  @ H.264 main profile 1200 kbps (10 MB/minute)
    HD 720p @ H.264 high profile 2500 kbps (20 MB/minute)
    HD 1080p @ H.264 high profile 5000 kbps (35 MB/minute)
    
    مقادیر بالا به ترتیب از چپ راست:
    LD: کیفیت پایین؛ SD: کیفیت استاندارد؛ HD: کیفیت بالا. | کدک H.264 | پروفایل‌های مرتبط به کدک[nb]در حوصله بحث نیست احتمالاً.[/nb] | بیت ریت در واحد kbps | حجم تقریبی فایل در یک دقیقه

    [بیت ریت متغیر و ثابت]
    ممکنه توی کانورت کردن و یا فیلمبرداری حتی (:−؟) به دوتا مفهوم CBR و VBR برخورد کنین، من خیلی وارد مفهوم نمی‌شم چون بحث زیادی تکنیکاله و سمت کاربر نیس تقریبا، منتها به این نکته اشاره کنم که بیت ریت ثابت (CBR) عموما باعث اتلاف منابع می‌شه و تولید یک ویدیو با بیت ریت ثابت اصولا کار بسیار بسیار سختیه. کدک‌های معمول هم از سیستم VBR استفاده میکنن. اصولا زمانی از CBR استفاده می‌شه یه بیت ریت مشخصی تعیین شده و باید توی همون بازه کار کرد، مثلا برای پخش شبکه‌های ماهواره‌ای که از یک پهنای باند مشترک برای چند کانال استفاده می‌کنن. و یا برای فیلم‌برداری‌های زنده‌ به طور خاص.

    [صرفا جهت رفع کنجکاوی مثلا :−"]
    بیت ریت با یه چیزی به عنوان مقیاس Kush تولید می‌شه.
    کد:
    Kush gauge: pixel count × fps × motion factor × 0.07 ÷ 1000 = bit rate in kbps
    مقدار pixel count: طول × عرض فایل ویدیویی بر اساس پیکسل
    مقدار fps: بستگی داره چیزای مختلف. بعدا بررسی می‌شه.
    مقدار motion factor: یک ، دو و یا چهار.
    مثال:
    کد:
    Overall bit rate mode   :Variable
    Overall bit rate   :1 144 Kbps
    
    Bit rate mode    :Variable
    Bit rate    :1 079 Kbps
    Maximum bit rate   :62.5 Mbps
    Width     :1 184 pixels
    Height     :720 pixels
    
    مفهوم Bit Rate در صدا

  • [Bit Rate : Audio]

    [All the Way Back to 70s]
    واسه توضیح مفهوم بیت ریت‌ها توی تکنولوژی‌های مربوط به صدا باید با چن‌تا چیز آشنا بشیم:

    مفهوم Sample ها و Sampling:
    برای ضبط صدا ما نیاز داریم صدای آنالوگی رو که می‌شنویم به دیجیتال تبدیل کنیم و یا اصطلاحاً Digitized کنیم. توی این پروسه ما منبع صورتی رو در نظر می‌گیریم و به تیکه‌های بسیار بسیار زیادی تقسیمش می‌کنیم، هر تیکه نمایان‌گر یه حجمی از صدا تو زمان 23µs هستش که به این تیکه میگیم Sample. بعداً این sampleها رو کنارهم میزاریم و بسته به کیفیت موردنظرمون فایلی شبیه به منبع صوتی موردنظر ایجاد می‌شه. و توی هر 23µs یک sample به بلندگو فرستاده می‌شه تا بتونیم بشنویمش.

    مفهوم Sample Rate:
    به تعداد sampleهای گرفته شده و بازپخش شده توی واحد زمان (یک ثانیه)، می‌گیم sample rate و با واحد Hz اندازه گیریش می‌کنیم. برای مثال sample rate یک CD موزیک برابر 44100Hz یا 44.1KHz هست، که به طور ساده‌تر یعنی 44100 سمپل در ثانیه. برای این‌که کل range شنوایی انسان پوشش داده بشه (20-20000Hz) سمپلینگ معمولا 44.1kHz (CD), 48 kHz, 88.2 kHz, or 96 kHz خواهد بود. و بدیهتاً هرچه‌قدر تعداد سمپل‌ها زیادتر بشه کیفیت و حجم فایل هم بیش‌تر می‌شه.

    مفهوم Bit Depth:
    به تعداد بیت‌های موجود توی هر سمپل میگن bit depth. احتمالا موقع دانلود موزیک به این مفهوم برخوردین که موزیک‌های معمولی 16 بیتی و موزیک‌های با کیفیت FLAC حتی 24 بیتی هستن. لازم به توضیح نیست که هرچه‌قدر این عدد بالا باشه کیفیت و حجم به طرز قابل چشم‌گیری افزایش پیدا می‌کنه.

    مفهوم کانال صوتی:
    کانال صوتی و یا Audio Channel، همون طور که از اسمش معلومه یک کانال بین مبدأ صوتی و مقصد هستش که بین این دو، تبادل سیگنال‌های صوتی رو انجام می‌ده. کانال‌های صوتی مشهوری که بیش‌تر به چشمتون می‌خورن اینا هستن:
    کد:
    Mono : 1 CH
    Stereo : 2 CH
    5.1Surround Sound : 6 CH
    7.1Surround Sound : 8 CH
    محاسبه Bit Rate:

    کد:
    Bit Rate = Sample Rate × Bit Depth × Channels 
    File Size  (in bits) = Bit Rate × Duration
    
    بیت ریت دوتا فرمت مشهور دنیای موزیک:

    کد:
    MP3:
    32 kbit/s - 320 kbits/s
    FLAC[nb]یه تاپیک بزنیم در مزایای این فرمت :−؟[/nb]:
    400 kbit/s - 1411 kbit/s
    
    مثال:
    کد:
    Bit rate   :64.0 Kbps
    Channel(s)   :2 channels
    Channel positions   :Front   :L R
    Sampling rate   :48.0 KHz / 24.0 KHz
    
     



















  • بسم الله الرحمن الرحیم

    برای استخراج تصاویر المنجد از فایل پی دی اف که از (http://ia801407.us.archive.org/11/items/waq98127/98127p.pdf) دانلود کرده بودم، چنین مسیری را پیمودم:

    ۱- با برنامه (PdfShuffler) فایل پی دی اف را ویرایش کرده و فایلهای حدود ۳ مگا نه بیشتر را تقطیع کردم، که حدودا در هر فایل حدود ۱۰۰ تصویر بود.

    ۲- این فایل را به سایت (https://seotoolstack.com/extract-pdf-images) برده، و تصویر با کیفیت خوب از فایل پی دی اف، و با پسوند (pbm) با حالت فشرده و فایل زیپ، تحویل گرفتم، البته با نرم افزار (converseen) هم میشود فایل پی دی اف را تبدیل به تصاویر کرد، یعنی تصاویر ان را استخراج کرد، ولی تصویر آن کیفیت ندارد و قابل استفاده متنی نیست.

    ۳- با نرم افزار (converseen) ابتدا فرمت (pbm) را تبدیل به فرمت (bmp) کردم، که حجم بسیار بالایی داشت، و از این طریق ممکن شد که آنها را تبدیل به فرمت (png) کنم که حجم بسیار کمی دارد ولی کیفیت خوب آن باقی میماند.

    ۴- چون سایت قبلی فایلهای تصویر را در آن فایل زیپ با شماره نامگذاری میکند، تمام فایلها را به ترتیب در سایجیل بردم و به یک منوال تغییر نام دادم، تا سرانجام ۱۰۱۶ فایل با شماره مسلسل، و ۲۴ فایل برای مقدمه، حاصل شد، توجه شود که چون عدد ۱۰۱۶ چهار رقمی است، حتما شماره فایلها چهار رقمی باشد، یعنی از 0001 شروع شود.

    ۵- کد شل اسکریپت را یک دفعه برای مقدمه و دفعه دیگر برای ۱۰۱۶ فایل متن کتاب، اجرا کردم در دو فولدر جداگانه، و سپس مجموع را به انضمام فایلهای اچ تی ام ال حاصل شده، در یک فولدر قرار دادم. والحمد لله رب العالمین.

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

    #!/bin/sh


    #hm این کد را از آدرس
    # http://www.pctechtips.org/bash-script-to-create-an-online-photo-album/
    #hm برداشتم و تغییراتی دادم



    #START

    #variables
    EXT="png" #your pics file extension---باید پسوند خود را بنویسید
    TITLE="المنجد في اللغة" #album title---عنوان صفحه را بنویسید
    ALLPICS="" #array to hold pictures---آرایه کل فایلها
    TOTAL="" #total number of pics----شماره مجموع فایلها
    THISPIC="" #store current pic----- فایل فعلی
    THISPAGE="" #store current picture-----صفحه فعلی
    PREVPAGE="" #store link to previous page---صفحه قبلی
    NEXTPAGE="" #store link to next page---صفحه بعدی
    THISNAME="" #store name---فقط نام فایل

    #html code for webpage
    webpage() {

    cat << EOF




    $TITLE


    $TITLE


    صفحة - $NUM - من مجموع - $TOTAL-


    الصفحة التاليةالفهرستالصفحة السابقة





    تصوير

    هذه الصفحة




    الصفحة التاليةالفهرستالصفحة السابقة




    EOF
    }


    ##########################################
    # MAIN
    ##########################################

    #creating array of pictures
    ALLPICS=(*.$EXT)
    TOTAL=${#ALLPICS[@]}

    echo -e "\n\n\n\nالفهرست\n \n\n

    بسم الله الرحمن الرحیم

    \n

    $TITLE

    " >> index.html



    #looping through all pictures and create a html page for each
    for((i=0; i<$TOTAL; i++)); do
    THISPIC="${ALLPICS[i]}"
    THISPAGE="${ALLPICS[i]%.$EXT}.html"
    THISNAME="${ALLPICS[i]%.$EXT}"
    #the first picture
    if [ $i -eq 0 ]; then
    PREVPAGE=""
    NEXTPAGE="${ALLPICS[$((i+1))]%.$EXT}.html"



    #the last picture
    elif [ $i -eq $(($TOTAL-1)) ]; then
    NEXTPAGE=""
    PREVPAGE="${ALLPICS[$((i-1))]%.$EXT}.html"

    else
    #all other pages except 1st and last
    PREVPAGE="${ALLPICS[$((i-1))]%.$EXT}.html"
    NEXTPAGE="${ALLPICS[$((i+1))]%.$EXT}.html"
    fi
    #current picture
    NUM=$((i+1))

    #creating the index
    echo "$NUM - $THISNAME - (تصویر)

    " >> index.html


    #creating the page
    webpage $THISPIC $TOTAL $NUM $PREVPAGE $NEXTPAGE $TITLE $THISNAME > $THISPAGE
    done

    echo -e "\n" >> index.html







    و این هم متن خالص:
    بسم الله الرحمن الرحیم
    
    برای استخراج تصاویر المنجد از فایل پی دی اف که از (http://ia801407.us.archive.org/11/items/waq98127/98127p.pdf) دانلود کرده بودم، چنین مسیری را پیمودم:
    
    ۱- با برنامه (PdfShuffler) فایل پی دی اف را ویرایش کرده و فایلهای حدود ۳ مگا نه بیشتر را تقطیع کردم، که حدودا در هر فایل حدود ۱۰۰ تصویر بود.
    
    ۲- این فایل را به سایت (https://seotoolstack.com/extract-pdf-images) برده، و تصویر با کیفیت خوب از فایل پی دی اف، و با پسوند (pbm) با حالت فشرده و فایل زیپ، تحویل گرفتم، البته با نرم افزار (converseen) هم میشود فایل پی دی اف را تبدیل به تصاویر کرد، یعنی تصاویر ان را استخراج کرد، ولی تصویر آن کیفیت ندارد و قابل استفاده متنی نیست.
    
    ۳- با نرم افزار (converseen) ابتدا فرمت (pbm) را تبدیل به فرمت (bmp) کردم، که حجم بسیار بالایی داشت، و از این طریق ممکن شد که آنها را تبدیل به فرمت (png) کنم که حجم بسیار کمی دارد ولی کیفیت خوب آن باقی میماند.
    
    ۴- چون سایت قبلی فایلهای تصویر را در آن فایل زیپ با شماره نامگذاری میکند، تمام فایلها را به ترتیب در سایجیل بردم و به یک منوال تغییر نام دادم، تا سرانجام ۱۰۱۶ فایل با شماره مسلسل، و ۲۴ فایل برای مقدمه، حاصل شد، توجه شود که چون عدد ۱۰۱۶ چهار رقمی است، حتما شماره فایلها چهار رقمی باشد، یعنی از 0001 شروع شود.
    
    ۵- کد شل اسکریپت را یک دفعه برای مقدمه و دفعه دیگر برای ۱۰۱۶ فایل متن کتاب، اجرا کردم در دو فولدر جداگانه، و سپس مجموع را به انضمام فایلهای اچ تی ام ال حاصل شده، در یک فولدر قرار دادم. والحمد لله رب العالمین.
    
    کد شل اسکریپت که برای بسیار از کارهای دیگر نافع است این است:
    
    #!/bin/sh
    
    
    #hm    این کد را از آدرس
    #  http://www.pctechtips.org/bash-script-to-create-an-online-photo-album/
    #hm    برداشتم و تغییراتی دادم
    
    
    
    #START
     
    #variables
    EXT="png"				#your pics file extension---باید پسوند خود را بنویسید
    TITLE="المنجد في اللغة"				#album title---عنوان صفحه را بنویسید
    ALLPICS=""				#array to hold pictures---آرایه کل فایلها
    TOTAL=""				#total number of pics----شماره مجموع فایلها
    THISPIC=""				#store current pic----- فایل فعلی
    THISPAGE=""				#store current picture-----صفحه فعلی
    PREVPAGE=""				#store link to previous page---صفحه قبلی
    NEXTPAGE=""				#store link to next page---صفحه بعدی
    THISNAME=""				#store name---فقط نام فایل
     
    #html code for webpage
    webpage() {
     
    	cat << EOF
     
      
        
        
        $TITLE
      
      
     
    	

    $TITLE

    صفحة - $NUM - من مجموع - $TOTAL-

    الصفحة التاليةالفهرستالصفحة السابقة


    تصوير
    هذه الصفحة

    الصفحة التاليةالفهرستالصفحة السابقة

    EOF } ########################################## # MAIN ########################################## #creating array of pictures ALLPICS=(*.$EXT) TOTAL=${#ALLPICS[@]} echo -e "\n\n\n\nالفهرست\n \n\n

    بسم الله الرحمن الرحیم

    \n

    $TITLE

    " >> index.html #looping through all pictures and create a html page for each for((i=0; i<$TOTAL; i++)); do THISPIC="${ALLPICS[i]}" THISPAGE="${ALLPICS[i]%.$EXT}.html" THISNAME="${ALLPICS[i]%.$EXT}" #the first picture if [ $i -eq 0 ]; then PREVPAGE="" NEXTPAGE="${ALLPICS[$((i+1))]%.$EXT}.html" #the last picture elif [ $i -eq $(($TOTAL-1)) ]; then NEXTPAGE="" PREVPAGE="${ALLPICS[$((i-1))]%.$EXT}.html" else #all other pages except 1st and last PREVPAGE="${ALLPICS[$((i-1))]%.$EXT}.html" NEXTPAGE="${ALLPICS[$((i+1))]%.$EXT}.html" fi #current picture NUM=$((i+1)) #creating the index echo "$NUM - $THISNAME - (تصویر)

    " >> index.html #creating the page webpage $THISPIC $TOTAL $NUM $PREVPAGE $NEXTPAGE $TITLE $THISNAME > $THISPAGE done echo -e "\n" >> index.html

















    نقل قول














    Interactive Widget

    You can use this interactive widget to create a graph of your quadratic equation. Use the buttons to change the values of the quadratic equation.
    y = x2 + 2x - 1
    Change the Equation
    y
    x2
    x
    y-intercept








    زبان برنامه نویسی-ایجاد شده توسط: حسن خ


    اشاره گر در برنامه نویسی-ایجاد شده توسط: حسن خ


    سخت افزار-hardware-ایجاد شده توسط: حسن خ


    مدار منطقی-دروازه منطقی-logic gate-ایجاد شده توسط: حسن خ



    ****************
    ارسال شده توسط:
    حسن خ
    Saturday - 11/5/2024 - 10:51

    سطح منطقی

    در مدارهای دیجیتال، سطح منطقی (به انگلیسی: logic level) یک مقدار از مقادیر محدود است که یک سیگنال دیجیتال می‌تواند داشته باشد. اگرچه استانداردهای مختلفی برای سطح منطقی وجود دارد اما مقادیر سطوح منطقی معمولاً توسط ولتاژ میان سیگنال تا زمین (یا یک مرجع کلی) معین می‌شود. محدودهٔ ولتاژ تعیین کنندهٔ هر سطح منطقی را خانوادهٔ منطقی (استاندارد) مورد استفاده تعیین می‌کند.

    در منطق دودویی، دو سطح منطقی داریم: سطح منطقی high و سطح منطقی low که در واقع به ترتیب با ۱ و ۰ دستگاه اعداد دودویی برابری می‌کنند. در واقع در این حالت، اگر سیگنال دارای ولتاژی بالاتر از مقدار از پیش تعیین شده بود آن را ۱ و اگر دارای ولتاژی پایین‌تر بود، آن را ۰ در نظر می‌گیریم. سیگنال‌های دارای یکی از این دو سطح را می‌توان در منطق بولین برای طراحی مدارهای دیجیتال یا آنالیز استفاده کرد.

    در منطق سه حالته، خروجی دستگاه همچنین می‌تواند در حالت امپداَنس بالا (High impedance) باشد، البته این حالت در واقع سطح منطقی به حساب نمی‌آید اما معنی آن این است که خروجی، سطح مدار را کنترل نمی‌کند. برای مثال در حالتی که چند دستگاه به هم متصل باشند و یکی از دستگاه‌ها خروجی ۰ و دیگری خروجی ۱ بدهد، اتصال کوتاه رخ می‌دهد و دستگاه‌ها آسیب می‌بینند. اما اگر روی حالت High Impedance قرار بگیرند، به علت محدود شدن جریان خروجی، اتصال کوتاه رخ نمی‌دهد.[۱]

    مشکل سطوح منطقی مختلف

    ارتباط برقرار کردن میان دو دستگاه از دو خانوادهٔ منطقی مختلف، ممکن است به تکنیک‌های خاصی مانند مقاومت بالاکش اضافی یا مدارهای مبدل نیاز داشته باشد، چرا که احتمالا هر کدام از دستگاها از ولتاژ خاصی برای مشخص نموندن ۰ و ۱ استفاده میکنند.

    برای مثال، سطوح منطقی TTL با CMOS متفاوت است و ولتاژ خروجی TTL به اندازهٔ کافی بالا نمی‌آید که به عنوان منطق ۱ سیماس شناخته شود، مخصوصا اگر به یک ورودی high impedance وصل شده باشد که در این صورت، مقدار مناسب بار الکتریکی جریان نمی‌یابد. این مشکل با اختراع آی سی‌های مبدل سری 74HCT که با منطق سیماس کار می‌کنند اما دارای ورودی‌های TTL هستند رفع شد. این مبدلها فقط با ولتاژ ۵ ولت کار می‌کنند. آن‌ها جایگزینی برای TTL به وجود آوردند، اگرچه خانوادهٔ HCT کندتر از TTL است (منطق HC تقریباً هم سرعت TTL است).

    سطح فعال

    اینکه محدودهٔ ولتاژ بالاتر یک حالت منطقی را برساند یا محدودهٔ ولتاژ پایین‌تر، دلبخواهی است و حتی ممکن است در سطوح مختلف سیستم تغییر کند. حالت‌های فعال-بالا (به انگلیسی: Active High) یا فعال-پایین (به انگلیسی: Active Low) می‌توانند مطابق میل مخلوط شوند. برای نمونه یک آی سی حافظه فقط خواندنی می‌تواند از یک سیگنال انتخاب قطعه (به انگلیسی: Chip Select) استفاده کند که فعال-پایین باشد، ولی بیت‌های داده‌ها و نشانی قطعه مطابق قراردادها فعال-بالا هستند.

    قراردادها

    نماد سیگنال فعال-پایین همراه با یک خط بالای نماد آن سیگنال نوشته می‌شود تا با سیگنال‌های فعال-بالا اشتباه گرفته نشود. برای مثال، Q بخوانید "کیو بار" نشان دهندهٔ یک سیگنال فعال-پایین است. قراردادهای رایجی که همراه با نماد سیگنال استفاده می‌شوند عبارتند از:

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

     

     

    مقاله سطح منطقی یا صفر و یک منطقی

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

    این آموزش موارد زیر پوشش می دهد.

    سطح منطقی چیست؟

    به زبان ساده سطح منطقی یک ولتاژ خاص یا حالتی که در آن سیگنال می تواند وجود داشته باشد، در مدارهای دیجیتال دو حالت روشن و یا خاموش داریم، در سیستم باینری روشن بودن به معنای 1 باینری و خاموش بودن به معنای 0 باینری است.در آردوینو به ترتیب ما این سیگنال ها را بالا یا پایین می نامیم، چندین فن آوری مختلف الکترونیکی وجود دارد که در طول 30 سال گذشته برای تعیین سطح ولتاژ های مختلف تکامل یافته است.

    صفر و یک منطقی (منطق 0 یا منطق 1)

    الکترونیک دیجیتال برای ذخیره، پردازش و انتقال داده یا اطلاعات به منطق باینری تکیه می کند. منطق دودویی به یکی از دو حالت – روشن یا خاموش – اشاره دارد. این معمولاً به عنوان باینری 1  یا باینری 0 ترجمه می شود. باینری 1، سیگنال بالا نیز گفته می شود و صفر باینری نیز سیگنال پایین گفته می شود.

    قدرت یک سیگنال معمولاً با میزان ولتاژ آن توصیف می شود. چگونه یک منطق 0 (پایین) یا منطق 1 (بالا) تعریف می شود؟ تولید کنندگان تراشه ها معمولاً این موارد را در برگه مشخصات خود تعریف می کنند. متداول ترین استاندارد TTL یا Transistor-Transistor Logic است.

    Active Low و Active High چیست؟

    هنگام کار با IC ها و میکروکنترلرها، به احتمال زیاد با پین های فعال پایین و پین های فعال بالا روبرو خواهید شد. به عبارت ساده، این فقط نحوه فعال سازی پین را توضیح می دهد. اگر این یک پین فعال پایین است، باید آن را برای فعال سازی به زمین متصل کرد. برای یک پین فعال شونده سطح بالا، آن را به ولتاژ HIGH (معمولاً 3.3ولت یا 5 ولت) وصل کنید.

    به عنوان مثال، بیایید بگوییم که شما یک شیفت ریجیستر دارید که دارای یک پین فعال سازی چیپ (CE ) است. اگر پین CE را در هر نقطه از مشخصات ارائه شده با خطی بر روی آن، می بینید، پس  آن پین فعال پایین است. برای فعال شدن تراشه، لازم است که پین به زمین متصل شود. اما اگر پین CE خطی بالای آن نداشته باشد، بنا براین فعال بالا است و برای فعال کردن پین  باید آن را به ولتاژ high  وصل کرد.

    بسیاری از IC ها  توأمان دارای پین های فعال بالا و فعال پایین هستند فقط دقت کنید و مطمئن شوید که نام های پینی که خطی بالای خود دارد یا خیر. از این خط برای نشان دادن NOT استفاده می شود (همچنین به عنوان نوار شناخته می شود). وقتی چیزی not شود، به حالت مخالف تغییر می کند. بنابراین اگر یک ورودی فعال بالاnot  شود اکنون فعال پایین است. به همین سادگی!

    سطح منطقی TTL

    بیشتر سیستم هایی که ما از آنها استفاده می کنیم به سطح 3.3 ولت یا 5 ولت TTL تکیه می کنند. TTL مخفف Transicor-Transistor Logic است. و به مدارهای ساخته شده از ترانزیستورهای دو قطبی جهت دستیابی به  سوئیچینگ و حفظ حالتهای منطقی متکی است. ترانزیستورها معمولاً برای کلیدهای برقی کنترل شده به کار می روند. باید بدانید برای هرگونه گروه منطقی، چندین سطح ولتاژ آستانه وجود دارد. در زیر مثالی برای سطح استاندارد 5 ولت TTL آورده شده است:

    مطلب پیشنهادی:  اتصالات مداری خازن‌ - اتصال سری و موازی خازن‌ها

    5ولت استانداراد TTL

    باید توجه کنید که حداقل ولتاژ خروجی بالا (VOH) 2.7 ولت است. اساساً، این بدان معنی است که ولتاژ خروجی دیوایس برای 1 منطقی باید حداقل 2.7 ولت باشد و حداقل ولتاژ ورودی بالا (VIH) نیز 2 ولت است، بنابراین هر ولتاژی که حداقل 2 ولت باشد به عنوان 1 منطقی (بالا) در یک دیوایس  TTL  تلقی می شود.

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

    به همین ترتیب، حداکثر ولتاژ خروجی پایین (VOL) 0.4 ولت است. این بدان معنی است که دیوایسی که سعی در ارسال 0 منطقی  دارد، همیشه زیر 0.4 ولت خواهد بود. و همچنین حداکثر ولتاژ ورودی پایین(VIL) 0.8 ولت است. بنابراین، هر سیگنال ورودی  که پایین تر از 0.8 ولت باشد هنوز هم توسط دیوایس 0 منطقی (پایین)در نظر گرفته می شود.

    چه اتفاقی می افتد اگر شما یک ولتاژ بین 0.8 ولت و 2 ولت داشته باشید؟  خوب، حدس شما به اندازه من خوب است.  صادقانه بگویم، این دامنه ولتاژ تعریف نشده است و حالتی نامعتبر  را در بر دارد، که اغلب به آن حالت شناور گفته می شود.  اگر یک پین خروجی  دیوایس شما در محدوده “شناور” باشد، نمیتوان نتیجه این سیگنال را به طور قطع مشخص کرد. زیرا ممکن است به صورت تصادفی بین بالا و پایین حرکت کند.

    در اینجا روشی دیگر برای مشاهده  تلرانس ورودی، خروجی یک دیوایس نوع TTL وجود دارد.

    سطح منطقی CMOS یا 3.3  ولتی

    با پیشرفت تکنولوژی، دیوایس هایی ایجاد کرده ایم که نیاز به مصرف انرژی کمتری داشته باشند و با یک ولتاژ پایه پایین تر (Vcc = 3.3 ولت به جای 5 ولت) کار کنند. تکنیک ساخت نیز برای دیوایسهای 3.3 ولت کمی متفاوت است که امکان کوچک سازی فضای اشغالی و کاهش هزینه کلی سیستم را می دهد.

    به منظور اطمینان از سازگاری عمومی، متوجه خواهید شد که بیشترین میزان ولتاژ تقریباً مشابه دیوایسهای 5 ولت است. یک دیوایس 3.3 ولتی می تواند با یک دیوایس 5 ولتی و بدون هیچ اجزای اضافی ارتباط بگیرد. به عنوان مثال، یک منطق 1 (HIGH) از یک دیوایس 3.3 ولتی حداقل 2.4 ولت خواهد بود.  و این ولتاژ همچنان به عنوان یک منطق 1 (HIGH) در  یک سیستم 5 ولتی تعبیر می شود، زیرا بالاتر از VIH(  2 ولت ) است.

    مطلب پیشنهادی:  نحوه ضبط و پخش صدا در دستگاه های پخش صوت آنالوگ

    با این وجود باید کمی احتیاط کرد چون، در هنگام انجام ارتباط از یک دیوایس 5 ولتی به یک دیوایس 3.3 ولتی باید دیوایس 3.3 ولتی 5 ولت تلرانس داشته باشد. مشخصات مورد نظر شما حداکثر ولتاژ ورودی است. در برخی از دیوایس های 3.3 ولتی، هرگونه ولتاژ بالاتر از 3.6 ولت باعث آسیب دائمی تراشه می شود. می توانید از تقسیم ولتاژ ساده (مانند 1KΩ و 2KΩ) ​​برای پایین کشیدن سیگنال های 5 ولت به سطح 3.3 ولت استفاده کنید یا از یکی از شیفت دهنده‌های سطح منطق بهره بگیرید. خب الان که با سطح ولتاژ TTL و CMOS آشنا شدید بریم سراغ سطح منطقی آردوینو

    سطح منطقی آردوینو

    با نگاهی به برگه اطلاعاتی ATMega328 (میکروکنترلر اصلی در پشت Arduino)، شما باید توجه کنید که مقدار ولتاژها کمی متفاوت است.

    آردوینو بر اساس پلتفورمی قوی تر بنا شده، قابل توجه ترین تفاوت این است که ناحیه نامعتبر ولتاژها فقط بین 1.5 ولت تا 3.0 ولت می باشد. نویز مارجین در آردوینو بیشتر است و آستانه بالاتری برای سیگنال LOW دارد. این امر باعث می شود تا ارتباط بین اجزاء و کار با آنها  توسط سخت افزارهای دیگر بسیار ساده تر شود.

     

     





    کدبندی نویسه-Character encoding-ایجاد شده توسط: حسن خ


    کدبندی اسکی(ASKI)-ایجاد شده توسط: حسن خ