0% found this document useful (0 votes)
30 views50 pages

Advanced Programming Concepts 2025

The document titled 'Advanced Programming' by Eng. Ahmed Awad covers fundamental concepts of programming in C++, including syntax, data types, variables, operators, and input/output operations. It emphasizes the importance of structured code, comments for readability, and the use of constants and identifiers. Additionally, it provides practical examples and exercises to reinforce the learning of these programming principles.

Uploaded by

greenland1232
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views50 pages

Advanced Programming Concepts 2025

The document titled 'Advanced Programming' by Eng. Ahmed Awad covers fundamental concepts of programming in C++, including syntax, data types, variables, operators, and input/output operations. It emphasizes the importance of structured code, comments for readability, and the use of constants and identifiers. Additionally, it provides practical examples and exercises to reinforce the learning of these programming principles.

Uploaded by

greenland1232
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Advanced Programming

2025

Eng. Ahmed Awad

Advanced Programming | 2025 1


code
syntax
The foundation of writing correct and structured programs

Advanced Programming | 2025 | Ahmed Awad 3


Section 1 | Revision
Syntax

syntax
code
set of rules defines the correct sequence of symbols that can be used to form a correctly structured
program.

Rules Symbols Program


Defines structure Correct sequence Correctly structured

Advanced Programming | 2025 | Ahmed Awad 3


output
Output

The cout object, together with the << operator, is // Example of cout usage
used to output values/print. #include

int main() {
cout << Output
settings
print
operator cout << "Hello World!";
compare_arrows
Standard Display values
output stream Insertion return 0;
operator
}

Advanced Programming | 2025 | Ahmed Awad 4


code
{ let's code }
Time to put theory into practice with hands-on examples

Advanced Programming | 2025 | Ahmed Awad 5


Escape sequence
keyboard_tab
Escape sequence Description Special Characters

code
Represent non-printable or special
characters
\n line feed - new line
subdirectory_arrow_right
\t horizontal tab Formatting
keyboard_tab
format_align_left
Control text layout and appearance
\a audible bell
volume_up
\\
backslash backslash
String Literals

text_format
Used within quoted strings
\" double quote
format_quote
// Example using escape sequences
cout "Hello\nWorld!\tWelcome to C++\nThis is a \"quote\"";

Advanced Programming | 2025 | Ahmed Awad 6


comment

/* Comments */
Essential for code documentation and improving readability

Advanced Programming | 2025 | Ahmed Awad 7


comment
Comments

Comments can be used to explain C++ code, and to


// This is a single-line comment
make it more readable.
int x = 5; // Declare and initialize
variable

Single-line comment
Begins with // and continues to the end of the line /* This is a multi-line comment
short_text
that spans across multiple
Multi-line comment
lines of code */
Begins with /* and ends with */
subject
cout << "Hello World"; // Output text

Advanced Programming | 2025 | Ahmed Awad 8


storage
Variables

Variables are containers for storing data


values. int float char string

age price grade name


Storage Identifier Data 25 9.99 A John
save
label
Types
category
Hold data in Named
memory references Different kinds
of values

Advanced Programming | 2025 | Ahmed Awad 9


category
Data Types
Different categories of data that variables can store
tag
functions
text_fields
sort_by_alpha
int float char string

Advanced Programming | 2025 | Ahmed Awad 10


Size of each
sd_storage
Data Type Size (bytes) Range

int 4 -2,147,483,648 to 2,147,483,647


tag
float 4 ±3.4e ±38 (~7 digits)
functions
char 1 -128 to 127
text_fields
double 8 ±1.7e ±308 (~15 digits)
double_arrow
bool 1 true or false
check_box
Memory Usage Value Range Performance
memory
data_usage
speed
Different types consume different Size determines the range of values that Smaller types can be processed faster
amounts of memory can be stored

Advanced Programming | 2025 | Ahmed Awad 11


code
Declaring Variables

When declaring variables in C++, you must specify


the data type followed by the variable name. syntax

format_quote
Data Variable Optional data_type variable_name;
Type Name Value data_type variable_name =
category
label
assignment
Specifies what Identifier used Initial value
kind of data to reference can be
initial_value;
the variable the variable assigned at
will hold declaration

Advanced Programming | 2025 | Ahmed Awad 12


code
Example

Create and initialize


looks_one
int myNum = 15;
Create a variable called myNum of type int and assign it the
value 15:

Declare then assign


int myNum;
looks_two
Declare a variable without assigning the value, and assign the myNum = 15;
value later:

Declaration Initialization Assignment


touch_app
assignment
update
Creates a variable with specified type Assigns an initial value to the variable Can be done at declaration or later

Advanced Programming | 2025 | Ahmed Awad 13


 Example

int myNum = 15; // Initial value


Note that if you assign a new value to an existing
myNum = 20; // New value overwrites
variable, it will overwrite the previous value: previous

Key Concept int int


lightbulb
Variables can be reassigned new values at any time, myNum myNum
replacing the previously stored data 15 20

arrow_forward
Initial value After reassignment

Reassignment Overwrite Memory


update
delete_sweep
memory
Variables can be updated with new Previous value is completely replaced Same memory location, new content
values

Advanced Programming | 2025 | Ahmed Awad 14


Other Types
category
string bool double

text_format
check_box
double_arrow
Sequence of characters used to Stores true or false values Double precision floating point number
represent text
bool isPassed = true; double price = 19.99;
string name = "John";

long short wchar_t


exposure
short_text
format_size
Extended range integer type Short integer type with limited range Wide character type for Unicode

long population = 7800000000; short age = 25; wchar_t letter = L'Ω';

Memory Usage Value Range Precision


memory
data_usage
precision_manufacturing
Different types consume different Each type has specific range of values it Floating point types offer different
amounts of memory can store precision levels

Advanced Programming | 2025 | Ahmed Awad 13


Other Types (continued)
category
unsigned struct
Example of using different data types
looks_one
view_module
code
Modifiers for integer types that only User-defined type that groups variables struct Person {
store non-negative values of different types string name;

unsigned int age = 25; struct Person {string name;


int age;
int age;}; double height;
};

enum Gender { MALE, FEMALE, OTHER };


enum pointer
tune
share
int main() {
Set of named integer constants Stores memory address of another Person person1;
variable [Link] = "John";
enum Color {RED, GREEN,
BLUE};
int* ptr = &variable; reference [Link] = 30;
[Link] = 1.75;

Gender gender = MALE;

class reference return 0;


class
}
User-defined type with data members Alternative name for an existing variable
and member functions
int& ref = variable;
class Student {private:
string name;};

Advanced Programming | 2025 | Ahmed Awad | | 16


label
C++ Identifiers

All C++ variables must be identified with unique


names. These unique names are called identifiers. // Less readable code with short names
int a = 25;
Short names Best Practice int b = 30;

lightbulb
short_text
It is recommended to use descriptive names in order
int c = a + b;
x y i j to create understandable and maintainable code
label
label
label
label
// More readable code with descriptive
Descriptive names
names
description
age sum totalVolume int age = 25;
label
label
label
int yearsOfService = 30;
studentCount int totalExperience = age + yearsOfService;
label
Unique Descriptive Maintainable
fingerprint
description
build
Each identifier must be unique within Clear names improve code readability Good identifiers make code easier to
its scope maintain

Advanced Programming | 2025 | Ahmed Awad 17


rule
The general rules for naming variables

Names can contain letters, digits and underscores Valid Variable Names
text_format
check_circle
int age;
Names must begin with a letter or an underscore (_) string student_name;
play_arrow
double _totalAmount;
int MAX_VALUE;
Names are case sensitive (myVar and myvar are different float accountBalance1;
text_fields
variables)

Invalid Variable Names


Names cannot contain whitespaces or special characters like !, #,

cancel
block
int 2ndPlace;
%, etc.
string student name;
double total#Amount;
Reserved words (like C++ keywords, such as int) cannot be used int int;
gpp_bad
as names float account-balance;

Consistency Clarity Validity


format_list_numbered
visibility
verified
Follow naming conventions Choose names that clearly indicate Ensure all names follow the language
consistently purpose rules

Advanced Programming | 2025 | Ahmed Awad 18


Reserved words
gpp_bad
Reserved words are keywords that have special meaning in C++ and cannot be used as identifiers (variable names,
function names, etc.)
int float double char
Cannot Use

block
Reserved words cannot be used as
bool void if else variable names

for while do switch

Language Syntax
case break continue return

code
Keywords form the core syntax of the
language
class struct public private

protected const static virtual


Compilation Error

error
Using reserved words causes code to
Important Note fail
warning
Using reserved words as identifiers will result in compilation errors. Always choose names that are not part of the C++ language
keywords.

Advanced Programming | 2025 | Ahmed Awad 19


lock
Constants

Using the const keyword will declare the variable const int PI = 3.14159;
as "constant", which means unchangeable and
read-only. // This will cause an error:
PI = 4; // Cannot modify a constant
Immutable Read- Safety
lock
security
Only
visibility
Value cannot Prevents const
be modified Can be accidental int
after value changes PI

lock
accessed but
declaration not changed
3.14159

Advanced Programming | 2025 | Ahmed Awad 20


keyboard
Input

cin is a predefined variable that reads data from


the keyboard with the extraction operator (>>). // Example of cin usage int age; cout
<< "Enter your age: "; cin >> age;
Standard Extraction Storage
arrow_right_alt
save
Input
input
>> operator Stores data in
Reads from extracts input variables age
keyboard by
int
default

arrow_forward
keyboard
Advanced Programming | 2025 | Ahmed Awad 21
code
Example

Using cin to read user input and store it in variables


int age; string name;

Read Store Multiple


 Input  Values  Values cout << "Enter your name: "; cin >>
name;
Extract data Save in Can read
from keyboard declared several values
variables at once cout << "Enter your age: "; cin >>
age;

 Sample Output


name, age
Enter your name: John
Enter your age: 25  string, int

Advanced Programming | 2025 | Ahmed Awad 22


code
let's code
{ Time to put theory into practice with hands-on examples
}
Input Output Variables
input
output
storage
Advanced Programming | 2025 | Ahmed Awad 23
calculate
Operators

Operators are used to perform operations on variables and values.


add
assignment
compare_arrows
all_inclusive
Arithmetic Operators Assignment Operators Comparison Logical Operators
Perform mathematical Assign values to variables Operators Combine conditional
calculations Compare two values statements
= += -= *= /= %=
+ - * / % == != > < >= <= && || !

Advanced Programming | 2025 | Ahmed Awad 24


calculate
Arithmetic Operators

Arithmetic operators are used to perform common mathematical operations.

X = 10 , Y = 5
Addition

info
add_circle
Combines two values into a sum
Operator Description Example

+ Adds together two values Sum = X + Y //Sum = 15


Subtraction

remove_circle
- Subtracts second value from first value Sub = X – Y //Sub = 5 Finds the difference between values

* Multiplies two values Mul = X * Y //Mul = 50

/ Divides one value by another Div = X / Y //Div = 2


Modulo

percent
% Returns the division remainder Mod = X % Y //Mod = 0 Returns remainder after division

Advanced Programming | 2025 | Ahmed Awad 25


 Example

Addition
int x = 10; int y = 5; int result;

add_circle
Combines values using + operator

// Addition result = x + y; cout << "x + y = " << result << endl;
Subtraction

remove_circle
Finds difference using - operator
// Subtraction result = x - y; cout << "x - y = " << result << endl;

// Multiplication result = x * y; cout << "x * y = " << result << endl; Multiplication

close
Calculates product using * operator

Output
terminal
x + y = 15
x - y = 5
x * y = 50

Advanced Programming | 2025 | Ahmed Awad 26


Exercises:

assignment
1 Basic Arithmetic
Write a program that takes two numbers as input and performs all arithmetic operations (+, -, *, /, %) on them.

2 Area Calculator
Create a program that calculates the area of a rectangle using user-provided length and width values.

3 Temperature Conversion
Write a program that converts Celsius to Fahrenheit using the formula: F = (C × 9/5) + 32.

Practice Problem Solving Implementation


calculate
psychology
code
Apply arithmetic operators in real Develop logical thinking skills Translate mathematical formulas into
scenarios code

Advanced Programming | 2025 | Ahmed Awad 27


code
let's code
{ Time to put theory into practice with hands-on examples
}
Operators Expressions Problem Solving
calculate
functions
psychology
Advanced Programming | 2025 | Ahmed Awad 28
exposure_plus_1
Increment & decrement

Operator Example Same as


Increment and decrement operators are used to
increase or decrease the value of a variable by 1. X = X + 1 //X =
++ X++
11

X = 10
X = X + 1 //X =
info
++ ++X
11

Increment Decrement Position X = X - 1 //X =


-- X--
add_circle
remove_circle
swap_horiz
Increases Decreases Prefix or 9
value by 1 value by 1 postfix affects
evaluation
X = X - 1 //X =
-- --X
9

Advanced Programming | 2025 | Ahmed Awad 29


code
Example

Increment Operators Decrement Operators


add_circle
remove_circle
int x = 5; int a = 10;
int y; int b;

// Postfix increment // Postfix decrement


y = x++; b = a--;
// y = 5, x = 6 // b = 10, a = 9

// Prefix increment // Prefix decrement


y = ++x; b = --a;
// y = 7, x = 7 // b = 8, a = 8

Postfix Prefix Efficiency


arrow_forward
arrow_back
speed
Use value first, then Increment/decrement first, then use More concise than x = x + 1 or x = x - 1
increment/decrement value

Advanced Programming | 2025 | Ahmed Awad 30


assignment
Assignment Operators

Assignment operators are used to assign values to Operator Example Same as


variables, often combined with arithmetic
operations. += X += Y X = X + Y //X = 15

-= X -= Y X = X - Y //X = 5
X = 10 , Y = 5
info
*= X *= Y X = X * Y //X = 50

Addition Subtraction Shorthand


add_circle
remove_circle
autorenew
Adds right Subtracts right More concise /= X /= Y X = X / Y //X = 2
operand to left from left than full
operand operand expressions %= X %= Y X = X % Y //X = 0

Advanced Programming | 2025 | Ahmed Awad 31


 Example

Addition Assignment Multiplication Assignment Efficiency


add_circle
close
speed
More concise than full expressions
int x = 10; int num = 7;
int y = 5; int factor = 3;

// Using += operator // Using *= operator


x += y; num *= factor; Operation

autorenew
// Same as: x = x + y // Same as: num = num * factor Performs operation and assignment in
// Result: x = 15 // Result: num = 21 one step

Readability
Subtraction Assignment Modulo Assignment

code
remove_circle
percent
Makes code more readable and
int a = 20; int value = 17; maintainable
int b = 8; int divisor = 5;

// Using -= operator // Using %= operator


a -= b; value %= divisor;
// Same as: a = a - b // Same as: value = value % divisor
// Result: a = 12 // Result: value = 2

Advanced Programming | 2025 | Ahmed Awad 32


Relational operators
compare_arrows
Relational operators are used to compare two Operator Example Result

values and determine the relationship between


== X == Y False
them.
!= X != Y True
X = 10 , Y = 5
info
> X > Y True

Comparison Boolean Conditions < X < Y False


compare
rule
Result
call_split
Evaluates Essential for
relationship Returns true decision
>= X >= Y True
between or false values making
values
<= X <= Y False

Advanced Programming | 2025 | Ahmed Awad 33


Lets try
psychology
1 Comparison Practice 2 Conditional Logic

Given a = 15 and b = 20, evaluate the following expressions: Write a program that takes two numbers as input and displays which one is greater or if they are equal.

result1 = (a > b); // false int num1, num2;


result2 = (a != b); // true cin >> num1 >> num2;
result3 = (a <= 15); // true
if (num1 > num2) {
cout << "First number is greater";
} else if (num1 < num2) {
cout << "Second number is greater";
} else {
3 Range Check cout << "Numbers are equal";
}
Create a program that checks if a number is within a specific range (e.g., between 1 and 100).

Comparison Conditions Implementation


compare_arrows
call_split
code
Practice using relational operators Apply operators in decision making Write practical code examples

Advanced Programming | 2025 | Ahmed Awad 34


code
let's code
{ Time to put theory into practice with hands-on examples
}
Relational Conditions Logic
compare_arrows
call_split
rule
Advanced Programming | 2025 | Ahmed Awad 35
Logical Operators
all_inclusive
Logical operators are used to combine conditional
statements and return boolean results.

Operator Name Example Same as


X = 1 (True) , Y = 0 (False)
info
Logical Z = X && Y
&& X && Y
//Z = 0
AND
True False
1 0 Z = X || Y
Non-zero Zero || Logical OR X || Y
//Z = 1

Logical Z = !X //Z
AND OR NOT ! !X
= 0
NOT
add_circle
call_split
not_interested
True only if True if at least Reverses the
both operands one operand logical state
are true is true

Advanced Programming | 2025 | Ahmed Awad 36


Conditions
call_split
Conditional statements are used to check the
Check Condition - Evaluate if condition is true
validity of a condition and execute a series of
or false

help_outline
instructions if that condition is met.

Branch Execution - Choose which code path to


if else else if switch follow

call_split
call_made
call_received
fork_right
swap_horiz
Decision Logic Branching Execute Instructions - Run the appropriate code
block
rule
alt_route
Making

play_arrow
check_circle
Evaluate Execute
Control expressions as different code
program flow true or false paths
Continue Flow - Resume normal program
based on
conditions execution

merge_type
Advanced Programming | 2025 | Ahmed Awad 37
IF Statement
call_made
The if statement is used to execute a block of code
only if a specified condition is true.

Condition Check - Evaluate the expression


syntax
check_circle
code
Decision - Branch based on true/false
if (condition) {
call_split
Execution - Run code if condition is true // code to execute if condition
play_arrow
is true
}
Condition Code Control
rule
control_point
Block
code
Expression Basic building
that evaluates Executed only block of
to true or false when decision logic
condition is
true

Advanced Programming | 2025 | Ahmed Awad 33


8
code
Example

int age = 18;


Using if statement to check conditions and execute
code based on the result
if (age >= 18) {
cout << "You are eligible to vote.";
Condition Execution Control
}
check_circle
code
control_point
Evaluate Run code Basic
expression as block only if decision-
true or false condition is making
true structure Output

terminal
You are eligible to vote.

Advanced Programming | 2025 | Ahmed Awad 39


The else Statement
call_received
The else statement specifies a block of code to be
executed if the condition in the if statement is
false. syntax

code
Condition is True - Execute code in the if block
if (condition) {
check_circle
// code to execute if condition
is true
Condition is False - Execute code in the else block
} else {
cancel
// code to execute if condition
Two Complete Control is false
all_inclusive
Paths Flow
call_split
alt_route
Covers all }
Provides possible Directs
alternative outcomes program
execution based on
path condition

Advanced Programming | 2025 | Ahmed Awad 40


code
Example

Using if-else statement to execute different code


int age = 16;
blocks based on condition evaluation

if (age >= 18) {


Condition is True Condition is False
cout << "You are eligible to vote.";
check_circle
cancel
Code inside the if block Code inside the else block
executes executes } else {
cout << "You are not eligible to
vote yet.";
Two Evaluation Complete
}
rule
all_inclusive
Paths
call_split
Condition Covers all
Provides determines possible
alternative which block outcomes
execution runs Output
paths

terminal
You are not eligible to vote yet.

Advanced Programming | 2025 | Ahmed Awad 41


The else if Statement
fork_right
The else if statement allows you to check multiple syntax

code
conditions in sequence, executing the code block
if (condition1) {
for the first condition that evaluates to true.
// code if condition1 is true
} else if (condition2) {
First condition - Checked first, executes if true // code if condition2 is true
looks_one
} else {
// code if all conditions are false
Additional conditions - Checked in sequence if previous }
are false
looks_two
Multiple Priority Flexibility
Final else - Executes if all conditions are false

priority_high
alt_route
Checks

layers
First true Handle
looks_3
Test several condition multiple
conditions in executes scenarios
order efficiently

Advanced Programming | 2025 | Ahmed Awad 42


code
Example

Using if-else if-else statement to handle multiple


int score = 85;
conditions in sequence

if (score >= 90) {


First condition - Checked first, executes if true
cout << "Grade: A";
looks_one
} else if (score >= 80) {
Additional conditions - Checked in sequence if previous cout << "Grade: B";
are false
looks_two
} else if (score >= 70) {
cout << "Grade: C";
Final else - Executes if all conditions are false
} else {
looks_3
cout << "Grade: F";
}
Multiple Priority Flexibility
priority_high
alt_route
Checks
layers
First true Handle
Test several condition multiple
conditions in executes scenarios Output

terminal
order efficiently Grade: B

Advanced Programming | 2025 | Ahmed Awad 43


swap_horiz
Switch Statements

A switch statement allows a variable to be tested


syntax
for equality against a list of values. Each value is

code
called a case, and the variable being switched on is
checked for each case. switch (expression) {
case constant1:
Multiple Values - Efficiency - Often // code to execute
Test against multiple faster than if-else
cases chains
break;
check_circle
speed
case constant2:
Equality - Only
Default - Optional // code to execute
default case for no
checks for equality break;
match
rule
all_inclusive
default:
// code if no case matches
Alternative Cases Branching
alt_route
format_list_numbered
call_split
Alternative to Test variable Execute code }
multiple if- against based on
else specific values matched case
statements

Advanced Programming | 2025 | Ahmed Awad 44


 Example

Using switch statement to select one of many code


char grade = 'B';
blocks to be executed
switch (grade) {
Expression Evaluation - Value is evaluated once case 'A':
filter_1
cout << "Excellent!";
break;
Case Matching - Compared with each case value case 'B':
filter_2
cout << "Good!";
break;
Execution - Matching case's code is executed case 'C':
filter_3
cout << "Average.";
break;
Cases Break Default default:
format_list_numbered
block
all_inclusive
Multiple Prevents fall- Handles cout << "Invalid grade.";
specific value through to unmatched }
checks next case values

Output

terminal
Good!

Advanced Programming | 2025 | Ahmed Awad 45


Iteration
loop
It is the process of repeatedly executing a
group of statements until a certain
condition is met.
Initialize - Set up loop variables

play_arrow
repeat
sync
update
Check Condition - Determine if loop should
For Loop While Loop Do-While continue

help_outline
Executes a Executes while Loop
specific number condition is true Executes at least
of times once, then
Execute Statements - Run code inside the loop
checks condition

code
Repetition Condition Efficiency Update - Modify loop variables
repeat
rule
speed
update
Execute code Controls when Reduces code
multiple times loop duplication
terminates

Advanced Programming | 2025 | Ahmed Awad 46


repeat
For Loop

The for loop is used to iterate over a block of code


a specific number of times. syntax

code
Initialization - Sets Condition - Tested
up loop counter before each iteration for (initialization; condition;
filter_1
filter_2
increment) {
Increment - Updates Body - Code
counter after each executed in each // code to be executed
iteration iteration
filter_3
code
}

Counted Efficient Control


format_list_numbered
speed
control_point
Executes Compact Precise
specific syntax for control over
number of iteration iterations
times

Advanced Programming | 2025 | Ahmed Awad 47


 Example

Using for loop to iterate through a sequence of


// Print numbers from 1 to 5
values and execute code repeatedly
for (int i = 1; i <= 5; i++) {

Initialize - Set counter to starting value cout << i << " ";
filter_1
}

Check Condition - Continue if condition is true


Output
filter_2
terminal
1 2 3 4 5

Execute Code - Run statements inside loop


Counted Efficient Control
filter_3
format_list_numbered
speed
control_point
Executes Compact Precise
specific syntax for control over
Update Counter - Increment/decrement counter number of iteration iterations
times
update
Advanced Programming | 2025 | Ahmed Awad 48
sync
While Loop

The while loop repeatedly executes a block of code


syntax
as long as a specified condition is true.

code
Condition Check - Loop Body - while (condition) {
Tested before each Executed when
iteration condition is true
// code to be executed
help_outline
code
// as long as condition is true
Variable Update - Termination - Loop }
Must be updated ends when condition
inside the loop becomes false
update
block
Pre-test Flexible Caution
rule
repeat
warning
Condition Number of Risk of infinite
checked iterations not loops
before fixed
execution

Advanced Programming | 2025 | Ahmed Awad 49


 Example

Using while loop to repeatedly execute code as


long as a condition remains true // Print numbers from 1 to 5

int i = 1;
Check Condition - Evaluate before each iteration
help_outline
while (i <= 5) {
cout << i << " ";
Execute Code - Run statements if condition is true i++;
code
}

Update Variables - Modify variables inside the loop


update
Output

terminal
1 2 3 4 5

Repeat - Continue until condition becomes false


repeat
Pre-test Flexible Caution

rule
repeat
warning
Condition Number of Risk of infinite
checked iterations not loops
before fixed
execution

Advanced Programming | 2025 | Ahmed Awad 50

You might also like