نصب اپلیکیشن

صفحه رسمی مای درس

اطلاع از آخرین تغییرات، جوایز و مسابقات مای درس
دنبال کردن

پاسخ به تمامی سوالات فصل برنامه نویسی - حل المسائل فصل 4 برنامه نویسی - گام به گام 1401 کتاب کار و فناوری نهم - گام به گام کتاب کار و فناوری نهم مطابق با آخرین تغییرات کتب درسی



مقدمه صفحه 40 درس برنامه نویسی کار و فناوری نهم

پاسخ مقدمه صفحه 40 درس 4

جواب مقدمه صفحه 40 درس 4 کار و فناوری نهم

در سال گذشته با مباحثی همچون متغیرها، عملگرها، ساختارهای شرطی if-else، if-elif و حلقه یا همان ساختار تکرار for آشنا شدید. افزون بر این ها، چگونگی دریافت مقادیر از ورودی و چاپ مقدار متغیرها در خروجی را دیدید. همان طورکه می دانید متغیرها، خانه ای از حافظه اند که مقداری را به طور موقت در خود ذخیره می کنند. ازاین رو برنامه نویسان با دو پرسش اساسی مواجه می شوند.

1 آیا می توان یک ساختار داده ای را ایجاد کرد که چندین مقدار را داخل خودش ذخیره کند؟

بله، می توان یک ساختار داده ای را ایجاد کرد که چندین مقدار را داخل خودش ذخیره کند. این ساختار داده ای به عنوان یک آرایه یا لیست شناخته می شود و به صورت مجموعه ای از عناصر با نام های مختلف و با شماره گذاری ترتیبی (index) در آرایه قابل دسترس است.

2 چگونه می توان داده های ورودی از کاربر را به صورت دائمی در حافظه رایانه ذخیره کرد؟

در زبان‌های برنامه‌نویسی، می‌توانید از فایل‌ها یا پایگاه داده‌ها برای ذخیره داده‌های ورودی کاربر به صورت دائمی در حافظه رایانه استفاده کنید. به عنوان مثال، در زبان‌های مانند Python، شما می‌توانید از کتابخانه‌های مختلفی مانند pickle یا json برای ذخیره و بازیابی داده‌ها استفاده کنید. همچنین، اگر نیاز به ذخیره سازی داده‌ها در پایگاه داده دارید، می‌توانید از SQLite یا MySQL استفاده کنید تا داده‌های ورودی را در پایگاه داده ذخیره کنید و بازیابی کنید.



مای درس ، برترین اپلیکیشن کمک درسی ایران

پوشش تمام محتواهای درسی پایه نهم
  • آزمون آنلاین تمامی دروس پایه نهم
  • گام به گام تمامی دروس پایه نهم
  • ویدئو های آموزشی تمامی دروس پایه نهم
  • گنجینه ای از جزوات و نمونه سوالات تمامی دروس پایه نهم
  • فلش کارت های آماده دروس پایه نهم
  • گنجینه ای جامع از انشاء های آماده پایه نهم
  • آموزش جامع آرایه های ادبی، دستور زبان، قواعد زبان انگلیسی و ... ویژه پایه نهم

کاملا رایگان

+500 هزار کاربر


همین حالا نصب کن



کار کلاسی صفحه 40 درس برنامه نویسی کار و فناوری نهم

پاسخ کار کلاسی صفحه 40 درس 4

جواب کار کلاسی صفحه 40 درس 4 کار و فناوری نهم

قطعه برنامه زیر را که توسط کتابخانه turtle نوشته شده است، در محیط IDLE بنویسید. خروجی آن به شکل زیر است:

خطوط برنامه را تحلیل نموده و شرح دهید.

این کد پایتون یک شکل هشت ضلعی با استفاده از کتابخانه turtle ایجاد می‌کند. ابتدا یک شیء Turtle ایجاد می‌شود و سپس شکل آن به صورت لاک پشت تنظیم می‌شود و رنگ آن به آبی تغییر می‌دهد. سرعت حرکت آن نیز به سرعت  fastتنظیم می‌شود. سپس یک صفحه نمایش جدید برای نمایش شکل ایجاد می‌شود و عرض خطوط رسم شده توسط لاک پشت به 3 تغییر می‌دهد.

سپس با استفاده از دو حلقه for، لاک پشت به صورت هشت ضلعی حرکت می‌کند. در هر دور حلقه داخل، لاک پشت 100 واحد به جلو حرکت کرده و سپس 45 درجه به راست چرخیده و این عمل را هشت بار تکرار می‌کند. سپس 45 درجه به راست چرخیده و این عمل را دوباره تکرار می‌کند.

در نهایت، لاک پشت پنهان شده و نمایش داده نمی‌شود.





کار غیر کلاسی صفحه 41 درس برنامه نویسی کار و فناوری نهم

پاسخ کار غیر کلاسی صفحه 41 درس 4

جواب کار غیر کلاسی صفحه 41 درس 4 کار و فناوری نهم

برنامه ای بنویسید که تعداد ضلع های یک شکل هندسی و تعداد تکرار آن را از ورودی دریافت کرده و سپس طرح را به صورت کامل ترسیم کند. نتیجه را به کلاس درس ارائه دهید.

(راهنمایی: برنامه را با استفاده از متد textinput بنویسید. به این منظور از کتابخانۀ turtle استفاده کنید.)

import turtle

t = turtle.Turtle()

 

t.shape("turtle")

t.color("blue")

t.speed("fast")

screen = turtle.Screen()

 

a = int(turtle.textinput("تعداد ضلع", ":تعداد اضلاع را وارد کنید"))

b = int(turtle.textinput("تعداد تکرار", ":تعداد تکرار را مشخص کنید"))

 

t.width(3)

for i in range(b):

    for j in range(a):

        t.forward(50)

        t.right(int(360/a))

    t.right(int(360/b))

t.hideturtle()





کار غیرکلاسی صفحه 45 درس برنامه نویسی کار و فناوری نهم

پاسخ کار غیرکلاسی صفحه 45 درس 4

جواب کار غیرکلاسی صفحه 45 درس 4 کار و فناوری نهم

تحقیق کنید که کاراکتر f در خط سوم قطعه برنامهٔ بالا، چه کاربردی دارد؟

کاراکتر f در خط سوم این برنامه، برای فراخوانی متغیرها در رشته‌ها استفاده می‌شود. در اینجا، کاراکتر f به کاربر اجازه می‌دهد تا مقدار متغیر i+1 را به عنوان ورودی برای تابع input() در هنگام اجرای برنامه وارد کند. به عبارت دیگر، این کاراکتر به صورت دینامیک مقادیر مختلف را در رشتهٔ ورودی نمایش می‌دهد.



مای درس ، برترین اپلیکیشن کمک درسی ایران

پوشش تمام محتواهای درسی پایه نهم
  • آزمون آنلاین تمامی دروس پایه نهم
  • گام به گام تمامی دروس پایه نهم
  • ویدئو های آموزشی تمامی دروس پایه نهم
  • گنجینه ای از جزوات و نمونه سوالات تمامی دروس پایه نهم
  • فلش کارت های آماده دروس پایه نهم
  • گنجینه ای جامع از انشاء های آماده پایه نهم
  • آموزش جامع آرایه های ادبی، دستور زبان، قواعد زبان انگلیسی و ... ویژه پایه نهم

کاملا رایگان

+500 هزار کاربر


همین حالا نصب کن



کار کلاسی صفحه 47 درس برنامه نویسی کار و فناوری نهم

پاسخ کار کلاسی صفحه 47 درس 4

جواب کار کلاسی صفحه 47 درس 4 کار و فناوری نهم

تابعی بنویسید که دو عدد را دریافت کرده و عدد بزرگ تر (بیشینه) را چاپ کند.

def bozorg(a, b):

    if(a>b):

        return a

    elif (a<b):

        return b

    else:

        return NULL

 

a=int(input("Adad Aval Ra Vared Konid: "))

b=int(input("Adad Dovvom Ra Vared Konid: "))

 

if(a!=b):

    print(f'Adad Bozorgtar Barabr Ast Ba: {bozorg(a, b)}')

else:

    print("Do Adad Barabarand!")





کار کلاسی صفحه 48 درس برنامه نویسی کار و فناوری نهم

پاسخ کار کلاسی صفحه 48 درس 4

جواب کار کلاسی صفحه 48 درس 4 کار و فناوری نهم

در شکل روبه رو ماژولی به نام myModule نوشته شده است که شامل تابع، لیست، تاپل، سِت، و دیکشنری است. این ماژول را به دو روش الف و ب در برنامه دیگری وارد و از عناصر داخل آن استفاده کنید.

ابتدا ماژول myModule را نوشته و در یک پوشه ذخیره می کنیم. سپس در همان پوشه یک فایل دیگر ایجاد می کنیم تا برنامه ای برای الف و برنامه ای برای ب بنویسیم:

الف) دستور import …

import myModule

 

print(myModule.myFunction(5,6))

print(myModule.Person['name'])

print(myModule.myTuple[1])

print(myModule.mySet)

print(myModule.myList[0])

ب) دستور from … import …

from myModule import *

 

print(myFunction(5,6))

print(Person['name'])

print(myTuple[1])

print(mySet)

print(myList[0])

توجه کنید که وقتی در انتهای خط اول به جای متغیر از * استفاده می کنیم، یعنی هر چه هست را فراخوانی کن!

خروجی هر دو برنامه به صورت زیر می شود:

6

kamran

reza

{2, 10, 46, 15, 90, 28}

10

توجه کنید که در برنامه الف، بایستی حتما قبل از متغیر یا تابع، نام ماژول قرار بگیرد، اما در برنامه ب، نیاز به چنین کاری نیست.





کار کلاسی صفحه 49 درس برنامه نویسی کار و فناوری نهم

پاسخ کار کلاسی صفحه 49 درس 4

جواب کار کلاسی صفحه 49 درس 4 کار و فناوری نهم

آرایه هایی که با ماژول numpy ایجاد می شوند، از نظر سرعت و کارایی چه تفاوتی با آرایه های لیست دارند؟ در گروه خود در این باره بحث و گفت وگو کنید و نتیجه را به کلاس ارائه دهید.

آرایه های ایجاد شده با ماژول numpy در مقایسه با آرایه های لیست در پایتون، دارای سرعت و کارایی بسیار بالاتری هستند. این تفاوت به دلیل استفاده از عملیات برداری (vectorized operations) در numpy است که بهینه‌سازی شده است و به صورت موازی اجرا می‌شود. علاوه بر این، numpy دارای توانائی بالاتری در محاسبات عددی و عملیات ریاضی است که باعث افزایش کارایی آن می‌شود. به طور کلی، استفاده از آرایه های numpy برای عملیات عددی و علم داده‌ها به صورت چشمگیری سرعت و کارایی را افزایش می‌دهد.



مای درس ، برترین اپلیکیشن کمک درسی ایران

پوشش تمام محتواهای درسی پایه نهم
  • آزمون آنلاین تمامی دروس پایه نهم
  • گام به گام تمامی دروس پایه نهم
  • ویدئو های آموزشی تمامی دروس پایه نهم
  • گنجینه ای از جزوات و نمونه سوالات تمامی دروس پایه نهم
  • فلش کارت های آماده دروس پایه نهم
  • گنجینه ای جامع از انشاء های آماده پایه نهم
  • آموزش جامع آرایه های ادبی، دستور زبان، قواعد زبان انگلیسی و ... ویژه پایه نهم

کاملا رایگان

+500 هزار کاربر


همین حالا نصب کن



فعالیت صفحه 50 درس برنامه نویسی کار و فناوری نهم

پاسخ فعالیت صفحه 50 درس 4

جواب فعالیت صفحه 50 درس 4 کار و فناوری نهم

1 دو قطعه برنامه الف و ب را با یکدیگر مقایسه کنید.

برنامه الف از یک حلقه for برای گرفتن هر عنصر از list1 استفاده می کند و سپس با استفاده از شرط  if بررسی می کند که آیا عدد زوج است یا خیر. اگر عدد زوج بود، آن را به list2 اضافه می کند و در نهایت list2 را چاپ می کند.

در برنامه ب، list2 از یک لیست که مقدار دهی آن با یک خط انجام شده است. در اینجا، با یک حلقه for و یک شرط if، همه‌ی عناصر list1 را برای زوج بودن بررسی می‌کند و سپس با استفاده از شرط if، تمام عناصر زوج را به list2 اضافه می‌کند و در نهایت list2 را چاپ می‌کند.

بنابراین، هر دو برنامه به یک نتیجه منجر می شوند ولی روش بدست‌آوردن آن‌ها متفاوت است.

2 فرض کنید یک لیست حاوی تعدادی عدد صحیح داریم. توسط list comprehension عناصر آن را پیمایش کنید. در صورتی که عنصر زوج پیدا شد، در لیست دوم عبارت Even را اضافه و در غیر این صورت عبارت Odd را اضافه کنید. در انتها لیست دوم را چاپ کنید.

فرض کنید که لیست اول اعداد صحیح بین 1تا 10 باشد. برنامه به صورت زیر خواهد بود:

list1=[1,2,3,4,5,6,7,8,9,10]

list2=['Even' if x%2==0 else 'Odd' for x in list1 ]

print(list2)

3 تابعی بنویسید که یک لیست شامل تعدادی عدد را دریافت كند و با پیمایش عناصر آن، تعداد عناصر زوج لیست را توسط دستور return برگرداند. سپس تابع را فراخوانی کنید.

def count_even_numbers(numbers):

    count = 0

    for num in numbers:

        if num % 2 == 0:

            count += 1

    return count

 

# Farakhani Tabe'e Morede Nazar

my_list = [1, 2, 3, 4, 5, 6]

result = count_even_numbers(my_list)

print("Tedad Adad Zoj Barabar Ast Ba: ", result)

4 تابعی بنویسید که یک لیست شامل اسامی هم کلاسی هایتان را دریافت كرده، با پیمایش عناصر آن، تعداد عناصر لیست که شامل حرف m باشد را توسط دستور return برگرداند. سپس تابع را فراخوانی کنید.

کد زیر تابع count_names_with_m را تعریف می‌کند که یک لیست از نام‌ها را به عنوان ورودی دریافت می‌کند. سپس با استفاده از حلقه for، هر نام را بررسی می‌کند و اگر حروف "m" یا "M" در آن وجود داشت، تعداد را ۱ واحد افزایش می‌دهد. در نهایت، تعداد نام‌های شامل حرف "m" را با استفاده از دستور return برمیگرداند.

سپس لیست classmates را با دادن به عنوان ورودی به تابع فراخوانی می‌کنید و نتایج را به عنوان خروجی چاپ می‌کنید.

def count_names_with_m(names):

    count = 0

    for name in names:

        if 'm' in name or 'M' in name:

            count += 1

    return count

 

classmates = ['Ali', 'Mohammad', 'Mohsen', 'Sasan', 'Amin']

 

result = count_names_with_m(classmates)

print(result)





کار کلاسی صفحه 52 درس برنامه نویسی کار و فناوری نهم

پاسخ کار کلاسی صفحه 52 درس 4

جواب کار کلاسی صفحه 52 درس 4 کار و فناوری نهم

دو قطعه برنامهٔ بالا را اجرا و خروجی آن ها را با هم مقایسه کنید.

برای درست کار کردن برنامه اول، ابتدا بایستی در درایو D رایانه، پوشه ای به نام amir باز کنیم و بعد از نوشتن کد، برنامه را اجرا می کنیم. نتیجه این است که عبارت «omid is a good student.» در فایل myFile.txt چاپ می شود.

برای برنامه دوم هم چنین است که در نهایت عبارت «Ali is a Good Student!» در فایل myFile.txt چاپ می شود.

تفاوت دو برنامه در این است که در برنامه اول، عبارت «omid is a good student.» به متن اضافه شده است و اگر متنی نیز قبلا در فایل مورد نظر بوده باشد را تغییر نمی دهد، ولی در برنامه دوم، عبارت «Ali is a Good Student!» جایگزین می شود و هر چه در myFile.txt بوده است قبل از عبارت مذکور حذف می گردد.





کار کلاسی صفحه 53 درس برنامه نویسی کار و فناوری نهم

پاسخ کار کلاسی صفحه 53 درس 4

جواب کار کلاسی صفحه 53 درس 4 کار و فناوری نهم

1 با استفاده از رابطهٔ فشار، تابعی بنویسید که نیرو (برحسب نیوتون) و مساحت سطح (برحسب مترمربع) را دریافت کند و فشار را (برحسب پاسکال) برگرداند.

def pressure(force, area):

    pressure = force / area

    return pressure

 

niru = float(input("Niro Ra Be Newton Vared Konid: "))

masahat = float(input("Masahate Sath Ra Be Metre Morabba'e Vared Konid: "))

 

result = pressure(niru, masahat)

print("Feshare Vared Bar sath Barabare ", result, "Paskal Mibashad.")

2 تابعی بنویسید که معادلهٔ خطی به صورت y=2x+5 را شبیه سازی کند. سپس آن را با مقادیر x به ترتیب با ٥ و ٨ فراخوانی کنید.

def y(x):

    Y = 2*x+5

    return Y

 

print("x=5 => y=", y(5))

print("x=8 => y=", y(8))



مای درس ، برترین اپلیکیشن کمک درسی ایران

پوشش تمام محتواهای درسی پایه نهم
  • آزمون آنلاین تمامی دروس پایه نهم
  • گام به گام تمامی دروس پایه نهم
  • ویدئو های آموزشی تمامی دروس پایه نهم
  • گنجینه ای از جزوات و نمونه سوالات تمامی دروس پایه نهم
  • فلش کارت های آماده دروس پایه نهم
  • گنجینه ای جامع از انشاء های آماده پایه نهم
  • آموزش جامع آرایه های ادبی، دستور زبان، قواعد زبان انگلیسی و ... ویژه پایه نهم

کاملا رایگان

+500 هزار کاربر


همین حالا نصب کن



پروژه صفحه 53 درس برنامه نویسی کار و فناوری نهم

پاسخ پروژه صفحه 53 درس 4

جواب پروژه صفحه 53 درس 4 کار و فناوری نهم

الف برنامه ای بنویسید که با اجرای آن منویی با گزینه های زیر ظاهر شود.

زمانی که کاربر دکمه های a تا d از صفحه کلید رایانه را فشار دهد، دستورهای داخل منو توسط برنامه اجرا می شود و به طور مداوم منو ظاهر می شود. هنگامی که کاربر حرف e را فشار می دهد، از برنامه خارج شده و منو نمایش داده نمی شود.

ابتدا تابع مورد نظر را می نویسیم:

data_list = []

 

def add_number():

    number = input("Adade Khod Ra Vared Konid: ")

    data_list.append(number)

 

def remove_number():

    number = input("Adadi Ke Mikhahid Az List Hazf Konid Ra Vared Konid: ")

    if number in data_list:

        data_list.remove(number)

    else:

        print("Adad Dar List Nemibashad.")

 

def show_list():

    print("Adadhaye Mojud Dar List:")

    for number in data_list:

        print(number)

 

def save_data():

    file=open("myFile.txt", "w")

    for number in data_list:

        file.write(number + "\n")

    file.close()

    print("Data Dar File myFile.txt Zakhire Gardid!")

سپس آن را در فایلی به نام myFunction به پسوند پایتون ذخیره می کنیم.

سپس برنامه زیر را در فایلی دیگر به نام project می نویسیم:

from myFunction import *

 

while True:

    print("Menu:")

    print("a) Adad Ra Be List Ezafe Kon")

    print("b) Adad Ra Az List Hazf Kon")

    print("c) Dadehaye List Ra Namayesh Bede")

    print("d) List Ra Dar Yek File Zakhire Kon")

    print("e) Exit")

 

    choice = input("Gozineye Khod Ra Entekhab Konid: ")

 

    if choice == "a":

        add_number()

    elif choice == "b":

        remove_number()

    elif choice == "c":

        show_list()

    elif choice == "d":

        save_data()

    elif choice == "e":

        print("Az Barname Kharej Shodid.")

        break

    else:

        print("Entekabetan Eshtebah Ast, Dobare Entekhab Konid.")

ب با توجه به مطالبی که در پودمان الگوریتم آموخته اید، قبل از نوشتن برنامه، الگوریتم آن را به دو روش شبه دستور و نمودار روندنما رسم کنید.

الف) روش شبه دستور:

برای ماژول myFunction:

1- ایجاد یک لیست خالی به نام  data_list

2- نوشتن یک حلقه برای اجرای مداوم برنامه تا زمانی که کاربر دکمه "e" را زده و از برنامه خارج شود.

3- در هر مرحله، گزینه‌ی کاربر را دریافت کرده و بر اساس گزینه انتخابی، عملیات مناسب انجام می‌دهیم:

   - اضافه کردن یک عدد به لیست

   - حذف کردن یک عدد از لیست

   - نمایش کل داده‌های لیست

   - ذخیره داده‌ها در یک فایل

   - خروج از برنامه

4- در پایان هر مرحله، حالت جاری لیست یا پیامی که باید نمایش داده شود، چاپ می‌شود.

برای ماژول project:

شروع

فراخوانی ماژول myFunction

 

حلقه اصلی:

    گرفتن ورودی از کاربر

    اگر ورودی برابر "a" بود:

        اضافه کردن عدد به لیست

    اگر ورودی برابر "b" بود:

        حذف کردن عدد از لیست

    اگر ورودی برابر "c" بود:

        نمایش کل داده‌های لیست

    اگر ورودی برابر "d" بود:

        ذخیره داده‌ها در یک فایل

    اگر ورودی برابر "e" بود:

        خروج از حلقه

 

پایان حلقه

پایان

ب) نمودار روندنما:

برای ماژول myFunction:

برای ماژول project:

راهنمایی: برای هر کدام از موارد اضافه کردن، حذف و نمایش داده های لیست، تابعی جداگانه بنویسید و آن را فراخوانی کنید. در پایان توابع را داخل ماژولی ذخیره کرده و آن را در برنامه خودتان import کنید.






محتوا مورد پسند بوده است ؟

4.04 - 271 رای