SQL


یک شرکت بسیار بزرگ، اطلاعات کارمندان خود را در یک جدول در یک پایگاه داده MySQL قرار داده است. اطلاعات در یک جدول به نام auth_user قرار دارد و نام ستون‌های آن ,uid,username,first_name,last_name city, salary می‌باشد. ستون‌های uid ، salary از نوع int و بقیه ستون ها از نوع varchar می‌باشد.

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

لیست کارها🔗

۱) اطلاعات کارمندان زیر را به پایگاه داده اضافه کنید.

username first_name last_name city salary uid
sajadw3s sajad kazemi esfahan 5245 1001
ahmadnpo ahmad mohebi tehran 9875 1002
kazemsin kazem jafari mashhad 1254 1003

۲) جدول را طوری به روز رسانی کنید که کسانی که نامشان (first_name آن‌ها) Myron است مقدار حقوق آن‌ها ۱۰۰ واحد اضافه شود.

۳) تمام کارمندانی که نام کاربری (username) آن‌ها ‍atillman است را حذف کنید.

۴) شماره (uid) کارمندانی را بدهید که حقوق آن‌ها بیشتر از تمام کسانی است که نام کاربری آنها با حرف e آغاز می‌شود.

روش پیاده‌سازی🔗

در یک فایل code.sql کد خود را قرار دهید و آن را فشرده (zip) کنید و در سایت بارگذاری نمایید. کد شما باید به صورت زیر باشد.

-- Section1
   your first query here
-- Section2
   your second query here
-- Section3
   your third query here
-- Section4
   your fourth query here
Plain text

PHP


برای این سوال شما باید یک کلاس تعریف کنید که لازم نیست هیچ کار خاصی انجام دهد! صرفا بداند که تا کنون چند شی از آن ساخته شده است.
باید یک کلاس با نام MyClass تعریف کنید، که یک تابع به نام get_count دارد که هر وقت صدا زده می شود، در خروجی تعداد شی هایی که از آن کلاس ساخته شده را بر می گرداند.

برای مثال کد زیر را در نظر بگیرید:

\$obj = new MyClass();  
\$obj = new MyClass();  
\$obj = new MyClass();  
echo MyClass::get_count();   
Plain text

در صورتی که کلاس MyClass به درستی ساخته شده باشد، این کد عدد 3 را در خروجی چاپ می کند.
فایل خود (فایل تعریف کلاس MyClass) با نام submission.php در یک فایل فشرده شده (zip) قرار دهید و آپلود کنید.

Laravel


یک پروژه لاراول خالی در اختیار شما قرار داده شده است:
http://bayanbox.ir/info/8323962390710563027/project
برای اجرای صحیح پروژه در ترمینال و در دایرکتوری پروژه، دستور زیر را اجرا کنید:
composer update

در این پروژه تغییراتی ایجاد کنید URI ای به شکل زیر ایجاد شود، که هر عبارتی بعد print آمد را چاپ کند:
/print/Something
یعنی خط بالا در صفحه، کلمه Something را چاپ می کند و خط پایین در صفحه کلمه Hello_Quera را چاپ می کند:
/print/Hello_Quera

همچنین اگر بعد از print عبارت 404 آمده بود، باید یک خطای 404 - Not Found از طرف پروژه برگردد.
برای ارسال، پوشه vendor را از پروژه حذف کنید و پروژه خود را با ترمینال zip کنید (جهت zip شدن فایل های پنهان مانند .env از ترمینال استفاده کنید. دستور zip) و سپس فایل فشرده شده را ارسال کنید.

شمارش رشته (لینوکس)


یک اسکریپت Bash به نام wordcount.sh بنویسید که آدرس یک فایل را به همراه یک رشته به عنوان آرگومان دریافت کند و تعداد تکرار رشته داده‌شده در آن فایل را بدون توجه به بزرگی و کوچکی حروف، در خروجی استاندارد (stdout) بنویسد.

همچنین در صورتی که فایل داده‌شده وجود ندارد، در stderr بنویسد File not found.

نکته: رشته داده‌شده در هرجای متن که باشد شمرده می‌شود. حتی اگر جزئی از یک کلمه دیگر باشد. مثلاً اگر می‌خواهیم تعداد تکرار رشته and را بشماریم، این رشته را در میان کلمه standard نیز به حساب می‌آوریم.

نمونه🔗

فایل sample.txt:

In computer programming, standard streams are preconnected input and
output communication channels between a computer program and its
environment when it begins execution. The three I/O connections are
called standard input (stdin), standard output (stdout) and standard
error (stderr). Originally I/O happened via a physically connected
system console (input via keyboard, output via monitor), but standard
streams abstract this. When a command is executed via an interactive
shell, the streams are typically connected to the text terminal on
which the shell is running, but can be changed with redirection, e.g.
via a pipeline. More generally, a child process will inherit the
standard streams of its parent process.
Plain text

نتیجه اجرای اسکریپت:

bash wordcount.sh sample.txt the
5

bash wordcount.sh sample.txt and
10

bash wordcount.sh sample.txt "via a"
3

bash wordcount.sh /nowhere/not-existing-file.txt command
File not found
Plain text

فایل wordcount.sh را به صورت یک فایل zip فشرده کنید و به عنوان پاسخ آپلود کنید.

جاوا


سطح سوال: ساده

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

در مدرسه‌ی موش‌ها تعدادی کلاس درس داریم که ظرفیت هر کلاس 10 دانش‌آموز است. فایل MiceSchool.zip را دانلود کرده و دو کلاس Student و Course را مشاهده کنید. در کلاس Course تعدادی متد با بدنه‌ی خالی وجود دارد که شما باید با توجه به توضیحات زیر آن‌ها را پیاده‌سازی کنید:

رفتار نام متد
تعداد دانش‌آموزان ثبت‌نام‌کرده در کلاس را برمی‌گرداند. public int getNumOfStudents()
آرایه‌ای شامل دانش‌آموزان ثبت‌نام‌کرده را برمی‌گرداند. public Student[] getStudents()
نام کلاس درس را برمی‌گرداند. public String getName()
با توجه به پارامتر داده‌شده، کلاس درس را نام‌گذاری می‌کند. public void setName(String s)
دانش‌آموز داده‌شده در پارامتر را در کلاس درس ثبت‌نام می‌کند. public boolean register(Student s)

نکات

  • با توجه به رفتار متدهای موجود، فیلدهای کلاس Course را خودتان تشخیص داده و به آن اضافه نمایید.
  • هیچ‌یک از فیلدهای کلاس Course نباید از طریق کلاس‌های دیگر قابل دسترس باشند.
  • متد register اگر ظرفیت کلاس تکمیل شده باشد، مقدار false و در غیر این صورت مقدار true برمی‌گرداند.
  • بدیهی است که طول آرایه‌ی بازگشتی از متد getStudents باید به اندازه تعداد دانش‌آموزانی باشد که ثبت‌نام کرده‌اند.

آنچه باید آپلود کنید:

یک فایل zip که در آن پوشه src و در آن پوشه main و در آن پوشه java و کد شما به اسم Course.java در این پوشه قرار می‌گیرد.

<Your-zip-name>.zip
   └── src
       └── main
           └── java
                └── Course.java
Plain text

پایتون


سطح سوال: ساده

در مدرسه‌ی موش‌ها تعدادی کلاس درس داریم که ظرفیت هر کلاس 10 دانش‌آموز است. فایل MiceSchool.zip را دانلود کرده و دو کلاس Student و Course را مشاهده کنید. در کلاس Course تعدادی متد با بدنه‌ی خالی وجود دارد که شما باید با توجه به توضیحات زیر آن‌ها را پیاده‌سازی کنید:

رفتار نام متد
تعداد دانش‌آموزان ثبت‌نام‌کرده در کلاس را برمی‌گرداند. (یک عدد صحیح) getNumOfStudents()
لیستی شامل دانش‌آموزان ثبت‌نام‌کرده را برمی‌گرداند. getStudents()
یک رشته شامل نام کلاس درس را برمی‌گرداند. getName()
با توجه به پارامتر داده‌شده، کلاس درس را نام‌گذاری می‌کند. ورودی آن یک رشته است و هیچ چیز برنمی‌گرداند. setName(s)
دانش‌آموز داده‌شده در پارامتر را در کلاس درس ثبت‌نام می‌کند. ورودی این تابع یک شی از نوع Student خواهد بود. register(s)

*نکات*

  • با توجه به رفتار متدهای موجود، فیلدهای کلاس Course را خودتان تشخیص داده و به آن اضافه نمایید.
  • متد register اگر ظرفیت کلاس تکمیل شده باشد، مقدار False و در غیر این صورت مقدار True برمی‌گرداند.
  • بدیهی است که طول لیست بازگشتی از متد getStudents باید به اندازه تعداد دانش‌آموزانی باشد که ثبت‌نام کرده‌اند.

*آنچه باید آپلود کنید:*

یک فایل zip که فقط شامل فایل course.py است. یعنی وقتی فایل zip را باز می‌کنیم، فقط فایل course.py را ببینیم.

Swift


در مدرسه‌ی موش‌ها تعدادی کلاس درس داریم که ظرفیت هر کلاس 10 دانش‌آموز است. فایل MiceSchool.zip را دانلود کرده و دو کلاس Student و Course را مشاهده کنید. در کلاس Course تعدادی متد با بدنه‌ی خالی وجود دارد که شما باید با توجه به توضیحات زیر آن‌ها را پیاده‌سازی کنید:

رفتار نام متد
تعداد دانش‌آموزان ثبت‌نام‌کرده در کلاس را برمی‌گرداند. func getNumberOfStudents() -> Int
آرایه‌ای شامل دانش‌آموزان ثبت‌نام‌کرده را برمی‌گرداند. func getStudents() -> [Student]
نام کلاس درس را برمی‌گرداند. func getName() -> String
با توجه به پارامتر داده‌شده، کلاس درس را نام‌گذاری می‌کند. func setName(_ name: String)
دانش‌آموز داده‌شده در پارامتر را در کلاس درس ثبت‌نام می‌کند. func register(student: Student) -> Bool

نکات

  • با توجه به رفتار متدهای موجود، فیلدهای کلاس Course را خودتان تشخیص داده و به آن اضافه نمایید.
  • متد register اگر ظرفیت کلاس تکمیل شده باشد، مقدار false و در غیر این صورت مقدار true برمی‌گرداند.
  • بدیهی است که طول آرایه‌ی بازگشتی از متد getStudents باید به اندازه تعداد دانش‌آموزانی باشد که ثبت‌نام کرده‌اند.

آنچه باید آپلود کنید:

فایل آپلودی

یک فایل zip. که درون آن یک فولدر به نام Sources وجود دارد و در آن، فایل Course.swift قرار دارد.

<Your-zip-name>.zip
    └── Sources
         ├── Course.swift
         └── Student.swift
Plain text

Django


دانشگاه Stanford به تازگی تصمیم گرفته است که اطلاعات دانشجویان را روی سایت ذخیره کند !! به این جهت به یکی از برنامه نویسان Django سفارش داده تا بخش Back-end این سایت را پیاده سازی کند. مسئولین دانشگاه هنگامی که پروژه را تحویل گرفتند متوجه شدند که قسمت views.py داخل پوشه‌ی university ناقص است و به این دلیل بعضی از درخواست (url) های سایت جواب داده نمی‌شود.

پوشه‌ی پروژه را از اینجا دانلود کنید و محتوای فایل university/views.py را به گونه‌ای تغییر دهید که ۵ مدل درخواست (url) زیر پاسخ داده شوند.

دقت کنید که شما فقط باید محتوای فایل views.py واقع در پوشه ی university را تغییر دهید.

مدل۱ URL response
۱. http://127.0.0.1:8000/students/ صفحه student_list.html شامل لیست دانشجویان و شماره دانشجویی هر فرد واقع در پوشه‌ی university/templates
نمونه: http://127.0.0.1:8000/students/ نمونه html
مدل۲ URL response
۲. http://127.0.0.1:8000/courses/ صفحه course_list.html شامل لیست دانشجویان و شماره دانشجویی هر فرد واقع در پوشه‌ی university/templates
نمونه: http://127.0.0.1:8000/courses/ نمونه html
مدل۳ URL response
۳. http://127.0.0.1:8000/student/student_number/ صفحه‌ی student_detail.html شامل اطلاعات دانشجو با شماره دانشجویی خاص واقع در پوشه ی university/templates
نمونه: http://127.0.0.1:8000/student/9431020/ نمونه html
مدل۴ URL response
۴. http://127.0.0.1:8000/course/course_number/ صفحه‌ی course_detail.html شامل اطلاعات درس با شماره درس خاص واقع در پوشه ی university/templates
نمونه: http://127.0.0.1:8000/course/2/ نمونه html
مدل۵ URL response
۵. http://127.0.0.1:8000/student/student_number/GPA صفحه‌ی GPA_detail.html شامل اطلاعات معدل و درس دانشجو با شماره دانشجویی خاص واقع در پوشه ی university/templates
نمونه: http://127.0.0.1:8000/student/9431020/GPA نمونه html

آنچه باید upload کنید :

فایل فشرده ای (zip) که محتوی یک پوشه به نام university باشد و داخل پوشه ی university فایل veiws.py موجود باشد.

<Your-zip-name>.zip 
     └─── university
            └── views.py
Plain text

نمایش رنگ‌ها (Frontend)


می‌خواهیم یک app با HTML/CSS/JS بنویسیم که کد hex یک رنگ را دریافت کند و آن رنگ را به ما نشان دهد. برای این کار کد HTML زیر را نوشته‌ایم که یک input و یک div در آن قرار دارد:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>HTML Color Test</title>
    <style type="text/css">
        #color_preview {
            width: 200px;
            height: 200px;
            border: 1px solid grey;
            background-color: white;
        }
    </style>
</head>

<body>
    <h1>HTML Color Test</h1>
    <input id="color_input" type="text"/>
    <br/><br/>
    <div id="color_preview"></div>
</body>
</html>
HTML

توضیح تصویر

می‌خواهیم به کمک JS کاری کنیم که وقتی کد hex یک رنگ در input نوشته شد، رنگ پس‌زمینه div به آن رنگ تغییر کند تا بتوانیم آن رنگ را مشاهده کنیم :

توضیح تصویر

باید به محض تغییر مقدار داخل input، رنگ div بر اساس آن مقدار به روز شود. همچنین می‌خواهیم در صورتی که کاربر مقدار نامعتبری وارد کرد، رنگ div سیاه شود. مثال‌هایی از مقادیر نامعتبر: aa، 4a4b4z، aaaaaaa. مثال‌هایی از مقادیر معتبر: 777، 4f568e، a8c

تغییرات موردنظر را اعمال کنید و فایل(ها) را در یک فایل zip ارسال کنید. نام فایل HTML اصلی را index.html قرار دهید. همچنین می‌توانید در کنار آن تعدادی فایل .js قرار دهید.

نکات:

  • دقت کنید که فایل index.html داخل ریشه فایل zip باشد (داخل هیچ پوشه‌ای نباشد.)
  • مقدار id را برای input و div تغییر ندهید.