Enviar búsqueda
Cargar
C language
•
16 recomendaciones
•
10,952 vistas
M
muthukumarcdm
Seguir
useful
Leer menos
Leer más
Educación
Denunciar
Compartir
Denunciar
Compartir
1 de 70
Descargar ahora
Descargar para leer sin conexión
Recomendados
Satzstellung im Hauptsatz- 2 - Satzergänzungen + Angaben : Theorie und Beispiele
Satzstellung im Hauptsatz- 2 - Satzergänzungen + Angaben : Theorie und Beispiele
Maria Vaz König
Exercices corriges nombres_complexes
Exercices corriges nombres_complexes
Omar Ramzaoui
Μόδα στην ένδυση: διαλέγουν πριν από μας ….για μας!
Μόδα στην ένδυση: διαλέγουν πριν από μας ….για μας!
lykmourion
NEGATION-Teil 2: Negationswörter B2 DaF
NEGATION-Teil 2: Negationswörter B2 DaF
Maria Vaz König
Berlin - Leben in der Stadt
Berlin - Leben in der Stadt
Maria Vaz König
سلسلة تعلم البرمجة بلغة C / C++ - 2
سلسلة تعلم البرمجة بلغة C / C++ - 2
بندر المجلاد
C++ arabic
C++ arabic
sma_alomar
سلسلة تعلم البرمجة بلغة C / C++ - 1
سلسلة تعلم البرمجة بلغة C / C++ - 1
بندر المجلاد
Recomendados
Satzstellung im Hauptsatz- 2 - Satzergänzungen + Angaben : Theorie und Beispiele
Satzstellung im Hauptsatz- 2 - Satzergänzungen + Angaben : Theorie und Beispiele
Maria Vaz König
Exercices corriges nombres_complexes
Exercices corriges nombres_complexes
Omar Ramzaoui
Μόδα στην ένδυση: διαλέγουν πριν από μας ….για μας!
Μόδα στην ένδυση: διαλέγουν πριν από μας ….για μας!
lykmourion
NEGATION-Teil 2: Negationswörter B2 DaF
NEGATION-Teil 2: Negationswörter B2 DaF
Maria Vaz König
Berlin - Leben in der Stadt
Berlin - Leben in der Stadt
Maria Vaz König
سلسلة تعلم البرمجة بلغة C / C++ - 2
سلسلة تعلم البرمجة بلغة C / C++ - 2
بندر المجلاد
C++ arabic
C++ arabic
sma_alomar
سلسلة تعلم البرمجة بلغة C / C++ - 1
سلسلة تعلم البرمجة بلغة C / C++ - 1
بندر المجلاد
أَسَانِيدُ كُتُبِ وَأُصُولِ النَّشْرِ لِابْنِ الْجَزَرِيِّ وَالْوَصْلُ بِهَا....
أَسَانِيدُ كُتُبِ وَأُصُولِ النَّشْرِ لِابْنِ الْجَزَرِيِّ وَالْوَصْلُ بِهَا....
سمير بسيوني
French Revolution (फ्रेंच राज्यक्रांती)
French Revolution (फ्रेंच राज्यक्रांती)
Shankar Aware
، ژیانا ئینگلیزا ب کوردی ، ئینگلیزەکان ، راپورتی کوردی ، راپورتا مێژوی ، ژ...
، ژیانا ئینگلیزا ب کوردی ، ئینگلیزەکان ، راپورتی کوردی ، راپورتا مێژوی ، ژ...
Idrees.Hishyar
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
Nguyen Thanh Tu Collection
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
Nguyen Thanh Tu Collection
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
Nguyen Thanh Tu Collection
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Más contenido relacionado
Último
أَسَانِيدُ كُتُبِ وَأُصُولِ النَّشْرِ لِابْنِ الْجَزَرِيِّ وَالْوَصْلُ بِهَا....
أَسَانِيدُ كُتُبِ وَأُصُولِ النَّشْرِ لِابْنِ الْجَزَرِيِّ وَالْوَصْلُ بِهَا....
سمير بسيوني
French Revolution (फ्रेंच राज्यक्रांती)
French Revolution (फ्रेंच राज्यक्रांती)
Shankar Aware
، ژیانا ئینگلیزا ب کوردی ، ئینگلیزەکان ، راپورتی کوردی ، راپورتا مێژوی ، ژ...
، ژیانا ئینگلیزا ب کوردی ، ئینگلیزەکان ، راپورتی کوردی ، راپورتا مێژوی ، ژ...
Idrees.Hishyar
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
Nguyen Thanh Tu Collection
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
Nguyen Thanh Tu Collection
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
Nguyen Thanh Tu Collection
Último
(6)
أَسَانِيدُ كُتُبِ وَأُصُولِ النَّشْرِ لِابْنِ الْجَزَرِيِّ وَالْوَصْلُ بِهَا....
أَسَانِيدُ كُتُبِ وَأُصُولِ النَّشْرِ لِابْنِ الْجَزَرِيِّ وَالْوَصْلُ بِهَا....
French Revolution (फ्रेंच राज्यक्रांती)
French Revolution (फ्रेंच राज्यक्रांती)
، ژیانا ئینگلیزا ب کوردی ، ئینگلیزەکان ، راپورتی کوردی ، راپورتا مێژوی ، ژ...
، ژیانا ئینگلیزا ب کوردی ، ئینگلیزەکان ، راپورتی کوردی ، راپورتا مێژوی ، ژ...
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
TUYỂN TẬP 25 ĐỀ THI HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2023 CÓ ĐÁP ÁN (SƯU...
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
TUYỂN TẬP 20 ĐỀ THI KHẢO SÁT HỌC SINH GIỎI MÔN TIẾNG ANH LỚP 6 NĂM 2020 (CÓ Đ...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
Destacado
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Destacado
(20)
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
Skeleton Culture Code
Skeleton Culture Code
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
How to have difficult conversations
How to have difficult conversations
Introduction to Data Science
Introduction to Data Science
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
The six step guide to practical project management
The six step guide to practical project management
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
C language
1.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ C ﻣﻘﺪﻣﺔ ﻋﺎﻣﺔ ﻋﻠﻰ ﻟﻐﺔ * ﻣﻤﯿﺰات ﻟﻐﺔ - : Cﺘﺘﻤﻴﺯ ﻟﻐﺔ Cﺒﻤﺠﻤﻭﻋﺔ ﻤﻥ ﺍﻟﻤﺯﺍﻴﺎ ﻤﺜل :- - ﻟﻐﺔ ﻋﺎﻤﻪ : ﺃﻯ ﺘﺼﻠﺢ ﻟﻌﻤل ﺒﺭﺍﻤﺞ ﻗﻭﺍﻋﺩ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻭﺍﻟﺭﺴﻭﻤﺎﺕ ﻭﺍﻟﺤﺴﺎﺒﺎﺕ ﻭﻨﻅﻡ ﺍﻟﺘﺸﻐﻴل . - ﻟﻐﺔ ﺘﺭﻜﻴﺒﻴﺔ : Structured Languageﺍﻟﺒﺭﻨﺎﻤﺞ ﺍﻟﻤﻜﺘﻭﺏ ﺒﻠﻐﺔ Cﻋﺒﺎﺭﺓ ﻋﻥ ﺩﺍﻟﺔ ﺭﺌﻴﺴﻴﺔ ﺘﻨـﺎﺩﻯ ﻤﺠﻤﻭﻋﺔ ﻤﻥ ﺍﻟﺩﻭﺍل ﺍﻷﺨﺭﻯ . ﻭﻜل ﺩﺍﻟﻪ ﻤﺠﻤﻭﻋﻪ ﻤﻥ ﺍﻷﻭﺍﻤﺭ . - ﺘﺘﻌﺎﻤل ﻋﻠﻰ ﻤﺴﺘﻭﻯ ) ﺍﻟﺒﺕ ( - : Bit manipulationﺤﻴﺙ ﺘﺴﺘﻁﻴﻊ ﺃﻥ ﺘﻘﺭﺃ ﻭﺘﻜﺘﺏ ﻭﺘﻐﻴﺭ ﻭﺘﻘﻭﻡ ﺒﻌﻤﻠﻴﺎﺕ ﻋﻠﻰ ﻤﺴﺘﻭﻯ ﺍﻟـ . Bitﺤﻴﺙ ﺃﻥ Bitﻫﻰ ﺍﺼﻐﺭ ﻭﺤﺩﺓ ﻟﻘﻴﺎﺱ ﺍﻟﻤﻌﻠﻭﻤﺎﺕ ﺩﺍﺨل ﺍﻟﻜﻤﺒﻴـﻭﺘﺭ ﻭﻫﻰ ﺠﺯﺀ ﻤﻥ ﺜﻤﺎﻨﻴﺔ ﺃﺠﺯﺍﺀ ﺘﻌﺎﺩل ﻓﻰ ﻤﺠﻤﻭﻋﻬﺎ ﺤﺭﻑ ﻭﺍﺤﺩ . byte - ﻟﻐﺔ ﻤﺘﻨﻘﻠـﺔ : Portableﺃﻯ ﻴﻤﻜﻥ ﻟﻠﺒﺭﻨﺎﻤﺞ ﺍﻟﻤﻜﺘﻭﺏ ﺒﻠﻐﺔ Cﺃﻥ ﻴﻌﻤل ﻤﻊ ﺃﻜﺜﺭ ﻤﻥ ﺠﻬـﺎﺯ ﻤﺜـ ﻟ IBMﻭ . Apple - ﻟﻐﺔ ﺴﺭﻴﻌﺔ : - ﻷﻥ ﺃﺩﻭﺍﺕ ﺍﻟﻠﻐﺔ ﺘﺘﻌﺎﻤل ﻤﻊ ﺍﻵﻟﺔ ﻤﻤﺎ ﻴﺨﺘﺼﺭ ﻭﻗﺕ ﺍﻟﺘﻨﻔﻴﺫ . ANSI - ﻟﻐﺔ ﻗﻴﺎﺴﻴﺔ : ﻤﻌﻅﻡ ﻤﺘﺭﺠﻤﺎﺕ ﺍﻟﻠﻐﺔ ﺘﺘﻭﺍﻓﻕ ﻤﻊ ﺍﻟﻠﻐﺔ ﺍﻟﻘﻴﺎﺴﻴﺔ C The Basic Structure of c Program ﻗﻮاﻋﺪ ﺑﻨﺎء اﻟﺒﺮﻧﺎﻣﺞ - ﺍﻟﺒﺭﻨﺎﻤﺞ ﺍﻟﺘﺎﻟﻰ ﻴﻤﺜل ﺃﺒﺴﻁ ﺘﺭﻜﻴﺏ ﻟﺒﺭﻨﺎﻤﺞ ﻤﻜﺘﻭﺏ ﺒﻠﻐﺔ C > # include < stdio .h ) ( main { ; ) " printf ( " hello egypt } ﻣﻼﺣﻈﺎت ﻫﺎﻣﺔ - ﻴﺒﺩﺃ ﺍﻟﺒﺭﻨﺎﻤﺞ ﺒﺎﻟﻌﺒﺎﺭﺓ > # include < ……hﻭﺒﻴﻥ ﺍﻟﻌﻼﻤﺘﻴﻥ ﺍﺴﻡ ﻤﻠﻑ ﺍﻟﺘﻭﺠﻴﻪ ﺍﻟﺨﺎﺹ ﺒﺎﻟـﺩﻭﺍل ﺍﻟﻤﺴﺘﺨﺩﻤﺔ ﻓﻰ ﺍﻟﺒﺭﻨﺎﻤﺞ – ﻴﻤﻜﻥ ﻜﺘﺎﺒﺔ ﺃﻜﺜﺭ ﻤﻥ . include - ﻴﺘﻜﻭﻥ ﺍﻟﺒﺭﻨﺎﻤﺞ ﻤﻥ ﺩﺍﻟﺔ ﺭﺌﻴﺴﻴﺔ ) ( mainﻭﺘﺒﺩﺃ ﺒﺎﻟﻘﻭﺱ { ﻭﺘﻨﺘﻬﻲ ﺒﺎﻟﻘﻭﺱ } . - ﺠﻤﻴﻊ ﻜﻠﻤﺎﺕ ﻭﺩﻭﺍل ﺍﻟﻠﻐﺔ ﺘﻜﺘﺏ ﺒﺎﻟﺤﺭﻭﻑ ﺍﻟﺼﻐﻴﺭﺓ . - ﺘﻨﺘﻬﻲ ﻜل ﻋﺒﺎﺭﺓ ﺒﻔﺎﺼﻠﻪ ﻤﻨﻘﻭﻁﺔ ) ; ( - ﻴﺠﻭﺯ ﻜﺘﺎﺒﺔ ﺃﻯ ﻤﻼﺤﻅﺎﺕ ﺃﻭ ﺘﻌﻠﻴﻘﺎﺕ ﺨﺎﺼﺔ ﺒﺎﻟﺒﺭﻨﺎﻤﺞ ﺒﻭﺼﻔﻬﺎ ﺒﻴﻥ ﺍﻟﻌﻼﻤﻴﻥ /* */ ﻷﻯ ﻋﺩﺩ ﻤـﻥ ﺍﻟﺴﻁﻭﺭ ∴ ﺠﺴﻡ ﺍﻟﺩﺍﻟﺔ ﻴﻭﻀﻊ ﻤﺎ ﺒﻴﻥ ﺍﻷﻗﻭﺍﺱ } { ١ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
2.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ Data Type أﻧﻮاع اﻟﺒﯿﺎﻧﺎت * ﺍﻟﺒﻴﺎﻨﺎﺕ ﺍﻟﺘﻰ ﺘﺘﻌﺎﻤل ﻤﻌﻬﺎ ﺇﻤﺎ ﺃﺭﻗﺎﻡ ﺃﻭ ﺤﺭﻭﻑ ﺃﻭ ﻜﻠﻤﺎﺕ :- - ﻭﺍﻷﺭﻗﺎﻡ ﻴﻤﻜﻥ ﺃﻥ ﺘﻜﻭﻥ ﺼﺤﻴﺤﻪ ) ﺃﻯ ﻟﻴﺱ ﺒﻬﺎ ﻋﻼﻤﺔ ﻋﺸﺭﻴﺔ ( integerﺃﻭ ﺤﻘﻴﻘﻴﺔ ) ﺃﻯ ﺒﻬﺎ ﻋﻼﻤﺔ ﻋﺸﺭﻴﺔ( . float - ﻭﺍﻟﺤﺭﻭﻑ ﻴﻤﻜﻥ ﺃﻥ ﺘﻜﻭﻥ ﺤﺭﻑ ﻭﺍﺤﺩ ﺃﻭ ﺃﻜﺜﺭ ﻤﻥ ﺤﺭﻑ * اﻟﺠﺪول اﻟﺘﺎﻟﻰ ﯾﻮﺿﺢ ﻫﺬه اﻷﻧﻮاع وﻛﺬﻟﻚ ﻋﺪد اﻟﺒﺎﯾﺖ byteاﻟﺘﻰ ﯾﺸﻐﻠﻬﺎ :- ﺎﻟﻤﺪى اﻟﻤﺴﻤﻮﺣ ﻃﻮﻟﻪ ﺑﺎﻟﺒﺎﯾﺖ ﻧﻮع اﻟﻤﺘﻐﯿﺮ ﺤﺭﻑ ﺃﻭ ﺭﻤﺯ ﻭﺍﺤﺩ 1 ﺤﺭﻑ ) ( char -٨٦٧٢٣ ﺇﻟﻰ ٨٦٧٢٣ 2 ﺼﺤﻴﺢ ﻗﺼﻴﺭ ) ( int -٨٤٦٠٣٨٤٠٧٤١٠٢ﺇﻟــــــــــــﻰ 4 ﺼﺤﻴﺢ ﻁﻭﻴل ) ( long ٨٤٦٠٣٨٤٠٧٤١٠٢ 83 - eﺇﻟﻰ 83 + e 4 ﺤﻘﻴﻘﻰ ) ( float 803- eﺇﻟﻰ 803+e 8 ﺤﻘﻴﻘﻰ ﻤﻀﺎﻋﻑ ) ( double وﻓﯿﻤﺎ ﯾﻠﻰ اﻟﻤﻘﺼﻮد ﺑﻜﻞ ﻫﺬه اﻷﻧﻮاع : - - ﻤﺘﻐﻴﺭ ﻤﻥ ﻨﻭﻉ ﺤﺭﻑ : ﺃﻯ ﻤﺘﻐﻴﺭ ﻴﺼﻠﺢ ﻟﺘﺨﺯﻴﻥ ﺤﺭﻑ ﻓﻘﻁ . - ﻤﺘﻐﻴﺭ ﻤﻥ ﻨﻭﻉ ﺼﺤﻴﺢ : ﺃﻯ ﻤﺘﻐﻴﺭ ﻴﺼﻠﺢ ﻟﺘﺨﺯﻴﻥ ﺭﻗﻡ ﺼﺤﻴﺢ ) ﻟﻴﺱ ﺒﻪ ﻋﻼﻤﺔ ﻋﺸﺭﻴﺔ ( . - ﻤﺘﻐﻴﺭ ﻤﻥ ﻨﻭﻉ ﺼﺤﻴﺢ ﻭﻟﻜﻥ ﻁﻭﻴل) : (Longﺃﻯ ﻴﺴﺘﻁﻴﻊ ﺃﻯ ﻴﺨﺯﻥ ﺭﻗﻡ ﺼﺤﻴﺢ ﻀﻌﻑ ﺍﻟﻤﺘﻐﻴـﺭ ﺍﻟﺼﺤﻴﺢ ﺍﻟﻌﺎﺩﻯ ﻭﻴﺴﺘﻌﻤل ﻫﺫﺍ ﺍﻟﻨﻭﻉ ﺇﺫﺍ ﻜﺎﻨﺕ ﺍﻷﺭﻗﺎﻡ ﺍﻟﺘﻰ ﺘﺘﻌﺎﻤل ﻤﻌﻬﺎ ﺃﻜﺒﺭ ﻤﻥ ﺍﻟﻤﺴﺎﺤﺔ ﺍﻟﻤﺨﺼﺼﺔ ﻭﺇﻻ ﺴﻨﺤﺼل ﻋﻠﻰ ﻨﺘﺎﺌﺞ ﺨﺎﻁﺌﺔ ﺒﺎﻟﺭﻏﻡ ﻤﻥ ﺇﻥ ﺍﻟﺒﺭﻨﺎﻤﺞ ﺴﻠﻴﻡ - ﻤﺘﻐﻴﺭ ﺤﻘﻴﻘﻰ : ﺃﻯ ﻤﺘﻐﻴﺭ ﻴﺼﻠﺢ ﻟﺘﺨﺯﻴﻥ ﺭﻗﻡ ﺤﻘﻴﻘﻰ ﻴﻘﺒل ﺍﻟﻜﺴﻭﺭ ﺍﻟﻌﺸﺭﻴﺔ ﻤﺜل 33. 5 - ﻤﺘﻐﻴﺭ ﺤﻘﻴﻘﻰ ﻤﻀﺎﻋﻑ : ﺃﻯ ﻴﺴﺘﻁﻴﻊ ﺃﻥ ﻴﺨﺯﻥ ﺭﻗﻡ ﺤﻘﻴﻘﻰ ﻀﻌﻑ ﺍﻟﻤﺘﻐﻴﺭ ﺍﻟﺤﻘﻴﻘﻰ ﺍﻟﻌﺎﺩﻯ . * ﺗﺴﻤﯿﺘﻪ اﻟﻤﺘﻐﯿﺮ : - ﻴﺨﻀﻊ ﺍﺴﻡ ﺍﻟﻤﺘﻐﻴﺭ ﻟﺸﺭﻭﻁ ﻤﻌﻴﻨﻪ :- ﻴﺠﺏ ﺃﻥ ﻴﺒﺩﺃ ﺍﻟﻤﺘﻐﻴﺭ ﺒﺤﺭﻑ ﺜﻡ ﻴﻜﻤل ﺍﻟﻤﺘﻐﻴﺭ ﺒﻌﺩ ﺫﻟﻙ ﺤﺭﻭﻑ ﺃﻭ ﺃﺭﻗﺎﻡ . - HPﻴﺨﺘﻠﻑ ﻋـﻥ ﺍﻟﻤﺘﻐﻴـﺭ hpﻓـﺈﺫﺍ ﻴﻔﺭﻕ ﺍﻟﻤﺘﺭﺠﻡ ﺒﻴﻥ ﺍﻟﺤﺭﻭﻑ ﺍﻟﺼﻐﻴﺭﺓ ﻭﺍﻟﻜﺒﻴﺭﺓ ﻓﺎﻟﻤﺘﻐﻴﺭ - ﺍﺴﺘﻌﻤﻼ ﻓﻰ ﺍﻟﺒﺭﻨﺎﻤﺞ ﻴﻌﺘﺒﺭﻫﻤﺎ ﺍﻟﺒﺭﻨﺎﻤﺞ ﻤﺘﻐﻴﺭﻴﻥ ﻴﺠﺏ ﺃﻻ ﻴﻜﻭﻥ ﺍﻟﻤﺘﻐﻴﺭ ﺒﺈﺴﻡ ﻜﻠﻤﻪ ﻤﻥ ﺍﻟﻜﻠﻤﺎﺕ ﺍﻟﻤﺤﺠﻭﺯﺓ . - * اﻷﻋﻼن ﻋﻦ اﻟﻤﺘﻐﯿﺮات : - - ﻓﻰ ﻟﻐﺔ ﺍﻟـ Cﻻﺒﺩ ﺍﻹﻋﻼﻥ ﻋﻥ ﺍﻟﻤﺘﻐﻴﺭﺍﺕ Variablesﻓﻰ ﺒﺩﺍﻴﺔ ﺍﻟﺒﺭﻨﺎﻤﺞ ﺇﻤـﺎ ﺇﺫﺍ ﻜﻨـﺕ ﺘﺴـﺘﺨﺩﻡ ﻤﺘﺭﺠﻡ ﻟﻐﺔ ++ Cﻴﺘﻡ ﺍﻹﻋﻼﻥ ﻋﻥ ﺍﻟﻤﺘﻐﻴﺭﺍﺕ ﻓﻰ ﺇﻯ ﻤﻜﺎﻥ ﺒﺎﻟﺒﺭﻨﺎﻤﺞ ; int a ; float * اﻟﻤﺆﺛﺮات operators ٢ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
3.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ ﺍﻟﻤﺅﺜﺭﺍﺕ ﻫﻰ ﺍﻟﺭﻤﻭﺯ ﺍﻟﺘﻰ ﺘﺭﺒﻁ ﺒﻴﻥ ﺍﻟﻤﺘﻐﻴﺭﺍﺕ ﻭﺍﻟﺜﻭﺍﺒﺕ ﻹﻨﺸﺎﺀ ﻋﻼﻤﺔ ﺃﻭ ﻤﻌﺎﺩﻟﺔ ﺘﺨﺘﻠﻑ ﺃﻨﻭﺍﻉ ﺍﻟﻤﺅﺜﺭﺍﺕ ﺒﺎﺨﺘﻼﻑ ﻭﻅﻴﻔﺔ ﻜل ﻤﺅﺜﺭ . ١- ﺍﻟﻤﺅﺜﺭﺍﺕ ﺍﻟﺤﺴﺎﺒﻴﺔ arithmetic operators addition ﻋﻼﻤﺎﺕ ﺍﻟﺠﻤﻊ + Subtraction ﻋﻼﻤﺎﺕ ﺍﻟﻁﺭﺡ - multiplication ﻋﻼﻤﺎﺕ ﺍﻟﻀﺭﺏ * division ﻋﻼﻤﺎﺕ ﺍﻟﻘﺴﻤﺔ / ﻭﺘﺴﺘﺨﺩﻡ ﻤﻊ ﺍﻟﻤﺘﻐﻴﺭﺍﺕ ﻭﺍﻟﺜﻭﺍﺒﺕ ﺍﻟﺭﻗﻤﻴﺔ ٢- ﻤﺅﺜﺭﺍﺕ ﺍﻟﻤﻘﺎﺭﻨﺔ -:Relational operatorsﻭﺘﺴﺘﺨﺩﻡ ﻟﻤﻘﺎﺭﻨﺔ ﻗﻴﻤﺘﻴﻥ : ﺎﻟﻨﺘﯿﺠﺔ ﻣﺜﺎ ﻟ ﺎﻟﺮﻣﺰ ﺎﻟﻤﺆﺛﺮ 1 8>01 > ﺃﻜﺒﺭ ﻤﻥ greater than ٠ 8<01 < ﺃﺼﻔﺭ ﻤﻥ less than 0 ٨==٠١ == ﻴﺴﺎﻭﻯ equal to 1 ٨=!٠١ =! ﻻ ﻴﺴﺎﻭﻯ not equal to 0 8 = < ٠١ =< ﺃﻗل ﻤﻥ ﺃﻭ ﻴﺴﺎﻭﻯ less than or equal to ٠ 8 = > 01 => ﺃﻜﺒﺭ ﻤﻥ ﺃﻭ ﻴﺴﺎﻭﻯ greater than or equal to ٣- ﺍﻟﻤﺅﺜﺭﺍﺕ ﺍﻟﻤﻨﻁﻘﻴﺔ Logical operator ﺎﻟﻨﺘﯿﺠﺔ ﻣﺜﺎ ﻟ ﺎﻟﺮﻣﺰ ﺎﻟﻤﺆﺛﺮ 1 7 > 9 && 8 > 01 && ﻭ AND ١ 8 < 7 || 8 < 0 1 || ﺃﻭ OR 1 ) 8 = = 01( ! ! ﻻ NOT ٤- ﻤﺅﺜﺭﺍﺕ ﺍﻟﺘﺨﺼﻴﺹ Assignment Operators ﻭﻫﻰ ﻤﺅﺜﺭﺍﺕ ﺘﺨﺯﻴﻥ ﻗﻴﻤﺔ ﻓﻰ ﻤﺘﻐﻴﺭ ﻓﻤﺜﻼ ﺇﺫﺍ ﻜﺎﻨﺕ ﻗﻴﻤﺔ ٦ = ٩ اﻟﻤﺆﺛﺮ اﻟﻨﺘﯿﺠﺔ اﻟﻄﺮﯾﻘﺔ اﻟﺤﺪﯾﺜﺔ اﻟﺘﺨﺼﯿﺺ اﻟﺘﻘﻠﯿﺪى + = addition assignment operators 11 5=+A 5+ A = a Subtraition assignment opertors 1 5=-A 5–A=a Multipication assibnment operators 03 5=*A 5+A=a Division assignment operators 2 3=/A 3/A=a ٥- ﻤﺅﺜﺭﺍﺕ ﺍﻟﺯﻴﺎﺩﺓ ﻭﺍﻟﻨﻘﺼﺎﻥ Decrement &increment ٣ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
4.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ ﻤﺅﺜﺭ ﺯﻴﺎﺩﺓ ﻭﺍﺤﺩ 7 ++ A 1+A=a ﻤﺅﺜﺭ ﻨﻘﺼﺎﻥ ﻭﺍﺤﺩ 5 -- A 1–A=a ٦- ﻤﺅﺜﺭ ﺒﺎﻗﻰ ﺨﺎﺭﺝ ﺍﻟﻘﺴﻤﺔ % ﻴﺴﺘﺨﺩﻡ ﻟﻤﻌﺭﻓﺔ ﺒﺎﻗﻰ ﺍﻟﻘﺴﻤﻪ ) ﻟﺘﺤﺩﻴﺩ ﻫل ﺍﻷﺭﻗﺎﻡ ﺍﻟﻤﻭﺠﻭﺩﺓ ﻓﻰ ﺍﻟﻤﺘﻐﻴﺭ ﺯﻭﺠﻴﺔ ﺃﻭ ﻓﺭﺩﻴﺔ ﻓﻤﺜﻼ ﺇﺫﺍ ﻜﺎﻨـﺕ ﻗﻴﻤﺔ 5 = aﻭﻜﺘﺏ 2 % C = aﻴﻜﻭﻥ ﺒﺎﻗﻰ ﺍﻟﺭﻗﻡ 2 / 5 = 1 دوال اﻹدﺧﺎل واﻹﺧﺮاج * داﻟﺔ اﻟﻄﺒﺎﻋﺔ ﻋﻠﻰ اﻟﺸﺎﺷﺔ )(* printf ﻤﻼﺤﻅﺎﺕ ﻫﺎﻤﻪ : ﻜل ﺩﺍﻟﺔ ﻤﺭﺘﺒﻁﺔ ﺒﻤﻠﻑ ﺘﻭﺠﻴﻪ ﻤﻌﻴﻥ ﺤﻴﺙ ﻴﺴﺘﺩﻋﻰ ﻫﺫﺍ ﺍﻟﻤﻠـﻑ ﻓـﻰ ﺃﻭل ﺍﻟﺒﺭﻨﺎﻤﺞ ﺒﺎﻟﻌﺒﺎﺭﺓ # includeﻓﻤﺜﻼ ﺍﻟﺩﺍﻟﺔ )( printfﻤﻌﺭﻓﺔ ﺒﺎﻟﻤﻠﻑ stdio.hﻭﺘﻜﺘﺏ ﺍﻟﻌﺒﺎﺭﺓ # > include < stdio.hﻓﻰ ﺃﻭل ﺍﻟﺒﺭﻨﺎﻤﺞ ﺤﺘﻰ ﻴﺘﻌﺭﻑ ﺍﻟﻤﺘﺭﺠﻡ ﻋﻠﻰ ﺍﻟﺩﺍﻟﺔ ﻭﻫﻜﺫﺍ ﻤـﻊ ﺒـﺎﻗﻰ ﺍﻟﺩﻭﺍل - ﺘﺴﺘﺨﺩﻡ ﺩﺍﻟﺔ ﺍﻟﻁﺒﺎﻋﺔ ) ( printfﻟﻁﺒﺎﻋﺔ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺒﺠﻤﻴﻊ ﺃﻨﻭﺍﻋﻬﺎ ) ( String , char , float , intﻋﻠﻰ ﺍﻟﺸﺎﺸﺔ ﻓﻘﻁ . ﻭﻨﺄﺨﺫ ﺩﺍﻟﺔ ﺍﻟﻁﺒﺎﻋﺔ ﻋﺩﺓ ﺼﻭﺭ ﻭﻜﺫﻟﻙ ﻤﻌﺎﻤﻼﺕ ﻭﺃﻜﻭﺍﺩ ﺘﺤﺩﺩ ﺸﻜل ﺍﻟﻤﺨﺭﺠﺎﺕ - ﻤ ﺜ ﺎل ١ ) " printf ( " welcome with compuscience ﻫﻨﺎ ﻴﺘﻡ ﻁﺒﺎﻋﺔ ﻤﺎ ﺒﻴﻥ ﻋﻼﻤﺘﻰ ﺍﻟﺘﻨﺼﻴﺹ " " ﻤﺜ ﺎ ل ٢ ; ) " printf ( " n welcome n with n compuscience ﻓﻰ ﻫﺫﺍ ﺍﻟﻤﺜﺎل : ﺍﻟﻜﻭﺩ ٠٠١ ﻤﻌﻨﺎﻩ new lineﺃﻯ ﺴﻁﺭ ﺠﺩﻴﺩ ﻭﻋﻨﺩﻤﺎ ﻴﺠﺩ ﺍﻟﻤﺘﺭﺠﻡ ٠٠١ ﻴﺘﺭﺠﻤﻬﺎ ﺇﻟـﻰ ﺴﻁﺭ ﺠﺩﻴﺩ ﻭﻴﻜﻭﻥ ﺍﻟﻨﺎﺘﺞ welcome with compusciene ﻭﻓﻴﻤﺎ ﻴﻠﻰ ﺍﻻﻜﻭﺍﺩ ﺍﻟﻤﺴﺘﺨﺩﻤﺔ ﻤﻊ ﺍﻟﺩﺍﻟﺔ ) (printf ﺎﻟﻤﺜﺎ ﻟ ﺎﻻﺳﺘﺨﺪام اﻟﻜﻮد ٤ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
5.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ ) “ printf ( " n ﺍﻻﻨﺘﻘﺎل ﺍﻟﺴﻁﺭ ﺍﻟﺠﺩﻴﺩ new line n ) “ print f ( " t ﻨﻘل ﺍﻟﻤﺅﺸﺭ ﺒﻌﺩ ٨ ﻤﺴﺎﻓﺎﺕ ) ( Tap t ) " print f ( " b ﺇﺭﺠﺎﻉ ﺍﻟﻤﺅﺸﺭ ﻤﺴﺎﻓﺔ ﺨﻠﻔﻴﺔ Backspace b aﻭﺍﻟﻨﺘﻴﺠﺔ : ) " 14printf ( “ x ﻁﺒﺎﻋﺔ ﺍﻟﺤﺭﻑ ﺍﻟﻤﻨﺎﻅﺭ ﻟﻠﻜﻭﺩ ﺍﻟﻤﻜﺘﻭﺏ ﺒﺎﻟﻨﻅﺎﻡ ﺍﻟﺴﺎﺩﺱ ﻋﺸـﺭ xdd hexadecimal aﺍﻟﻨﺘﻴﺠﺔ : ) ”101 " ( printf ﻁﺒﺎﻋﺔ ﺍﻟﺤﺭﻑ ﺍﻟﻤﻨﺎﻅﺭ ﻟﻠﻜﻭﺩ ﺍﻟﻤﻜﺘﻭﺏ ﺒﺎﻟﻨﻅﺎﻡ ﺍﻟﺜﻤﺎﻨﻰ octol ddd ) ( each d represents a digit ) "" " ( printf ﻁﺒﺎﻋﺔ ﻋﻼﻤﺔ ﺍﻟﺘﻨﺼﻴﺹ double quate ” ) “ printf ( " a ﺇﺨﺭﺍﺝ ﺼﻭﺕ ﺍﻟﺼﺎﻓﺭﺓ ) ﻴﺒﺏ ( a * ﺃﻭﺠﺩ ﻨﺎﺘﺞ ﺘﻨﻔﻴﺫ ﺍﻟﺒﺭﻨﺎﻤﺞ ﺍﻟﺘﺎﻟﻰ : / * 1 / * program name > # include < stdio.h ) ( main { ; ) “ printf ( " n this text display in new line ; ) “ 2printf ( " n word1 t lab1 t tab ; ) “ printf ( " n bell a bell b ; ) “ “ printf ( " n this line display quotations ; ) “ printf ( " n } * ﻁﺒﺎﻋﺔ ﻗﻴﻡ ﺍﻟﻤﺘﻐﻴﺭﺍﺕ ﻋﻠﻰ ﺍﻟﺸﺎﺸﺔ : ﻟﻁﺒﺎﻋﺔ ﺍﻟﻘﻴﻡ ﺍﻟﻤﻭﺠﻭﺩﺓ ﺒﺎﻟﻤﺘﻐﻴﺭﺍﺕ ﺘﺴﺘﺨﺩﻡ ﺃﻜﻭﺍﺩ ﻤﻌﻴﻨﺔ ﻟﺘﺤﺩﺩ ﻨﻭﻉ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺍﻟﻤﺭﺍﺩ ﻁﺒﺎﻋﺘﻬﺎ ﺒﺎﻟﺩﺍﻟﺔ )( print f ﻤ ﺜ ﺎل ; ) printf ( " % d “ , a ; ) printf ( " % f “ , b - ﻓﻰ ﻫﺫﺍ ﺍﻟﻤﺜﺎل ﻋﻨﺩﻤﺎ ﻴﻘﺎﺒل ﻤﺘﺭﺠﻡ ﺍﻟﻠﻐﺔ ﺍﻟﻌﻼﻤﺔ % ﻴﻨﻅﺭ ﺇﻟﻰ ﺍﻟﺤﺭﻑ ﺍﻟﺘﺎﻟﻰ ﻟﻬﺫﻩ ﺍﻟﻌﻼﻤﺔ . ﻭﻴﻌﺘﺒـﺭ ﻫﺫﺍ ﺍﻟﺤﺭﻑ ﺘﻭﺼﻴﻑ ﻟﻘﻴﻤﺔ ﻤﻭﺠﻭﺩﺓ ﺒﻌﺩ ﺍﻟﻌﻼﻤﺔ ﻭﻜل ﺤﺭﻑ ﻴﺤﺩﺩ ﺘﻨﻭﻉ ﻤﻌﻴﻥ ﻤﻥ ﺍﻟﺒﻴﺎﻨﺎﺕ . ﻭﺍﻟﺠﺩﻭل ﺍﻟﺘﺎﻟﻰ ﻴﻭﻀﺢ ﺃﻜﻭﺍﺩ ﻁﺒﺎﻋﺔ ﺃﻨﻭﺍﻉ ﺍﻟﺒﻴﺎﻨﺎﺕ : ﻣﺜﺎ ﻟ ﺎﻻﺳﺘﺨﺪاﻣ ﺎﻟﻜﻮد ٥ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
6.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ )01 - , “ printf ( " % d ﺘﻭﺼﻴﻑ ﻟﻤﺘﻐﻴﺭ ﺃﻭ ﺜﺎﺒﺕ ﺭﻗﻤﻰ ﺼﺤﻴﺢ %d ( Signed decimal integer ) int ) 705 , “ printf ( “ % p ﺘﻭﺼﻴﻑ ﻟﻤﺘﻐﻴﺭ ﺃﻭ ﺜﺎﺒﺕ ﺭﻗﻤﻰ ﺤﻘﻴﻘﻰ %f ( floating point ) float )“ printf ( “ % c “ , “ a ﺘﻭﺼﻴﻑ ﻟﻤﺘﻐﻴﺭ ﺃﻭ ﺜﺎﺒﺕ ) ﺤﺭﻑ ﻭﺍﺤﺩ ( %c char Single character ) “ printf ( “ % s “ , “ is ﺘﻭﺼﻴﻑ ﻟﻌﺒﺎﺭﺓ ﺤﺭﻓﻴﺔ ﺤﺭﻑ ﺃﻭ ﺃﻜﺜﺭ %s String ) ٠1 “ , “ printf ( “ % u ﺘﻭﺼﻴﻑ ﻟﻤﺘﻐﻴﺭ ﺃﻭ ﺜﺎﺒﺕ ﺭﻗﻤﻰ ﺼﺤﻴﺢ ﺒﺩﻭﻥ ﺇﺸﺎﺭﺓ ( %u ) (unsigned decimal integer ) printf ( “ % x “ , af ﺘﻭﺼﻴﻑ ﻟﻤﺘﻐﻴﺭ ﺃﻭ ﺜﺎﺒﺕ ﺒﺎﻟﻨﻅﺎﻡ ﺍﻟﺴﺎﺩﺱ ﻋﺸﺭ hex %x ) 76 , “ printf ( “ % o Qctal ﺘﻭﺼﻴﻑ ﻟﻤﺘﻐﻴﺭ ﺃﻭ ﺜﺎﺒﺕ ﺒﺎﻟﻨﻅﺎﻡ ﺍﻟﺜﻤﺎﻨﻰ %o * ﺃﻭﺠﺩ ﻨﺎﺘﺞ ﺘﻨﻔﻴﺫ ﺍﻟﺒﺭﻨﺎﻤﺞ ﺍﻟﺘﺎﻟﻰ / * 2 / * program name > # include < stdio.h ) ( main { ; int a , b , c ; float f ; long t ; ‘ char ch = ‘y ; " char name [10] = " aly ;5=a ; 01 = b ;c=a+b ; ) printf (“ n c = % d “ , c ; ) printf ( “n f = % f “ , f ; ) printf (“ n name = % s “ , name ; )printf ( “ n ch = % c “ , ch ; ) printf ( “n t = % ld “ , t } * ﻣﻼﺣﻈﺎت ﻋﻠﻰ اﻟﺤﻞ * • ﻴﺸﻤل ﺍﻟﺒﺭﻨﺎﻤﺞ ﺍﻟﺴﻁﺭ ﺭﻗﻡ ١ ﻟﻠﺘﻌﻠﻴﻕ ﺃﻭ ﺍﻟﻤﻼﺤﻅﺔ • ﻓﻰ ﺍﻟﺴﻁﺭ ٢ ﻴﺸﻤل ﻋﻠﻰ ﺍﻟﺠﻤﻠﺔ > # include < stdio.hﻭﺘﺴﺘﺨﺩﻡ ﻟﺘﺤﻤﻴل ﻤﻠﻑ ﺍﻟﺘﻭﺠﻴﻪ stdio.h ﺍﻟﺫﻯ ﻴﺤﺘﻭﻯ ﻋﻠﻰ ﺘﻌﺭﻴﻑ ﺍﻟﺩﺍﻟﺔ ) ( printf ٦ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
7.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ • ﺍﻟﺴﻁﺭ ﺭﻗﻡ ٣ ﺘﺒﺩﺃ ﺍﻟﺩﺍﻟﺔ ﺍﻟﺭﺌﻴﺴﻴﺔ ) ( mainﺜﻡ ﺍﻟﺴﻁﺭ ٤ ﺘﺒﺩﺃ ﺍﻟﺩﺍﻟﺔ ﺍﻟﺭﺌﻴﺴﻴﺔ ﺒﺎﻟﻘﻭﺱ { • ﻓﻰ ﺍﻟﺴﻁﺭ ﺭﻗﻡ 5 , 6 , 7 ﺇﻋﻼﻥ ﻋﻥ ﺍﻟﻤﺘﻐﻴﺭﺍﺕ • ﻓﻰ ﺍﻟﺴﻁﺭ ﺭﻗﻡ ٨ ﺍﻹﻋﻼﻥ ﻋﻥ ﺍﻟﻤﺘﻐﻴﺭ chﻤﻥ ﻨﻭﻉ ﺤﺭﻑ ) ( charﻭﺇﻋﻁﺎﺌﻪ ﺍﻟﻘﻴﻤﺔ y • ﻓﻰ ﺍﻟﺴﻁﺭ ﺭﻗﻡ ٩ ﺍﻹﻋﻼﻥ ﻋﻥ ﺍﻟﻤﺘﻐﻴﺭ nameﻟﺘﺨﺯﻴﻥ ﻋﺒﺎﺭﺓ ﺤﺭﻓﻴﺔ ﻭﺇﻋﻁﺎﺌﻪ ﺍﻟﻘﻴﻤﺔ ﺍﻻﺒﺘﺩﺍﺌﻴﺔ ﻜﻠﻤـﺔ Aly • ﻓﻰ ﺍﻟﺴﻁﺭ ﺭﻗﻡ ٠١ ، ١١ ، ٢١ ﻹﻋﻁﺎﺀ ﻗﻴﻡ ﻟﻠﻤﺘﻐﻴﺭﺍﺕ A , Bﻭﻗﻴﻤﺔ C • ﺜﻡ ﻁﺒﺎﻋﺔ ﺍﻟﻤﺘﻐﻴﺭﺍﺕ ﺜﻡ ﺘﻨﺘﻬﻰ ﺍﻟﺩﺍﻟﺔ ﺍﻟﺭﺌﻴﺴﻴﺔ ﺒﺎﻟﻘﻭﺱ { ﻭﺒﺎﻟﺘﺎﻟﻰ ﻴﻨﺘﻬﻰ ﺍﻟﺒﺭﻨﺎﻤﺞ ﻣﻼﺣﻈ ﺎت : ﺍﻟﺼﻭﺭﺓ : % 3Fﻴﻌﻨﻰ ﻁﺒﺎﻋﺔ ﺜﻼﺙ ﺃﺭﻗﺎﻡ ﺒﻌﺩ ﺍﻟﻌﻼﻤﺔ ﺍﻟﻌﺸﺭﻴﺔ ﻓﻤﺜﻼ ﺍﻟـﺭﻗﻡ 5376.435 ﻴﻅﻬﺭ ﺒﺎﻟﺼﻭﺭﺓ 476.435 * داﻟﺔ اﻹدﺧﺎل اﻟﻌﺎﻣﺔ ) ( *Scanf ﻫﻰ ﺩﺍﻟﺔ ﺍﻹﺩﺨﺎل ﺍﻟﺭﺌﻴﺴﻴﺔ ﺍﻟﺘﻰ ﺘﺴﻤﺢ ﺒﺈﺩﺨﺎل ﺠﻤﻴﻊ ﺃﻨﻭﺍﻉ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻭﻫﻰ ﺘﺄﺨﺫ ﻨﻔﺱ ﺍﻟﻤﻌﺎﻤﻼﺕ ﺍﻟﺘﻰ ﺘﺄﺨﺫﻫﺎ ﺍﻟﺩﺍﻟﺔ ) ( Print f ﻤﺜ ﺎ ل : ٧ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
8.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ > # include < stdio.h ) ( main { ; int a , b , c ; float r , s , t ;]01[ char name ; ) " : printf ( " n n enter your name ; ) scanf ( " % s " , name ; ) " = printf ( " a ; ) scanf ( " % d " , & a ; ) " = printf ( “ b ; ) scanf ( % d " , & b ; ) " = printf ( " r ; ) scanf ( " % f " , &r ; ) " =printf ( " s ; ) scanf ( " % f " & s ; ) printf ( " n welcome % s " , name ; ) printf ( " n n c = a + b = % d " , a + b ; ) printf ( " n n t = r + s = % d " , r + s } ﻣﻼﺣﻈﺎت ﻋﻠﻰ اﻟﺤﻞ • ﻴﺘﻡ ﺍﻹﻋﻼﻥ ﻋﻥ ﺍﻟﻤﺘﻐﻴﺭﺍﺕ a , b , c , r , s , t , name • ﺘﻁﺒﻊ ﺍﻟﺩﺍﻟﺔ )( printfﺍﻟﺭﺴﺎﻟﺔ enter your name • ﺘﺴﺘﻘﺒل ﺍﻟﺩﺍﻟﺔ ) ( scan fﺍﻟﻌﺒﺎﺭﺓ ﺍﻟﺤﺭﻓﻴﺔ ﺍﻟﺘﻰ ﻴﺩﺨﻠﻬﺎ ﺍﻟﻤﺴﺘﺨﺩﻡ ﻭﻨﺼـﻔﻬﺎ ﻓـﻰ ﺍﻟﻤﺘﻐﻴـﺭ name ٠٠٠٠ ﻜﺫﻟﻙ ﺍﻟﻤﺘﻐﻴﺭﺍﺕ ﺍﻷﺨﺭﻯ • ﺘﺴﺘﻘﺒل ﺍﻟﺩﺍﻟﺔ ) ( scan fﻓﻰ ﺴﻁﺭ ) scan f ( ) ( “ % d " , &aﻗﻴﻤﺔ ﺼﺤﻴﺤﻪ ﻭﺘﺨﺯﻨﻬﺎ ﻓﻰ ﺍﻟﻤﺘﻐﻴﺭ a # ﻣﺎذا ﯾﻌﻨﻰ اﻟﻤﺆﺷﺮ & # : &aﺘﻌﻨﻰ ﺘﺨﺯﻴﻥ ﺍﻟﻘﻴﻤﺔ ﺍﻟﺼﺤﻴﺤﺔ ﻓﻰ ﺍﻟﻤﻜﺎﻥ ﺍﻟﻤﺨﺯﻥ ﻋﻨﻭﺍﻨﻪ ﻓﻰ ﺍﻟﻤﺘﻐﻴﺭ aﺒﻤﻌﻨﻰ ﺃﻥ aﻴﺸﻴﺭ ﺇﻟﻰ ﻋﻨﻭﺍﻥ ﺍﻟﻤﻜﺎﻥ ﺍﻟﺫﻯ ﺘﺨﺯﻥ ﻓﻴﻪ ﺍﻟﻘﻴﻤﺔ ﺤﻴﺙ ﺍﻟﻌﻼﻤﺔ & ﺘﺠﻌل ﺍﻟﻤﺘﻐﻴﺭ ﻴﺸﻴﺭ ﺇﻟﻰ ﻋﻨﻭﺍﻥ ﺍﻟﻤﻜﺎﻥ * ﺍﻟﻨﺎﺘﺞ :- enter your name : ahmed 5=a ٠1 = b ٠2 = r ٠3 = s ٨ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
9.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ welcome ahmed 51 = c = a + b 05 = t = r + s ﺗﻤﺮﯾﻦ : ﺑﺮﻧﺎﻣﺞ ﻹﯾﺠﺎد ﻣﺴﺎﺣﺔ اﻟﺪاﺋﺮة > # include < stdio .h / * / * program to calculate erea of circle ) ( main /* / * function heading { ; float redius, area /* /* variable declarations ; ) “ ? = printf ( “ redius /* /* output statement ; ) scanf ( “ % f “ , redius /* /* input statement ; area = 3.14159 * redius * redius /* /* assignment statement ; ) printf ( “ area = % f “ , area /* /* output statement } ﻤﻊ ﺃﻨﻭﺍﻉ ﺨﺎﺼﺔ ﻤﻥ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻜـﺎﻟﺤﺭﻭﻑ ﻭﺍﻟﻌﺒـﺎﺭﺍﺕ * دوال إدﺧﺎل ﺣﺮف * ﻫﻨﺎﻙ ﺩﻭﺍل ﺃﺨﺭﻯ ﺘﺘﻌﺎﻤل ﺍﻟﺤﺭﻓﻴﺔ ﻭﻫﻰ : ) ( getchar ( ) , getche ( ) , getch ١ – اﻟﺪاﻟﺔ ) ( ) - : getcharﻤﻠﻑ ﺘﻭﺠﻴﻪ ( stdio .h ﺘﺴﺘﺨﺩﻡ ﻹﺩﺨﺎل ﺤﺭﻑ ﻭﺍﺤﺩ ﻭﻴﻅﻬﺭ ﺍﻟﺤﺭﻑ ﻋﻠﻰ ﺍﻟﺸﺎﺸﺔ ﺒﻌﺩ ﺍﻟﻜﺘﺎﺒﺔ ﻭﻻ ﺘﺴﻤﺢ ﺒﺎﻻﻨﺘﻘﺎل ﺇﻟﻰ ﺍﻷﻤﺭ ﺍﻟﺘـﺎﻟﻰ ﺇﻻ ﺇﺫﺍ ﻀﻐﻁ ﺍﻟﻤﺴﺘﺨﺩﻡ ﻤﻔﺘﺎﺡ ﺍﻹﺩﺨﺎل enter ﻣﺜﺎل ; char a ; ) ( a = getchar ; ) printf ( “ % c “ , a ٢- اﻟﺪاﻟﺔ ) ( ) - : getcheﻤﻠﻑ ﺍﻟﺘﻭﺠﻴﻪ ( conio .h ﺘﺴﺘﺨﺩﻡ ﻹﺩﺨﺎل ﺤﺭﻑ ﻭﺍﺤﺩ ﻭﻴﻅﻬــﺭ ﻫﺫﺍ ﺍﻟﺤﺭﻑ ﻋﻠﻰ ﺍﻟﺸﺎﺸﺔ ﻭﻟﻜﻨﻬـﺎ ﺘﺨﺘـــﻠﻑ ﻋـﻥ ﺍﻟﺩﺍﻟـــﺔ ) ( getcharﻓﻰ ﺃﻨﻬﺎ ﻻ ﺘﺤﺘﺎﺝ ﺇﻟﻰ ﺍﻟﻀﻐﻁ ﻋﻠﻰ ﻤﻔﺘﺎﺡ ﺍﻹﺩﺨﺎل enterﻟﻼﻨﺘﻘﺎل ﻟﻠﺴﻁﺭ ﺍﻟﺘﺎﻟﻰ ﻭﺘﻌﻤل ﻫﺫﻩ ﺍﻟﺩﺍﻟﺔ ﺒﻁﺭﻴﻘﺔ ﻤﺸﺎﺒﻬﺔ . ﻣﺜﺎل ; char a ; ) ( a = getche ; ) printf ( “ % c “ , a ٣ – اﻟﺪاﻟﺔ ) ( ) : getchﻤﻠﻑ ﺍﻟﺘﻭﺠﻴﻪ ( conio.h ٩ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
10.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ ﺘﺴﺘﺨﺩﻡ ﻹﺩﺨﺎل ﺤﺭﻑ ﻭﺍﺤﺩ ﻭﻟﻜﻥ ﺘﺨﺘﻠﻑ ﻋﻥ ﺍﻟﺩﺍﻟﺘﻴﻥ ﺍﻟﺴﺎﺒﻘﺘﻴﻥ ﻓﻰ ﺃﻥ ﻫﺫﺍ ﺍﻟﺤﺭﻑ ﻻ ﻴﻅﻬﺭ ﻋﻠﻰ ﺍﻟﺸﺎﺸﺔ ﻭﻜﺫﻟﻙ ﻓﻰ ﺃﻨﻬﺎ ﻻ ﺘﺤﺘﺎﺝ ﺇﻟﻰ ﺍﻟﻀﻐﻁ ﻋﻠﻰ ﻤﻔﺘﺎﺡ ﺍﻹﺩﺨﺎل enterﻟﻼﻨﺘﻘﺎل ﺇﻟﻰ ﺍﻟﺴﻁﺭ ﺍﻟﺘﺎﻟﻰ ﻣﺜﺎل ; char a ; ) ( a = getch ; ) printf ( “ % c “ , a * داﻟﺔ ﻃﺒﺎﻋﺔ ﺣﺮف واﺣﺪ ) ( ) : putcharﻤﻠﻑ ﺘﻭﺠﻴﻪ ( stdio.h - ﺘﺴﺘﺨﺩﻡ ﻟﻁﺒﺎﻋﺔ ﺤﺭﻑ ﻭﺍﺤﺩ ﻋﻠﻰ ﺍﻟﺸﺎﺸﺔ - ﻓﻤﺜﻼ )' putchar ( ' aﺘﻁﺒﻊ ﻋﻠﻰ ﺍﻟﺸﺎﺸﺔ ﺍﻟﺤﺭﻑ aﻜﻤﺎ ﻫﻭ * داﻟﺔ إدﺧﺎل ﻋﺒﺎرة ﺣﺮﻓﯿﺔ ) ( * getsﻤﻠﻑ ﺍﻟﺘﻭﺠﻴﻪ stdio.h - ﺘﺴﺘﺨﺩﻡ ﺍﻟﺩﺍﻟﺔ ) ( getsﻓﻰ ﺇﺩﺨﺎل ﻋﺒﺎﺭﺓ ﺤﺭﻓﻴﺔ string ﻣﺜﺎل ;]02[char name ; )gets (name ﻓﻰ ﻫﺫﺍ ﺍﻟﻤﺜﺎل ﺘﺨﺯﻥ ﺍﻟﺩﺍﻟﺔ ) ( getsﺍﻟﻌﺒﺎﺭﺓ ﺍﻟﺤﺭﻓﻴﺔ ﻓﻰ ﺍﻟﻤﺘﻐﻴﺭ Name * داﻟﺔ ﻃﺒﺎﻋﺔ ﻋﺒﺎرة ﺣﺮﻓﯿﺔ ) ( * putsﻤﻠﻑ ﺍﻟﺘﻭﺠﻴﻪ stdio.h - ﺘﺴﺘﺨﺩﻡ ﻟﻁﺒﺎﻋﺔ ﻋﺒﺎﺭﺓ ﺤﺭﻓﻴﺔ stringﺤﻴﺙ ﺘﻁﺒﻊ ﺒﺩﻭﻥ ﺘﻭﺼﻴﻑ ﺸﻜل ﺍﻟﻤﺨﺭﺠﺎﺕ ﻣﺜﺎل : “ char name[10] = “ ahmed ; )puts (name ; ) “ puts ( “mohammed ﻋﻨﺩ ﺘﻨﻔﻴﺫ ﺍﻟﺒﺭﻨﺎﻤﺞ ﻨﺤﺼل ﻋﻠﻰ ﺍﻟﻨﺘﻴﺠﺔ ahmed mohammed ﻣﻼﺣﻈ ﺔ : ﺍﻹﻋﻼﻥ ]01[ char nameﻤﻌﻨﺎﻩ ﺃﻥ ﺍﻟﻤﺘﻐﻴﺭ nameﻤﻥ ﻨﻭﻉ ﺤﺭﻓﻰ ﻭﻴﺼﻠﺢ ﻟﺘﺨﺯﻴﻥ ﻜﻠﻤـﺔ ﺃﻗﺼﻰ ﻋﺩﺩ ﺤﺭﻭﻑ ﻟﻬﺎ ﻫﻭ ٠١ ﺤﺭﻭﻑ * ﺑﻌﺾ اﻟﺪوال اﻟﻤﻜﺘﺒﺔ ﻣﻠﻒ include ﺎﻟﻐﺮ ﺿ ﺎﻟﻨﻮﻋ ﺎﻟﺪاﻟﺔ stdlib.h ﺘﻌﻴﺩ ﻗﻴﻤﺔ iﺍﻟﻤﻁﻠﻘﺔ ﺼﺤﻴﺢ ) abs ( i math.h ﺘﻌﻴﺩ ﻟﻭﻏﺎﺭﻴﺘﻡ ﻁﺒﻴﻌﻴﺎ ﻟـ d ﻤﺯﺩﻭﺝ ) log ( d math.h ﺘﻌﻴﺩ 1 dﻤﺭﻓﻭﻋﺔ ﺇﻟﻰ ﺍﻟﻘﻭﺓ 1d ﻤﺯﺩﻭﺝ ) 2pow ( d1 , d math.h ) labs ( eﺼﺤﻴﺢ ﻁﻭﻴل ﺘﻌﻴﺩ ﻗﻴﻤﺔ ﻤﻁﻠﻘﺔ ﻟـ l math.h ﺘﻌﻴﺩ ﺠﻴﺏ d ﻤﺯﺩﻭﺝ ) sin ( d ٠١ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
11.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ math.h ﺘﻌﻴﺩ ﺍﻟﺠﺯﺭ ﺍﻟﺘﺭﺒﻴﻌﻰ ﻟـ d ﻤﺯﺩﻭﺝ ) sqrt ( d string.h ﺘﻨﺴﺦ ﺍﻟﺴﻠﺴﻠﺔ 2 sﻓﻰ ﺍﻟﺴﻠﺴﻠﺔ 1s ﺤﺭﻑ ) 2strcpy ( s1,s أواﻣﺮ اﻟﺘﺤﻜﻢ ﻴﺘﻡ ﺘﻨﻔﻴﺫ ﺍﻟﺴﻁﻭﺭ ﺒﻴﻥ ﺃﻗﻭﺍﺱ ﺍﻟﺩﺍﻟﺔ ﺍﻟﺭﺌﻴﺴﻴﺔ mainﺒﺘﺭﺘﻴﺏ ﻜﺘﺎﺒﺘﻬﺎ . ﻭﻋﻨﺩ ﻭﺠﻭﺩ ﺴﻁﻭﺭ ﻤﺘﺸﺎﺒﻬﺔ ﻴﺘﻡ ﺍﻟﻌﻤل ﺒﺄﺴﻠﻭﺏ ﺃﻭﺍﻤﺭ ﺍﻟﺘﺤﻜﻡ ﻜﺎﻟﺘﺎﻟﻰ : - اﻟﺘﻔﺮﯾﻎ اﻟﺘﻜﺮار ) اﻟﺪورات( أوﻻ اﻟﺘﻜﺮار Loop ١- اﻟﺪوارة : forﺘﺴﺘﺨﺩﻡ ﻟﺘﻜﺭﺍﺭ ﺘﻨﻔﻴﺫ ﻋﻤﻠﻴﺔ ﻋﺩﺩ ﻤﺤﺩﺩ ﻤﻥ ﺍﻟﻤﺭﺍﺕ ; For ( initial – value ; condition ; increment ) ; statement اﻟﺼﻮرة اﻟﻌﺎﻣﺔ : ﺤﻴﺙ : : initial – valueﻫﻰ ﺍﻟﻘﻴﻤﺔ ﺍﻻﺒﺘﺩﺍﺌﻴﺔ : conditionﻫﻭ ﺸﺭﻁ ﺇﻨﻬﺎﺀ ﺍﻟﺘﻜﺭﺍﺭ : incrementﻫﻰ ﻗﻴﻤﺔ ﺍﻟﺯﻴﺎﺩﺓ ﺍﻟﺩﻭﺭﻴﺔ ﻣﺜﺎل : ﺒﺭﻨﺎﻤﺞ ﻴﻁﺒﻊ ﺍﻷﺭﻗﺎﻡ ﻤﻥ ﺼﻔﺭ ﺇﻟﻰ ٩ > # include < stdio.h ) ( main { ; int i ) ++ for ( i = 0 ; i < 10 ; i ; ) printf ( “ n i = % d " , i } * ﺗﻨﻔﯿﺬ أﻛﺜ ﺮ ﻣ ﻦ ﺟﻤﻠ ﺔ ﻣ ﻊ : Forﻟﺘﻨﻔﻴﺫ ﺃﻜﺜﺭ ﻤﻥ ﺠﻤﻠﺔ ﻟﻌﺩﺩ ﻤﺤﺩﺩ ﻤﻥ ﺍﻟﻤﺭﺍﺕ ﻴﺠﺏ ﻭﻀﻊ ﺍﻟﻘﻭﺱ { ﻓﻰ ﺒﺩﺍﻴﺔ ﺍﻟﺒﻠﻭﻙ ﺍﻟﻤﺭﺍﺩ ﺘﻜﺭﺍﺭﻩ ﻭﻭﻀﻊ ﺍﻟﻘﻭﺱ } ﻓﻰ ﻨﻬﺎﻴﺔ ﺍﻟﺒﻠﻭﻙ . ﻣﺜﺎل : ﺤﺴﺎﺏ ﻤﺘﻭﺴﻁ ﻗﺎﺌﻤﺔ ﻤﻥ ﺍﻷﻋﺩﺍﺩ > # include < stdio.h / * / * calculate the average of n numbers ) ( main { ; int n , count ; 0 = float x , average , sum / * / * initialize and read in a value for n ١١ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
12.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ ; ) " ? printf ( " how many numbers ; ) scanf ( " % d " , & n / * / * read in the numbers ) ++ for ( count = 1 ; count < = n ; count { ; ) “ = printf ( “ x ; ) scanf ( “ % f " ; & x ; sum + = x } / * / * calculate the average and write out the answer ; average = sum / n ; ) printf ( " n the average is % f n " , average } * اﻟﺪوارات اﻟﻤﺘﺪاﺧﻠﺔ ﺑﺎﺳﺘﺨﺪام For - ﺍﻟﺩﻭﺍﺭﺍﺕ ﺍﻟﻤﺘﺩﺍﺨﻠﺔ ﻋﺒﺎﺭﺓ ﻋﻥ ﺩﻭﺍﺭﺓ ﻜﺒﻴﺭﺓ ﺘﺸﺘﻤل ﺒﺩﺍﺨﻠﻬﺎ ﻋﻠﻰ ﺩﻭﺍﺭﺓ ﺃﻭ ﺃﻜﺜﺭ loopﺍﻟﺩﺍﺨﻠﻰ ﻴﺘﻡ ﺘﻜﺭﺍﺭ ﺘﻨﻔﻴﺫﻫﺎ ﻁﺎﻟﻤﺎ ﻟﻡ ﻴﻨﺘﻪ ﺍﻟﻌﺩﺍﺩ ﻓﺈﺫﺍ ﺃﻨﺘﻬـﻰ - ﺒﻤﻌﻨﻰ ﺃﻥ ﻤﺠﻤﻭﻋﺔ ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺒﺎﻟـ ﻴﻨﺘﻘل ﺍﻟﺘﻨﻔﻴﺫ ﺇﻟﻰ ﺍﻟﺩﻭﺍﺭﺓ ﺍﻟﺨﺎﺭﺠﻴﺔ ﻭﻴﺘﻡ ﺘﻜﺭﺍﺭ ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﻓﻰ ﺍﻟـ Loopﺍﻟﺨﺎﺭﺠﻰ ﺤﺘﻰ ﻴﻨﺘﻬﻰ . ﻣﺜﺎل : ﻁﺒﺎﻋﺔ ﺠﺩﻭل ﺍﻟﻀﺭﺏ ﻤﻥ ﺃﻭل ١ × ١ ﺇﻟﻰ ٢١ × ٢١ > # include < stdio.h ) ( main { ; int i , j ) ++ for ( i = 1 ; i < = 12 ; i { ; )" printf ( “ in ) ++ for ( j = i ; j < = 12 ; j { ; ) printf ( " i * j = % d " , i * j } } } • اﻟﺪوارة اﻟﻼﻧﻬﺎﺋﯿﺔ ﺑﺎﺳﺘﺨﺪام : Forﻤﻌﻨﺎﻫﺎ ﺘﻜﺭﺍﺭ ﺘﻨﻔﻴﺫ ﺍﻟﺠﻤﻠﺔ ﺒﺩﻭﻥ ﺸﺭﻁ ﻭﻻ ﻴﺘﻭﻗﻑ ﺍﻟﺘﻨﻔﻴﺫ ﺤﺘﻰ ﻴﻀﻐﻁ ﺍﻟﻤﺴﺘﺨﺩﻡ CTRL + Cﻭﺘﺄﺨﺫ ﺍﻟﺩﻭﺍﺭﺓ ﺍﻟﻼﻨﻬﺎﺌﻴﺔ ﺍﻟﺼﻭﺭﺓ ) ;; ( For ٢ – اﻟ ﺪوارة :whileﺘﺴﺘﺨﺩﻡ ﺍﻟﺩﻭﺍﺭﺓ whileﻟﺘﻜﺭﺍﺭ ﺘﻨﻔﻴﺫ ﺠﻤﻠﺔ ﺃﻭ ﻤﺠﻤﻭﻋﺔ ﺠﻤل ﻋﺩﺩ ﻤﻥ ﺍﻟﻤـﺭﺍﺕ ﻏﻴﺭ ﻤﻌﻠﻭﻡ ﺍﻟﻌﺩﺩ ﻭﻴﺘﻭﻗﻑ ﻫﺫﺍ ﻋﻠﻰ ﺸﺭﻁ ﻤﻭﺠﻭﺩ ﺒﺎﻟﺩﻭﺍﺭﺓ اﻟﺼﻮرة اﻟﻌﺎﻣﺔ : ) While ( condition ) While ( condition ; Statement { ; 1 statement ; 2 statement } ٢١ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
13.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ • ﻴﺘﻡ ﺘﻜﺭﺍﺭ ﻤﺠﻤﻭﻋﺔ ﺍﻷﻭﺍﻤﺭ ﺒﻴﻥ ﺍﻷﻗﻭﺍﺱ } { ﻋﺩﺩ ﻤﻥ ﺍﻟﻤﺭﺍﺕ ﻴﺘﻭﻗﻑ ﻋﻠﻰ ﺍﻟﺸﺭﻁ ﺒﻴﻥ ﺍﻷﻗﻭﺍﺱ ) ( • ﻋﻨﺩﻤﺎ ﻴﺼﺒﺢ ﺍﻟﺸﺭﻁ . Falseﻴﺘﻭﻗﻑ ﺘﻨﻔﻴﺫ ﻫﺫﻩ ﺍﻷﻭﺍﻤﺭ ﻭﻴﺴﺘﻤﺭ ﺃﺩﺍﺀ ﺒﺎﻗﻰ ﺍﻟﺒﺭﻨﺎﻤﺞ . • ﺍﻟﺘﻜﺭﺍﺭ ﻴﻜﻭﻥ ﺼﻔﺭﺍ ﺤﻴﻨﻤﺎ ﻴﻜﻭﻥ ﺍﻟﺸﺭﻁ Falseﻤﻥ ﺍﻟﺒﺩﺍﻴﺔ ﺗﻤﺮﯾﻦ : ﺘﻌﺩﻴل ﺒﺭﻨﺎﻤﺞ ﺤﺴﺎﺏ ﻤﺘﻭﺴﻁ ﻗﺎﺌﻤﺔ ﻤﻥ ﺍﻷﻋﺩﺍﺩ ﺒﺎﺴﺘﺨﺩﺍﻡ While > # include < stdio.h ) ( main { ; 1 = int n , count ; 0 = float x , average , sum ; ) " ? printf ( “ how many number ; ) scanf ( “ % d , & n ; ) while ( count < = n { ; )" = printf ( “ x ; ) scanf ( “ % f " , & x ; sum + = x ;++ count } ; average = sum / n ; ) printf ( " n the average is % f " ; average } * ﻣﻼﺣﻈﺎت ﻋﻠﻰ Forو * While - ﺍﻟـ Forﺩﻭﺍﺭﺓ ﻋﺩﺩﻴﺔ ﺤﻴﺙ ﺘﻌﺘﻤﺩ ﻋﻠﻰ ﺍﻟﻌﺩﺍﺩ ﻭﻴﺘﻨﻬﻰ ﺍﻟﺘﻜﺭﺍﺭ ﻓﻴﻬﺎ ﺒﺎﻨﺘﻬﺎﺀ ﻋﺩﺩ ﻤﺭﺍﺕ ﺍﻟﺘﻜﺭﺍﺭ - ﺃﻤﺎ ﺍﻟﺩﻭﺍﺭﺓ whileﻓﺩﻭﺍﺭﺓ ﺸﺭﻁﻴﺔ ﺃﻯ ﺘﻌﺘﻤﺩ ﻋﻠﻰ ﺍﻟﺸﺭﻁ ﺍﻟﺫﻯ ﻴﻠﻰ ﺍﻷﻤﺭ whileﺤﻴﺙ ﺘﺘﻜﺭﺍﺭ ﺍﻟﺠﻤل ﺍﻟﺘﻰ ﺘﻠﻴﻬﺎ ﻁﺎﻟﻤﺎ ﻜﺎﻥ ﺍﻟﺸﺭﻁ ﺼﺤﻴﺤﺎ ٣- اﻟﺪوارة : Do … whileﺘﺴﺘﺨﺩﻡ do whileﻟﺘﻜﺭﺍﺭ ﺘﻨﻔﻴﺫ ﺠﻤﻠﺔ ﺃﻭ ﻤﺠﻤﻭﻋﺔ ﺠﻤل ﺃﻜﺜﺭ ﻤﻥ ﻤﺭﺓ ﺒﻨﺎﺀ ﻋﻠﻰ ﺸﺭﻁ ﻤﻌﻴﻥ . ﺃﻯ ﻴﺘﻡ ﺘﻨﻔﻴﺫ ﺍﻟﺠﻤل ﺍﻟﺘﺎﻟﻴﺔ ﻟـ Doﺜﻡ ﺘﺨﺘﺒﺭ ﺍﻟﺸﺭﻁ ﻓﺈﺫﺍ ﻜﺎﻥ ﺼﺤﻴﺤﺎ ﺘﻌﻴﺩ ﺍﻟﺘﻨﻔﻴﺫ ﻭﺇﻻ ﺘﻭﻗﻑ ﺍﻟﺘﻜﺭﺍﺭ ﺇﺫﻥ ﻴﺘﻡ ﺍﻟﺘﻨﻔﻴﺫ ﻤﺭﺓ ﻭﺍﺤﺩ ﻋﻠﻰ ﺍﻷﻗل ﺜﻡ ﻴﺘﻡ ﺍﺨﺘﺒﺎﺭ ﺍﻟﺸﺭﻁ ﺍﻟﻤﻨﻁﻘﻰ ) ( ﻓﺈﺫﺍ ﻜﺎﻥ Trueﻴﻨﻔﺫ ﻤﺭﺓ ﺃﺨﺭﻯ ﻭﺇﺫﺍ ﻜﺎﻥ Falseﻴﺘﻭﻗﻑ ﺍﻟﺘﻜﺭﺍﺭ ﻭﻴﺴﺘﻤﺭ ﺘﻨﻔﻴﺫ ﺍﻟﺒﺭﻨﺎﻤﺞ ﺍﻷﺼﻠﻰ ﺘﻤﺭﻴﻥ : ﺇﻴﺠﺎﺩ ﻤﺠﻤﻭﻉ ﺍﻷﺭﻗﺎﻡ ﻤﻥ ٠ ﺇﻟﻰ ٩ > # include < stdio.h ) ( main { ; 0 = int count ; 0 = int total do { ; total + = count ٣١ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
14.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ ; ) " ) printf ( “ count = % d , total = % d n “ , count ++ , total } ; ) 01 = < while ( count } ﺛﺎﻧﯿ ً : اﻟﺘﻔﺮﯾ ﻎ : ﻟﺘﻨﻔﻴﺫ ﺴﻁﺭ ﺃﻭ ﻋﺩﺓ ﺴﻁﻭﺭ ﻁﺒﻘﺎ ﻟﺸﺭﻁ ﻤﻌﻴﻥ .ﺃﻯ ﺘﻔﺭﻴﻎ ﺒﻌﻨﻰ ﺘﻐﻴﺭ ﻤﺴﺎﺭ ﺍﻟﺒﺭﻨـﺎﻤﺞ . ﺎ ﻭﺍﻟﺘﻔﺭﻴﻎ ﺇﻤﺎ ﻴﻜﻭﻥ ﻤﺸﺭﻭﻁ ﺃﻭ ﻏﻴﺭ ﻤﺸﺭﻭﻁ ١( اﻟﺘﻔﺮﯾﻎ اﻟﻤﺸﺮوط * ﺟﻤﻠﺔ اﻟﺸﺮط : IFﺘﺴﺘﺨﺩﻡ ﻜﻠﻤﺔ IFﻟﺘﻨﻔﻴﺫ ﺠﻤﻠﺔ ﺃﻭ ﺃﻜﺜﺭ ﺤﺴﺏ ﺸﺭﻁ ﻤﻌﻴﻥ ) ﺍﺨﺘﺒﺎﺭ ﻤﻨﻁﻘﻰ ( اﻟﺼﻮرة اﻟﻌﺎﻣﺔ ) if ( condition ; statement ﻤﻌﻨﺎﻩ ﺇﺫﺍ ﺘﺤﻘﻕ ﺍﻟﺸﺭﻁ ) ( conditionﻨﻔﺫ ﺍﻟﺠﻤﻠﺔ ﺍﻟﺘﺎﻟﻴﺔ ﺃﻤﺎ ﺇﺫﺍ ﻟﻡ ﻴﺘﺤﻘﻕ ﺍﻟﺸﺭﻁ ﻓﻼ ﺘﻨﻔﺫ ﻫـﺫﻩ ﺍﻟﺠﻤﻠـﺔ ﻭﺍﻨﺘﻘل ﺇﻟﻰ ﺍﻟﺘﻰ ﺘﻠﻴﻬﺎ ﻣﻼﺣﻈﺔ ﺇﺫﺍ ﻜﺎﻥ ﻫﻨﺎﻙ ﺃﻜﺜﺭ ﻤﻥ ﺠﻤﻠﺔ ﺘﺭﻴﺩ ﺘﻨﻔﻴﺫﻫﺎ ﻤﻊ ifﻻﺒﺩ ﻤﻥ ﻓﺘﺢ ﻗﻭﺱ { ﻗﺒل ﻤﺠﻤﻭﻋﺔ ﺍﻟﺠﻤل ﻭﺍﻟﻘﻭﺱ } ﻓﻰ ﺃﺨﺭ ﺍﻟﺠﻤل ﻜﻤﺎ ﻴﻠﻰ : ) if ( condition { ; 1 statement ; 2 statement } * ﺟﻤﻠﺔ ifاﻟﺸﺮﻃﯿﺔ اﻟﻤﺘﺪاﺧﻠﺔ : ﻴﻤﻜﻥ ﺃﻥ ﺘﺘﺩﺍﺨل ﺠﻤل ifﻓﺘﺄﺨﺫ ﺍﻟﺸﻜل ﺍﻟﺘﺎﻟﻰ : ) if ( condition ) if ( condition ) if ( condition ﻭﻫﺫﺍ ﻤﻌﻨﺎﻩ ﺇﺫﺍ ﺘﺤﻘﻕ ﺍﻟﺸﺭﻁ ﺍﻷﻭل ﺍﻨﻅﺭ ﺇﻟﻰ ﺍﻟﺸﺭﻁ ﺍﻟﺜﺎﻨﻰ …. ﻭﻫﻜﺫﺍ * اﻟﺠﻤﻠﺔ اﻟﺸﺮﻃﯿﺔ : if …elseﺘﺴﺘﺨﺩﻡ ﻟﺘﻨﻔﻴﺫ ﺃﺤﺩ ﺍﺨﺘﻴﺎﺭﻴﻥ ﻭﺘﺄﺨﺫ ﺍﻟﺼﻭﺭﺓ ﺍﻟﺘﺎﻟﻴﺔ : ) if ( condition { 1 statement } else { 2 statement } ٤١ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
15.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ ﻭﻤﻌﻨﺎﻫﺎ ﺇﺫﺍ ﻜﺎﻥ ﺍﻟﺸﺭﻁ ) ( conditionﺼﺤﻴﺢ trueﻨﻔﺫ ﺍﻟﺠﻤﻠﺔ ﺍﻷﻭﻟﻰ ) 1 ( statementﻭﺇﻻ ﻨﻔﺫ ﺍﻟﺠﻤﻠﺔ ﺍﻟﺜﺎﻨﻴﺔ ) 2 ( statementﺃﻯ ﺍﻟﺠﻤﻠﺔ ﺍﻟﺸﺭﻁﻴﺔ if ….elseﺘﺴﺘﺨﺩﻡ ﻟﺘﺤﺩﻴﺩ ﺍﺨﺘﺒﺎﺭ ﻭﺍﺤﺩ ﻤﻥ ﺍﺨﺘﻴﺎﺭﻴﻥ ﻭﻻ ﻴﻤﻜﻥ ﺘﻨﻔﻴﺫ ﺍﻻﺨﺘﻴﺎﺭﻴﻥ ﻤﻌﺎ . * اﻟﺠﻤﻠﺔ اﻟﺸﺮﻃﯿﺔ : if …. else ifﻟﺘﻨﻔﻴﺫ ﺨﻴﺎﺭ ﻤﻥ ﻤﺠﻤﻭﻋﺔ ﺨﻴﺎﺭﺍﺕ ﻜﻤﻘﺎﺭﻨﺔ ﺭﻗﻤﻴﻥ اﻟﻄﺮﯾﻘﺔ اﻷوﻟﻰ : ﺒﺎﺴﺘﺨﺩﺍﻡ ﺜﻼﺙ ﺠﻤل IFﻭﻓﻰ ﻜل ﺠﻤﻠﺔ ﻨﻀﻊ ﺃﺤﺩ ﺍﻟﺸﺭﻭﻁ ﺍﻟﺜﻼﺜﺔ ﻜﻤﺎ ﻴﻠﻰ : - ;5=i ; ) 5 < if ( i ; ) " 5 printf ( “ i less than ) 5 = if ( i ; ) " 5 printf ( " i equal to ) 5 > if ( i ; ) “ 5 printf ( “ i greater than ﻭﻫﺫﻩ ﻁﺭﻴﻘﺔ ﺘﺴﺘﻬﻠﻙ ﻭﻗﺘﺎ ﻓﻰ ﺍﺨﺘﺒﺎﺭ ﺠﻤل ﺍﻟﺸﺭﻁ اﻟﻄﺮﯾﻘﺔ اﻟﺜﺎﻧﯿﺔ ) if ( condition ; 1 statement ) else if ( condition ; 2 statement ) else if ( condition ; 3 statement ﻭﺘﻜﻭﻥ ﺼﻴﻐﺔ ﺍﻟﻤﺜﺎل ﺍﻟﺴﺎﺒﻕ ﻜﺂﻻﺘﻰ : ;5=I ) 5 < if ( i ; ) " 5 printf ( “ i less than ) 5 = else if ( i ; " 5 printf ( “ i equal to ) 5 > else if ( i ; ) " 5 printf ( " i greater than ﺑﺮﻧﻠﻤﺞ : اﺷﺮح وﻇﯿﻔﺔ اﻟﺒﺮﻧﺎﻣﺞ ﻣﻊ إﯾﺠﺎد اﻟﻨﺎﺗﺞ إذا ﻛﺎﻧﺖ اﻟﻘﯿﻢ ٣١و٧ﻋﻠﻰ اﻟﺘﻮاﻟﻰ :- > # include < stdio.h ) ( main { ; 2float num1 , num ; char op )1( while { ; ) " printf ( “ type number , operator , number n ٥١ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
16.
ــــــــــــــــــــــــC ـــــــــــــــــــــ
ﻣﺤﺎﺿﺮات ﻓﻰ ﻟﻐﺔ scanf ( “ % f % c % f ) , & num 1 , & op , & num 2 ) ; if ( op = = ' + ' ) printf ( “ = % f " , num1 + num2 ; else if ( op = = ' – ' ) printf ( “ = % f “ , num1 – num2 ; else if ( op = = ' * ' ) printf ( " % f " , num1 * num2 ; else if ( op = = ' / ' ) printf (“ = % f " , num1 / num2 ; printf ( " n n " ) ; } } Switch …. case ٢ - اﻟﺘﻔﺮﯾﻊ ﻓﻰ ﺍﺨﺘﺒﺎﺭ ﻤﺠﻤﻭﻋﺔ ﻤﻥ ﻋﺒﺎﺭﺍﺕ ﻤﻌﻴﻨﺔ ﻤﻥ ﻋﺩﻴﺩ ﻤﻥ ﺍﻟﻤﺠﻤﻭﻋـﺎﺕ ﺍﻟﻤﺘﺎﺤـﺔ Switch ﺘﺘﺴﺒﺏ ﻋﺒﺎﺭﺓ Switch ﻟﻼﺴﺘﺨﺩﺍﻡ . ﻭﻴﻌﺘﻤﺩ ﺍﻻﺨﺘﺒﺎﺭ ﻋﻠﻰ ﺍﻟﻘﻴﻤﺔ ﺍﻟﺤﺎﻟﻴﺔ ﻟﺘﻌﻴﻴﺭ ﻤﻭﺠﻭﺩ ﺩﺍﺨل ﻋﺒﺎﺭﺓ Switch ….. case ﺗﻤﺮﯾﻦ : ﺘﻌﺩﻴل ﺒﺭﻨﺎﻤﺞ ﺍﻵﻟﺔ ﺍﻟﺤﺎﺴﺒﺔ ﺍﻟﺴﺎﺒﻌﺔ ﺒﺎﺴﺘﺨﺩﺍﻡ #include < stdio.h> main ( ) /* void main(void) */ { float num1,num2; char ch,op; do { printf( “in type num1 op num2: “ ) ; scanf( “%f %c %f “, &num1,&op,&num2); switch (op) { case “+”; printf ( "sum = %f ", num1+num2); break; case “-”; printf ( "sub = %f ", num1-num2); break; ١٦ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
17.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ ;”*“ case ;)2printf ( "mul = %f ", num1*num ;break ;”/“ case ;)2printf ( "div = %f ", num1/num ;break :default ;)”. printfn unknowen operator } ;)“ :)printf(“n Again (y/n } :) ’while (( ch=getch())== ‘y } ﻣﻼﺣﻈ ﺔ : ﻤﻥ ﺍﻟﺘﻁﺒﻴﻘﺎﺕ ﺍﻟﻤﺸﻬﻭﺩﺓ ﻻﺴﺘﺨﺩﺍﻡ ﺍﻟﺘﻔﺭﻴﻊ switch ….. caseﻫﻭ ﺍﺴﺘﺨﺩﺍﻤﻪ ﻓـﻰ ﻗـﻭﺍﺌﻡ ﺍﻻﺨﺘﻴﺎﺭﺍﺕ ) ( menu ﺘﺴﺘﺨﺩﻡ ﻋﺒﺎﺭﺓ breakﻓﻰ ﺍﻨﻬﺎﺀ ﺩﻭﺭﺍﺕ ﺍﻭ ﺍﻟﺨﺭﻭﺝ ﻤﻥ switch ٣( اﻟﺘﻔﺮﯾﻎ ﻏﯿﺮ اﻟﻤﺸﺮوط goto ﻤﻌﻨﺎﻩ ﺍﻻﻨﺘﻘﺎل ﺍﻟﻰ ﻤﻜﺎﻥ ﻤﺤﺩﺩ ﺩﺍﺨل ﺍﻟﺒﺭﻨﺎﻤﺞ ﺒﺩﻭﻥ ﺸﺭﻙ >#include <stdio.h ) (main { ;char ss :ss ;)”printf(“t ALLAH ;goto ss } ﻣﻼﺣﻈﺎت : - ﻻ ﻨﻨﺼﺢ ﺒﺎﺴﺘﺨﺩﺍﻡ ﺠﻤﻠﺔ gotoﻭﻴﻔﻀل ﺍﺴﺘﺨﺩﺍﻡ ﺍﻟﺩﻭﺍل ﻟﺘﻐﻴﻴﺭ ﻤﺴﺎﺭ ﺘﻨﻔﻴﺫ ﺍﻟﺒﺭﻨﺎﻤﺞ - ﻟﻠﺨﺭﻭﺝ ﻤﻥ ﺍﻟﺒﺭﻨﺎﻤﺞ ﺍﻟﺴﺎﺒﻕ ﺃﻀﻐﻁ CTRL+C ** دوال ﺗﺤﺴﯿﻦ اﻟﻤﺪﺧﻼت واﻟﻤﺨﺮﺟﺎت ** )١( داﻟﻪ ﻣﺴﺢ اﻟﺸﺎﺷﺔ ) ( : clrscrﻣﻠﻒ اﻟﺘﻮﺟﯿﻪ conio.h - ﺘﺴﺘﺨﺩﻡ ﻟﻤﺴﺢ ﺍﻟﺸﺎﺸﺔ ﻭﻭﻀﻊ ﺍﻟﻤﺅﺸﺭ ﻓﻰ ﺃﻭل ﻋﻤﻭﺩ ﻤﻥ ﺍﻟﺼﻑ ﺍﻷﻭل ﻋﻠﻰ ﺍﻟﺸﺎﺸﺔ ) (clrscr - ﺍﻟﺸﻜل ﺍﻟﻌﺎﻡ )٢( داﻟﻪ ﺗﻐﯿﯿﺮ ووﺿﻊ اﻟﻤﺆﺷﺮ ) ( : gotoxyﻣﻠﻒ اﻟﺘﻮﺟﯿﻪ conio ٧١ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
18.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ - ﺘﺴﺘﺨﺩﻡ ﻟﻭﻀﻊ ﺍﻟﻤﻭﺸﺭ ﻓﻰ ﺍﻟﻌﻤﻭﺩ xﻤﻥ ﺍﻟﺼﻑ y ) (gotoxy - ﺍﻟﺸﻜل ﺍﻟﻌﺎﻡ ﻤﺜﺎل : ﺍﻻﻨﺘﻘﺎل ﺒﺎﻟﻤﺅﺸﺭ ﺍﻟﻰ ﺍﻟﻌﻤﻭﺩ 03 ﻤﻥ ﺍﻟﺼﻑ ﺍﻟﻌﺎﺸﺭ ﺃﻜﺘﺏ )01,03(gotoxy )٣( داﻟﻪ ﺗﻐﯿﯿﺮ ﻟﻮن اﻟﻜﺘﺎﺑﺔ ) ( : textcolorﻣﻠﻒ اﻟﺘﻮﺟﯿﻪ conio.h - ﺘﺴﺘﺨﺩﻡ ﻟﺘﻐﻴﻴﺭ ﻟﻭﻥ ﺍﻟﻜﺘﺎﺒﺔ ﺍﻟﺘﻰ ﺴﺘﻁﺒﻊ ﺒﻌﺩ ﺍﻟﺩﺍﻟﻪ - ﺍﻟﺼﻭﺭﺓ ﺍﻟﻌﺎﻤﻪ )textcolor(color no ﺃﻭ )textcolor(color name ﺤﻴﺙ ﻴﺘﻡ ﺘﺤﺩﻴﺩ ﺍﻟﻠﻭﻥ ﺇﻤﺎ ﺒﺭﻗﻡ ﺍﻟﻠﻭﻥ ﺃﻭ ﺒﺎﺴﻤﻪ . ﻭﻻ ﺒﺩ ﻤﻥ ﻜﺘﺎﺒﺔ ﺍﺴﻡ ﺍﻟﻠﻭﻥ ﺒﺎﻟﺤﺭﻑ ﺍﻟﻜﺒﻴﺭﺓ ﻓﻘﻁ اﻟﺠﺪول اﻟﺘﺎﻟﻰ ﻟﻮﺿﻊ اﻛﻮاد اﻷﻟﻮان وأﺳﻤﺎﻫﺎ ﺎﺳﻢ اﻟﻠﻮ ﻧ ﺮﻗﻢ اﻟﻠﻮ ﻧ ﺎﻟﻠﻮ ﻧ BLACK 0 ﺍﺴﻭﺩ BLUE ١ ﺍﺯﺭﻕ GRCEN ٢ ﺃ ﺨﻀ ﺭ CYAN ٣ ﺴﻤﺎﻭﻱ RED ٤ ﺃﺤﻤﺭ MAGENTA ٥ ﺒﻨﻔﺴﺠﻲ BROWN ٦ ﺒﻨﻲ LIGHTGRAY 7 ﺭﻤﺎﺩﻱ ﻓﺎﺘﺢ DARKGRAY ٨ ﺭﻤﺎﺩﻱ ﻏﺎﻤﻕ LIGHBLUE ٩ ﺍﺯﺭﻕ ﻓﺎﺘﺢ LIGHTGREEN ٠١ ﺃﺨﻀﺭ ﻓﺎﺘﺢ LIGHTRED ١١ ﺴﻤﺎﻨﻲ ﻓﺎﺘﺢ LIGHTRED ٢١ ﺃﺤﻤﺭ ﻓﺎﺘﺢ ٨١ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
19.
ــــــــــــــــــــــــC ـــــــــــــــــــــ
ﻣﺤﺎﺿﺮات ﻓﻰ ﻟﻐﺔ LIGHTMAGENTA ١٣ ﺒﻨﻔﺴﺠﻲ ﻓﺎﺘﺢ YELLOW ١٤ ﺃﺼﻔﺭ WHITG ١٥ ﺃﺒﻴﺽ : ﻣﺴﺎﺋﻞ ١- اﻛﺘﺐ ﺑﺮﻧﺎﻣﺞ ﻹﻳﺠﺎد ﺟﻤﻠﺔ ﻣﺒﻠﻎ ﻣﺎ اوﺪﻋ ﻓﻰ ﺑﻨﻚ ﻟﻤﺪة ٠٢ ﺳﻨﺔ ﺑﻔﺎﺋﺪة : ٦% ﻟﻤﺒﻠﻎ ٠٠١ $ واﻟﻤﻌﺎدﻟﺔ ﻛﻤﺎ ﻳﻠﻰ f=p(1+i)n ﻣﻌﺪل اﻟﻔﺎﺋﺪةI اﻟﻤﺒﻠﻎp ﻋﺪد اﻟﺴﻨﻮﺎ ﺗn :ﺣﯿﺚ ** ** اﻟﺒﺮﻧﺎﻣﺞ #include <stdio.h> #include <math.h> main() { float p,r,n,i,f; /* read input data */ printf( “please enter a value for the princepal (p) : “ ); scanf(“%f” k &p); printf(“please enter a value for the interest rate( r) : “ ); scanf(“%f”, &r); printf(“please enter a value for the number or year ( n) : “ ); scanf(“%f”, &n); /*calculate i , then f */ i=r/100 f=p*pow((1+i),n); /* write output */ ١٩ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
20.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ ;)printf( “n the final value (f) is : %2f n”,f } ٢- اﻛﺘــﺐ ﺑﺮﻧــﺎﻣﺞ ﻹﻳﺠــﺎد اﻟﺠــﺬور اﻟﺤﻘﯿﻘﯿــﺔ ﻟﻤﻌﺎدﻟــﺔ ﻣــﻦ اﻟﺪرﺟــﺔ اﻟﺜﺎﻧﯿــﺔ 0 = ax2 + bx +c ﺑﻤﻌﻠﻮﻣﯿﺔ وﺑﺎﺳﺘﺨﺪﺎ ﻣ اﻟﺼﯿﻐﺔ =X − b b 2 − 4 ac 2 a ** ﺍﻟﺒﺭﻨﺎﻤﺞ ** ># include <stdio.h ># include < math.h /* /* real roots of a quadratic equation ) (main { ;2float a,b,c,d,x1,x /* /* read input data ;) “ =printf(“a ;)scanf(“%f”,&a ;) “ =printf(“b ;)scanf(“%f”,&b ;) “ =printf(“c ;)scanf(“%f”,&c /* /* carry out the calculations ;)d=sqrt(b*b – 4*a*c ٠٢ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
21.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ ;)x1=(-b+d)/(2*a ;)x2=(-b-d)/(2*a /* /* write output printf(“x1= “,%e ;)2x2=%e “,x1,x } ﻣﻼﺣﻈﺔ : : %eﺘﺴﺘﺨﺩﻡ ﻟﻠﻌﺩ ﺍﻟﺤﻘﻴﻘﻰ ﺒﺎﻟﺼﻭﺭ ﺍﻷﺴﻴﺔ ٣- اﻛﺘﺐ ﺑﺮﻧﺎﻣﺞ ﻟﺘﻘﻮﻳﻢ ﻛﺜﯿﺮة اﻟﺤﺪود 1− x 5 1− 1 x −1 2 1 x −1 3 1 x −1 4 1 x (=y ( +) ( + ) ( + ) ( + ) ) x 2 x 3 x 4 x 5 x 1− x (= u ) *ﺘﻤﻬﻴﺩ:- ﻟﺘﺒﺴﻴﻁ ﺍﻟﺒﺭﻨﺎﻤﺞ ﻴﺘﻡ ﻭﻀﻊ ﺍﻟﻤﺘﻐﻴﺭ x 2 u 3 u 4 u 5 u + = y + + + 2 3 4 5 ** ﺍﻟﺒﺭﻨﺎﻤﺞ ** ># include<stdio.h ># include<math.h ) (main { ;float u,x,y /* /* read input data ;) “ = printf (“ x ;) scanf(“ %f “,&x /* /* carry out the calculations ;u= (x –1)/x ;5/).5,y=u+pow(u,2.)/2+pow(u,3.)/3+poe(u,4.)/4+pow(u ١٢ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
22.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ printf(“x= “,%f ;) y =”%f “, x,y } ٤- ﺑﺮﻧﺎﻣﺞ ﻹدﺧﺎل ﻛﻠﻤﺔ ﺳﺮ ># include<stdio.h ># include<conio.h ) (main { ;]01[char pass do { ;) “ :printf(“n enter password ;)scanf(“%s”,pass } ;)0=!)”while(strcmp(pass,”dahe } ﻤﻼﺤﻅﺎﺕ: • ﻫﻨﺎ ﻜﻠﻤﺔ ﺍﻟﺴﺭ ﺴﻭﻑ ﺘﻅﻬﺭ ﺃﺜﻨﺎﺀ ﺍﻟﻜﺘﺎﺒﺔ • ﺍﻟﺩﺍﻟﺔ ) ( : strcmpﺘﻘﻭﻡ ﺒﻤﻘﺎﺭﻨﻪ ﻤﺘﻐﻴﺭﻴﻥ ﻤﻥ ﻨﻭﻉ ﻋﺒﺎﺭﺓ ﺤﺭﻓﻴﺔ stringﻓﺈﺫﺍ ﻜـﺎﻥ ﺍﻟﻤﺘﻐﻴـﺭﻴﻥ ﻤﺘﻁﺎﺒﻘﻴﻥ ﻜﺎﻥ ﺍﻟﻔﺭﻕ ﺒﻴﻨﻬﻤﺎ ﺼﻔﺭ ﺗﻌﺪﻳﻞ ﻟﺒﺮﻧﺎﻣﺞ ﻛﻠﻤﺔ اﻟﺴﺮ:- ) ﻋﺪم ﻇﮫﻮر ﻛﻠﻤﺔ اﻟﺴﺮ اﻟﺘﻰ ﻳﻜﺘﺒﮫﺎ اﻟﻤﺴﺘﺨﺪم ﻋﻠﻰ اﻟﺸﺎﺷﺔ ( ># include<stdio.h ># include<conio.h ٢٢ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
23.
ــــــــــــــــــــــــC ـــــــــــــــــــــ
ﻣﺤﺎﺿﺮات ﻓﻰ ﻟﻐﺔ main( ) { chat ch; char pass[10]; do { textcolor(WHITE); textbackground(BLUE); cprintf(“n enter password: “ ); textbackgrounf(WHITE); cscanf(“%s”,pass); } while(strcmp(pass,”dahe”)!=0); } :اﻛﺘﺐ ﺑﺮﻧﺎﻣﺞ ﻟﻄﺒﺎﻋﺔ ﻋﺒﺎرة ﺣﺮﻓﯿﺔ ﺗﻢ ادﺧﺎﻟﮫﺎ ﻣﻊ ﺑﯿﺎن ﻋﺪد ﺣﺮوﻓﮫﺎ وﻋﺪد اﻟﻜﻠﻤﺎت /* count characters and word in a phrase ﻋﺒﺎﺭﺓtyped in */ # include <stdio.h> main( ) { int charcnt=0; int wordcnt=0; char ch; printf(“ type in a phrase : n “); /* read characters and quit loop on [ return ] */ while((ch=getche())!=’r’); { charcnt ++ /* count character */ if(ch==’ ‘ ); /* space ? */ wordcnt++; } printf(“n character count is %d “,charcnt ); printf(“n word count is %d “ , wordcnt ); } ﺗﺬﻛـــﺮ ﺎﺳﺘﺨﺪام اﻟﺪاﻟﺔ ﻋﻨﺪﻣﺎ ﺗﺮﯾﺪ printf( ) ﻁﺒﺎﻋﺔ ﺤﺭﻭﻑ ﺍﻭ ﺃﺭﻗﺎﻡ ٢٣ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
24.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ ) (puts ﻁ ﺒ ﺎ ﻋ ﺔ ﻋ ﺒ ﺎ ﺭﺍ ﺕ ﺤ ﺭ ﻓ ﻴ ﺔ ﻓ ﻘ ﻁ ) (scanf ﺍﺩﺨﺎل ﺤﺭﻭﻑ ﺍﻭ ﺃﺭﻗﺎﻡ ) (gets ﺍﺩﺨﺎل ﻋﺒﺎﺭﺍﺕ ﺤﺭﻓﻴﺔ )(getch ﺍﺩﺨﺎل ﺤﺭﻑ ﺩﻭﻥ ﺇﻅﻬﺎﺭﻩ ﻋﻠﻰ ﺍﻟﺸﺎﺸﺔ ) (getche ﺍﺩﺨﺎل ﺤﺭﻑ ﻤﻪ ﺍﻅﻬﺎﺭﻩ ﻋﻠﻰ ﺍﻟﺸﺎﺸﺔ ) (clrscr ﻤﺴﺢ ﺍﻟﺸﺎﺸﺔ ) (gotoxy ﺘﻐﻴﻴﺭ ﻤﻭﻀﻊ ﺍﻟﻤﺅﺸﺭ ) (textcolor ﺘﻐﻴﻴﺭ ﺃﻟﻭﺍﻥ ﺍﻟﻜﺘﺎﺒﺔ ) (textbackground ﺘﻐﻴﻴﺭ ﺃﻟﻭﺍﻥ ﺨﻠﻔﻴﺔ ﺍﻟﻜﺘﺎﺒﺔ cprintf( ) , cputs ﺍﻟﻁﺒﺎﻋﺔ ﺒﺎﻷﻟﻭﺍﻥ ﻋﻠﻰ ﺍﻟﺸﺎﺸﺔ cscanf( ), cgets ﺍﺩﺨﺎل ﺍﻟﺒﻴﺎﻨﺎﺕ ﺒﺎﻷﻟﻭﺍﻥ اﻟـــــﺪوال FUNCTION ا ﻟ و ﻻ ﻓﻰ ﻟﻐﺔاﻟ ــ Cﻧﻮﻋﯿﻦ :- ﺪ )١( ﺩﻭﺍل ﺍﻟﻠﻐﺔ Built in Functionﻭﻫﻰ ﺍﻟﺩﻭﺍل ﺍﻟﻘﻴﺎﺴﻴﺔ ﻤﺜل ﺩﺍﻟﺔ ) ( printfﺃﻭ ﺩﺍﻟﺔ ) (scanf ﻭﻫﻰ ﺩﻭﺍل ﻋﺎﻤﺔ ﻴﺴﺘﻁﻴﻊ ﺍﻯ ﻤﺒﺭﻤﺞ ﺍﺴﺘﺨﺩﺍﻤﻬﺎ )٢( ﺩﻭﺍل ﺍﻟﻤﺴﺘﺨﺩﻡ ﺍﻟﻤﺒﺘﻜﺭﺓ -:User Function - ﻭﻫﻰ ﺍﻟﺩﻭﺍل ﺍﻟﺘﻰ ﻤﻥ ﻭﻀﻊ ﺍﻟﻤﺒﺭﻤﺞ - ﻭﺍﻟﻬﺩﻑ ﻤﻨﻬﺎ : ﺍﻨﻪ ﻋﻨﺩ ﺘﻜﺭﺍﺭ ﻤﺠﻤﻭﻋﺔ ﻤﻥ ﺴﻁﻭﺭ ﺍﻷﻭﺍﻤﺭ ﺍﻜﺜﺭ ﻤﻥ ﻤﺭﺓ ﻓﻰ ﻤﻭﺍﻀﻊ ﻤﺨﺘﻠﻔﺔ ﻓـﺈﻥ ﺃﻭﺍﻤﺭ ﺍﻟﺘﻜﺭﺍﺭ ﻟﻥ ﺘﻜﻭﻥ ﺫﺍﺕ ﻤﻨﻔﻌﺔ . ﻭﻟﺫﻟﻙ ﻴﺘﻡ ﻜﺘﺎﺒﺔ ﻫﺫﻩ ﺍﻟﺴﻁﻭﺭ ﻤﻨﻔﺼﻠﺔ ﻋﻥ ﺍﻟﺒﺭﻨﺎﻤﺞ ﺍﻷﺴﺎﺴﻰ ﻣ ﺰﻳﺎ اﺳﺘﺨﺪﺎ ﻣ اﻟﺪ ﻻ و ا ١- ﻋﺩﻡ ﺘﻜﺭﺍﺭ ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺩﺍﺨل ﺍﻟﺒﺭﻨﺎﻤﺞ : ﺤﻴﺙ ﻴﺘﻡ ﺇﻨﺸﺎﺀ ﺍﻟﺩﺍﻟﺔ ﻤﺭﻭ ﻭﺍﺤﺩﺓ ﺜﻡ ﻴﺘﻡ ﺍﺴﺘﺩﻋﺎﺌﻬﺎ ﺃﻜﺜﺭ ﻤﻥ ﻤﺭﺓ ﻋﻨﺩ ﺍﻟﺤﺎﺠﺔ ﺇﻟﻴﻬﺎ ﹰ ٢- ﺒﺎﺴﺘﺨﺩﺍﻡ ﺍﻟﺩﻭﺍل ﻴﺼﺒﺢ ﺍﻟﺒﺭﻨﺎﻤﺞ ﺃﻜﺜﺭ ﻭﻀﻭﺤﺎ ﺍﻟﺼﻭﺭ ﺍﻟﻌﺎﻤﺔ: ># include < filename ;function declarations ) (main { ٤٢ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
25.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ 1function 2function } 1function { ------ ------ } 2function { ------ ------ } أﺬ ﻧ ﺗﺘﻜﻮن اﻟﺪاﻟﺔ ﻣﻦ :- )٢( ﺟﺴﻢ اﻟﺪاﻟﺔ )١( اﻹﻋﻼن ﻋﻦ اﻟﺪاﻟﺔ ﻣﺜﺎل : داﻟﺔ ﺑﺪﻮ ﻧ دﻟﯿﻞ >#include <stdio.h >#include<conio.h ;)void line2(void ) (main { ) (clrscr ) (2line ;)“ printf(“ ** Allah the god of all world ** n ) (2line /* /* end of main( ) function } )void line2(void { ;int j ;)++for(j=0;j<=40;j ;)“ * “ (printf ;)“ printf(“n } ﻓﻰ ﺍﻟﺒﺭﻨﺎﻤﺞ ﺍﻟﺴﺎﺒﻕ ﺃﻨﺸﺄﻨﺎ ﺩﺍﻟﺔ ﺒﺎﻻﺴﻡ ) (2 lineﻭﻗﺩ ﻅﻬﺭﺕ ﻜﻠﻤﺔ ) (2 lineﻓﻰ ﺜﻼﺙ ﻤﻭﺍﻀﻊ :- ٥٢ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
26.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ اﻟﻤﻮﺿﻊ اﻷول : ﻴﺴﻤﻰ ﺍﻷﻋﻼﻥ ﻋﻥ ﺍﻟﺩﺍﻟﺔ function declarationﻴﻜﻭﻥ ﺫﻟﻙ ﻗﺒل ﺍﻟﺩﺍﻟﺔ ﺍﻟﺭﺌﻴﺴﻴﺔ ) ( mainﻜﻤﺎ ﻓﻰ ﺍﻟﺴﻁﺭ ﺭﻗـــﻡ ٣ ﻭﻨﻼﺤﻅ ﺍﻟﻔﺎﺼﻠﺔ ﺍﻟﻤﻨﻘﻭﻁﺔ ﻓﻰ ﻨﻬﺎﻴﺔ ﺍﻟﺠـﺯﺀ ﻷﻨﻪ ﺃﻋﻼﻥ. اﻟﻤﻮﺿ ﻊ اﻟﺜ ﺎﻧﻰ : ﺩﺍﺨل ﺍﻟﺩﺍﻟﺔ ﺍﻟﺭﺌﻴﺴﻴﺔ ) ( mainﻭﻴﻅﻬﺭ ﻓﻰ ﺃﻯ ﻤﻜﺎﻥ ﺩﺍﺨل ﺍﻟﺩﺍﻟﺔ ﺍﻟﺭﺌﻴﺴﻴﺔ ﻭﻴﺴﻤﻰ function colingﺃﻯ ﺍﺴﺘﺩﻋﺎﺀ ﺍﻟﺩﺍﻟﺔ ﻭﻴﻜﻭﻥ ﺒﺎﻟﺸﻜل ) (2 lineﻜﻤﺎ ﻓـﻰ ﺍﻟﺴـﻁﺭ ٧ﻭ٩ ﻭﻓﻴﻪ ﻴﺘﻡ ﻜﺘﺎﺒﺔ ﺍﺴﻡ ﺍﻟﺩﺍﻟﺔ ﻓﻘﻁ ﺒﺩﻭﻥ ﻨـﻭﻉ ﻭﺇﺫﺍ ﻜـﺎﻥ ﻟﻬـﺎ ﻤﻌـﺎﻤﻼﺕ ﻨﻜﺘـﺏ ﺍﻟﻤﻌﺎﻤﻼﺕ. اﻟﻤﻮﺿ ﻊ اﻟﺜﺎﻟ ﺚ : ﻴﻜﺘﺏ ﺒﻌﺩ ﺍﻨﺘﻬﺎﺀ ﺍﻟﺩﺍﻟﺔ ﺍﻟﺭﺌﻴﺴﻴﺔ ) ( .mainﻭﻫﺫﺍ ﺍﻟﺠﺯﺀ ﻴﺴـﻤﻰ ﺘﻌﺭﻴـﻑ ﺍﻟﺩﺍﻟـﺔ function definitionﻭﻓﻴﻪ ﻴﺘﻡ ﻜﺘﺎﺒﺔ ﻤﺤﺘﻭﻴﺎﺕ ﺍﻟﺩﺍﻟﺔ . ﻭﺘﺒﺩﺃ ﻓﻰ ﺍﻟﺒﺭﻨـﺎﻤﺞ ﻤـﻥ ﺍﻟﺴﻁﺭ ﺭﻗﻡ ١١ ﺒﺎﺴﻡ ﺍﻟﺩﺍﻟﺔ ﺜﻡ ﺒﺎﻟﻘﻭﺱ { ﻭﻜﺎﻨﻬﺎ ﺒﺭﻨﺎﻤﺞ ﻭﻨﺒﺩﺃ ﻜﺘﺎﺒﺔ ﺘﻌﻠﻴﻤﺎﺕ ﺍﻟﺩﺍﻟـﺔ ﺒﻌﺩ ﺍﻟﻘﻭﺱ ﺜﻡ ﻨﻨﺘﻬﻰ ﺒﺎﻟﻘﻭﺱ } ** Function Type ** أﻮﺎ ﻋ اﻟﺪ ﻻ و ﻧ int function ﺩﻭﺍل ﺘﻌﻴﺩ ﻗﻴﻤﺔ ﺼﺤﻴﺤﺔ float function ﺩﻭﺍل ﺘﻌﻴﺩ ﻗﻴﻤﺔ ﺤﻘﻴﻘﻴﺔ string function ﺩﻭﺍل ﺘﻌﻴﺩ ﻋﺒﺎﺭﺓ ﺤﺭﻓﻴﺔ void function ﺩﻭﺍل ﻻ ﺘﻌﻴﺩ ﺍﻯ ﻗﻴﻤﺔ struct function ﺩﻭﺍل ﺘﻌﻴﺩ ﻗﻴﻤﺔ ﻤﻥ ﻨﻭﻉ structure ﺗﻤﺮﻳﻦ : ># include <stdion.h ) int sum(int a, int b ﺍﻻﻋﻼﻥ ﻋﻥ ﺍﻟﺩﺍﻟﺔ ) (main { ;04 = int z , x = 10 , y ;)z = sum(x,y ;) printf(“nn z = %d “ , z } /* ﺍﻟﺩﺍﻟﺔ */ ) int sum(int a , int b { ٦٢ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
27.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ ;int s ;s=a+b ;return s } ** ﻣﻼﺣﻈﺎت ﻋﻠﻰ اﻟﺒﺮﻧﺎﻣﺞ ** - ﻓﻰ ﺍﻟﺴﻁﺭ ﺭﻗﻡ ٢ ﺘﻡ ﺍﻻﻋﻼﻥ ﻋﻥ ﺩﺍﻟﺔ ﺒﺎﻻﺴﻡ ) ( sumﻭﺴﺒﻘﺕ ﺒﺎﻟﻜﻠﻤﺔ intﻭﻫـﻰ ﻨـﻭﻉ ﺍﻟـﺩﻭﺍل ﻭﺘﻘﺎﺒل ﻜﻠﻤﺔ voidﻤﻊ ﻤﻼﺤﻅﺔ ﻭﺠﻭﺩ ﻤﺘﻐﻴﺭﻴﻥ ﺒﻴﻥ ﺍﻷﻗﻭﺍﺱ ﻭﻫﻤﺎ ﻤﻌﺎﻤﻼﺕ ﺍﻟﺩﺍﻟﺔ. - ﻓﻰ ﺍﻟﺴﻁﺭ ﺭﻗﻡ ٦ ﻴﺘﻡ ﺍﺴﺘﺩﻋﺎﺀ ﺍﻟﺩﺍﻟﺔ ﻭﺒﻴﻥ ﺃﻗﻭﺍﺴﻬﺎ ﺍﻟﻤﺘﻐﻴﺭﺍﺕ x ,yﻭﻴﺴﺘﺨﺩﻤﺎﻥ ﻜﻤﻌـﺎﻤﻼﺕ ﻟﻠﺩﺍﻟـﺔ )ﻻﺒﺩ ﻤﻥ ﻜﺘﺎﺒﺔ ﻤﻌﺎﻤﻼﺕ ﺍﻟﺩﺍﻟﺔ ﻷﻨﻨﺎ ﺃﻋﻠﻨﺎ ﻋﻨﻬﺎ ﺒﻬﺫﻩ ﺍﻟﺼﻭﺭﺓ ( - ﺘﺸﻤل ﺍﻟﺴﻁﻭﺭ ﻤﻥ ٩ ﺍﻟﻰ ٤١ ﻋﻠﻰ ﺠﻤل ﺍﻟﺩﺍﻟﺔ ﻨﻔﺴﻬﺎ :- • ﺍﻟﺴﻁﺭ ﺭﻗﻡ ٩ ﻨﻌﻭﺽ ﻋﻥ ﺍﻟﻤﺘﻐﻴﺭ aﺒﺎﻟﻘﻴﻤﺔ ﺍﻟﻤﻭﺠﻭﺩﺓ ﻓﻰ ﺍﻟﻤﺘﻐﻴﺭ xﻭﻫﻰ ﺍﻟﻘﻴﻤـﺔ ٠١. ﻜـﺫﻟﻙ ﻨﻌﻭﺽ ﻋﻥ ﺍﻟﻤﺘﻐﻴﺭ bﺒﺎﻟﻘﻴﻤﺔ ﺍﻟﻤﻭﺠﻭﺩﺓ ﻓﻰ ﺍﻟﻤﺘﻐﻴﺭ yﻭﻫﻰ ٠٤. • ﺍﻟﺴﻁﺭ ﺭﻗﻡ٢١ ﻨﺠﻤﻊ ﻤﺤﺘﻭﻴﺎﺕ ﻜﻼ ﻤﻥ ﺍﻟﻤﺘﻐﻴﺭ aﻭﺍﻟﻤﺘﻐﻴﺭ bﻭﻨﻀﻊ ﺍﻟﻨﺘﻴﺠﺔ ﻓﻰ ﻤﺘﻐﻴﺭ ﺠﺩﻴﺩ ﻫﻭ s • ﺍﻟﺴﻁﺭ ﺭﻗﻡ ٣١ ﻨﻁﻠﺏ ﺍﻋﺎﺩﺓ ﻤﺤﺘﻭﻴﺎﺕ ﺍﻟﻤﺘﻐﻴﺭ sﺍﻟﻰ ﻤﻜﺎﻥ ﺍﺴﺘﺩﻋﺎﺀ ﺍﻟﺩﺍﻟﺔ ﺒﺎﺴﺘﺨﺩﺍﻡ ﻜﻠﻤﺔ return • ﻨﻔﻬﻡ ﺍﻥ ﺠﻤﻠﺔ ) z = sum(x,yﺍﻟﻤﻭﺠﻭﺩﺓ ﺒﺎﻟﺴﻁﺭ ﺭﻗﻡ ٦ ﺘﻌﺎﺩل ﺍﻟﺠﻤﻠﺔ . z = s ﻤﻼﺤﻅﺔ ﻫﺎﻤﺔ: ﻤﻌﻨﻰ ﺍﻟﺩﺍﻟﺔ ﻴﺘﻀﺢ ﻤﻥ ﺍﻟﻘﺎﻋﺩﺓ ﺍﻟﺘﻰ ﺘﻘﻭل ﺃﻥ ﻨﻭﻉ ﺍﻟﺩﺍﻟﺔ ﻴﺘﻭﻗﻑ ﻋﻠﻰ ﺍﻟﻘﻴﻤﺔ ﺍﻟﻤﺭﺘﺠﻌـﺔ ﻤﻥ ﺍﻟﺩﺍﻟﺔ. ﻓﺈﺫﺍ ﻜﺎﻨﺕ ﺍﻟﻘﻴﻤﺔ ﺍﻟﻤﺭﺘﺠﻌﺔ intﻜﺎﻥ ﻨﻭﻉ ﺍﻟﺩﺍﻟﺔ int ﻭﺇﺫﺍ ﻜﺎﻨﺕ ﺍﻟﻘﻴﻤﺔ ﺍﻟﻤﺭﺘﺠﻌﺔ floatﻜﺎﻥ ﻨﻭﻉ ﺍﻟﺩﺍﻟﺔ float ﺃﻤﺎ ﺍﻟﺩﺍﻟﺔ ﺍﻟﺘﻰ ﻻ ﺘﻌﻴﺩ ﻗﻴﻤﺔ)ﺍﻟﺩﺍﻟﺔ ﻻ ﺘﺸﺘﻤل ﻋﻠﻰ ﺠﻤﻠﺔ (returnﻓﺘﻜﻭﻥ ﻤﻥ ﻨﻭﻉvoid ** اﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ ** - ﻴﺘﻡ ﺍﺴﺘﺩﻋﺎﺀ ﺍﻟﺩﻭﺍل ﺍﻤﺎ ﺒﻤﻌﺎﻤﻼﺕ ﺍﻭ ﺒﺩﻭﻥ ﻤﻌﺎﻤﻼﺕ - ﺘﻜﻭﻥ ﺍﻟﺩﺍﻟﺔ ﺒﺩﻭﻥ ﻤﻌﺎﻤﻼﺕ ﻤﺜل ﺍﻟﺩﺍﻟﺔ ) void line2(voidﺍﻯ ﻋﺩﻡ ﻜﺘﺎﺒﺔ ﻗﻴﻡ ﺒﻴﻥ ﺃﻗﻭﺍﺱ ﺍﻟﺩﺍﻟﺔ * ﺒﺭﻨﺎﻤﺞ ﻴﻭﻀﺢ ﻜﻴﻔﻴﺔ ﺍﺴﺘﺩﻋﺎﺀ ﺍﻟﺩﺍﻟﺔ ﺒﻤﻌﺎﻤﻼﺕ * ># include < stdio.h ># include <conio.h )void line3(int no ) (main { ) (clrscr ;)03(3line ;)“ printf(“ ** Allah the god of all world ** n ;)07(3line } ٧٢ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
28.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ /* ﺍﻟﺩﺍﻟﺔ */ )void line3(int no { ;int j , no ) ++for(j = 0 ; j <= no ; j ;) “ * “(printf ;)”printf(“n } ** ﻤﻼﺤﻅﺔ : ﺍﻟﺩﺍﻟﺔ ﻫﻨﺎ ﻟﻬﺎ ﻤﻌﺎﻤل ﻭﺍﺤﺩ ﻤﻥ ﻨﻭﻉ ﺼﺤﻴﺢ ﻭﻫﻭ .noﻭﻓﻰ ﻜل ﻤﺭﺓ ﻴـﺘﻡ ﺍﺭﺴـﺎل ﻗﻴﻤـﺔ ﻤﺨﺘﻠﻔﺔ ﻟﻠﻤﻌﺎﻤل ﻭﺫﻟﻙ ﻋﻨﺩ ﺍﺴﺘﺩﻋﺎﺀ ﺍﻟﺩﺍﻟﺔ. ** اﺳﺘﺪﻋﺎء اﻟﺪاﻟﺔ ﺑﻤﺘﻐﯿﺮﺎ ﺗ ** - ﻤﻤﻜﻥ ﺍﺴﺘﺩﻋﺎﺀ ﺍﻟﺩﺍﻟﺔ ﺒﻤﻌﺎﻤﻼﺕ ﻤﻥ ﻨﻭﻉ ﻗﻴﻡ ﺜﺎﺒﺘﺔ ﻤﻭﺠﻭﺩﺓ ﺒﺎﻟﺒﺭﻨﺎﻤﺞ ﻨﻔﺴﻪ - ﻭﺃﻴﻀﺎ ﻴﻤﻜﻥ ﺍﻥ ﺘﻜﻭﻥ ﻫﺫﻩ ﺍﻟﻤﻌﺎﻤﻼﺕ ﻤﺘﻐﻴﺭﺍﺕ ﺘﺴﺘﻘﺒل ﻗﻴﻤﻬﺎ ﻤﻥ ﺍﻟﻤﺴﺘﺨﺩﻡ ﺍﻭ ﻤﻥ ﺩﺍﺨل ﺍﻟﺒﺭﻨـﺎﻤﺞ ﻭﻫﺫﺍ ﻴﻔﻴﺩ ﻓﻰ ﺤﺎﻟﺔ ﺘﻐﻴﺭ ﻭﺍﺨﺘﻼﻑ ﺍﻟﻤﺘﻐﻴﺭﺍﺕ ﻓﻰ ﻜل ﻤﺭﺓ ) ﺇﻋﻁﺎﺀ ﻤﺭﻭﻨﺔ ﻓﻰ ﺍﻟﺘﻌﺎﻤل ﻤﻊ ﺍﻟﺒﺭﻨﺎﻤﺞ ( * ﺑﺮﻧﺎﻣﺞ ﻟﺘﺤﺪﻳﺪ اﻟﻜﻤﯿﺔ اﻷﻛﺒﺮ ﻣﻦ ﺛﻼث ﻛﻤﯿﺎت ﺻﺤﯿﺤﺔ ># include <stdio.h /* /* determine the largest of three integer quantities ) (main { ;int a, b, c, d /* /* read the integer quantities ;)“ = printf(“n a ;) scanf( % d “ , &a ;)“ = printf(“n b ;) scanf( % d “ , &b ;)“ = printf(“n c ;) scanf( % d “ , &c /* /* calculate and display the maximum value ;) d = maximum( a, b ;)) printf(“n n maximum = % d , maximum(c ,d } /* /* determine the larger of two integer quatities ) maximum(x ,y ٨٢ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
29.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ ;int x ,y { ;int z ;z = (x >= y ) ? x | y ;)return(z } ﻣﻼﺣﻈﺔ ﻫﺎﻣﺔ : ﻤﻥ ﻀﻤﻥ ﺃﻭﺍﻤﺭ ﺍﻟﺘﺤﻜﻡ ) ﻋﻼﻤﺔ ﺍﻻﺴﺘﻔﻬﺎﻡ ﺍﻟﺸﺭﻁﻴﺔ |? ( ﺤﻴﺙ :- ﻋﺒﺎﺭﺓ testﺍﺨﺘﺒﺎﺭ - ) (x > = y - ؟ ﻋﺒﺎﺭﺓ ﻋﻥ ﺴﺅﺍل if - | ﻋﺒﺎﺭﺓ ﻋﻥ Else ﺒﻤﻌﻨﻰ ﺇﺫﺍ ﻜﺎﻥ ﺍﻻﺨﺘﺒﺎﺭ ) (x >= yﺼﺤﻴﺤﺎ ﻴﺄﺨﺫ ﺍﻟﻘﻴﻤﺔ xﻭﺇﺫﺍ ﻜﺎﻨﺕ ﺍﻟﻘﻴﻤﺔ ﻏﻴﺭ ﺼﺤﻴﺤﺔ ﻴﺄﺨﺫ ﺍ ﻟ ﻘﻴ ﻤ ﺔ y ** ﺑﺎﺳﺘﺨﺪا م ا ﻟ و ﻻ أﻛﺘﺐﺑﺮ ﻧ ﻣﺞ ﺎ ﺪ ﻟﺘﺤﻮﻳﻞ اﻟﺴﺎﻋﺎت إﻟﻰ دﻗﺎﺋﻖ ﻣﻊ إﻳﺠﺎد اﻟﻔﺮق ># include<stdio.h /* /* calculates difference between two times ) (main { ;2int mins1 , mins ;) “ :) 22:3 printf(“ type first time ( from ;)(mins1=getmins ;) “ printf(“ type second(later) time ;)(mins2=getmins ;)1printf(“ Difference is %d minutes.” , mins2-mins } /* /* getmins function /* /* gets time in hours : minutes formal /* /* return time in minutes ) (getmins { ;int hours, minuts ;)scanf(“ %d : %d “, &hours , &minutes ;)return(hours * 60 + minutes } * اﻵﺗﻰ ﺑﺮﻧﺎﻣﺞ ﻳﺴﺘﻌﻤﻞ داﻟﺔ ﻣﻦ ﻧﻮع intﺗﺘﻜﻮن ﻣﻦ داﻟﺘﯿﻦ :- - ﺩﺍﻟﺔ ﻟﺤﺴﺎﺏ ﻤﺭﺒﻊ ﺍﻟﻘﻴﻤﺔ ﻭﺇﻋﺎﺩﺓ ﺤﺎﺼل ﺍﻟﻀﺭﺏ ﺍﻟﻰ ﺍﻟﺩﺍﻟﺔ ﺍﻟﺭﺌﻴﺴﻴﺔ ٩٢ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
30.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ ﺩﺍﻟﺔ ﺘﺤﺴﺏ ﻨﻜﻌﺏ ﻗﻴﻤﺔ ﻭﺘﻌﻴﺩﻫﺎ ﻋﻨﺩ ﺍﻻﺴﺘﺩﻋﺎﺀ - ># include < stdio.h :)int sqr(int a :)int qup(int q ) (main { ;01= int s , qu , no ;)s = aqr(no ;)qu = qup(no :) printf(“n squer of no = %d “ , s :) printf(“n qupic of no = %d “ , qu } )int sqr(int a { ;1int v ;v1= a*a ;1return v } ) int qup(int q { ;2int v ;v2=q*q*q ;2return v } ﻨﺘﻴ ﺠ ﺔ ﺍ ﻟﺘﻨ ﻔﻴ ﺫ : 001 = squar of on 0001 = qupic of on اﻵﺗـﻲ ﺑﺮﻧـﺎﻣﺞ ﻳﺴـﺘﻌﻤﻞ داﻟـﺔ ﻣـﻦ ﻧـﻮع floatﺗﻘـﻮم ﺑﺠﻤـﻊ رﻗﻤـﯿﻦ وإﻋـﺎدة اﻟﻨﺘﯿﺠﺔ اﻟـﻰ اﻟﺪاﻟـﺔ اﻟﺮﺋﯿﺴـﯿﺔ ﻋﻨـﺪ اﻻﺳـﺘﺪﻋﺎء . واﻟﻘﯿﻤـﺔ اﻟﻤﺮﺗﺠﻌـﺔ ﻗﯿﻤـﺔ ﺣﻘﯿﻘﯿﺔ floatوﻳﺎﻟﺘﺎﻟﻰ ﻳﻜﻮن ﻧﻮع اﻟﺪاﻟﺔ float ># include <stdio.h ># include < conio.h ) float add( float x , float y ) (main { ;2float no1, no ;) : 2printf(“n enter no1 , no :) 2scanf(“ %f ,%f “ , &no` ,&no ٠٣ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
31.
ــــــــــــــــــــــــC ـــــــــــــــــــــ
ﻣﺤﺎﺿﺮات ﻓﻰ ﻟﻐﺔ printf(“n addition of number is %f”, add(no1,no2) ); } float add(float x , float y ); { float yt; yt= x + y ; return yt; } -: ﻋﻨﺩ ﺍﻟﺘﻨﻔﻴﺫ ﻨﺤﺼل ﻋﻠﻰ Enter no1 ,no2 : 3,2 , 4,3 Addition of squares is 6.5 ** اﻵﺗﻲ ﺑﺮﻧﺎﻣﺞ ﻹﻳﺠﺎد اﻟﻌﺪد ﻓﺮﺪى ﺄ ﻣ زوﺟﻰ وﻛﺬﻟﻚ ﻣﻮﺿﺤﺎ اﻟﻌـﺪد ﺳـﺎﻟﺐ ﺄ ﻣ ﻣﻮﺟﺐ # include < stdio.h> /* tests use of external variables */ int keynumb; main( ) /* external variables */ { printf(“ type keynumb : “ ); scanf(“%d “ , &keynumb ); addeven( ); negative( ); } /* checks if keynumb is odd or even */ oddeven( ) { if (keynumb % 2 ) printf(“ keynumb is odd. n”); else printf( “ keynumb is even. n”); } ٣١ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
32.
ـــــــــــــــــــــ ﻣﺤﺎﺿﺮات ﻓﻰ
ﻟﻐﺔ Cــــــــــــــــــــــــ /* /* checks if keynumb is nagative ) (ngative { ) 0 < if (keynumb ;)”printf(“ keynumb is negative . n else ;)”printf( “ keynumb is positive . n } اﻟﻤﺎﻛــــﺮو MACROS ﻫﻭ ﻤﺠﻤﻭﻋﺔ ﻤﻥ ﺍﻟﺘﻌﻠﻴﻤﺎﺕ ﺘﺅﺩﻯ ﻏﺭﺽ ﻤﻌﻴﻥ ﻭﻴﺸﺒﻪ ﺇﻟﻰ ﺤﺩ ﻜﺒﻴﺭ ﺍﻟﺩﺍﻟـﺔ functionﻭﻴـﺘﻡ ﺇﻨﺸـﺎﺀ ﺍﻟﻤﺎﻜﺭﻭ ﻤﺭﺓ ﻭﺍﺤﺩﺓ ﻭﺒﻌﺩ ﺫﻟﻙ ﻴﻤﻜﻥ ﺍﺴﺘﺩﻋﺎﺌﻪ ﻜﻠﻤﺎ ﺍﺤﺘﺠﺕ ﺇﻴﻪ ) ﺃﻯ ﻴﺘﻡ ﺘﻌﺭﻴﻑ ﺍﻟﺜﻭﺍﺒـﺕ ﺍﻭ ﻋﻤﻠﻴـﺎﺕ ﻤﺤﺩﺩﻩ ﻓﻰ ﺒﺩﺍﻴﺔ ﺍﻟﺒﺭﻨﺎﻤﺞ ﻭﺘﻜﻭﻥ ﻟﻬﺎ ﺼﻔﻪ ﺍﻟﻌﻤﻭﻤﻴﺔ ﻟﻼﺴﺘﺨﺩﺍﻡ ﺩﺍﺨل ﺍﻟﺩﺍﻟﺔ ﺍﻟﺭﺌﻴﺴﻴﺔ ﻭﺍﻟﺩﻭﺍل ﺍﻟﻔﺭﻋﻴﺔ ( ﺇﺫﻥ : ﺍﻟﻤﺎﻜﺭﻭ ﻤﻥ ﻀﻤﻥ ﺒﻨﺎﺀ ﺒﺭﻨﺎﻤﺞ ﻟﻐﺔ ﺍﻟـــ C ﻛﯿﻔﯿﺔ إﻧﺸﺎء اﻟﻤﺎﻛﺮو :- - ﻴﺘﻡ ﺫﻟﻙ ﺒﺎﺴﺘﻌﻤﺎل ﺍﻟﻜﻠﻤﺔ #define - ﻭﻫﺫﻩ ﺍﻟﻜﻠﻤﺔ ﺘﺴﻤﻰ directiveﺍﻭ preprocessorﻭﻤﻌﻨﺎﻫﺎ ﺍﻟﺘﻭﺠﻴﻪ # define macro line * اﻟﺼﻮرة اﻟﻌﺎﻣﺔ #define a 5 ﻤﺜﻼ ﻭﻫﻰ ﻋﺒﺎﺭﺓ ﻋﻥ ﺘﻌﺭﻴﻑ ﻁﺭﻑ ﺒﻁﺭﻑ ﻭﻤﻌﻨﺎﻫﺎ ﻋﺭﻑ ﺍﻟﻤﺘﻐﻴﺭ aﺒﺎﻟﻘﻴﻤﺔ 5 ﺗﻤﺮﻳﻦ ﻳﻮﺿﺢ ﻛﯿﻔﯿﺔ اﻹﻋﻼن ﻋﻦ اﻟﻤﺎﻛﺮو وﻛﯿﻔﯿﺔ اﺳﺘﻌﻤﺎﻟﻪ ># include<stdio.h # define sum(a,b) a+b # define mul(x,y) x*y ) ( main { ٢٣ ـــــــــــــــــــــــــــــــــــــــــــ رﻗﻢ اﻟﺼﻔﺤــﺔ
Descargar ahora