نشریه‌ی الکترونیکی رایانا

گروه کامپیوتر مرکز راهنمایی علامه حلی یک تهران

نشریه‌ی الکترونیکی رایانا

گروه کامپیوتر مرکز راهنمایی علامه حلی یک تهران

نشریه‌ی الکترونیکی رایانا
طبقه بندی موضوعی
آخرین نظرات

۵ مطلب توسط «آقای قدسی» ثبت شده است

همه دستورات مورد نیاز برای آزمون پایان نیمسال!

برای دریافت دستورات اینجا کلیک کنید.


رمز فایل را از روی برد مدرسه بخوانید!

۲ نظر ۰۹ دی ۹۵ ، ۰۹:۲۰
آقای قدسی

توضیحاتی درباره روش ایجاد کتابخانه و استفاده از اون در برنامه‌هاتون

* کتابخونه اصلا چی هست؟
همونایی که import شون می‌کنیم. مثل turtle, random و ... هرکی می‌تونه یه کتابخونه‌ی جدید بسازه و به پایتون اضافه کنه! خیلی از برنامه نویسای حرفه‌ای کتابخونه‌های حرفه‌ای می‌سازن و اونو توی اینترنت می‌گذارن تا بقیه هم بتونن از اونا استفاده کنند.

* کتابخونه به چه دردی می‌خوره؟
فکر کنید turtle.circle وجودد نداشت. چطوری باید دایره می‌کشیدیم؟ هر بار که می‌خواستیم دایره بکشیم، باید این حلقه را می‌نوشتیم:

for i in range (...):
        turtle.forward(...)
        turtle.left(...)

تازه ... ها رو هم هر دفعه باید محاسبه می‌کردیم تا دایره مون اندازه‌ای که می‌خواهیم بشه! ولی یک بار یک نفر اومده و این کارو با محاسباتش برای همیشه برامون انجام داده. و با اسم circle گذاشته توی کتابخونه‌ی turtle.
حالا فکرشو بکنید اگر بقیه کدهایی که تکرار می‌کنیم هم مثل turtle.circle توی یک کتابخونه داشته باشیم.
مثلا یک کتابخونه ریاضی حرفه ای که تابع فاکتوریل و فیبوناچی و ... را داشته باشد. یا یک کتابخونه که input ش طرح و رنگ خاص خودشو داشته باشد و اگر کاربر بجای عدد چیز دیگه ای نوشت، پیغام مناسب بده و دوباره از کاربر عدد بگیره
و کلا هر ایده خلاقانه ای که شما داشته باشید.

* چطوری کتابخونه بسازیم؟
یک فایل پایتون ایجاد می‌کنیم، توش دستوراتمون رو به صورت def می‌نویسیم و می‌گذاریمش توی پوشه‌ی‌ Lib که در محل نصب پایتون قرارا داره. مثلا اگر پایتون در c:\python27 نصب شده، توی اون یک پوشه‌ی ‌Lib هست. کافیه متن زیرو توی اون پوشه به ذخیره کنید. هر اسمی خواستید روی فایل بگذارید ولی اسمشو یادتو بمونه که بعدا کارش داریم. پسوندش هم مثل همه فایل های پایتون باید py باشه. من اسمشو می‌گذارم riazi.py

def factorial(n):
        f = 1
        for i in range(2, n):
                f = f * i
        return f

* چطوری ازش استفاده کنیم؟
این ساده ترین قسمت کاره: همون طوری که از turtle و random استفاده می‌کنیم. مثلا

import riazi
x = riazi.factorial(5)

که در اینجا riazi اسم فایل کتابخونمونه که توی پوشه‌ی ‌Lib ساختیم.

تذکر 1: حواستون باشه اگر خواستید کد برنامه را بیارید مدرسه یا ببرید جای دیگه، حتما فایل کتابخونه رو هم همراهتون داشته باشید.


تذکر 2: توجه داشته باشید که متغیرهای فایل کتابخونه با متغیرهای فایل اصلی یکی نیستند. مثلا اگر توی کتابخونه بنویسیم pi = 3.14 و توی فایل اصلی بنویسیم print(pi) برنامه اصلی خطا خواهد داد. پس اگر خواستیم عدد پی رو توی کتابخونه ذخیره کنیم راهش استفاده از def است:

def pi():
        return 3.14

و توی برنامه‌هامونم باید بنویسید:

print(riazi.pi())

نکته: این مطلب یک import ساده بود و import به اینجا ختم نمی‌شود.


یک کتابخونه‌ی آزمایشی و یک نمونه از ‌کاربردش هم می‌نویسم. چه نکته یا نکته‌های جدیدی می‌تونید توی این مثال کشف کنید؟

فایل کتابخونه‌ی ‌naghsh.py :

import turtle
def star(n=100):
        for i in range(6):
                turtle.forward(n)
                turtle.right(144)
        turtle.left(144)

فایل برنامه‌ی اصلی:

import naghsh
naghsh.star(50)
naghsh.star()

۱ نظر ۰۴ تیر ۹۴ ، ۰۳:۲۵
آقای قدسی

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

مثال: 1.333         پاسخ: 4/3

مثال: 0.68421     پاسخ: 13/19

هرچه مخرج کسر کوچک‌تر باشد بهتر است. مثلا 4/3 بهتر از 8/6 است.

راهنمایی: از راهنمایی سوال 3 استفاده کنید.

پاسخ در ادامه ی مطلب

۰ نظر ۰۵ خرداد ۹۴ ، ۰۶:۵۹
آقای قدسی

برنامه ای بنویسید که کوچکترین عدد اولی که مجموع ارقام آن n می‌شود را چاپ نماید.

ورودی مثال:

13

خروجی مثال:

67

فکر کنید سوال امتحانه. اول چیکار می‌کنید؟ (البته بعد از چند ثانیه هنگ کردن!)

سوالات آزمون به این سختی نیست. این سوال فقط جنبه آموزش دارد. آموزش "چگونه سر امتحان خود را از هنگ خارج نماییم"

راهنمایی: اول فرض می‌کنیم این سوال را خودمون (بدون استفاده از رایانه) می‌خواهیم حل کنیم، بعد از اینکه راهش را پیدا کردیم، کم کم همون راه را مرحله به مرحله به رایانه حالیش کنید! (به زبان python ترجمه کنید)

پاسخ در ادامه ی مطلب

۷ نظر ۰۵ خرداد ۹۴ ، ۰۶:۵۰
آقای قدسی

فقط 10 نوع آدم در دنیا وجود دارد:

آنها که می‌توانند دودویی (binary) بخوانند.

و آنها که نمی‌توانند.

۱۵ نظر ۰۶ آبان ۹۳ ، ۱۱:۳۰
آقای قدسی