Lenny.com
Explore
Create
ActivitiesNewMathEnglish Language ArtsScience & EngineeringSocial StudiesGlobal LanguagesHealth & Physical EducationSpecial EducationCounseling & Life SkillsArts & CreativityESL
Lenny.com
Lenny.com
Explore
Create
ActivitiesNewMathEnglish Language ArtsScience & EngineeringSocial StudiesGlobal LanguagesHealth & Physical EducationSpecial EducationCounseling & Life SkillsArts & CreativityESL
Lenny.com
Lenny.com

Solutions

Lenny for EducatorsLenny for SchoolsLenny for Districts

Product

ExploreSign inCreateSupportAbout

Resources

Getting startedMTSS Acceleration Program

© 2026 Lenny Learning Inc.

TermsPrivacyAccessibility
LinkedInInstagramX
Lenny
Science & EngineeringLife ScienceLiving ThingsAnimalsPlantsBody SystemsTraitsAdaptationsCellsEcosystemsHeredityGenes to TraitsCell DivisionPhysicsComparing MaterialsShapes and PropertiesMagnetsMagnetismLightSoundLight and SoundMatterStates of MatterChanges of StateMixturesPhysical and Chemical ChangeHeating and CoolingHeat and Thermal EnergyEnergyForce and MotionElectrical CircuitsAtoms and MoleculesPeriodic TableMotion in One DimensionMotion in Two DimensionsScalars and VectorsForces and Laws of MotionCircular Motion and GravityMomentum and ImpulseWork, Energy, and PowerWavesElectromagnetic WavesGeometric OpticsElectricity and MagnetismSimple Harmonic MotionThermodynamicsNuclear PhysicsEarth Science & AstronomyWeatherWater CycleRocks and MineralsFossilsEarth's FeaturesEarth's ResourcesEarth's StructureWeather and ClimateEarth EventsFossils and Geologic TimePlate TectonicsHuman ImpactsAstronomyChemistryUnits and MeasurementAtomic StructurePeriodic TrendsChemical BondingNomenclatureMolecular StructureIntermolecular ForcesThe MoleStoichiometryProperties of GasesSolutionsChemical ReactionsBalancing EquationsEnergy ChangesRates of ReactionsEquilibriumAcids and BasesQuantum ModelBiologyClassificationCell StructureThe Chemistry of LifeBiomoleculesCellular TransportCell EnergyCell Growth and DivisionDNAProtein SynthesisMeiosis and Sexual ReproductionPatterns of InheritanceMulticellular OrganismsEvolutionEcologyBiodiversityComputer ScienceAlgorithms and Computational ThinkingProgramming LanguagesComputing SystemsNetworks and InternetData AnalysisCybersecurityAI and Machine LearningSoftware Design and DevelopmentBlockchainEngineering & AIDesigning ExperimentsEngineering PracticesDesign ThinkingEngineering Design ProcessMechanical EngineeringElectrical EngineeringMaterials and StructuresCAD and 3D DesignRoboticsArtificial Intelligence BasicsVibe CodingMachine LearningAI Ethics and SocietySystems ThinkingEntrepreneurship & InnovationEntrepreneurial MindsetBusiness Idea DevelopmentBusiness Plan BasicsMarketing & Customer DiscoveryFinancial Management for Startups

Java Syntax Foundations

A comprehensive chapter study sequence for CS 1301 covering Problem Solving, Program Structure, Identifiers, Variables, Operators, and Type Casting. Designed as a bilingual student companion with a visual dark navy theme and dedicated note-taking draft areas.

YAYara Alqwaizani
Problem Solving and Structure

Covers the foundational concepts of problem-solving (definition, analysis, pseudocode, and flowcharting) and basic Java program structure including OOP principles and output statements.

Identifiers and Data Types

Explores naming rules for identifiers, variables vs. constants, primitive data types (integers, floating-points, characters, and booleans), and variable declarations.

Operators and Type Casting

Deep dive into assignment, arithmetic, compound, increment/decrement, relational, and logical operators, along with operator precedence, evaluation of complex expressions, and explicit/implicit type casting.

Java Syntax Foundations

A comprehensive chapter study sequence for CS 1301 covering Problem Solving, Program Structure, Identifiers, Variables, Operators, and Type Casting. Designed as a bilingual student companion with a visual dark navy theme and dedicated note-taking draft areas.

YAYara Alqwaizani

04/21

هل الاسم مقبول برمجياً أم غير مقبول؟ (Valid vs Illegal)

أسماء مقبولة تماماً (Valid)

First حروف تبدأ بحرف كبير (مقبول)

payRate أسلوب سنام الجمل CamelCase

pay_rate استخدام الشرطة السفلية

$Amount مسموح بالبدء بعلامة $

_Update مسموح بالبدء بشرطة سفلية _

أسماء غير مقبولة (Illegal)

mid-term يحتوي على (-) وهو معامل طرح ممنوع

add salary المسافات الفاصلة (Space) ممنوعة تماماً

one+two يحتوي على (+) وهو معامل جمع ممنوع

2nd غير مسموح بالبدء بأرقام

public كلمة محجوزة في جافا (Reserved word)

تنبيه للامتحان: سؤال "صنف المقبول وغير المقبول مع ذكر السبب" هو سؤال سنوي ثابت! Learn the logic behind errors.

اختبر نفسك وصنف الأسماء

04/21

صنف الأسماء التالية: class, first_Num, 3sum


02. VARIABLES المتغيرات وتعريفها في الذاكرة

05/21

ما هو المتغير (Variable)؟ وكيف يُعرّف في جافا؟

المتغير: هو اسم لخلية وموقع محجوز في الذاكرة العشوائية (RAM)، تهدف لتخزين قيمة قابلة للتغيير والتحديث أثناء تشغيل البرنامج.

عند الإعلان عن متغير، تقوم جافا بحجز مساحة معينة في الذاكرة تتناسب تماماً مع نوع البيانات المحدد له.

صيغة الإعلان في جافا (Declaration Syntax):

Data_Type identifier;

قواعد وإرشادات هامة للمتغيرات:

  • كل متغير في جافا يجب تحديد نوع بياناته بوضوح قبل استخدامه بالبرنامج.
  • أمثلة على متغيرات مقبولة: mark1, employee_Address, studentID, $age.
  • عند تخزين قيمة جديدة داخل المتغير، فإن القيمة الجديدة تقوم بمسح واستبدال القيمة القديمة تماماً (Overwrite / Destroy).

انتبه: الإعلان عن المتغيرات يمنحها عنواناً ونوعاً برمجياً، ولكنه لا يمنحها قيمة افتراضية إجبارية دوماً. Memory allocation is size-dependent.

مسودة وهيكل الذاكرة

05/21

ارسم رسماً تخطيطياً لمتغير name في الذاكرة


02. VARIABLES ANATOMY المكونات الأربعة الأساسية لأي متغير

06/21

الهيكل والخصائص الأربعة للمتغير (Variable Anatomy)

1

الاسم (Identifier)

هو الاسم المميز للمتغير المستخدم للوصول إليه في الكود (Variable Name).

2

النوع (Data Type)

يحدد نوع وصنف البيانات المخزنة بداخله (مثل عدد صحيح أو حرف أو كسر).

3

الحجم (Size)

يحدد حجم المساحة المحجوزة بالذاكرة بالبت (Bits) بناءً على نوع البيانات.

4

الحالة (State / Value)

هي القيمة الفعلية المخزنة داخل خلية المتغير في اللحظة الحالية.

تنبيه: يجب الإعلان عن المتغيرات أولاً باسم ونوع صحيحين قبل تمكننا من استخدامها بالبرنامج. Variables must be declared before use.

مسودة التتبع والملاحظات

06/21

اكتب الخصائص الأربعة لمتغير int age = 22;


03. CONSTANTS الثوابت وتعريفها البرمجي

07/21

ما هي الثوابت (Constants)؟ وكيف نقوم بتعريفها؟

الثوابت (Constants): هي مساحات بالذاكرة تحمل أسماءً وصنفاً معيناً، ولكن على النقيض من المتغيرات، تظل قيمتها وحالتها ثابتة تماماً ولا يُسمح بتعديلها أو تغييرها نهائياً طوال فترة تشغيل البرنامج.

صيغة الإعلان في جافا (Constants Syntax):

final dataType IDENTIFIER = value;

أهمية الكلمة المحجوزة final:

الكلمة المحجوزة final هي التي تبلغ مترجم جافا (Compiler) بأن هذه القيمة مغلقة ومثبتة ولا يمكن الكتابة فوقها أو التلاعب بها، ومحاولة تعديلها ستنتج خطأ في الترجمة (Syntax Error).

final double PI = 3.14159;
final char CURRENCY = '$';
final int MAX_LIMIT = 1000;

ملاحظة هامة: نستخدم في تسمية الثوابت الأحرف الكبيرة دائماً للفصل بينها وبين المتغيرات المعتادة. Use UPPERCASE for constant names.

تدوين ملاحظات ومقترحات

07/21

ماذا يحدث لو حاولنا تعديل الثابت PI = 3.0؟


04. DATA TYPES تصنيف أنواع البيانات في جافا

08/21

تصنيف وتقسيم أنواع البيانات في لغة جافا

1. الأنواع الأولية (Primitive Data Types)

هي أنواع أساسية مدمجة مسبقاً في لغة جافا (Built-in). كل نوع يحمل مساحة محددة جداً بالذاكرة وقدرة تخزين لا تتغير، وتضم ثمانية أنواع أساسية سنتعرف عليها في السلايدات القادمة وتصنف إلى:

  • أعداد صحيحة (Integers) ومقاطع عشرية (Decimals).
  • رموز وحروف مفردة (Characters).
  • قيم منطقية صح أو خطأ (Booleans).

2. الأنواع المرجعية (Reference Types)

هي كائنات أو نماذج لكلاسات مبنية مسبقاً أو يصنعها المبرمج نفسه (Instances of classes)، ولا تخزن القيم البرمجية مباشرة وإنما تخزن عنوان الكائن الفعلي في الذاكرة مثل:

  • السلاسل النصية الطويلة والكلاسات الضخمة (String).
  • المصفوفات المتقدمة والكائنات البرمجية المستحدثة.

تنبيه: نوع البيانات المرجعية يرجع دوماً إلى الـ Heap الذاكرة المخصصة للكائنات. Primitive value vs Object Reference.

مسودة الفروقات والملاحظات

08/21

لماذا يعتبر String نوعاً مرجعياً وليس أولياً؟


04. DATA TYPES: INTEGERS أنواع الأعداد الصحيحة بالكامل

09/21

الأنواع الأربعة المخصصة لتخزين الأعداد الصحيحة (Integers)

النوع (Type)الحجم (Size)القيمة الصغرى (Min Value)القيمة الكبرى (Max Value)
byte8 bits-128 ( = -2⁷ )+127 ( = 2⁷ - 1 )
short16 bits-32,768 ( = -2¹⁵ )+32,767 ( = 2¹⁵ - 1 )
int32 bits-2,147,483,648+2,147,483,647
long64 bits-9,223,372,036,854,775,808+9,223,372,036,854,775,807

📌 الأعداد الصحيحة: هي أرقام لا تحتوي على أي فواصل عشرية. القيمة الافتراضية الثابتة للأعداد الصحيحة بجافا هي int.

⚠️ تنبيه للامتحان: لا يُسمح بوضع الفواصل العادية , داخل الأرقام الإنجليزية بالمترجم، ولا يشترط وضع إشارة + للأعداد الموجبة.

تذكر: اختيارك للنوع المناسب يوفر على الكمبيوتر استهلاك الذاكرة بشكل مفرط. Integer types are signed.

مسودة الأحجام والمدى

09/21

ما هو نوع البيانات الافتراضي للأرقام الصحيحة؟


04. DATA TYPES: DECIMALS الأنواع المخصصة للكسور العشرية

10/21

الأنواع المخصصة لتخزين الأعداد العشرية والحقيقية (Decimals)

النوع (Type)الحجم (Size)القيمة الصغرى (Min Value)القيمة الكبرى (Max Value)عدد الخانات الدقيقة (Significant bits)
float32 bits-3.4e+38+3.4e+38حتى 7 خانات بعد الفاصلة (دقة أحادية)
double64 bits-1.7e+308+1.7e+308حتى 15 خانة بعد الفاصلة (دقة مضاعفة)

الترميز العشري والترميز العلمي للمترجم (Notation):

الرقم العادي 4387

الترميز العلمي 4.387 * 10³

ترميز جافا العشري 4.387e+3

مثال الصفر 0.0005 = 5.0e-4

قاعدة هامة جداً: لغة جافا تعتبر double هو النوع الافتراضي لأي كسر عشري يتم كتابته. double is the default real type.

مسودة الكسور والترميز

10/21

ماذا تعني علامة e+3 في لغة البرمجة؟


04. DATA TYPES: CHARACTERS نوع البيانات الحرفي بالتفصيل

11/21

نوع البيانات الحرفي المنفرد (char) وقواعد كتابته بالذاكرة

char (16 bits): نوع بيانات أولي مخصص لتخزين رمز أو حرف إنجليزي أو رقم مفرد واحد فقط. ويستخدم نظام الترميز العالمي الموحد (Unicode).

يستطيع تخزين حتى 65,535 رمزاً مختلفاً، فمثلاً الرقم 65 يمثل في الذاكرة الحرف الإنجليزي الكبير 'A'.

📌 قاعدة الاقتباس المفرد: يجب إحاطة قيمة المتغير الحرفي دائماً باقتباس مفرد مثل: 'A' وليس اقتباس مزدوج.

أمثلة وتنبيهات للامتحان:

char letter = 'A'; مقبول تماماً

char space = ' '; مقبول (مساحة فارغة)

char test = 'Abc'; خطأ (أكثر من حرف واحد)

char symbol = '>='; خطأ (أكثر من رمز واحد)

💡 ملاحظة الكتاب المنهجي: لتمثيل المساحة الفارغة الفاصلة في المنهج أثناء الكتابة المباشرة نستخدم الحرف '~'.

انتبه: الأعداد داخل الاقتباس المفرد مثل '7' هي رموز حرفية ولا يمكن استخدامها مباشرة بالعمليات الحسابية! char literals use single quotes.

مسودة الحروف والرموز

11/21

لماذا لا يعتبر 'Ahmed' نوع char؟


04. DATA TYPES: ASCII TABLE جدول رموز أسكي المعتمد للحروف

12/21

جدول رموز أسكي (ASCII Codes) ومقارنة الحروف برمجياً

نظام ASCII هو مجموعة جزئية من نظام اليونيكود العالمي، ويمتلك كل حرف فيه قيمة عشرية ثابتة في الذاكرة لتسهيل مقارنتها.

'A' ➔ Code: 65 الحروف الكبيرة تبدأ من 65

'a' ➔ Code: 97 الحروف الصغيرة تبدأ من 97

'0' ➔ Code: 48 الرموز الرقمية تبدأ من 48

⚠️ قاعدة هامة للامتحان: أي حرف إنجليزي كبير (Uppercase) هو دائماً أصغر بالذاكرة من أي حرف صغير (Lowercase) بالاعتماد على الترتيب العشري لـ ASCII!

أمثلة ومقارنات برمجية وحلها:

'A' < 'g' ➔ true (65 < 103)

'f' >= 'q' ➔ false (102 >= 113)

'B' != 'B' ➔ false (66 != 66)

📌 قاعدة الأبجدية: إذا كانت الحروف من نفس النوع (كلها كبيرة أو صغيرة)، فإن الحرف الأسبق هجائياً هو الأصغر دوماً بالذاكرة (مثال: 'a' < 'b' تعطي True).

انتبه: المقارنات بين الحروف تجري تلقائياً خلف الستار بالاعتماد على قيمها العشرية في ASCII. ASCII values guide character comparison.

مسودة ومقارنة الحروف

12/21

أوجد ناتج مقارنة: 'C' < 'a'


04. DATA TYPES: BOOLEAN نوع البيانات المنطقي بالكامل

13/21

نوع البيانات المنطقي الثنائي (boolean) واستخداماته

boolean (1 bit): هو أصغر نوع بيانات أولي في الذاكرة على الإطلاق، ومخصص لحفظ وإدارة حالتين منطقتين فقط:
true (صحيح) أو false (خاطئ).

يستخدم بكثرة مع أدوات الشرط وتحديد مسار المخططات التدفقية والحلقات التكرارية.

أمثلة على جمل وتعبيرات منطقية:

X > 10 هل القيمة أكبر من 10؟

payRate < 25.5 مقارنة كسور عشرية

X == Y هل القيمتان متطابقتان؟ (تنبيه: == وليس =)

status == 'M' مقارنة رموز حرفية وحفظ النتيجة

تنبيه للامتحان: القيمة المخزنة لـ boolean يتم تخزينها مباشرة كـ true أو false ككلمات محجوزة بدون اقتباسات. 1 bit of memory storage.

مسودة التعبيرات المنطقية

13/21

ما هو الفرق بين معامل = ومعامل ==؟


04. DATA TYPES SUMMARY شجرة اختيار واختبار نوع البيانات

14/21

الهيكل الهرمي لاختيار نوع البيانات الصحيح (Data Type Selection)

1. أعداد وصيغ رياضية (Numeric)

أعداد صحيحة (Integer) byte, short, int, long

كسور عشرية (Floating) float, double

2. رموز ونصوص (Character)

حرف مفرد واحد (char) char ➔ 'A', '7', '%'

سلسلة نصوص مرجعية (String) String ➔ "Welcome"

3. قيم منطقية (Boolean)

صح أو خطأ (boolean) boolean ➔ true, false

نصيحة الامتحان: قبل تعريف أي متغير اسأل نفسك: هل يحتوي على كسور؟ هل يحتاج لحروف أم نصوص؟ Choose the optimal type to save RAM.

مسودة وتطبيقات التبويب

14/21

ما هو النوع المناسب لتخزين معدل الطالب GPA؟


05. NAMING STANDARDS المعايير المعتمدة لتسمية الكود

15/21

المعايير والاصطلاحات المعتمدة عالمياً لتسمية المُعرّفات

1. تسمية الثوابت (Constants)

تُكتب دائماً باستخدام أحرف كبيرة بالكامل (UPPERCASE). وإذا كان الاسم يتكون من أكثر من كلمة واحدة، يتم الفصل بين الكلمات برمز الشرطة السفلية (_).

final double CENTIMETERS_PER_INCH = 2.54;
final double MAX_LIMIT = 500;

2. تسمية المتغيرات (Variables)

تُكتب دائماً باستخدام أحرف صغيرة (lowercase) للكلمة الأولى، وإذا كان الاسم يتكون من عدة كلمات تندمج معاً مع كتابة الحرف الأول من الكلمة الثانية كبيراً (camelCase).

double average;
int studentsNumber, letterGrade;

تنبيه: اتباع هذه المعايير ليس إلزامياً للمترجم ولكنه إلزامي للحصول على درجات كاملة في الواجبات والامتحانات العملى! Always prioritize code readability.

مسودة واصطلاحات التسمية

15/21

اعد كتابة اسم المتغير studentgpa بالأسلوب الصحيح


05.1 CONSTANTS DECLARATION قواعد وأمثلة تعريف الثوابت

16/21

قواعد وتعريف الثوابت باستخدام القيم المباشرة والتعبيرات

تعريف قيم الثوابت المباشرة (Literals):

القيم الثابتة البسيطة المكتوبة مباشرة في الكود (مثل 2.54 أو 1024) تُعرف برمجياً بالقيم الثابتة المباشرة (Literals).

حساب الثوابت من خلال التعبيرات:

يُسمح بتعريف ثابت من خلال تعبير رياضي (Expression) شرط أن تكون جميع المتغيرات والمكونات البرمجية بداخله قد تم تعريفها مسبقاً في الذاكرة.

// Example 1: Direct literal assignment
final double CENTIMETERS_PER_INCH = 2.54;

// Example 2: Expression calculation
final int MAX = 1024;
final int MIN = 64;
final int AVG = (MAX + MIN) / 2;

// Example 3: Other types
final double PI = 3.14159;
final char CURRENCY = '$';
final char BLANK = ' '; // this is a space

انتبه: في المثال الثاني، قيمة الثابت AVG تعتمد كلياً على حساب العملية الحسابية في الذاكرة أولاً. All dependent identifiers must exist first.

مسودة وحساب الثوابت

16/21

احسب القيمة النهائية لـ AVG بالذاكرة


05.2 VARIABLES DECLARATION الإعلان عن المتغيرات وإعطائها قيم أولية

17/21

تعريف المتغيرات وتخصيص القيم الأولية لها بالذاكرة

1. التعريف المتعدد في نفس السطر: يُسمح بتعريف متغيرات متعددة تحمل نفس نوع البيانات في سطر برمجى واحد يفصل بينها علامة الفاصلة المعتادة (,).

2. إسناد قيم أولية (Initialization): يُفضل إعطاء المتغيرات قيم أولية فور الإعلان عنها لمنع المشاكل المنطقية أثناء التشغيل.

// Example 1: Standard definition
double average;

// Example 2: Multiple variables in same line
int studentsNumber, counter, num1, num2;
char ch, status, letterGrade;

// Example 3: Initial values during declaration
int counter = 0, sum = 0, product = 1;
char ch = ' '; // initialized as space

تذكر: الإعلان المتعدد يحتاج دوماً لفاصلة عادية، وينتهي السطر البرمجي بفاصلة منقوطة (;). Multiple assignments require commas.

مسودة وحجز المتغيرات

17/21

اكتب تعليقاً على أهمية تهيئة المتغير بـ 0


05.2 VARIABLES SPECIAL RULES تنبيهات هامة لتعريف المتغيرات العشرية

18/21

حالات خاصة: تهيئة التعبيرات وقواعد المتغيرات العشرية الصغرى (float)

1. التهيئة باستخدام التعبيرات (Expressions): يُسمح بتهيئة المتغير باستخدام تعبير رياضي مركب يعتمد على قيم متغيرات أخرى تم تعريفها وتجهيز قيمها مسبقاً بالذاكرة.

⚠️ قاعدة إلزامية للامتحان (Float Literals Rule): بما أن جافا تعتبر الكسور العشرية double تلقائياً، فإن محاولة تخزين كسر في متغير من نوع float ستنتج خطأ في الترجمة ما لم تضع حرف f أو F خلف الرقم مباشرة لإعلام المترجم!

// Example 1: Initialization using expressions
double x = 0.0, y = 2.0;
double z = (x + y) - 1; // z becomes 1.0

// Example 2: FLOAT error and fix
float a = 5.33; // SYNTAX ERROR!
float a = 5.33f; // CORRECT!

// Example 3: Multiple floats in same line
float length = 12.33f, width = 6.333f, radius = 0.3f;

تنبيه: نسيان حرف f خلف قيم float هي أحد أشهر أفخاخ اختبارات مقرر CS 1301 على الإطلاق! Always add 'f' to float literals.

مسودة وحقائق المترجم

18/21

لماذا ترفض جافا float x = 12.5;؟


06. EXAMPLES TRACING تتبع خطوة بخطوة للذاكرة - مثال 1

19/21

تتبع حالة الخلايا في الذاكرة (Trace Program Execution)

DataManipulation.java

1 public class DataManipulation {

2 public static void main(String[] args) {

3 final double PI = 3.14159; // constant

4 double radius;

5 double area;

6 radius = 2.5;

7 area = radius * radius * PI;

8 System.out.println("Area = " + area);

9 }

}

سطر 3: حجز خلية الثابت PI بالذاكرة وإسناد القيمة لها فوراً. PI = 3.14159

سطر 4 و 5: حجز خلايا للمتغيرات بدون قيم ابتدائية. radius, area = no value

سطر 6: إسناد القيمة العشرية 2.5 في خلية radius بالذاكرة. radius = 2.5

سطر 7: حساب العملية الحسابية وتخزين الناتج في خلية area. area = 19.6349375

تنبيه: يجب الإعلان وحجز الخلايا بالذاكرة أولاً قبل محاولة تعبئتها بالبيانات والقيم الحسابية. Trace tables prevent logical errors.

مسودة جدول التتبع للذاكرة

19/21

ارسم خلايا الذاكرة للثلاث ثوابت والمتغيرات بالترتيب


06. EXAMPLES TRACING تتبع خطوة بخطوة للذاكرة - مثال 2

20/21

تتبع تعبيرات متعددة وتغير حالة وقيمة الذاكرة في جافا

VariablesTrace.java

1 public class VariablesTrace {

2 public static void main(String[] args) {

3 int num1 = 10, num2 = num1 - 1;

4 double sale = 0.02 * num1;

5 char first;

6 first = 'D';

7 System.out.println("num1 = " + num1);

8 System.out.println("num2 = " + num2);

9 System.out.println("sale = " + sale);

10 }

}

جدول التتبع التفصيلي لقيم الذاكرة (Trace Table):

السطر (Line)num1num2salefirst
Line 3109 (10-1)UndefinedUndeclared
Line 41090.2Undefined
Line 61090.2'D'

قاعدة ذهبية: المتغيرات التي تكون على الجانب الأيمن من المعادلة يجب أن تمتلك قيماً بالذاكرة أولاً. Variables on RHS must have values first.

مسودة وحساب المتغيرات

20/21

توقع مخرجات جمل الطباعة في الأسطر 7 و 8 و 9


SELF-CHECK تمارين التقييم الذاتي والمذاكرة

21/21

أسئلة مراجعة هامة لقسم المعرفات والبيانات

1. أوجد الأخطاء البرمجية والسبب (Explain why):

• God Father ➔ غير قانوني؛ يحتوي على مسافة (space).

• &currency ➔ غير قانوني؛ يحتوي على رمز ممنوع (&).

• final ➔ غير قانوني؛ كلمة محجوزة لجافا (Reserved word).

• 901 / 4ever ➔ غير قانوني؛ يبدأ بأرقام.

2. اكتب برامج جافا كاملة وهيكلية للآتي:

  • برنامج يحول درجة الحرارة من مئوية لـ فهرنهايت بمتغيرات عشرية.
  • برنامج يقرأ ويطبع متوسط ثلاثة أعداد صحيحة.

اكتشف الأخطاء في الكود التالي (FindError):

1 public class FindError {
2 public static void main (String[] args) {
3 final CENTIMETERS_PER_INCH = 2.54; ➔ خطأ 1: نسي تحديد النوع double
4 double inches;
5 cm = CENTIMETERS_per_INCH * inches; ➔ خطأ 2: cm غير معرّف بالنوع + خطأ 3: per كتابة صغيرة وهي ثنائية كبيرة
6 System.out.println ("There are " + cm + "cm in " + inches + "inches");
7 }
8 }

تنبيه المذاكرة: احرص على مراجعة دقة أسماء المتغيرات ومطابقتها للمواصفات أثناء المراجعة. End of Lesson 2. Good luck!

حل وتتبع كود التقييم

21/21

أعد كتابة الكلاس بعد تصحيح الأخطاء الثلاثة

نستخدم رمز اليساوي (=) في البرمجة لإسناد وتخزين القيم في المتغيرات الفعالة بالذاكرة. وتأخذ هذه العملية ثلاث صيغ وقواعد رئيسية:

SYNTAX 1

إسناد قيمة مباشرة

تخزين قيمة ثابتة ومباشرة في المتغير (variable = literal).

x = 10; // x must exist

SYNTAX 2

إسناد متغير لآخر

نسخ وتخزين قيمة متغير في متغير آخر (var1 = var2).

x = 10; y = 15;
x = y; // x=15, y=15

SYNTAX 3

إسناد ناتج تعبير

حساب تعبير رياضي وتخزين ناتجه (variable = expression).

x = 10; y = 15;
x = x * y; // x=150

تنبيه للامتحان: عملية الإسناد تجري دائماً من الاتجاه الأيمن إلى الاتجاه الأيسر بالذاكرة. Assignment flows from Right to Left.

مسودة وتطبيقات الإسناد

04/23

ما هي القيمة النهائية لـ x و y بعد x = y؟


02. ASSIGNMENT TRACING تتبع وحساب خلايا المتغيرات - مثال 1

05/23

تتبع حالة وحجم الخلايا بالذاكرة (64-bit Memory States)

1 public class AssignmentOperator {

2 public static void main(String[] args) {

3 final double PI = 3.14159; // constant

4 double radius, area;

5 radius = 2.5;

6 area = PI * radius * radius;

7 }

}

تتبع تغيرات الذاكرة للثوابت والمتغيرات:

[Line 3] PI (double, 64 bits) ➔ 3.14159 (مستقر وثابت)

[Line 4] radius (double, 64 bits) ➔ Undefined Value (لا قيمة له)

[Line 4] area (double, 64 bits) ➔ Undefined Value (لا قيمة له)

[Line 5] radius ➔ 2.5 (تم إسناد القيمة وحفظها)

[Line 6] area ➔ 19.6349375 (تم الحساب بنجاح)

قاعدة هامة: المتغيرات من نوع double تحجز مساحة 64-bit بالذاكرة دوماً لتخزين الكسور الدقيقة. Trace memory values to secure logic.

رسم خلايا الذاكرة بالتفصيل

05/23

ارسم خلايا الذاكرة للمتغيرين radius و area


02. ASSIGNMENT TRACING تتبع خلايا المتغيرات - مثال 2

06/23

تتبع تحديث الذاكرة لبرنامج العداد (32-bit Counter Updates)

1 public class AssignmentOperator {

2 public static void main(String[] args) {

3 int counter;

4 counter = 0;

5 counter = counter + 1; // update value

6 }

}

تتبع تغيرات قيم خلية العداد في الذاكرة:

[Line 3] counter (int, 32 bits) ➔ Undefined Value (لا قيمة له)

[Line 4] counter = 0; ➔ 0 (تم التخزين المبدئي بالصفر)

[Line 5] counter = counter + 1; ➔ 1 (تم تحديث القيمة ومسح القديمة)

💡 طريقة التحديث بالذاكرة: يتم حساب الجانب الأيمن أولاً بالاعتماد على القيمة الحالية للعداد 0 + 1 = 1، ثم يتم إسناد الناتج إلى العداد في اليسار ليقوم بمسح واستبدال القيمة القديمة.

قاعدة هامة للامتحان: المتغيرات من نوع int تحجز مساحة 32-bit بالذاكرة دوماً لتخزين الأعداد الصحيحة. Updating destroys previous memory state.

مسودة التتبع والرسم

06/23

ارسم خلية العداد بالذاكرة بعد التحديث


03. ARITHMETIC OPERATORS المعاملات الحسابية الخمسة بجافا

07/23

المعاملات الحسابية الخمسة وصيغة كتابتها (Arithmetic Operators)

المعاملات البرمجية الخمسة المعتمدة:

+ Addition (الجمع)

- Subtraction (الطرح)

* Multiplication (الضرب)

/ Division (القسمة)

% Modulus (باقي القسمة العشري)

أمثلة وتعريف المصطلحات (Operands):

x = 10 + 5;
// 10 and 5 are called operands (المعاملات الرياضية)
// + is the operator (المعامل البرمجي)

y = x * 10 + 5;
// x and 10 are operands of *
// x*10 and 5 are operands of +

انتبه للامتحان: يُطلق على القيم أو المتغيرات التي تُجرى عليها العمليات اسم المعاملات الرياضية (Operands). Arithmetic operations structure.

مسودة وتطبيق المعاملات

07/23

اكتب تعريفاً مختصراً لـ Operand باللغة العربية


03. ARITHMETIC OPERATORS: DIVISION مخاطر وقواعد القسمة البرمجية بجافا

08/23

قواعد قسمة الأعداد الصحيحة مقابل قسمة الكسور العشرية

1. قسمة الأعداد الصحيحة (Integer Division)

عند قسمة عدد صحيح على صحيح آخر، تقوم جافا بقطع وحذف الجزء العشري تماماً (Truncated) من الناتج النهائي ولا تقوم بتقريبه!

int x = 15; int y = 2;
int z = x / y; ➔ z becomes 7 (NOT 7.5!)
double z2 = x / y; ➔ z2 becomes 7.0 (Still truncated!)

2. قسمة الأعداد العشرية (Real Division)

للحصول على ناتج كسر عشري دقيق، يجب أن يكون أحد الطرفين على الأقل أو كلاهما يحمل فواصل عشرية بالذاكرة.

int x = 15; double y = 2.0;
double z = x / y; ➔ z becomes 7.5 (since y is double)

double a = 15.0; double b = 2.0;
double c = a / b; ➔ c becomes 7.5

تنبيه للامتحان: نسيان قاعدة قطع الكسور الصحيحة يسبب خسارة درجات تتبع مخرجات الأكواد بكثرة. Integer division truncates decimal part.

مسودة وحساب نواتج القسمة

08/23

احسب ناتج: double res = 5 / 2;


03. ARITHMETIC OPERATORS: MODULUS معامل باقي القسمة المتبقي

09/23

فهم معامل باقي القسمة البرمجية (Modulus Operator: %)

% (Mod): هو معامل مخصص لحساب القيمة العددية المتبقية بعد إجراء عملية القسمة الصحيحة بين رقمين.

📌 قاعدة هامة للامتحان: ناتج باقي القسمة دائماً وأبداً يكون أصغر تماماً من القيمة العددية للمقسوم عليه (Divisor).

  • أي عدد زوجي % 2 يعطي دائماً 0.
  • أي عدد فردي % 2 يعطي دائماً 1.
  • إذا كان العدد مضاعفاً للمقسوم عليه يعطي الناتج 0 (مثال: 21 % 7 = 0).

أمثلة وتطبيقات تفصيلية:

x = 5 % 2; ➔ x = 1 (1 < 2)

x = 24 % 2; ➔ x = 0 (زوجي)

x = 21 % 7; ➔ x = 0 (من مضاعفات 7)

x = 8 % 3; ➔ x = 2 (2 < 3)

⚠️ تنبيه: العملية ليست تبديلية (X % Y != Y % X)، ويجب أن تكون المعاملات من نوع أعداد صحيحة.

تذكر: ناتج باقي قسمة رقم صغير على رقم كبير يعطي دائماً نفس الرقم الصغير (مثال: 3 % 5 = 3). Modulus is essential for parity checks.

مسودة وحساب المودولوس

09/23

أوجد ناتج العمليات: 2 % 10 و 14 % 5


03. OPERATOR PRECEDENCE أولويات وترتيب تنفيذ العمليات

10/23

قواعد وترتيب أسبقية المعاملات الحسابية (Order of Precedence)

PRIORITY 1

1. الأقواس (Parentheses)

( )

تمتلك الأقواس الأولوية العليا المطلقة؛ ويتم تنفيذ العمليات بداخلها أولاً من الداخل إلى الخارج.

PRIORITY 2

2. الضرب والقسمة والباقي

* / %

تمتلك نفس رتبة الأولوية؛ وعند تكرارها يتم حسابها بالترتيب التتابعي من اليسار إلى اليمين.

PRIORITY 3

3. الجمع والطرح

+ -

تمتلك رتبة أولوية منخفضة؛ وعند تكرارها يتم حسابها بالترتيب التتابعي من اليسار إلى اليمين.

تنبيه للامتحان: تذكر دائماً مبدأ "اليسار أولاً" لتنفيذ العمليات المتساوية بالرتبة داخل التعبير. Left-to-right evaluation associative rule.

مسودة ترتيب الأولويات

10/23

كيف ترتب حساب 5 + 3 * 2 بالذاكرة؟


03. PRECEDENCE EXAMPLES تطبيقات عملية وتتبع حساب التعبيرات

11/23

خطوات حساب التعبيرات الحسابية خطوة بخطوة بالامتحان

Example 1 (No brackets) من اليسار لليمين

Expression: 3 * 7 - 6 + 2 * 5 / 4 + 6

• Step 1: 3 * 7 = 21 ➔ 21 - 6 + 2 * 5 / 4 + 6

• Step 2: 2 * 5 = 10 ➔ 21 - 6 + 10 / 4 + 6

• Step 3: 10 / 4 = 2 (قسمة صحيحة!) ➔ 21 - 6 + 2 + 6

• Step 4: 21 - 6 = 15 ➔ 15 + 2 + 6

• Step 5: 15 + 2 + 6 = 23 (النتيجة النهائية)

Example 2 (With brackets) الأقواس أولاً

Expression: 3 * (7 - 6) + 2 * 5 / (4 + 6)

• Step 1: (7 - 6) = 1 ➔ 3 * 1 + 2 * 5 / (4 + 6)

• Step 2: (4 + 6) = 10 ➔ 3 * 1 + 2 * 5 / 10

• Step 3: 3 * 1 = 3 ➔ 3 + 2 * 5 / 10

• Step 4: 2 * 5 = 10 ➔ 3 + 10 / 10

• Step 5: 10 / 10 = 1 ➔ 3 + 1 = 4 (النتيجة النهائية)

لاحظ جيداً: أدت إضافة الأقواس إلى تغيير الناتج تماماً من 23 إلى 4، فانتبه للتفاصيل! Brackets alter evaluation trees.

مسودة حل تمرين الأولوية

11/23

حل وتتبع بنفسك: 2 * 3 + 12 / 4 % 2


04. COMPOUND OPERATORS معاملات الحساب والإسناد المركبة

12/23

المعاملات المركبة للاختصار البرمجى (Compound Operators)

توفر لغة جافا خمسة معاملات مركبة للاختصار وتسهيل دمج العمليات الحسابية مع عملية الإسناد المباشر بالذاكرة:

المعامل المركبالمثال البرمجي (Short form)المعنى المكافئ له بالتفصيل (Equivalent to)شرح التأثير بالذاكرة
+=x += yx = x + yإضافة قيمة y إلى x وحفظ المجموع في x
-=x -= yx = x - yطرح قيمة y من x وحفظ النتيجة في x
*=x *= yx = x * yضرب x في y وحفظ ناتج الضرب في x
/=x /= yx = x / yقسمة x على y وحفظ ناتج القسمة في x
%=x %= yx = x % yحساب باقي القسمة وحفظ الباقي في x

ملاحظة هامة جداً: الجانب الأيمن يحسب بالكامل أولاً ككتلة واحدة محاطة بأقواس وهمية قبل إجراء العملية المركبة! RHS evaluated first with imaginary brackets.

مسودة وحساب الاختصارات

12/23

أوجد ناتج x *= y + 7 إذا كان x=10 و y=5


04. COMPOUND OPERATORS: TRACING تتبع خلايا المعاملات المركبة بالذاكرة

13/23

فخ وحقيقة حساب المعاملات المركبة بالذاكرة

Example 1 (Direct trace):

int x = 10;
int y = 5;
x *= y; // x = x * y

يتم الحساب مباشرة: x = 10 * 5 = 50.
تتحول قيمة x بالذاكرة إلى 50 بينما تظل قيمة y ثابتة دون تغيير 5.

Example 2 (The Exam Trap ⚠️):

int x = 10;
int y = 5;
x *= y + 7; // x = x * (y + 7)

❌ الخطأ الكارثي الشائع بالامتحان: تتبعها كـ x = x * y + 7 فيكون الناتج الخاطئ 57.

✓ الحل البرمجي الصحيح: جافا تقوم بوضع أقواس وهمية حول الجانب الأيمن بالكامل، وتحسبه أولاً: (y + 7) = (5 + 7) = 12.
ثم تضرب الناتج في x: x = 10 * 12 = 120 !

نصيحة المذاكرة: تذكر دائماً وضع الأقواس للطرف الأيمن لتجنب خسارة درجات أسئلة التتبع! RHS evaluated as a unified single group.

مسودة وحساب العمليات المركبة

13/23

أوجد قيمة x للعملية: x += 5 * 2 إذا كان x=4


05. INCREMENT & DECREMENT معاملات الزيادة والنقصان بـ 1

14/23

الفرق بين المعاملات القبلية (Pre) والمعاملات البعدية (Post)

معاملات الزيادة (Increment)

Pre-Increment (++x): قم بالزيادة بـ 1 أولاً، ثم نفذ العملية البرمجية (Increment then act).

Post-Increment (x++): نفذ العملية البرمجية الحالية أولاً، ثم قم بزيادة القيمة بـ 1 لاحقاً بالذاكرة (Act then increment).

معاملات النقصان (Decrement)

Pre-Decrement (--x): اطرح 1 أولاً، ثم نفذ العملية الحالية بالذاكرة (Decrement then act).

Post-Decrement (x--): نفذ العملية الحالية أولاً، ثم اطرح 1 لاحقاً بالذاكرة (Act then decrement).

قاعدة هامة: إذا استخدم المتغير بمفرده في سطر مستقل، فلا يوجد أي فارق في النتيجة النهائية بين القبلي والبعدي. Standalone updates yield the same result.

مسودة معاملات الزيادة

14/23

اكتب تعليقاً على قاعدة الاستخدام المنفرد


05. INCREMENT: TRACING تتبع تفصيلي لأخطر معاملات الامتحان

15/23

مقارنة التتبع البرمجي للزيادة القبلية والزيادة البعدية

1. Pre-Increment Tracing (y = ++x):

int x = 3;
int y = ++x; // increment, then assign

تُعادل برمجياً الخطوتين التاليتين بالترتيب:
1. x = x + 1; (x becomes 4)
2. y = x; (y becomes 4)
النتيجة النهائية بالذاكرة: x = 4, y = 4

2. Post-Increment Tracing (y = x++):

int x = 3;
int y = x++; // assign, then increment

تُعادل برمجياً الخطوتين التاليتين بالترتيب:
1. y = x; (y receives old value 3)
2. x = x + 1; (x becomes 4)
النتيجة النهائية بالذاكرة: x = 4, y = 3

تنبيه: محاولة استخدام المعاملات على تعبير رياضي مثل ++(x+1) تنتج خطأ في الترجمة (Syntax Error). Only apply to variables.

تتبع قيم الذاكرة للزيادة

15/23

أوجد ناتج: System.out.println(x++) إذا كان x=7


06. RELATIONAL OPERATORS المعاملات العلائقية وصح/خطأ

16/23

المعاملات العلائقية ومقارنة الحروف والرموز بالذاكرة

المعاملات الستة للمقارنة:

== equal to (يساوي)

!= not equal to (لا يساوي)

< less than (أصغر)

<= less or equal (أصغر أو يساوي)

> greater than (أكبر)

>= greater or equal (أكبر أو يساوي)

📌 ناتج المقارنة العلائقية هو قيمة منطقية دائماً من نوع boolean (True / False).

تتبع مقارنة المتغيرات الحرفية:

int x = 10, y = 15;

// Unicode('a') = 97, Unicode('z') = 122

char ch1 = 'a', ch2 = 'z';

result = (x < y); // true (10 < 15)

result2 = (ch1 >= ch2); // false (97 >= 122)

قاعدة للامتحان: يتم تخزين ناتج المقارنة دائماً في متغير يحمل نوع البيانات boolean. Relational output is boolean.

مسودة العمليات العلائقية

16/23

أوجد ناتج مقارنة: 'b' > 'a'


07. LOGICAL OPERATORS المعاملات المنطقية وجدول الحقيقة

17/23

المعاملات المنطقية الثلاثة وجداول الحقيقة (Truth Tables)

1. NOT (!) النفي

InOut
truefalse
falsetrue

تقوم بعكس الحالة المنطقية الحالية مباشرة.

2. AND (&&) الوصل

ABResult
TTT
TFF
FTF
FFF

تعطي True فقط إذا كان كلا الطرفين صحيحين معاً.

3. OR (||) الفصل

ABResult
TTT
TFT
FTT
FFF

تعطي True إذا كان أحد الطرفين على الأقل صحيحاً.

تنبيه: المعاملات المنطقية تقبل المتغيرات والتعبيرات ذات القيمة boolean فقط كمعاملات لها. Strict logical constraints apply.

مسودة تتبع الجداول المنطقية

17/23

أوجد ناتج: true || false && false


08. OPERATORS PRECEDENCE TABLE الجدول الشامل لأولويات جميع المعاملات

18/23

الجدول الرسمي المعتمد لأسبقية تنفيذ جميع المعاملات البرمجية

المعامل البرمجي (Operator)الوصف والتسميةاتجاه الحساب والتجميع (Associativity)
( )الأقواس الحسابية والبرمجية العليامن الداخل إلى الخارج (inside-out)
++ , --معاملات التحديث القبلية والبعديةمن اليسار إلى اليمين (left-to-right)
* , / , %الضرب، القسمة، وباقي القسمة المتبقيمن اليسار إلى اليمين (left-to-right)
+ , -الجمع والطرح الحسابي الثنائيمن اليسار إلى اليمين (left-to-right)
< , > , <= , >=المقارنات والعمليات العلائقيةمن اليسار إلى اليمين (left-to-right)
== , !=معاملات التطابق والمساواة وعدمهامن اليسار إلى اليمين (left-to-right)
&&معامل الربط والوصل المنطقي ANDمن اليسار إلى اليمين (left-to-right)
= , += , -= , *= , /= , %=معاملات الإسناد المباشر والمركب المنخفضةمن اليسار إلى اليمين (left-to-right)

تنبيه للامتحان: تذكر دائماً أن معامل AND (&&) يمتلك أولوية تنفيذ أعلى من معامل OR (||). Complete Java precedence rules.

تتبع وحفظ جدول الأسبقية

18/23

أوجد ناتج تتبع تعبير يجمع الحساب والمنطق


08. COMPLEX LOGIC EVALUATION أمثلة تتبع منطقية معقدة للامتحان

19/23

خطوات تتبع وحساب الجمل المنطقية المركبة بالامتحانات

// Values in RAM:
int x = 24, y = 35, z = 20;
char ch1 = 'a'; // Unicode: 97
char ch2 = 'A'; // Unicode: 65
char ch3 = '<'; // Unicode: 60
char ch4 = '5'; // Unicode: 53
boolean result;

Expression 1: (x >= y) && (ch1 < ch3) ➔ (24 >= 35) && (97 < 60) ➔ false && false ➔ result = false

Expression 2: (ch2 == ch4) || (x > z) ➔ (65 == 53) || (24 > 20) ➔ false || true ➔ result = true

Expression 3: !(ch1 < ch2) ➔ !(97 < 65) ➔ !(false) ➔ result = true

انتبه في الامتحان: تذكر جلب قيم الحروف العشرية من جدول ASCII لإجراء المقارنات بشكل دقيق. Unicode values govern char comparisons.

مسودة وحساب التعبيرات المنطقية

19/23

أوجد ناتج: (y > x) && !(z <= 20)


09. TYPE CASTING تحويل البيانات وقواعد الإكراه

20/23

تحويل أنواع البيانات: الإكراه الضمني والتحويل الصريح

1. الإكراه الضمني (Implicit Coercion)

هو تحويل وحيد الاتجاه تلقائي يقوم به مترجم جافا دون تدخل منك عند خلط أنواع البيانات بالمعادلة؛ ولكن قد ينتج عنه فقدان غير متوقع لبعض القيم والدقة الحسابية.

double result = 15 / 2; // result = 7.0 (Loss of .5!)

2. التحويل الصريح (Explicit Type Casting)

هو إجبار المترجم على التحويل يدوياً لنوع محدد بكتابة اسم النوع محاطاً بأقواس قبل التعبير المطلوب تحويله لتأمين النتائج والحسابات.

Syntax: (dataTypeName) expression;
double val = (double) 15 / 2; // val = 7.5 (No loss!)

نصيحة المذاكرة المعتمدة: تجنب خلط أنواع البيانات المتباينة دون تحويل صريح لتفادي الأخطاء المنطقية الكارثية. Always use explicit casting when mixing types.

مسودة وحساب نواتج التحويل

20/23

احسب ناتج: (int) (7.9) و (double) (25)


09. TYPE CASTING EXAMPLES تتبع أمثلة وتطبيقات التحويل يدوياً

21/23

أمثلة وتطبيقات معتمدة لقسم التحويل للامتحانات

1. أمثلة التحويل الحسابي الدقيق:

(int) (7.9) ➔ 7 (يحذف الكسر تماماً)

(double) (25) ➔ 25.0

(double) (15 / 2) ➔ (double)(7) = 7.0 (Loss!)

(double)(15) / 2 ➔ 15.0 / 2 = 7.5 (No Loss!)

📌 لاحظ الفارق الكبير بالناتج وموضع الأقواس الوهمية في الذاكرة.

2. التحويل بين الحروف والأرقام (ASCII mapping):

يُمكننا التحويل الصريح بين الحروف وقيمها المقابلة بجدول أسكي (ASCII) بسهولة تامة:

char ch = 'a'; // Code of 'a' = 97

int unicode = (int) ch; ➔ unicode = 97

int x = 98;

char ch2 = (char) x; ➔ ch2 = 'b'

تذكر للامتحان: يتم التحويل أولاً قبل تنفيذ أي عملية خارجية ما لم تُحاط العملية الإجمالية بأقواس. Brackets lock explicit casting priorities.

مسودة وحساب نواتج التحويل

21/23

احسب ناتج: (int) (7.8 + (double) (15 / 2))


SELF-CHECK تمارين التقييم الذاتي - الجزء الأول

22/23

تمارين تتبع التعبيرات وتغيير حالة وقيم المتغيرات

1. أوجد ناتج تتبع وحساب التعبيرات التالية:

• 23 + 7 % 2 - 3; ➔ 23 + 1 - 3 = 21

• 15.0 + 3.0 * 2.0 / 5.0; ➔ 15.0 + 6.0 / 5.0 = 16.2

• 30.0 % 6 + 1; ➔ 0.0 + 1 = 1.0

2. أوجد ناتج القيم التالية بالذاكرة:

• y *= 2 * x + 5 - z; // x=5, y=7, z=10

➔ y = y * (2 * 5 + 5 - 10) = 7 * 5 = 35

• z %= x; // z=10 % 5 ➔ 0

3. برنامج تبديل قيم المتغيرات (Swapping):

اكتب كود جافا كامل لتبديل قيم متغيرين في الذاكرة (Swapping)، بحيث إذا كانت x = 5 و y = 7، بعد التبديل تصبح x = 7 و y = 5.

// Solution using a temporary cell (temp):
int temp = x; // temp gets 5
x = y; // x gets 7
y = temp; // y gets 5

نصيحة المذاكرة: تذكر دائماً استخدام متغير مؤقت (temp) لحفظ القيمة المفقودة قبل عملية المسح بالذاكرة. Swapping is a core algorithmic skill.

حل وتتبع تمارين التقييم

22/23

تتبع قيم الذاكرة بالكامل لبرنامج Swapping


SELF-CHECK تمارين التقييم الذاتي - الجزء الثاني

23/23

تمرين التتبع النهائي الشامل للامتحانات (Comprehensive Trace)

1 public class Trace {

2 public static void main(String[] args) {

3 int firstNum, secondNum; char ch; double z;

4 firstNum = 4;

5 secondNum = 2 + firstNum * 6; // 2 + 4 * 6 = 26

6 z = (firstNum + 1) / 2.0; // (4+1)/2.0 = 2.5

7 ch = 'A';

8 firstNum = (int) (z) + 8; // (int)(2.5) + 8 = 2 + 8 = 10

9 firstNum = secondNum--; // assign old 26 first, then secondNum=25

10 }

}

جدول القيم بالذاكرة بعد تشغيل كل سطر (Trace Table):

السطر (Line)firstNumsecondNumchz
Line 44UndefinedUndefinedUndefined
Line 5426UndefinedUndefined
Line 6426Undefined2.5
Line 7426'A'2.5
Line 81026'A'2.5
Line 92625'A'2.5

نصيحة الامتحان: انتبه لتفاصيل الزيادة/النقصان البعدية (Post-decrement) في سطر 9! تم إسناد الـ 26 أولاً ثم طرح 1. End of Chapter 2 Slides set. Excel your exams!

التتبع والحل النهائي للتمرين

23/23

أعد تتبع السطر 9 واكتب تفاصيل تبديل الذاكرة

You might also like

Helix Studio Slides

Candy Code Sequence

A multi-day competency-based biology sequence exploring DNA architecture, complementary base pairing, and semi-conservative replication through tactile candy modeling and evidence-based assessment.

TM

Teri Minami

4
Chemical Bonding Foldable Activity

Chemical Bonding

A foundational chemistry lesson exploring ionic, covalent, and metallic bonding through interactive modeling, detailed reference notes, and comparative property analysis.

OM

Olutoyin Makinde

3
Hemoglobin Essentials Guide

Hemoglobin Essentials Guide

A clear, visually structured one-page explainer on hemoglobin designed for adult health education, covering molecular structure, oxygen transport, normal clinical reference ranges, and common conditions like anemia.

Lenny Avatar
Lenny
Broadcast Breakthroughs Slides

Broadcast Tech Spotlight

A dynamic multimedia project sequence where students investigate cutting-edge sports broadcasting technologies, craft scripted storyboards, and produce professional recorded voiceover presentations.

S

Stacy.Bogart

5
Replication Protocol Slides

Replication Protocol

Students simulate semi-conservative DNA replication by enzymatically unzipping candy strands and building complementary daughter helices, demonstrating competency through lab evidence and knowledge checks.

TM

Teri Minami

2
Grid to Plug Slides

Grid to Plug Slides

An engaging, practical 8-slide presentation designed for teens and adults covering home electricity fundamentals, including voltage and current, service panels, outlet anatomy, GFCI/AFCI protection, circuit overload limits, and critical safety rules.

JW

J Watson

Lizard Clash Slides

Science Score Sprint

A seven-day ACT Science preparation sprint covering each passage type from data representation to conflicting viewpoints.

AI

Allison Ingraham

14
Helix Studio Slides

Helix Studio

Students dissect nucleotide anatomy and discover base pairing rules by engineering an accurate candy double helix model with complementary nitrogenous bases and sugar-phosphate backbones.

TM

Teri Minami

2
Cell Clash Comparison Chart

Cell Clash Comparison Chart

A side-by-side visual comparison infographic and structured reference chart analyzing the key structural and functional differences between plant and animal cells. Features category-by-category breakdowns, shared cellular organelles, and microscope identification cues.

Lenny Avatar
Lenny
Git Chrono Slides

Git Masterclass

Une formation complète en 3 séances progressives pour maîtriser les bases du versionnage, choisir le workflow d'équipe adapté et réparer l'historique en cas d'erreur.

Lenny Avatar
Lenny
9
Newton Dynamics Reading Guide

Coupled Mass Dynamics

An instructional physics unit exploring Newton's Second Law applied to connected systems, including blocks in contact and Atwood machine pulley setups.

CM

Chuguna Murugesan

4
Chemical Bonding Answer Key

Chemical Bonding Answer Key

A comprehensive 2-page teacher answer key and exemplar for the Chemical Bonding Foldable Activity, featuring exact diagram exemplars, step-by-step formula solutions, Lewis structures, a completed comparison matrix, and common student misconceptions.

OM

Olutoyin Makinde