حل الوحدة الرابعة: البرمجة مع بايثون
الدرس الأول: القوائم وصفوف البيانات
الصفحة رقم (136)
جرب بنفسك
السؤال:
شغل المقطع البرمجي الآتي واكتب النتيجة التي تظهر على الشاشة.
subjects = [“physics”, “chemistry”, “history”]
print (“subjects[0]: “, subjects[0])
subjects = [“physics”, “chemistry”, “history”]
print (“subjects[0]: “, subjects[0])
الجواب:
subjects[0]: physics
الصفحة رقم (138)
جرب بنفسك
السؤال:
شغل المقطع البرمجي الآتي. ماذا تلاحظ؟
letters=[“b”, “a”, “x”]
minLetter=min(letters)
print(“The smallest letter is: “,minLetter)
letters=[“b”, “a”, “x”]
minLetter=min(letters)
print(“The smallest letter is: “,minLetter)
الجواب:
The smallest letter is: a
النتيجة عرضت أدنى عنصر في القائمة
النتيجة عرضت أدنى عنصر في القائمة
الصفحة رقم (141)
جرب بنفسك
السؤال:
أكمل المقطع البرمجي الآتي:
groceryList=[“salad”,”fruits”,”vegetables”,”dairy”]
ما الدالة التي ستستخدمها لإزالة عنصر “dairy” من القائمة؟
groceryList=[“salad”,”fruits”,”vegetables”,”dairy”]
ما الدالة التي ستستخدمها لإزالة عنصر “dairy” من القائمة؟
الجواب:
groceryList.remove(“dairy”)
السؤال:
أكمل المقطع البرمجي الآتي:
groceryList=[“salad”,”fruits”,”vegetables”,”dairy”]
ما الدالة التي ستستخدمها لطباعة عدد العناصر داخل القائمة؟
groceryList=[“salad”,”fruits”,”vegetables”,”dairy”]
ما الدالة التي ستستخدمها لطباعة عدد العناصر داخل القائمة؟
الجواب:
print(len(groceryList))
الصفحة رقم (143)
جرب بنفسك
السؤال:
اكتب المقطع البرمجي الآتي ثم دون النتيجة الظاهرة على الشاشة داخل المربع أدناه.
fruitsTuple =(“apple”,”orange”,”banana”)
for f in fruitsTuple:
print(f)
fruitsTuple =(“apple”,”orange”,”banana”)
for f in fruitsTuple:
print(f)
الجواب:
apple
orange
banana
orange
banana
الصفحة رقم (145)
تدريب 1
السؤال:
ترقيم القائمة يبدأ من:
الجواب:
0
السؤال:
الدالة التي ترجع أدنى عنصر في القائمة هي:
الجواب:
min()
السؤال:
الدالة التي ترجع أكبر عنصر في القائمة هي:
الجواب:
max()
السؤال:
لإضافة عنصر إلى القائمة تستخدم الدالة:
الجواب:
append()
الصفحة رقم (146)
تدريب 2
السؤال:
أكمل الجدول الآتي بكتابة نتيجة الأوامر البرمجية الموجودة في العمود الأول، وذلك عند تطبيقها على القائمة C الموضحة أدناه:
C=[“red”,”orange”,”green”,”blue”,”white”]
C=[“red”,”orange”,”green”,”blue”,”white”]
الجواب:
print(C) → [‘red’, ‘orange’, ‘green’, ‘blue’, ‘white’]
print(C[1]) → Orange
print(C[-1]) → White
print(C[3]) → Blue
print(C[0], C[4]) → red ,white
print(C[0], C[-5]) → red red
C[3]= “red”
C[-3]= “blue”
C[0]= “green”
print(C) → [‘green’, ‘orange’, ‘blue’, ‘red’, ‘white’]
C[0]= C[4]
C[1]= C[-2]
print(C) → [‘white’, ‘blue’, ‘green’, ‘blue’, ‘white’]
print(C[1]) → Orange
print(C[-1]) → White
print(C[3]) → Blue
print(C[0], C[4]) → red ,white
print(C[0], C[-5]) → red red
C[3]= “red”
C[-3]= “blue”
C[0]= “green”
print(C) → [‘green’, ‘orange’, ‘blue’, ‘red’, ‘white’]
C[0]= C[4]
C[1]= C[-2]
print(C) → [‘white’, ‘blue’, ‘green’, ‘blue’, ‘white’]
الصفحة رقم (147)
تدريب 3 و4
السؤال:
اكتب مقطعاً برمجياً بلغة البايثون، يعمل على تنفيذ الآتي:
إنشاء قائمة Subject التي تحتوي على العناصر الآتية: Arabic, Math, Social, Biology
طباعة العنصر الثالث بالقائمة (رقم موقعه 2).
تعيين English كقيمة للعنصر الثالث بالقائمة.
استخدام أمر الإدخال لإضافة وتعيين قيمة للعنصر الرابع بالقائمة.
طباعة عناصر القائمة بعد إجراء التعديلات السابقة.
إنشاء قائمة Subject التي تحتوي على العناصر الآتية: Arabic, Math, Social, Biology
طباعة العنصر الثالث بالقائمة (رقم موقعه 2).
تعيين English كقيمة للعنصر الثالث بالقائمة.
استخدام أمر الإدخال لإضافة وتعيين قيمة للعنصر الرابع بالقائمة.
طباعة عناصر القائمة بعد إجراء التعديلات السابقة.
الجواب:
Subject=[“Arabic”,”Math”,”Social”,”Biology”]
print(Subject[2])
Subject[2]=”English”
Subject.insert(3,”Art”)
print(Subject)
print(Subject[2])
Subject[2]=”English”
Subject.insert(3,”Art”)
print(Subject)
السؤال:
اكتب مقطعاً برمجياً بلغة البايثون، يعمل على تنفيذ الآتي:
إنشاء الصف Info الذي يحتوي العناصر الآتية: اسمك، صفك، عمرك، درجتك في مادة التقنية الرقمية.
طباعة عناصر الصف Info (باستخدام الأمر print).
طباعة عناصر الصف Info عنصراً بعد الآخر (باستخدام جملة التكرار For).
إنشاء الصف Info الذي يحتوي العناصر الآتية: اسمك، صفك، عمرك، درجتك في مادة التقنية الرقمية.
طباعة عناصر الصف Info (باستخدام الأمر print).
طباعة عناصر الصف Info عنصراً بعد الآخر (باستخدام جملة التكرار For).
الجواب:
الإجابة تعتمد على الطالب هذا مثال للحل
ClassInfo = (“name”, “class”, “age”, “mark”)
print(“Class Information:”, ClassInfo)
for i in ClassInfo:
print(i)
ClassInfo = (“name”, “class”, “age”, “mark”)
print(“Class Information:”, ClassInfo)
for i in ClassInfo:
print(i)
الدرس الثاني: المكتبات البرمجية
الصفحة رقم (160)
جرب بنفسك
السؤال:
حاول أن تجرب الدالتين السابقتين على الرقم -3.4.
الجواب:
import math
print(math.ceil(-3.4))
-3
print(math.floor(-3.4))
-4
print(math.ceil(-3.4))
-3
print(math.floor(-3.4))
-4
الصفحة رقم (169)
تدريب 1
السؤال:
أنشئ المقطع البرمجي الآتي ثم أجب عن الأسئلة الآتية:
from datetime import datetime
odds=[1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59]
right_this_minute = datetime.today().minute
if right_this_minute in odds:
print(“This minute is odd.”)
else:
print(“Not odd.”)
المكتبة القياسية التي تم استيرادها في المقطع البرمجي هي:
from datetime import datetime
odds=[1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59]
right_this_minute = datetime.today().minute
if right_this_minute in odds:
print(“This minute is odd.”)
else:
print(“Not odd.”)
المكتبة القياسية التي تم استيرادها في المقطع البرمجي هي:
الجواب:
datatime
السؤال:
اسم النموذج البرمجي الذي تم استيراده في المقطع البرمجي من المكتبة القياسية هو:
الجواب:
datatime
السؤال:
اسم الدالة التي استدعيتها من النموذج البرمجي هي:
الجواب:
today()
السؤال:
وضح وظيفة المقطع البرمجي السابق.
الجواب:
البرنامج يحدد ما إذا كانت الدقيقة الحالية تمثل عدد فردي أو لا ويعرض النتيجة.
السؤال:
شغل المقطع البرمجي واكتب النتيجة التي ستحصل عليها.
الجواب:
الإجابة تعتمد على الطالب هذا مثال للحل
وقت تشغيل البرنامج كانت الدقيقة 21
النتيجة This minute is odd.
وقت تشغيل البرنامج كانت الدقيقة 21
النتيجة This minute is odd.
الصفحة رقم (170)
تدريب 2 و3
السؤال:
وضح الفرق بين مكتبات بايثون القياسية ومكتبات بايثون الأخرى، واذكر بعض الأمثلة على كل منهما.
الجواب:
مكتبات بايثون القياسية تثبت تلقائيا عن تثبيت بايثون. وتقدم مجموعة واسعة من النماذج البرمجية.
مكتبات بايثون الأخرى تحتاج إلى تنزيلها وتثبيتها للاستفادة وإضافة أدوات أخرى.
تأتي معظم المكتبات الأخرى بأدوات التثبيت الخاصة بها أو ببرنامج التثبيت النصي الخاص بها.
أمثلة على المكتبات القياسية: math,queue, datetime
أمثلة على المكتبات الأخرى: Pandas, TensorFlow, PyTorch
مكتبات بايثون الأخرى تحتاج إلى تنزيلها وتثبيتها للاستفادة وإضافة أدوات أخرى.
تأتي معظم المكتبات الأخرى بأدوات التثبيت الخاصة بها أو ببرنامج التثبيت النصي الخاص بها.
أمثلة على المكتبات القياسية: math,queue, datetime
أمثلة على المكتبات الأخرى: Pandas, TensorFlow, PyTorch
السؤال:
وضح اثنتين من مميزات إنشاء المقطع البرمجي الخاص بك بدلاً من استخدام النماذج البرمجية الخارجية.
الجواب:
يلائم المقطع البرمجي الخاص بك احتياجاتك الحقيقية.
يمكنك التحكم الكامل بالمقطع البرمجي والقدرة على تصحيح الأخطاء والقيام بالتغييرات بنفس اللحظة عند الضرورة.
يمكنك التحكم الكامل بالمقطع البرمجي والقدرة على تصحيح الأخطاء والقيام بالتغييرات بنفس اللحظة عند الضرورة.
الدرس الثالث: بناء الواجهات الرسومية بلغة البايثون
الصفحة رقم (175)
جرب بنفسك
السؤال:
شغل المقطع البرمجي الآتي. ماذا تلاحظ؟
from tkinter import*
window=Tk()
canvas=Canvas(bg=”teal”,width=600,height=600)
canvas.pack()
canvas.create_line(0,100,400,100,fill=”white”,dash=100)
canvas.create_line(0,200,400,200,fill=”white”,dash=1)
window.mainloop()
from tkinter import*
window=Tk()
canvas=Canvas(bg=”teal”,width=600,height=600)
canvas.pack()
canvas.create_line(0,100,400,100,fill=”white”,dash=100)
canvas.create_line(0,200,400,200,fill=”white”,dash=1)
window.mainloop()
الجواب:
البرنامج يرسم خطين متقطعين باللون الأبيض
الصفحة رقم (176)
جرب بنفسك
السؤال:
شغل المقطع البرمجي الآتي. ماذا تلاحظ؟
from tkinter import*
window=Tk()
def callback(event):
canvas.focus_set()
print ((“clicked at”), event.x, event.y)
canvas=Canvas(bg=”green”,width=400,height=300)
canvas.bind(“<Double-Button-1>”, callback)
canvas.pack()
window.mainloop()
from tkinter import*
window=Tk()
def callback(event):
canvas.focus_set()
print ((“clicked at”), event.x, event.y)
canvas=Canvas(bg=”green”,width=400,height=300)
canvas.bind(“<Double-Button-1>”, callback)
canvas.pack()
window.mainloop()
الجواب:
عند الضغط في النافذة، تظهر رسالة تخبرك بإحداثيات النقطة التي قمت بضغط زر الفأرة عليها
الصفحة رقم (177)
جرب بنفسك
السؤال:
شغل المقطع البرمجي الآتي. ماذا تلاحظ؟
from tkinter import*
window=Tk()
canvas=Canvas(bg=”teal”,width=600,height=600)
canvas.pack()
canvas.create_line(0,100,400,100,fill=”white”,dash=100)
canvas.create_line(0,200,400,200,fill=”white”,dash=1)
window.mainloop()
from tkinter import*
window=Tk()
canvas=Canvas(bg=”teal”,width=600,height=600)
canvas.pack()
canvas.create_line(0,100,400,100,fill=”white”,dash=100)
canvas.create_line(0,200,400,200,fill=”white”,dash=1)
window.mainloop()
الجواب:
البرنامج يرسم خطين متقطعين باللون الأبيض
الصفحة رقم (178)
جرب بنفسك
السؤال:
شغل المقطع البرمجي الآتي. ماذا تلاحظ؟
from tkinter import*
window=Tk()
canvas=Canvas(bg=”teal”,width=600,height=400)
canvas.pack()
canvas.create_rectangle(30,10,120,80,width=5,fill=”green”)
window.mainloop()
from tkinter import*
window=Tk()
canvas=Canvas(bg=”teal”,width=600,height=400)
canvas.pack()
canvas.create_rectangle(30,10,120,80,width=5,fill=”green”)
window.mainloop()
الجواب:
البرنامج يرسم مستطيل أخضر اللون بحدود لونها أسود
الصفحة رقم (180)
جرب بنفسك
السؤال:
اكتب المقطع البرمجي اللازم لرسم الأشكال الآتية:
الجواب:
from tkinter import*
window=Tk()
canvas Canvas(bg=”teal”, width=600,height=300)
canvas.pack()
canvas.create_oval(50,50,200,200,width=3,fill=”white”)
canvas.create_oval(300,270,400,200,width=3,fill=”yellow”)
window.mainloop()
window=Tk()
canvas Canvas(bg=”teal”, width=600,height=300)
canvas.pack()
canvas.create_oval(50,50,200,200,width=3,fill=”white”)
canvas.create_oval(300,270,400,200,width=3,fill=”yellow”)
window.mainloop()
الصفحة رقم (181)
تدريب 1
السؤال:
نفذ المقطع البرمجي الآتي ثم طابق خصائص النموذج البرمجي تكتينر بالجمل المقابلة:
الجواب:
canvas=Canvas(bg=”cyan”) → اختيار لون خلفية لوحة الرسم القماشية.
canvas.pack() → عرض نافذة الرسومات.
width=10 → تحديد عرض المستطيل.
canvas.create_rectangle → إنشاء مستطيل.
outline=”red” → تحديد لون الحد.
window.title(“Graphics Window”) → تحديد عنوان النافذة.
fill=”green” → تعبئة المستطيل باللون الذي تختاره.
canvas.pack() → عرض نافذة الرسومات.
width=10 → تحديد عرض المستطيل.
canvas.create_rectangle → إنشاء مستطيل.
outline=”red” → تحديد لون الحد.
window.title(“Graphics Window”) → تحديد عنوان النافذة.
fill=”green” → تعبئة المستطيل باللون الذي تختاره.
الصفحة رقم (182)
تدريب 2 و3
السؤال:
أنشئ مقطعاً برمجياً لرسم الأشكال الآتية:
الجواب:
from tkinter import*
window=Tk()
canvas Canvas(bg=”black”, width=600,height=300)
canvas.pack()
canvas.create_oval(50,50,200,200,width=3,fill=”green”)
canvas.create_oval(200,50,350,200,width=3,fill=”yellow”)
window.mainloop()
window=Tk()
canvas Canvas(bg=”black”, width=600,height=300)
canvas.pack()
canvas.create_oval(50,50,200,200,width=3,fill=”green”)
canvas.create_oval(200,50,350,200,width=3,fill=”yellow”)
window.mainloop()
السؤال:
أنشئ مقطعاً برمجياً لرسم خطوط ملونة على لوحة رسومية بحيث تتغير الألوان في كل مرة يتم فيها الضغط داخل اللوحة.
الجواب:
from tkinter import*
import random
window=Tk()
window.title(“Lines”)
canvas Canvas(bg=”white”, width=600,height=200)
canvas.pack()
for i in range(0,9):
canvas.create_line(40, i*15, 500, i*15, width=1,fill=”red”)
color=[“green”,”yellow”,”grey”,”red”,”blue”,”black”,”brown”,”pink”,”darkblue”]
def callback(event):
r= random.randint(0, 8)
for i in range(1,9):
canvas.create_line(40, i*15, 500, i*15, width=1,fill= color[r])
canvas.bind(“<Button-1<“, callback)
window.mainloop()
import random
window=Tk()
window.title(“Lines”)
canvas Canvas(bg=”white”, width=600,height=200)
canvas.pack()
for i in range(0,9):
canvas.create_line(40, i*15, 500, i*15, width=1,fill=”red”)
color=[“green”,”yellow”,”grey”,”red”,”blue”,”black”,”brown”,”pink”,”darkblue”]
def callback(event):
r= random.randint(0, 8)
for i in range(1,9):
canvas.create_line(40, i*15, 500, i*15, width=1,fill= color[r])
canvas.bind(“<Button-1<“, callback)
window.mainloop()
الدرس الرابع: القواميس
الصفحة رقم (186)
جرب بنفسك
السؤال:
أنشئ قاموساً يحتوي على أسماء ثلاثة طلبة، والفاكهة المفضلة لكل واحد منهم.
الجواب:
myDict = dict()
for i in range(3):
key = input(“Enter the student name: “)
value = input(“Enter favorite fruit: “)
myDict[key] = value
print(myDict)
for i in range(3):
key = input(“Enter the student name: “)
value = input(“Enter favorite fruit: “)
myDict[key] = value
print(myDict)
الصفحة رقم (188)
جرب بنفسك
السؤال:
جرّب المقطع البرمجي الآتي واكتب النتيجة التي تظهر على الشاشة.
Students= {
“Khalid” : “Science”,
“Sara” : “Maths”,
“Ali” : “English Language”
}
Students[“Ali”] = “Social Studies”
print(Students)
Students= {
“Khalid” : “Science”,
“Sara” : “Maths”,
“Ali” : “English Language”
}
Students[“Ali”] = “Social Studies”
print(Students)
الجواب:
{‘Khalid’: ‘Science’, ‘Sara’: ‘Maths’, ‘Ali’: ‘Social Studies’}
الصفحة رقم (193)
تدريب 1 و2 و3
السؤال:
وضح الاختلاف بين القاموس والقائمة من حيث طريقة الوصول إلى عناصر كل منهما.
الجواب:
يتمثل الاختلاف الرئيس بين القوائم والقواميس في طريقة الوصول إلى العناصر. يتم الوصول لعناصر القائمة بواسطة رقم الفهرس بينما يتم الوصول إلى عناصر القاموس من خلال مفاتيحه.
السؤال:
أنشئ قاموساً خاصاً باسمك، واسم العائلة، ثم اطبعه.
الجواب:
الإجابة تعتمد على الطالب هذا مثال للحل
Names=dict(Myname=”Ali”, Myfamilyname=”Al jaber”)
print(Names)
Names=dict(Myname=”Ali”, Myfamilyname=”Al jaber”)
print(Names)
السؤال:
أنشئ قاموساً يتم تعبئته من قبل المستخدم، بحيث يُدخل رقم هاتفه واسمه ثم يطبعهما.
الجواب:
myDict = dict()
key = input(“Enter your name: “)
value = input(“Enter your phone number: “)
myDict[key] = value
print(myDict)
key = input(“Enter your name: “)
value = input(“Enter your phone number: “)
myDict[key] = value
print(myDict)
الصفحة رقم (194)
تدريب 4 و5
السؤال:
أنشئ قاموساً:
يحتوي على الاسم الأول والاسم الأخير لثلاثة من أصدقائك.
أضف صديقاً جديداً.
احذف جميع عناصر القاموس.
ملاحظة: اطبع عناصر القاموس بعد كل خطوة ولاحظ النتائج.
يحتوي على الاسم الأول والاسم الأخير لثلاثة من أصدقائك.
أضف صديقاً جديداً.
احذف جميع عناصر القاموس.
ملاحظة: اطبع عناصر القاموس بعد كل خطوة ولاحظ النتائج.
الجواب:
الإجابة تعتمد على الطالب هذا مثال للحل
Friends={1:[“Adel”,”Saeed”],2:[“Ali”,”Adnan”],3:[“Ahhmed”,”Saud”]}
new_friend={4:[“Hamed”, “Sami”]}
Friends.update(new_friend)
Friends.clear()
print(Friends)
Friends={1:[“Adel”,”Saeed”],2:[“Ali”,”Adnan”],3:[“Ahhmed”,”Saud”]}
new_friend={4:[“Hamed”, “Sami”]}
Friends.update(new_friend)
Friends.clear()
print(Friends)
السؤال:
استخدم عمليات القواميس في بايثون للقيام بما يأتي:
إنشاء قاموس يحتوي على اسم الطالب والمعدل لخمسة من زملائه.
طباعة قائمة المفاتيح.
طباعة قائمة القيم.
إضافة بيانات طالب جديد.
طباعة القائمة الجديدة للقيم.
حذف جميع عناصر القاموس.
إنشاء قاموس يحتوي على اسم الطالب والمعدل لخمسة من زملائه.
طباعة قائمة المفاتيح.
طباعة قائمة القيم.
إضافة بيانات طالب جديد.
طباعة القائمة الجديدة للقيم.
حذف جميع عناصر القاموس.
الجواب:
الإجابة تعتمد على الطالب هذا مثال للحل
Studens={“Adel”,81}
k=Students.keys()
print(k)
v=Students.values()
print(v)
new_student={“Sami”,84}
Students.update(new_student)
v=Students.values()
print(v)
Students.clear()
Studens={“Adel”,81}
k=Students.keys()
print(k)
v=Students.values()
print(v)
new_student={“Sami”,84}
Students.update(new_student)
v=Students.values()
print(v)
Students.clear()
الدرس الخامس: القوائم المتداخلة
الصفحة رقم (196)
جرب بنفسك
السؤال:
جرب المقطع البرمجي الآتي. ماذا تلاحظ؟
thisList= [“a”, “b”, [“c”, “d”], “e”, “f”]
print(thisList[3])
print(thisList[-3])
thisList= [“a”, “b”, [“c”, “d”], “e”, “f”]
print(thisList[3])
print(thisList[-3])
الجواب:
e
[‘c’, ‘d’]
[‘c’, ‘d’]
الصفحة رقم (198)
جرب بنفسك
السؤال:
جرب المقطع البرمجي الآتي، واكتب النتيجة التي تظهر على الشاشة.
ThisList = [[1, 2, 3],[4, 5, 6],[7, 8, 9]]
for list in ThisList:
for number in list:
print(number)
ThisList = [[1, 2, 3],[4, 5, 6],[7, 8, 9]]
for list in ThisList:
for number in list:
print(number)
الجواب:
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
الصفحة رقم (199)
تدريب 1
السؤال:
ما الذي سيتم طباعته بواسطة المقطع البرمجي الآتي؟
list=[3,4,[“a”,”b”]]
print(list[2][1])
list=[3,4,[“a”,”b”]]
print(list[2][1])
الجواب:
b
السؤال:
ما الذي سيتم طباعته بواسطة المقطع البرمجي الآتي؟
list=[1,”a”,[0,”b”]]
print(list[1])
list=[1,”a”,[0,”b”]]
print(list[1])
الجواب:
a
السؤال:
ما الذي سيتم طباعته بواسطة المقطع البرمجي الآتي؟
list=[3,[“c”,”d”],[“a”,”b”]]
print(list[1][1])
list=[3,[“c”,”d”],[“a”,”b”]]
print(list[1][1])
الجواب:
d
السؤال:
ما الذي سيتم طباعته بواسطة المقطع البرمجي الآتي؟
list=[[7,”a”],4,[“c”,”b”]]
print(list[0][1])
list=[[7,”a”],4,[“c”,”b”]]
print(list[0][1])
الجواب:
a
الصفحة رقم (200)
تدريب 2 و3
السؤال:
ينشئ بايثون مصفوفة ثنائية الأبعاد (2D array) باستخدام القوائم المتداخلة.
الجواب:
صحيحة.
السؤال:
يبدأ الترقيم في القائمة من الصفر.
الجواب:
صحيحة.
السؤال:
تتم فهرسة كل عنصر في القائمة المتداخلة بفهرس واحد.
الجواب:
خطأ.
السؤال:
يمكن أن تكون عناصر القائمة المتداخلة من أنواع بيانات مختلفة، مثل الأعداد الصحيحة، السلاسل، وحتى القوائم الأخرى.
الجواب:
صحيحة.
السؤال:
لطباعة جميع عناصر القائمة المتداخلة، تحتاج إلى استخدام التكرارات المتداخلة.
الجواب:
صحيحة.
السؤال:
اكتب مقطعاً برمجياً بلغة بايثون يستخدم القوائم المتداخلة لتمثيل بعض بيانات أقاربك أو جيرانك، وذلك بتنفيذ الآتي:
إنشاء القائمة Families التي تتكون عناصرها من اسم الأب، عدد الذكور وعدد الإناث.
عرض جميع عناصر القائمة عنصراً بعد الآخر على الشاشة.
طباعة عدد الذكور وعدد الإناث لجميع العوائل.
إنشاء القائمة Families التي تتكون عناصرها من اسم الأب، عدد الذكور وعدد الإناث.
عرض جميع عناصر القائمة عنصراً بعد الآخر على الشاشة.
طباعة عدد الذكور وعدد الإناث لجميع العوائل.
الجواب:
Families=[[Hamad,2,3], [Jassem,2,4], [Ibrahem,4,0]]
[[Hamad,2,3], [Jassem,2,4], [Ibrahem,4,0]]
for i in Families:
#اطبع عناصر القائمة الخارجية
print(i)
for j in i:
#اطبع عناصر القائمة الداخلية
print(j)
print(Families[0][1])
print(Families[1][1])
print(Families[2][1])
print(Families[0][2])
print(Families[1][2])
print(Families[2][2])
[[Hamad,2,3], [Jassem,2,4], [Ibrahem,4,0]]
for i in Families:
#اطبع عناصر القائمة الخارجية
print(i)
for j in i:
#اطبع عناصر القائمة الداخلية
print(j)
print(Families[0][1])
print(Families[1][1])
print(Families[2][1])
print(Families[0][2])
print(Families[1][2])
print(Families[2][2])
الدرس السادس: الملفات
الصفحة رقم (212)
تدريب 1
السؤال:
عندما تقرأ من ملف txt. فإنك تضيف أسطر جديدة.
الجواب:
خطأ.
السؤال:
عند استخدام عملية الإلحاق تتم إضافة البيانات إلى بداية الملف.
الجواب:
خطأ.
السؤال:
عملية الكتابة (write) تستبدل النص الموجود داخل الملف.
الجواب:
صحيحة.
السؤال:
يمكنك فتح الملف النصي فقط إذا كان بنفس المجلد الموجود به ملف بايثون البرمجي.
الجواب:
خطأ.
السؤال:
لإلحاق نص جديد في الملف فإننا نضيف الحرف “a”.
الجواب:
صحيحة.
الصفحة رقم (213)
تدريب 2 و3
السؤال:
اكتب ناتج تنفيذ المقطع البرمجي الآتي:
f=open(“file.txt”, “w”)
f.write(“Riyadh”)
f.write(“\n 2023”)
f=open(“file.txt”, “r”)
print(f.read())
f.close()
f=open(“file.txt”, “w”)
f.write(“Riyadh”)
f.write(“\n 2023”)
f=open(“file.txt”, “r”)
print(f.read())
f.close()
الجواب:
Riyadh
2023
2023
السؤال:
أنشئ ملفاً نصياً يحتوي على اسمك الثلاثي واحفظه باسم name.txt.
أنشئ مقطعاً برمجياً بلغة بايثون لقراءة ملفك.
أنشئ مقطعاً برمجياً بلغة بايثون لإضافة عنوانك.
أنشئ مقطعاً برمجياً بلغة بايثون لقراءة ملفك.
أنشئ مقطعاً برمجياً بلغة بايثون لإضافة عنوانك.
الجواب:
1. f=open(“name.txt”, “r”)
print(f.read())
2. f=open(“name.txt”, “a”)
f.write(“\nThis is my address. “)
f.close()
print(f.read())
2. f=open(“name.txt”, “a”)
f.write(“\nThis is my address. “)
f.close()
اختبر نفسك
الصفحة رقم (218)
السؤال الأول
السؤال:
يرتبط الأمن السيبراني بحماية أجهزة الحاسب والشبكات والبرامج والبيانات من الوصول غير المصرح به.
الجواب:
صحيحة.
السؤال:
يهتم الأمن السيبراني في المقام الأول بمنع الوصول غير المصرح به إلى البيانات.
الجواب:
صحيحة.
السؤال:
تشبه الجريمة الإلكترونية النشاط الإجرامي التقليدي، بها جان ومجني عليه وأداة الجريمة.
الجواب:
صحيحة.
السؤال:
يمكن أن يؤدي الاختراق الأمني إلى سيطرة المتسللين على معلومات قيمة، والوصول إليها مثل: حسابات الشركات والمعلومات الشخصية للعملاء.
الجواب:
صحيحة.
السؤال:
يتم استخدام مصطلح اختراق البيانات بالتناوب مع مصطلح الاختراق الأمني.
الجواب:
خطأ.
السؤال:
يمكن أن تؤدي سرقة كلمة المرور إلى اختراق العديد من الأنظمة الأخرى عبر الإنترنت.
الجواب:
صحيحة.
السؤال:
هجوم الوسيط هو نوع من الهجوم السيبراني يحصل فيه المهاجم على وصول غير مصرح به إلى الخادم أو الشبكة.
الجواب:
خطأ.
السؤال:
جدار الحماية والتحقق الثنائي أو المتعدد هما طريقتان لمنع الجرائم الإلكترونية.
الجواب:
صحيحة.
السؤال:
هجوم الفدية هو نوع من البرامج الضارة المصممة لقفل جهاز الحاسب أو منع الوصول إلى ملفاته؛ لابتزاز الضحية بدفع أموال مقابل إلغاء تأمين هذا القفل.
الجواب:
صحيحة.
السؤال:
لا يعد هجوم الفدية خطيراً إذا لم تكن هناك مواد حساسة على جهاز الحاسب.
الجواب:
خطأ.
السؤال:
تعد ملفات تعريف الارتباط، وتاريخ التصفح، وكلمات المرور المحفوظة أمثلة على البيانات التي يجمعها المتصفح عبر الإنترنت.
الجواب:
صحيحة.
السؤال:
إذا لم تحذف بيانات التصفح بشكل دوري، فسيعمل متصفحك أو جهاز الحاسب الخاص بك بشكل بطيء.
الجواب:
صحيحة.
الصفحة رقم (219)
السؤال الثاني
السؤال:
يقتصر استخدام النوافذ المنبثقة على المعلنين لجذب الانتباه.
الجواب:
خطأ.
السؤال:
يمكن للنوافذ المنبثقة تثبيت تطبيقات ضارة أو تثبيت برنامج لتسجيل ضغطات المفاتيح على النظام.
الجواب:
صحيحة.
السؤال:
تمنع برمجيات حظر النوافذ المنبثقة جميع استخدامات النوافذ المنبثقة.
الجواب:
خطأ.
السؤال:
يمكن لمجرمي الإنترنت استخدام المعلومات الشخصية لتنفيذ هجمات إلكترونية.
الجواب:
صحيحة.
السؤال:
يمكن تثبيت البرمجيات الضارة على الجهاز الشخصي من خلال خداع المستخدم للكشف عن معلومات حساسة.
الجواب:
صحيحة.
السؤال:
لا يستطيع رؤية ما تنشره عبر الإنترنت إلا أصدقاؤك ومتابعيك.
الجواب:
خطأ.
السؤال:
تتضمن المعلومات الشخصية التي لا ينبغي مشاركتها عبر الإنترنت أرقام بطاقات الائتمان أو بطاقات الخصم.
الجواب:
صحيحة.
السؤال:
تحتوي مواقع الشبكات الاجتماعية على إعدادات خصوصية محددة سابقاً أو افتراضية يمكن تعديلها لمزيد من الحماية.
الجواب:
صحيحة.
السؤال:
ليس من الضروري مراجعة سياسات جهة العمل فيما يتعلق باستخدام وسائل التواصل الاجتماعي.
الجواب:
خطأ.
السؤال:
لا تتغير سياسات الخصوصية لمواقع الشبكات الاجتماعية بمرور الوقت.
الجواب:
خطأ.
السؤال:
من الضروري قبول جميع طلبات الصداقة الواردة على حسابك في شبكات التواصل الاجتماعية.
الجواب:
خطأ.
السؤال:
حظر العضو على مواقع التواصل الاجتماعي يوقف قدرته على التفاعل معك.
الجواب:
صحيحة.
الصفحة رقم (220)
السؤال الثالث
السؤال:
عند استخدام قواعد البيانات في الأعمال التجارية، من السهل إضافة البيانات أو تعديلها أو حذفها.
الجواب:
صحيحة.
السؤال:
نظام إدارة قواعد البيانات (DBMS) هو برنامج يسمح للمستخدمين بإدارة قاعدة البيانات وصيانتها والتحكم فيها والوصول إليها.
الجواب:
صحيحة.
السؤال:
الحقل في قاعدة البيانات له خصائص تحدد البيانات التي تُدخل فيه.
الجواب:
صحيحة.
السؤال:
تتكون قاعدة البيانات من جداول، وهي مجموعات من الحقول التي تحتوي على بيانات لعنصر معين.
الجواب:
صحيحة.
السؤال:
يوفر نظام إدارة قواعد البيانات طريقة آمنة وفعالة لتخزين البيانات وإدارتها.
الجواب:
صحيحة.
السؤال:
تستخدم البنوك قواعد البيانات لتخزين معلومات عن عملائها، مثل المعلومات الشخصية والحسابات المصرفية.
الجواب:
صحيحة.
السؤال:
تتمثل إحدى ميزات استخدام قواعد البيانات في أنها تجعل من السهل مشاركة البيانات بين المستخدمين.
الجواب:
صحيحة.
السؤال:
لإنشاء قاعدة بيانات، تحتاج أولاً إلى تحديد الغرض من قاعدة البيانات والبيانات المحددة التي سيتم تخزينها.
الجواب:
صحيحة.
السؤال:
تتضمن صيانة قاعدة البيانات أداء مهام مثل النسخ الاحتياطي للبيانات ومراقبة الأداء وتحديث هيكلة قاعدة البيانات.
الجواب:
صحيحة.
السؤال:
تتكون عملية بناء قاعدة البيانات من تحديد وتحليل المتطلبات وتصميم قاعدة البيانات.
الجواب:
صحيحة.
السؤال:
المفتاح الأساسي (Primary Key) مفيد لربط الجداول معاً.
الجواب:
صحيحة.
السؤال:
العلاقات بين الجداول ضرورية لدمج البيانات في جداول بحيث يمكنك استخراج البيانات ذات الصلة من جداول مختلفة.
الجواب:
صحيحة.
الصفحة رقم (221)
السؤال الرابع
السؤال:
هناك ثلاثة أنواع من العلاقات: علاقة رأس برأس، وعلاقة رأس بأطراف، وعلاقة أطراف بأطراف.
الجواب:
صحيحة.
السؤال:
في علاقة رأس برأس، يقترن كل سجل في الجدول الأول بأكثر من سجل واحد في الجدول الثاني حيث لا يلزم أن يكون عدد السجلات في الجدولين متساوياً.
الجواب:
خطأ.
السؤال:
فرض التكامل المرجعي هو إعداد يتسبب في عدم الحفاظ على دقة البيانات والتطابق بين الجداول ذات الصلة.
الجواب:
خطأ.
السؤال:
عند تمكين التتالي، يتم حذف السجلات ذات الصلة إذا حذفت سجل في الجدول الأساسي.
الجواب:
صحيحة.
السؤال:
تسمح لك الاستعلامات بتصفية وتحديد سجلات معينة من قاعدة بيانات.
الجواب:
صحيحة.
السؤال:
لا يمكن للاستعلامات جمع البيانات من جداول متعددة في قاعدة بيانات.
الجواب:
خطأ.
السؤال:
تمكنك الاستعلامات من عرض السجلات التي تفي بالمعايير المحددة التي تحددها.
الجواب:
صحيحة.
السؤال:
يتيح لك حفظ الاستعلام إعادة استخدامه دون إعادة إنشائه، مما يوفر الوقت والجهد.
الجواب:
صحيحة.
السؤال:
تتيح لك التقارير في قواعد البيانات تقديم البيانات بطريقة منسقة ومنظمة، مما يسهل العثور على المعلومات وتحليلها.
الجواب:
صحيحة.
السؤال:
يساعدك فرز البيانات في تقارير مايكروسوفت أكسس في تنظيم البيانات وتقديمها بطريقة واضحة، ويسهل التعرف على الأنماط والاتجاهات.
الجواب:
صحيحة.
السؤال:
عند إنشاء تقرير في مايكروسوفت أكسس، يمكنك تضمين بيانات من جدول واحد في التقرير.
الجواب:
خطأ.
الصفحة رقم (222)
السؤال الخامس
السؤال:
خدمة تتبع توصيل المنتج هي إحدى الخدمات التي تعتمد عليها التجارة الإلكترونية.
الجواب:
صحيحة.
السؤال:
التسوق عبر الإنترنت (Online Shopping) معفى من الضرائب.
الجواب:
خطأ.
السؤال:
يعد نظام شركة إلى شركة (Business to Business) أحد نماذج التجارة الإلكترونية الثلاثة.
الجواب:
صحيحة.
السؤال:
في نموذج التجارة الإلكترونية من شركة إلى مستهلك (Business to Consumer)، يتبادل المستهلكون المنتجات والخدمات والمعلومات مع بعضهم البعض عبر الإنترنت.
الجواب:
صحيحة.
السؤال:
توفر التجارة الإلكترونية عدداً محدوداً من عمليات الشراء ولا تدعم الدفع المتزامن.
الجواب:
خطأ.
السؤال:
موقع إيباي (eBay) هو أحد أمثلة الأسواق الإلكترونية المستقلة.
الجواب:
صحيحة.
السؤال:
جنرال إلكتريك (General Electric) هو أحد أمثلة الأسواق الموجهة للمورد.
الجواب:
خطأ.
السؤال:
تقدم أسواق السلع الافتراضية (Virtual Goods) الخدمات أو المنتجات التي تعزز فرص التبرع الفردية للحالات المحتاجة في مختلف المجالات.
الجواب:
صحيحة.
السؤال:
أداة LocalWP هي أداة عبر الإنترنت لإنشاء متجر إلكتروني باستخدام ووردبريس (WordPress).
الجواب:
خطأ.
السؤال:
عند التسوق عبر الإنترنت، يمكنك دائماً حذف منتج أو تغيير كميته في سلة المشتريات قبل الشراء.
الجواب:
صحيحة.
الصفحة رقم (223)
السؤال السادس
السؤال:
التحويل الإلكتروني للأموال (Electronic Fund Transfer) هو تقنية مستخدمة على نطاق واسع في التجارة الإلكترونية.
الجواب:
صحيحة.
السؤال:
التسويق الإلكتروني هو عملية تقديم محتوى ووسائط رقمية مثل الصوت، والفيديو، والكتب الإلكترونية، وألعاب الفيديو، والبرامج الأخرى التي يتم شراؤها من خلال التجارة الإلكترونية.
الجواب:
خطأ.
السؤال:
لا يمكنك استخدام بطاقات الائتمان أو الخصم في التسوق عبر الإنترنت؛ لأنها تتطلب من العميل زيارة متجر فعلي لاستخدامها.
الجواب:
خطأ.
السؤال:
يمكن الدفع بواسطة الهاتف الذكي باستخدام تقنية الاتصال قريب المدى (Near-Field Communication (NFC)).
الجواب:
صحيحة.
السؤال:
تحتوي المحفظة الإلكترونية على مكونين أساسيين: الأجهزة والبرنامج.
الجواب:
خطأ.
السؤال:
محفظة أبل باي (Apple Pay) هو مثال لمحفظة عبر الإنترنت.
الجواب:
صحيحة.
السؤال:
باستخدام باي بال (PayPal)، يمكن لمستخدمي باي بال تحويل الأموال إلى طرف ثالث مباشرة، كما يتم الاحتفاظ بسرية معلومات المشتري من هجمات الاختراق.
الجواب:
صحيحة.
السؤال:
عند استخدام باي بال (PayPal)، لا توجد رسوم على البائع عند الشراء ولكن تخصم نسبة من المال من المشتري.
الجواب:
خطأ.
السؤال:
إذا كان رابط الموقع URL في شريط العناوين يبدأ بـ “http” بدلاً من “https”، فهذا يعني أنه اتصال آمن (Secure).
الجواب:
خطأ.
السؤال:
التحقق بواسطة فيزا (Visa) ونورتون سيل (Norton Seal) من إشارات الثقة التي تشير إلى أن التعاملات في المتجر الإلكتروني مؤمنة.
الجواب:
صحيحة.
السؤال:
التخفيضات الكبيرة أو موقع ذو تصميم رديء أو لغة غير سليمة كلها علامات على احتيال محتمل عبر الإنترنت.
الجواب:
صحيحة.
السؤال:
بعد تقديم الطلبات عبر الإنترنت أو تحديث بيانات حسابك، يجب عليك الخروج من المتجر الإلكتروني كإجراء أمني.
الجواب:
صحيحة.
الصفحة رقم (224)
السؤال السابع
السؤال:
شغل المقطع البرمجي الآتي واكتب النتيجة التي تظهر على الشاشة.
fruits=[“apple”,”orange”,”banana”]
print(fruits)
fruits.remove(“apple”)
fruits.append(“cherry”)
print(fruits)
fruits.sort()
print(fruits)
fruits.reverse()
print(fruits)
fruits=[“apple”,”orange”,”banana”]
print(fruits)
fruits.remove(“apple”)
fruits.append(“cherry”)
print(fruits)
fruits.sort()
print(fruits)
fruits.reverse()
print(fruits)
الجواب:
[‘apple’, ‘orange’, ‘banana’]
[‘orange’, ‘banana’, ‘cherry’]
[‘banana’, ‘cherry’, ‘orange’]
[‘orange’, ‘cherry’, ‘banana’]
[‘orange’, ‘banana’, ‘cherry’]
[‘banana’, ‘cherry’, ‘orange’]
[‘orange’, ‘cherry’, ‘banana’]
الصفحة رقم (225)
السؤال الثامن والتاسع
السؤال:
المكتبة البرمجية منظمة بحيث يمكن استخدامها بواسطة برامج متعددة ذات طبيعة مختلفة.
الجواب:
صحيحة.
السؤال:
يتم تثبيت مكتبة بايثون القياسية تلقائياً عند تثبيت بايثون.
الجواب:
صحيحة.
السؤال:
إذا استوردت جميع الدوال، سيتم زيادة المقطع البرمجي في البرنامج النهائي دون أي سبب.
الجواب:
صحيحة.
السؤال:
تحتوي عينات المقطع البرمجي الخارجي دائماً على وثائق صحيحة وكاملة.
الجواب:
خطأ.
السؤال:
يعد إعادة استخدام التعليمات البرمجية من الممارسات الجيدة دائماً، حيث يوفر السرعة والموثوقية في عملية البرمجة.
الجواب:
صحيحة.
السؤال:
املأ الفراغات في المقطع البرمجي الآتي لرسم الشكل الموضح في الصورة.
الجواب:
from tkinter import*
window=Tk()
window.title(“My Window”)
canvas=Canvas(bg=”blue”,width=400,height=400)
canvas.pack()
canvas.create_rectangle(150,150,300,300,width=3,outline=”red”,fill=”yellow”)
window.mainloop()
window=Tk()
window.title(“My Window”)
canvas=Canvas(bg=”blue”,width=400,height=400)
canvas.pack()
canvas.create_rectangle(150,150,300,300,width=3,outline=”red”,fill=”yellow”)
window.mainloop()
الصفحة رقم (226)
السؤال العاشر
السؤال:
شغل المقطع البرمجي الآتي واكتب النتيجة التي تظهر على الشاشة.
numbers = {1:”One”, 2:”Two”, 3:”Three”}
print(numbers)
k=numbers.keys()
print(k)
v=numbers.values()
print(v)
numbers.clear()
print(numbers)
numbers = {1:”One”, 2:”Two”, 3:”Three”}
print(numbers)
k=numbers.keys()
print(k)
v=numbers.values()
print(v)
numbers.clear()
print(numbers)
الجواب:
{1: ‘One’, 2: ‘Two’, 3: ‘Three’}
dict_keys([1, 2, 3])
dict_values([‘One’, ‘Two’, ‘Three’])
{}
dict_keys([1, 2, 3])
dict_values([‘One’, ‘Two’, ‘Three’])
{}
الصفحة رقم (227)
السؤال الحادي عشر والثاني عشر
السؤال:
ما الذي سيتم طباعته بواسطة المقطع البرمجي الآتي؟
list=[1,”a”,[35,”e”]]
print(list[2][1])
list=[1,”a”,[35,”e”]]
print(list[2][1])
الجواب:
e
السؤال:
ما الذي سيتم طباعته بواسطة المقطع البرمجي الآتي؟
list=[[1,2],[“a”,”b”],[35,”e”]]
print(list[1][0])
list=[[1,2],[“a”,”b”],[35,”e”]]
print(list[1][0])
الجواب:
a
السؤال:
ما الذي سيتم طباعته بواسطة المقطع البرمجي الآتي؟
list=[[“a”,2],[5,”d”],[3,”e”]]
print(list[0][1])
list=[[“a”,2],[5,”d”],[3,”e”]]
print(list[0][1])
الجواب:
2
السؤال:
لفتح ملف للقراءة استخدم الوضع “k”.
الجواب:
خطأ.
السؤال:
يحذف الملف السابق في الملف عندما تستخدم الوضع “w”.
الجواب:
صحيحة.
السؤال:
يمكنك استخدام الوضع “a” لإلحاق نص جديد في الملف.
الجواب:
صحيحة.
حل وحدة البرمجة مع بايثون صف ثالث متوسط ف1
الوحدة الرابعة البرمجة مع بايثون ، مادة المهارات الرقمية ثالث متوسط ف1 ، حل وحدة البرمجة مع بايثون ونتعلم فيها القوائم والمكتبات البرمجية
يتضمن هذا حل مادة المهارات الرقمية ما يلي :
الوحدة الرابعة : البرمجة مع بايثون
- الدرس الأول : القوائم وصفوف البيانات
- الدرس الثاني : المكتبات البرمجية
- الدرس الثالث : بناء الواجهات الرسومية بلغة البايثون
إقرأ أيضا : حل وحدة قواعد البيانات ثالث متوسط