اپلیکیشن Mitu MIT App Inventor - هر کسی می تواند یک برنامه تلفن همراه ایجاد کند. شرایط مسابقه
در این پست قصد دارم شما را با MIT App Inventor 2نرم افزار و من قصد دارم به شما نشان دهم چه چیزی تو نیاز داریبرای شروع سریع ساخت برنامه اندرویدکه با آردوینو شما تعامل و کنترل می کنند.
در اینجا مطالبی است که قرار است در این پست پوشش داده شود:
- چرا MIT App Inventor 2 انتخاب خوبی است؟
- دسترسی به MIT App Inventor 2
- نحوه کنترل آردوینو با MIT App Inventor (بلوتوث)
- بررسی اجمالی مخترع برنامه MIT
- پروژه ها با MIT App Inventor
- برنامه های اندروید برای آردوینوبا MIT App Inventor 2
معرفی MIT App Inventor 2
MIT App Inventor 2 یک سرویس رایگان ساده و بصری برای ایجاد برنامه های اندروید است. اگر می خواهید با MIT App Inventor شروع کنید، نیازی به دانلود یا نصب برنامه در رایانه خود ندارید زیرا نرم افزار مبتنی بر ابر است، بنابراین برنامه ها را مستقیماً در مرورگر خود می سازید (Chrome، Mozilla، Safari، اینترنت اکسپلورر،و غیره).
به عنوان مثال، برای ساخت برنامه ها فقط به اتصال اینترنت نیاز دارید.
چرا MIT App Inventor انتخاب خوبی است؟
- MIT App Inventor 2 بصری و ساده برای استفاده است.
- برای ساختن اپلیکیشن هایی که می توانند کارهای مفیدی انجام دهند، لازم نیست در برنامه نویسی یا طراحی متخصص باشید.
- ایجاد طرح به آسانی انتخاب و قرار دادن ویجت ها در صفحه گوشی هوشمند است.
- کد با انجام می شود کشیدن و انداختنبلوک های پازل را رها کنید
همه می توانند با چند ساعت تمرین یاد بگیرند که چگونه برنامه های خود را با MIT App Inventor 2 بسازند.
دسترسی به MIT App Inventor 2
رایجترین ماژولهای بلوتوث مورد استفاده در آردوینو، بلوتوث HC-05، HC-04 و HC-06 هستند.
برای اطلاعات بیشتر در مورد ماژول بلوتوث، می توانید این پست وبلاگ را بررسی کنید:
ماژول بلوتوث با داده های سریال کار می کند. این بدان معنی است که آردوینو اطلاعات را ارسال می کند و ماژول بلوتوث آن را از طریق سریال (و بالعکس) دریافت می کند.
شکل زیر نحوه انتقال اطلاعات از برنامه اندروید به آردوینو را توضیح می دهد.
گوشی هوشمند شما اطلاعات را از طریق بلوتوث به ماژول بلوتوث ارسال می کند. سپس ماژول بلوتوث اطلاعات را از طریق ارتباط سریال به آردوینو ارسال می کند. این جریان برعکس هم عمل می کند: آردوینو اطلاعات را به ماژول بلوتوث ارسال می کند که آن را از طریق بلوتوث به گوشی هوشمند می فرستد.
بررسی اجمالی مخترع برنامه MIT
این یک دوره آموزشی گام به گام است که به شما کمک می کند تا برنامه های اندرویدی جالبی برای آردوینو بسازید، حتی بدون تجربه قبلی! مجموعه ای از 8 + 1 پروژه.
امیدوارم این پست برای شما مفید بوده باشد.
MIT App Inventor 2- یک محیط توسعه بصری که ایجاد یک برنامه کاربردی را آسان می کند دستگاه های اندرویدیحتی بدون دانش برنامه نویسی
این محیط توسعه مستقیماً از مرورگر کار می کند. شما نیازی به دانلود یا نصب چیزی ندارید. نتیجه را می توان در دستگاه اندرویدی مشاهده کرد. برنامه های آماده را می توان در آن قرار داد بازار بازی. App Inventor 2 از زبان روسی پشتیبانی می کند.
بلافاصله، در ابتدا، ایجاد برنامه منحصر به فرد خود، به عنوان مثال، برنامه ای که می تواند سایر دستگاه های بلوتوث (دستگاه بلوتوث ساده در آردوینو) را به خوبی کنترل کند، یا یک بازی را در تلفن هوشمند، امکان پذیر می کند.
در ویرایشگر آنلاین MIT App Inventor 2، اپلیکیشن ها بر اساس اجزای استاندارد ساخته می شوند که عنصر اصلی توسعه اپلیکیشن اندروید هستند. مثالهای زیادی در اینترنت وجود دارد که چگونه از ترکیب بلوکها، مؤلفهها برای دریافت برنامهای که میخواهیم بسازیم استفاده کنیم.
پنجره طراح
در این پنجره می توانید نحوه ظاهر برنامه را پیکربندی کنید (چه عناصری روی صفحه نمایش داده می شوند و غیره). با نگاهی به پنجره طراح، خواهید دید که از چندین قسمت تشکیل شده است:
- پالت (پالت) - منطقه ای که اجزای موجود نشان داده شده است. پالت به بخش ها تقسیم می شود.
- بیننده (نما) - منطقه ای که اجزاء اضافه می شوند و جایی که با آنها کار می کنید. در این قسمت می توانید ببینید که اپلیکیشن شما در گوشی هوشمند شما چگونه به نظر می رسد.
- اجزا (اجزا) - ناحیه ای که اجزای استفاده شده نشان داده شده است. اجزای این ناحیه را می توان تغییر نام داد یا حذف کرد، همچنین ویرایش آنها با استفاده از قسمت Properties راحت است.
- رسانه (رسانه) - منطقه ای که تصاویر و صداهای استفاده شده در آن بارگذاری می شوند.
- خواص (خواص) - منطقه ای که در آن ویژگی های مؤلفه ها ویرایش می شوند: رنگ، اندازه متن، فونت و غیره.
مسدود کردن پنجره ویرایشگر
در این پنجره، رفتار گوشی هوشمند خود را هنگامی که در معرض عوامل خارجی قرار می گیرد، پیکربندی می کنیم. به عنوان مثال، هنگامی که کلیدی را روی صفحه گوشی هوشمند فشار می دهید، یک سیگنال تبریک داده می شود یا زمانی که وضعیت سنسورها (شتاب سنج، حسگر مجاورت و غیره) تغییر می کند، صفحه نمایش گوشی هوشمند خاموش می شود تا در مصرف باتری صرفه جویی شود.
نصب نرم افزار ویندوز برای App Inventor Setup دارای دو بخش است:
- نصب بسته نرم افزاری App Inventor Setup. این مرحله برای همه دستگاه های اندرویدی یکسان است و برای ویندوز XP، ویستا، ویندوز 7، 8.1 و 10 یکسان است.
- اگر انتخاب می کنید که از کابل USB برای اتصال به دستگاهی استفاده کنید، باید درایورهای ویندوز را برای گوشی اندروید خود نصب کنید.
توجه: App Inventor 2 با اینترنت اکسپلورر کار نمی کند. برای کاربران ویندوز، استفاده از هر کدام را توصیه می کنیم کرومیا فایرفاکس به عنوان مرورگر شما برای استفاده با App Inventor.
نصب بسته نرم افزاری App Inventor Setup
شما باید نصب را از حسابی انجام دهید که دارای امتیازات سرپرست است. نصب از طریق یک حساب غیر سرپرست در حال حاضر پشتیبانی نمی شود.
اگر نسخه قبلی ابزارهای راهاندازی App Inventor 2 را نصب کردهاید، باید قبل از نصب آخرین نسخه آنها را حذف نصب کنید. دستورالعملهای نحوه بهروزرسانی نرمافزار راهاندازی App Inventor را دنبال کنید.
مکان یابی نرم افزار Setup
در بیشتر موارد، App Inventor باید بتواند نرم افزار Setup را به تنهایی مکان یابی کند. اما اگر مکان نرم افزار را بخواهد، مسیر ورود است C:\Program Files\Appinventor\commands-for-Appinventor. اگر از یک ماشین 64 بیتی استفاده می کنید ((چگونه بفهمیم از ویندوز 64 بیتی استفاده می کنید)، باید برنامه Files (x86) را به جای Program Files تایپ کنید. همچنین اگر نرم افزار را به عنوان سرپرست نصب نکرده اید. ، به جای C:\Program Files در فهرست محلی شما نصب شده است. برای یافتن نام مسیر صحیح باید آن را جستجو کنید.
منظور ما از یک عملیات، دنباله ای از اقدامات است که هر کدام می تواند شامل تعداد متفاوتی بلوک باشد.
هر عملیاتی را می توان در یک بلوک مدیریت رویداد یا در یک بلوک رویه قرار داد. مکان عملیات در بلوک پردازش رویداد با یک ساده مشخص می شود، اما در آینده می تواند منجر به مشکلات زیادی شود، بر خلاف استفاده از آن در یک روش، که به شما امکان می دهد یک الگوریتم انعطاف پذیر به دست آورید. بیایید این را با استفاده از مثال یک عملیات انتساب ساده به یک متغیر جهانی از یک لیست خالی، متشکل از دو بلوک در نظر بگیریم (شکل 1).
برنج. 1. گزینه هایی برای مکان عملیات.
هنگام قرار دادن عملیات در بلوک پردازش رویداد یک مؤلفه (گزینه بالایی)، به آن متصل می شود و برای تماس از بلوک های دیگر در دسترس نیست. اگر این عملیات باید از بلوک دیگری فراخوانی شود، باید کپی شود. ایجاد کپی از عملیات نامطلوب است، زیرا اگر الگوریتم آن را تغییر دهید، باید در هر یک از آنها تغییراتی ایجاد کنید. این احتمال خطاهای مختلف را افزایش می دهد: می توانید برخی از کپی ها را اصلاح کنید، هنگام کپی کردن بلوک ها، چسباندن آنها و غیره اشتباه کنید. قرار دادن عملیات در یک بلوک رویه به آن امکان می دهد تا از بلوک های دیگر فراخوانی شود و از خطاهای توضیح داده شده در بالا جلوگیری شود.
هنگام کار در ویرایشگر بلوک، گاهی اوقات لازم است که تماس بگیرید نسخه های مختلفیک عملیات یا عملیات متفاوت برای انجام این کار، میتوانید اجزای جدیدی را با بلوکهای پردازش رویداد جدید ایجاد کنید، یا از یک بلوک btnExecute موجود استفاده کنید و یک یا عملیات دیگری را در آن فراخوانی کنید. در نتیجه جایگزینی، عملیات جدا شده به بلوک های "شناور" تبدیل می شوند (شکل 2) که به هیچ بلوک گروهی تعلق ندارند.
برنج. 2. بلوک های "شناور".
اگر چنین بلوک های شناور زیادی در زمین کار وجود داشته باشد، مقابله با آنها می تواند دشوار باشد. اگر همه چیز با بلوک پایین روشن است - این یک بلوک فراخوانی رویه است، پس زنجیره بلوک ها در قسمت بالای شکل چه کاری انجام می دهد؟ آیا این یک عملیات جداگانه یا عملی است که بخشی از عملیات دیگری است یا بوده است؟ اما پس بقیه این عملیات کجاست؟ افزودن یک عملیات به بلوک رویه به شما امکان می دهد از شر بلوک های غیرقابل درک "شناور" خلاص شوید.
برای اجرای یک بلوک، لازم نیست آن را در یک کنترل کننده رویداد قرار دهید. می توانید روی آن کلیک راست کرده و در قسمت ظاهر شده کلیک کنید منوی زمینهگزینه Do it را انتخاب کنید.
یکی دیگر از معایب قرار دادن عملیات در یک رویداد کنترل کننده این است که اگر یک مؤلفه به طور تصادفی در طراح حذف شود، نه تنها تمام بلوک های متعلق به این مؤلفه، بلکه تمام بلوک های تودرتو در آنها حذف می شوند. اگر عملیات شامل تعداد زیادی بلوک باشد، به ویژه آزاردهنده خواهد بود (شکل 3). اگر جزء btnTest حذف شود، بلوک btnTest.Click با تمام محتویات آن حذف خواهد شد.
برنج. 3. گروه بندی ناخواسته بلوک ها در کنترل کننده رویداد.
بلوک های این شکل چه عملیاتی را انجام می دهند؟ جواب دادن فوری سخت است. و هنگامی که آنها در یک روش جداگانه قرار می گیرند، همه چیز بلافاصله از نام آن setVarValue مشخص می شود - مقدار متغیر را تعیین می کند (شکل 4).
برنج. 4. گروه بندی طرفین در روش.
رویه و بلوکهای متغیر محلی با کلیک بر روی نماد چرخدنده تنظیماتی در دسترس دارند. برای بلوکهای رویه، شامل افزودن پارامترهای ورودی به آنها و برای بلوکهای متغیر محلی، ایجاد ورودیهای اضافی است. این اجازه می دهد تا چهار بلوک از متغیرها به یک بلوک با چهار متغیر تبدیل شوند (شکل 4). آیا چنین تحولی معادل است؟ خیر یک بلوک با چندین متغیر محلی دارای یک محدوده است که اجازه نمی دهد مقادیر متغیرهای آن را در داخل آن دریافت کنید. به عنوان مثال، نمی توان یک مقدار به متغیر مقدار (شکل 4) به متغیر کلید اختصاص داد.
بیایید معایب قرار دادن عملیات در بلوک پردازش رویداد را که کشف کردیم فهرست کنیم:
- اتصال سخت به بلوک رویداد نوع خاصی از مؤلفه انتخاب شده
- امکان فراخوانی عملیات از بلوک های دیگر وجود ندارد (به این معنی که نمی تواند به یک کتابخانه تبدیل شود)
- حذف یک عملیات هنگام حذف یک جزء
- تشکیل گروه های غیر قابل درک "شناور" بلوک ها
- درک سریع عملکرد این عملیات دشوار است
خلاص شدن از شر تمام این کاستی ها بسیار آسان است اگر همه عملیات در رویه ها قرار گیرند.
هنگام ایجاد الگوریتم هایی برای سادگی و سرعت، من می خواهم عملیات های مختلف را در یک رویه قرار دهم که منجر به افزایش سریع تعداد بلوک ها و دشواری در درک عملکرد آن می شود. برای جلوگیری از این امر، یک قانون ساده به طور گسترده در برنامه نویسی استفاده می شود:
یک تابع (رویه) - یک عملیات
این قانون از تمرین زندگی گرفته شده است. تصور کنید چراغ اتاق را روشن می کنید و همزمان تلویزیون و کولر روشن می شوند و کامپیوتر خاموش می شود. آیا آن را دوست خواهید داشت؟ خیر، زیرا منجر به سردرگمی و موقعیت های ناخوشایند خواهد شد.
روی انجیر 4 در ابتدای بلوک، چهار رویه نامیده می شود - getKey (کلید را دریافت کنید)، getNewVal (دریافت مقدار جدید)، getKeys (دریافت لیست کلیدها) و getIndex (دریافت نمایه). هر یک از این روش ها یک عملیات را انجام می دهند. بعد از آنها بلوک if می آید که در آن یک عملیات از رویه setVarValue1 انجام می شود.
آیا می توان از متغیرهای سراسری به جای متغیرهای محلی در رویه ها استفاده کرد؟ شما می توانید، اما شما نباید. استفاده از متغیرهای جهانی در داخل رویه، اولاً آن را محکم به آنها و بر این اساس به این برنامه متصل می کند و ثانیاً با کمک متغیرهای جهانی واحدهای بیرونیبرنامههای کاربردی از مکانهای مختلف میتوانند بر مکانیسم داخلی روش تأثیر بگذارند، که بسیار نامطلوب است. اگر مسافران اتوبوس به مکانیسم آن دسترسی داشته باشند چه اتفاقی می افتد؟
متغیرهای محلی نوعی بافر هستند. اگر نام یک متغیر سراسری تغییر کند، این کار عملکرد رویه را خراب نمی کند، زیرا نام متغیرهای محلی که تغییر نکرده اند در داخل آن استفاده می شود. در App Inventor، وقتی نام یک متغیر سراسری را تغییر میدهید، به طور خودکار در تمام بلوکهایی که از آن استفاده میکنند تغییر میکند. این منجر به یک نتیجه گیری مهم می شود که اتوماسیونی که در App Inventor برای بررسی صحت انواع متغیرها، تغییر نام متغیرها و غیره وجود دارد، از یک طرف توسعه برنامه ها را ساده می کند، توسعه دهنده را از فکر کردن به این مسائل رها می کند و از سوی دیگر، به توسعه مهارت تدوین بی دقتی الگوریتم ها کمک می کند. به طور کلی، این مهارت را می توان با برنامه نویسی به هر زبانی توسعه داد. چگونه از آن اجتناب کنیم؟ استفاده از دستورالعمل ها برای ایجاد " کد تمیزکه کتابهای زیادی در مورد آن نوشته شده است. MIT App Inventor تنها میتواند از بخش کوچکی از این توصیهها استفاده کند، اما پیروی از آنها الگوریتمها و خوانایی آنها را به هر شکلی که ایجاد میکنند - روی یک تکه کاغذ، روی تخته سفید، هنگام ویرایش کد یا کار با بلوکها بهبود میبخشد. .
قانون فوق باید هنگام استفاده از بلوک های مدیریت رویداد نیز استفاده شود. روی انجیر 4 کنترل کننده رویداد Click تنها یک عملیات را انجام می دهد - رویه را فراخوانی می کند. و اگر شما نیاز به فراخوانی چندین رویه از مدیریت رویداد دارید؟ سپس باید بفهمید که آیا این گروه از رویه ها یک یا چند عملیات را انجام می دهند؟ اگر یکی، پس همه چیز مرتب است. به عنوان مثال، هنگام مقداردهی اولیه یک برنامه، بسیاری از رویه ها فراخوانی می شوند، اما همه آنها توسط یک عملیات متحد می شوند - مقداردهی اولیه.
هر چه یک رویه عملیات بیشتری انجام دهد، ارتباط نزدیکتری با این پروژه دارد و تطبیق آن برای کار در یک برنامه دیگر دشوارتر است. در حالت ایده آل، روش همه منظورهترجیحا مستقل از این نرم افزارتا بتوانید آن را برای استفاده مجدد در سایر برنامه ها در کتابخانه خود قرار دهید.
App Inventor میتواند صفحههای برنامه استفاده نشده را بهعنوان یک مخزن برای رویههای کتابخانه ذخیره کند. کتابخانههایی با تعداد کم رویهها را میتوان در کنار هم روی یک صفحه و کتابخانههای بزرگ را روی صفحههای جداگانه قرار داد. در حالت دوم، انتقال تمام بلوک های کتابخانه به کوله پشتی با یک عملیات انجام می شود.
اگر تعداد زیادی کتابخانه جمع شده اند، می توانید آنها را در قالب یک الگوی برنامه مرتب کنید که در آن صفحه اول خالی است. ما از این الگو هنگام ایجاد یک برنامه جدید استفاده می کنیم و پس از آماده شدن، یک کپی ایجاد می کنیم که تمام صفحه های کتابخانه از آن حذف می شوند.
برای جلوگیری از تغییر نام متغیرهای سراسری و ایجاد اختلال در کار رویه های کتابخانه هنگام کپی کردن آنها از کوله پشتی به صفحه برنامه، که ممکن است متغیرهای سراسری با نام های مشابه داشته باشند، لازم است نام بلوک های کتابخانه را با پیشوندهایی که به کتابخانه اشاره می کنند، قرار دهید. اگر کتابخانه کار با لیست جفت ها libPairs نامیده می شود. سپس میتوانید متغیرها، رویهها و مؤلفههای موجود در آن را به این صورت نامگذاری کنید: libPairs_name، libPairs_setValue، libPairs_btnExecute.
برای بیشتر عملیات راحتبا تعداد زیادی بلوک و جابجایی آنها در محیط کاری، علاوه بر دکمه های زوم در نمای، بزرگنمایی فضای کاری مرورگر با استفاده از کلیدهای ترکیبی Ctrl- یا Ctrl+ نیز مفید است.
App Inventor- یک محیط توسعه بصری برای برنامه های اندرویدی که کاربر را ملزم به داشتن حداقل دانش برنامه نویسی می کند. در ابتدا در آزمایشگاه گوگل توسعه داده شد، پس از تعطیلی این آزمایشگاه، به موسسه فناوری ماساچوست منتقل شد. در آغاز مارس 2011 MIT نسخه بتای عمومی این پروژه را راه اندازی کرد که در appinventor.mit.edu در دسترس است.
این محیط توسعه مستقیماً از مرورگر کار می کند. شما نیازی به دانلود یا نصب چیزی ندارید. نتیجه را می توان در دستگاه اندرویدی مشاهده کرد. برنامه های آماده را می توان در Play Market قرار داد.
از آگوست 2015، App Inventor 2 پشتیبانی میکند زبان روسی.
در ویرایشگر آنلاین MIT App Inventor 2، اپلیکیشن ها بر اساس اجزای استاندارد ساخته می شوند که عنصر اصلی توسعه اپلیکیشن اندروید هستند.
بلوک های App Inventor مفاهیم و اصول مهم
بلوکهای App Inventor ابزارهایی برای دستکاری اجزا هستند و شبیه پازل هستند.
بلوکهای موجود در این برنامهساز اندرویدی بر اساس تأثیری که دارند و به چه چیزی مربوط میشوند به دو گروه بزرگ تقسیم میشوند:
- مستقیماً به اجزاء مربوط می شود
- به طور کلی به برنامه مربوط می شود
بیا شروع کنیم با بلوک هایی که متعلق به اجزا هستند.آنها را می توان به سه نوع تقسیم کرد که به راحتی با رنگ آنها قابل تشخیص است:
1. بلوک هایی که ویژگی های جزء را توصیف می کنند. آنها سبز هستند و به شکل زیر هستند:
این بلوک ویژگی فعلی مولفه را نشان می دهد. این تصویر بلوک رنگ پسزمینه مولفه متنی TextBox1 را نشان میدهد. این به معنای بدست آوردن یک مقدار موجود است.
و این مقدار مورد نظر را برای مؤلفه تنظیم می کند (تنظیم TextBox1 رنگ پس زمینه...). "ست" - مجموعه. این نوع از ویژگی بلوک را می توان به دستورات (هندلرها) نسبت داد، زیرا واقعاً دستور تغییر هر خاصیت مؤلفه، از جمله مقادیر فیلد را می دهد. با این حال، توسعه دهندگان App Inventor چنین تصمیم گرفتند - بالاخره اینها نیز ویژگی هستند.
2. بلوک های رویداد، یعنی آن بلوک هایی که وقوع یک رویداد را در برنامه ردیابی می کنند، به عنوان مثال، فشار دادن یک دکمه و سپس راه اندازی یک فرمان بلوک. آنها برنز نقاشی شده اند و به شکل زیر هستند:
این بلوک، برای مثال، زمانی که روی یک دکمه کلیک میشود، عملی را انجام میدهد (زمانی که روی دکمه 3 کلیک میشود...)
3. دستور block، در App Inventor این بلوک اغلب یک handler نامیده می شود. این بلوک مشخص می کند که با مؤلفه ای که بلوک به آن تعلق دارد چه باید کرد:
به طور خاص، این بلوک داده ها را از تایمر دستگاه فراخوانی می کند.
گروه دوم بلوک ها در سطح برنامه، تا حدودی متفاوت سازماندهی شده است.
برای شروع، در اینجا لیست زیر گروه های آنها آمده است:
- بلوک های منطقی- بلوک های منطقی
- بلوک های ریاضی- بلوک های ریاضی
- بلوک های متنی- بلوک های متنی
- لیست بلوک ها- بلوک هایی برای مدیریت لیست ها
- بلوک های رنگی- بلوک برای مدیریت رنگ
- بلوک های متغیر- بلوک هایی برای مدیریت متغیرها
- بلوک های رویه- بلوک های رویه ها
همه آنها، به استثنای بلوک های Procedures، در بلوک های دیگر تعبیه شده اند. یعنی بر خلاف بلوکهای رویداد متعلق به مؤلفهها، نمیتوانند بهعنوان بلوک اولیه عمل کنند - همه اقدامات روی هر رویدادی با مؤلفهها انجام میشوند.
در اینجا بهتر است در مورد انواع "پازل" بیشتر صحبت شود. بنابراین، احتمالاً متوجه شده اید که چهار نوع پازل وجود دارد.
از شکل آنها کاملاً واضح است که هر زنجیره در یک برنامه تلفن همراه با نوع اول شروع می شود. این یک رویداد است و کاملاً منطقی است که همه چیز را آغاز کند اقدامات بعدی. و این نوع با آنچه در این برنامه ساز اندروید پذیرفته شده است تفاوتی ندارد.
اما به دو نوع بلوک زیر با توجه به نوع شناسی App Inventor اشاره می شود انواع متفاوت: به ترتیب خواص و دستورات (هندلر). اما از نظر شکل پازل و از نظر معنی می توان آنها را به دستورات نسبت داد، زیرا آنها عمل را تنظیم می کنند. بیایید بگوییم دومینپازل نشان داده شده در تصویر دستور اختصاص یک مقدار خاص به کامپوننت را می دهد، آ سومپازل - یک کامپوننت با یک مقدار خاص را فراخوانی کنید. علاوه بر این، این پازل ها "متوسط" هستند، آنها نمی توانند زنجیره را کامل کنند.
ولی چهارمنمای است ارزش نهایی موجود یا محاسبه شده و زنجیره ها به آن ختم می شوند. به عنوان مثال، تصویر چهارم است ارزش حاضرجزء ساعت 1.
شرکت ITcher مسابقه ای را برای توسعه برنامه های تلفن همراه برای سیستم عامل اندروید، ایجاد شده در زبان برنامه نویسی App Inventor اعلام می کند.
شرایط مسابقه
- پذیرش و ثبت آثار مسابقه ای: از 1 دی لغایت 25 اردیبهشت 1396.
- بررسی آثار توسط هیئت داوران رقابتی - از 15 تا 30 می 2017.
- اعلام نتایج مسابقه 30 اردیبهشت در پرتال مسابقه.