جواب پودمان ۳ برنامه نویسی پایتون (۲) کاروفناوری هشتم صفحه ۲۶ تا ۳۹
گام به گام پاسخ نامه و حل تمرین های کار کلاسی ، کار غیر کلاسی و پروژه پودمان 3 کار و فناوری هشتم صفحه 26 ، 27 ، 31 ، 33 ، 34 ، 35 ، 38 و 39
در این مطلب به پاسخ و جواب سوالات کار کلاسی ، کار غیر کلاسی ، پروژه و پرسش های صفحه ۲۶ ، ۲۷ ، ۳۱ ، ۳۳ ، ۳۴ ، ۳۵ ، ۳۸ و ۳۹ درس پودمان برنامه نویسی پایتون (۲) کتاب کاروفناوری هشتم متوسطه اول پرداخته ایم. در ادامه با بخش آموزش و پرورش ماگرتا ما همراه باشید.
همچنین بخوانید: جواب پودمان شهروند الکترونیکی ۲ کار و فناوری هشتم
جواب کار کلاسی صفحه ۲۶ کار و فناوری هشتم پودمان برنامه نویسی پایتون
قطعه برنامه زیر را که توسط کتابخانه turtle نوشته شده است، در محیط IDLE بنویسید. خروجی آن به شکل زیر است: خطوط برنامه را تحلیل نموده و شرح دهید.
پاسخ: خط ۱: فراخوانی کتابخانه ترتل turtle برای ترسیم
خط ۲: نسبت دادن کتابخانه ترتل به یک متغیر دلخواه مانند t
خط ۳: تعیین شکل ترسیم کننده به صورت لاک پشت turtle
خط ۴: تعیین رنگ آبی blue برای ترسیم خطوط
خط ۵: تعیین سرعت ترسیم به صورت سریع fast
خط ۶: ساخت صفحه ترسیم جهت ترسیم شکل
خط ۷: تعیین ضخامت ۳ پیکسل برای ترسیم خطوط
خط ۸: ایجاد حلقه تکرار چرخش ۸ ضلعی
خط ۹: ایجاد حلقه تکرار ترسیم ۸ ضلعی
خط ۱۰: ترسیم خط راست به طول ۱۰۰ پیکسل
خط ۱۱: چرخش ۴۵ درجه ترتل به طرف راست جهت ترسیم ۸ ضلعی
خط ۱۲: چرخش ۴۵ درجه ۸ ضلعی به طرف راست و ترسیم دوباره آن
خط ۱۳: مخفی کردن ترسیم کننده لاک پشت از صفحه بعد از ترسیم
کد کامل این ترسیم را در پایین مشاهده می فرمایید: (در صورت نیاز)
import turtle
t=turtle.Turtle()
t.shape("turtle")
t.color("blue")
t.speed("fast")
screen = turtle.Screen()
screen.title("suherfe.blog.ir")
t.width(3)
for i in range(8):
for j in range(8):
t.forward(100)
t.right(45)
t.right(45)
t.hideturtle()
جواب کار غیر کلاسی صفحه ۲۷ کار و فناوری هشتم پودمان ۳
برنامهای بنویسید که تعداد ضلعهای یک شکل هندسی و تعداد تکرار آن را از ورودی دریافت کرده و سپس طرح را به صورت کامل ترسیم کند. نتیجه را به کلاس درس ارائه دهید.
(راهنمایی: برنامه را با استفاده از متد textinput بنویسید.به این منظور از کتابخانه turtle استفاده کنید.)
پاسخ: برنامه ای که تعداد اضلاع شکل و تعداد تکرار آن را دریافت و طرح کامل را ترسیم می کند:
import turtle
laki=turtle.Turtle()
laki.shape("turtle")
laki.color("red")
laki.width(3)
laki.speed(100)
x=int(turtle.textinput("N.Side","Number of sides: "))
y=int(turtle.textinput("repeat-polygon","The number of repetitions: "))
for i in range(y):
for j in range(x):
laki.forward(100)
laki.left(360/x)
laki.left(360/y)
laki.up()
laki.ht()
پاسخ کار غیر کلاسی صفحه ۳۱ کاروفناوری هشتم پودمان برنامه نویسی پایتون
تحقیق کنید که کاراکتر f در خط سوم قطعه برنامهٔ بالا، چه کاربردی دارد؟
پاسخ: در پروژههای مختلف نیاز داریم متغیرها و رشتههای متنی را با هم ترکیب کنیم. به کمک فرمت کردن رشته در پایتون میتوانیم برای چاپ متغیر بین رشته متنی یک ساختار منظم ایجاد کنیم. این ساختارها به خوانایی بهتر کد کمک میکند و اصلاح و توسعه را بهبود میدهد. برای فرمت دهی رشته در پایتون از کاراکتر f استفاده می شود برای استفاده از فرمت رشته باید جایگاه متغیرها در رشته را با علامت {} (آکولاد باز و بسته) تعیین کنیم. یعنی به جای متغیرها در رشته متنی، از آکولادها استفاده میکنیم.برای فرمت کردن رشته پایتون با f کافی است قبل از رشته متنی حرف f را قرار داده و نام اصلی متغیر را مستقیماً درون {}قرار دهیم.
این کاراکتر دریافتی رشته ‘Enter Number {i+1}’ را به لیست وارد می کند.
جواب کار کلاسی صفحه ۳۳ کاروفناوری هشتم
تابعی بنویسید که دو عدد را دریافت کرده و عدد بزرگتر (بیشینه) را چاپ کند.
def maximum():
a=int(input('Number 1 : '))
b=int(input('Number 2 : '))
print(max(a,b))
maximum()
پاسخ کار کلاسی صفحه ۳۴ کاروفناوری هشتم پودمان ۳
در شکل رو به رو ماژولی به نام myModule نوشته شده است که شامل تابع، لیست، تـاپل، سِت، و دیکشنری است. ماژول را به دو روش الف و ب در برنامه دیگری تاپل وارد و از عناصر داخل آن استفاده کنید.
پاسخ: ابتدا کدهای زیر را در محیط IDLE پایتون نوشته و آن را با نام دلخواهی مانند mymodule در یک پوشه ذخیره کنید.
def myfunction(x,y):
if x>y:
return x
else:
return y
return x+y
mylist=[10,20,30,40,50]
mytuple=('omid','reza','amir','sadegh')
myset={10,15,46,2,28,90}
person={'name':'kamran','family':'karimi','Age':21}
حال دستورات الف و ب پایین را در دو فایل پایتون نوشته و ذخیره کنید.
الف) دستور ….. import
یک محیط برنامه نویسی جدید در پایتون باز کرده و کدهای زیر را با دستور import بنویسید.سپس برنامه را در همان پوشه با نام دلخواه ذخیره کنید حال آن را با زدن کلید f5 اجرا کنید.
import myModule
print(myModule.myfunction(10,20))
print(myModule.mylist[4])
print(myModule.mytuple[2])
print(myModule.myset)
print(myModule.person['family'])
ب) دستور … from … import
محیط برنامه نویسی پایتون را باز کرده و کدهای زیر را با دستور … from … import بنویسید.سپس برنامه را در همان پوشه با نام دلخواه ذخیره کنید حال آن را با زدن کلید f5 اجرا کنید.
from mymodule import *
print(myfunction(10,20))
print(mylist[4])
print(mytuple[2])
print(myset)
print(person['family'])
نکته: در روش دوم منظور از ستاره یعنی همه عناصر داخل ماژول و لازم نیست اسم تک تک آنها را نوشته و فراخوانی کنیم.
خروجی دو برنامه بالا به صورت یکسان و مانند جواب پایین است، ولی از دو روش متفاوت استفاده شده است:
20
50
amir
{2, 10, 46, 15, 90, 28}
karimi
جواب کار کلاسی صفحه ۳۵ کار و فناوری هشتم پودمان ۳
آرایه هایی که با ماژول numpy ایجاد می شوند، از نظر سرعت و کارایی چه تفاوتی با آرایه های لیست دارند؟ در گروه خود در این باره بحث و گفت وگو کنید و نتیجه را به کلاس ارائه دهید.
پاسخ: کار کردن با لیست ها ساده تر و برای افراد مبتدی و تازه کار مناسب تر می باشد لیست می تواند انواع مختلف داده مانند متن (رشته) و عدد و… را با هم در یک جا ذخیره کند همچنین می توان عناصر آن را حذف یا اضافه کرد و قابل تغییرند. مضافاَ لیست ساختار دادهای شامل عناصر مرتب شدهای است که میتوان به هر عنصر با استفاده از یک اندیس دسترسی داشت در صورتی که بخواهیم انواع دادههای مختلف را در یک آرایه ذخیره کنیم، بهتر است از لیست استفاده شود.
اما آرایه هایی که با ماژول numpy ایجاد می شوند،از پیچیده گی بیشتری برخوردار هستند و برای ساخت آنها باید از توابع خاص استفاده کرد. آرایه میتواند عناصر یک نوع خاص دادهای را در خود نگه دارد، مانند عدد یا رشته. برای ساختن آرایه در پایتون باید از کتابخانه NumPy استفاده کرد و تغییر داده آن از طریق عملیات ریاضی صورت میگیرد.
آرایه ها می توانند داده ها را بیشتر فشرده و ذخیره کنند
آرایه ها برای ذخیره مقادیر زیاد داده مناسبتر هستند.
آرایه ها برای عملیات های عددی مناسب هستند.
اما لیست ها نمی توانند مستقیماً عملیات ریاضی را انجام دهند.
بنابراین، تفاوت اصلی بین لیست و آرایه در پایتون در این است که لیست میتواند حاوی هر نوع دادهای باشد ، در حالی که آرایه محدود به یک نوع داده است و اندازه آن ثابت است. به علاوه، تغییر اندازه لیست سادهتر از آرایه است، چون لیست میتواند عناصر را به راحتی اضافه و حذف کند، در حالی که آرایه باید با توجه به محدودیت اندازه خود تعداد عناصرش را دقیقاً تعیین کند.
اگر نیاز به ذخیره مقدار کوتاهی از آیتم ها دارید و قصد انجام عملیات ریاضی با آن ها را ندارید، استفاده از لیست بهتر است. لیست به شما این امکان را میدهد که بدون وارد کردن ماژولها یا پکیج های اضافی، دنبالهای از آیتمهای مرتب، قابل تغییر و فهرستشده را ذخیره کنید.
اگر دنباله ای بسیار طولانی از آیتم ها دارید، از یک آرایه استفاده کنید. این ساختار ذخیره سازی داده کارآمدتری را ارائه می دهد.اگر قصد انجام هر گونه عملیات عددی دارید، از یک آرایه استفاده کنید. تجزیه و تحلیل داده ها و علم داده به شدت به آرایه ها (بیشتر NumPy) متکی هستند.
با استفاده از کتابخانه NumPy، میتوان بر روی آرایههای NumPy، عملیات ریاضی مانند جمع، تفریق، ضرب و تقسیم را انجام داد، در حالی که برای لیستها این عملیاتها امکانپذیر نیست و باید از یک حلقه برای انجام آنها استفاده کرد.
لیستها اغلب برای ذخیره و مدیریت دادههایی با اندازه متغیر استفاده میشوند، در حالی که آرایهها به دلیل اندازه ثابت خود، کمتر حافظه مصرف میکنند و در برخی موارد سرعت بیشتری نسبت به لیست دارند.
به طور کلی در بسیاری از موارد پیشنهاد میشود تا از list در برنامهی خود استفاده کنید و در صورتی که در آینده نیاز به بهینه سازی کد خود داشتید، میتوانید آن را تغییر دهید. چرا که استفاده از list ها ساده تر بوده و همچنین سایر برنامه نویسان نیز با این نوع داده آشنایی کامل دارند. در صورتی که نیاز به ذخیره و مدیریت دادههایی با اندازه متغیر دارید، لیستها گزینه بهتری هستند. در صورتی که نیاز به ذخیره و مدیریت دادههایی با اندازه ثابت و یا نیاز به سرعت بالا در انجام عملیاتها دارید، آرایهها بهترین گزینه هستند.پس برای انتخاب بین لیست و آرایه، باید نیازمندیهای خود را در نظر گرفته و با توجه به ویژگیهای هر یک، تصمیم گیری کرد.
حل کار کلاسی صفحه ۳۸ کار و فناوری هشتم
دو قطعه برنامهٔ بالا را اجرا و خروجی آنها را با هم مقایسه کنید.
پاسخ: در حالت اول، متن وارد شده به انتهای فایل موجود اضافه می شود، ولی در حالت دوم، متن وارد شده جایگزین محتوای فایل می شود.
پاسخ کار کلاسی صفحه ۳۹ کاروفناوری هشتم پودمان برنامه نویسی پایتون
۱- تابعی بنویسید که ولتاژ دو سر یک لامپ رشتهای و مقاومت آن را دریافت کرده و شدت جریانی که از آن عبور میکند را برگرداند. سپس آن را فراخوانی کنید.
def amper():
V=float(input('voltage: '))
R=float(input('resistance: '))
A=V/R
print('Amper =',A)
amper()
۲- با استفاده از رابطه فیثاغورس، تابعی بنویسید که سه عدد را به عنوان اضلاع یک مثلث، دریافت کرده و تشخیص دهد که آیا یک مثلث قائم الزاویه تشکیل می دهند؛ یا خیر؟ سپس آن را فراخوانی کنید.
def qaem():
a=int(input('side length1= '))
b=int(input('side length2= '))
c=int(input('side length3= '))
if a^2==b^2+c^2 or b^2==a^2+c^2 or c^2==a^2+b^2:
print('Right triangle')
else:
print('not Right triangle')
qaem()
جواب پروژه پودمان برنامه نویسی پایتون صفحه ۳۹ کاروفناوری هشتم
الف) برنامهای بنویسید که با اجرای آن منویی با گزینههای زیر ظاهر شود.
زمانی که کاربر دکمههای a تا d از صفحه کلید رایانه را فشار دهد، دستورهای داخل منو توسط برنامه اجرا میشود و به طور مداوم منو ظاهر میشود. هنگامی که کاربر حرف e را فشار میدهد، از برنامه خارج شده و منو نمایش داده نمیشود.
ب) با توجه به مطالبی که در پودمان الگوریتم آموختهاید، قبل از نوشتن برنامه، الگوریتم آن را به دو روش شبه دستور و نمودار روندنما رسم کنید.
راهنمایی: برای هر کدام از موارد اضافه کردن، حذف و نمایش دادههای لیست، تابعی جداگانه بنویسید و آن را فراخوانی کنید. در پایان توابع را داخل ماژولی ذخیره کرده و آن را در برنامه خودتان import کنید.
پاسخ: بزودی قرار خواهیم داد.
همچنین بخوانید: جواب پودمان الکترونیک کاروفناوری هشتم
توجه: شما دانش آموز پایه هشتم متوسطه اول می توانید برای دسترسی سریع و آسان تر به جواب سوالات پودمان های کتاب کار و فناوری پایه هشتم متوسطه اول ، در انتهای عنوان خود عبارت «ماگرتا» را نیز در گوگل جستجو کنید.
در انتها امیدواریم که مقاله جواب سوالات بارش فکری و پرسش های پودمان ۳ برنامه نویسی پایتون ۲ کتاب کار و فناوری هشتم ، برای شما دانش آموزان عزیز مفید بوده باشد.