<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>برمجيات Archives - قوالب ووردبريس عربية</title>
	<atom:link href="https://arabic-themes.com/category/%D8%A8%D8%B1%D9%85%D8%AC%D9%8A%D8%A7%D8%AA/feed/" rel="self" type="application/rss+xml" />
	<link>https://arabic-themes.com/category/برمجيات/</link>
	<description>اكتشف الآلاف من السمات والقوالب ومنتجات ووردبريس</description>
	<lastBuildDate>Thu, 01 Feb 2024 01:02:16 +0000</lastBuildDate>
	<language>ar</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://arabic-themes.com/wp-content/uploads/2024/12/cropped-themes-logo-220-100x100.png</url>
	<title>برمجيات Archives - قوالب ووردبريس عربية</title>
	<link>https://arabic-themes.com/category/برمجيات/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>أنواع المواقع الإلكترونية التي يمكنك اختيار واحدًا منهما لمشروعك</title>
		<link>https://arabic-themes.com/%d8%a3%d9%86%d9%88%d8%a7%d8%b9-%d8%a7%d9%84%d9%85%d9%88%d8%a7%d9%82%d8%b9-%d8%a7%d9%84%d8%a5%d9%84%d9%83%d8%aa%d8%b1%d9%88%d9%86%d9%8a%d8%a9-%d8%a7%d9%84%d8%aa%d9%8a-%d9%8a%d9%85%d9%83%d9%86%d9%83/</link>
					<comments>https://arabic-themes.com/%d8%a3%d9%86%d9%88%d8%a7%d8%b9-%d8%a7%d9%84%d9%85%d9%88%d8%a7%d9%82%d8%b9-%d8%a7%d9%84%d8%a5%d9%84%d9%83%d8%aa%d8%b1%d9%88%d9%86%d9%8a%d8%a9-%d8%a7%d9%84%d8%aa%d9%8a-%d9%8a%d9%85%d9%83%d9%86%d9%83/#respond</comments>
		
		<dc:creator><![CDATA[إدارة الشركة]]></dc:creator>
		<pubDate>Sat, 02 Sep 2023 13:50:30 +0000</pubDate>
				<category><![CDATA[برمجيات]]></category>
		<category><![CDATA[أنواع المواقع]]></category>
		<category><![CDATA[أنواع المواقع الإلكترونية]]></category>
		<guid isPermaLink="false">https://arabic-themes.com/?p=5654</guid>

					<description><![CDATA[<p>تأتي المواقع الإلكترونية في مجموعة متنوعة من الأشكال والأحجام، مما يعكس تن ... <a class="cz_readmore" href="https://arabic-themes.com/%d8%a3%d9%86%d9%88%d8%a7%d8%b9-%d8%a7%d9%84%d9%85%d9%88%d8%a7%d9%82%d8%b9-%d8%a7%d9%84%d8%a5%d9%84%d9%83%d8%aa%d8%b1%d9%88%d9%86%d9%8a%d8%a9-%d8%a7%d9%84%d8%aa%d9%8a-%d9%8a%d9%85%d9%83%d9%86%d9%83/"><i class="fas fa-book-reader" aria-hidden="true"></i><span>اقرأ المزيد</span></a></p>
<p>The post <a href="https://arabic-themes.com/%d8%a3%d9%86%d9%88%d8%a7%d8%b9-%d8%a7%d9%84%d9%85%d9%88%d8%a7%d9%82%d8%b9-%d8%a7%d9%84%d8%a5%d9%84%d9%83%d8%aa%d8%b1%d9%88%d9%86%d9%8a%d8%a9-%d8%a7%d9%84%d8%aa%d9%8a-%d9%8a%d9%85%d9%83%d9%86%d9%83/">أنواع المواقع الإلكترونية التي يمكنك اختيار واحدًا منهما لمشروعك</a> appeared first on <a href="https://arabic-themes.com">قوالب ووردبريس عربية</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: right;">تأتي المواقع الإلكترونية في مجموعة متنوعة من الأشكال والأحجام، مما يعكس تنوع الغايات والأهداف التي يمكن أن تخدمها. فهناك المواقع الشخصية التي يستخدمها الأفراد للتعبير عن ذاتهم ونشر أفكارهم وإبداعاتهم. وهناك المواقع التجارية التي تعمل كمنصات لعرض وبيع المنتجات والخدمات عبر الإنترنت، مما يسهم في توسيع نطاق العملاء وتسهيل عمليات الشراء.</p>
<h2 class="wp-block-heading has-vivid-purple-color has-text-color" style="text-align: right;"><strong>ما هي أنواع المواقع الإلكترونية؟</strong></h2>
<p style="text-align: right;">تلعب المواقع الإلكترونية دورًا حيويًا في ربط الناس، ومشاركة المعلومات، وتوفير الخدمات عبر الإنترنت. تنوع البيئة الرقمية للمنصات عبر الويب يلبي مجموعة واسعة من الأغراض والاهتمامات، مما يجعل المواقع الإلكترونية عنصرًا أساسيًا في تفاعلاتنا الإلكترونية.</p>
<p style="text-align: right;">دعونا نستكشف معًا مجموعة أنواع المواقع الالكترونية المتنوعة التي تملأ عالم الإنترنت، ونستكشف وظائفها المتميزة وأهميتها.</p>
<h3 class="wp-block-heading has-vivid-purple-color has-text-color" style="text-align: right;"><strong>1- المدونات الشخصية</strong></h3>
<p style="text-align: right;">تعدّ المدونات الشخصية أحد أنواع المواقع الالكترونية التي تمتاز بطابعها الشخصي والإبداعي. تمثل هذه المواقع منصة رقمية تتيح للأفراد إمكانية انشاء مدونة للتعبير عن أفكارهم وآرائهم، ومشاركة تجاربهم وقصصهم الشخصية. تعكس المدونات الشخصية لمحة فريدة عن شخصية المدوّن واهتماماته، وتتناول موضوعات متنوعة قد تشمل السفر، الطهي، الثقافة، الأسلوب الحياتي وغيرها من المجالات.</p>
<p style="text-align: right;">تتيح هذه المنصات لمالكيها التواصل مع الجمهور وتبادل الأفكار والخبرات، مما يجعلها وسيلة قوية لخلق تفاعل مع المجتمع الرقمي. تشكل المدونات الشخصية مساحة حرّة للتعبير والتفرُّغ لشغف وإبداع الأفراد، كما تمثل جزءًا مهمًا من الطيف المتنوع لأنواع المواقع الإلكترونية.</p>
<h3 class="wp-block-heading has-vivid-purple-color has-text-color" style="text-align: right;"><strong>2- المواقع الإخبارية</strong></h3>
<p style="text-align: right;">تُعد المواقع الإخبارية واحدة من أبرز أنواع المواقع الإلكترونية، التي تُقدم مصادر موثوقة ومتجددة للأخبار والمعلومات. تهدف هذه المواقع إلى توفير تغطية شاملة للأحداث والتطورات في مختلف المجالات، بما في ذلك السياسة والاقتصاد والثقافة والتكنولوجيا وغيرها. تعتمد المواقع الإخبارية على مجموعة من الصحفيين والمحررين المتخصصين في جَمْع وتحليل الأخبار، ومن ثم نقلها بشكل سريع وموثوق إلى الجمهور.</p>
<p style="text-align: right;">تتنوع المواقع الإخبارية من حيث تقديمها للمحتوى؛ حيث تتضمن بعضها الأخبار العامة والتقارير العميقة، في حين يركز البعض الآخر على الأخبار الترفيهية أو الرياضية. وتمتاز هذه المواقع بأنها تسمح للجمهور بالتعليق والتفاعل مع الأخبار، مما يعزز من التفاعل بين القرّاء والمحتوَى المعروض.</p>
<p style="text-align: right;">بفضل تطور التكنولوجيا، أصبحت المواقع الإخبارية واحدة من المصادر الرئيسية للمعلومات في العصر الرقمي، حيث يمكن للأفراد الوصول إلى آخر الأخبار والمستجدات في أي وقت ومن أي مكان عبر مواقع إخبارية متخصصة. بإمكانك تصميم موقع إخباري من أجل توجيه الرأي العام وزيادة الوعي بالأحداث الجارية على الصعيدين المحلي والعالمي.</p>
<h3 class="wp-block-heading has-vivid-purple-color has-text-color" style="text-align: right;"><strong>3- المتاجر الإلكترونية</strong></h3>
<p style="text-align: right;">تعد المتاجر الإلكترونية واحدة من أنواع المواقع الإلكترونية البارزة، حيث تمثل بيئة رقمية تتيح للأفراد والشركات عرض منتجاتهم وخدماتهم على الإنترنت وتسهيل عمليات البيع والشراء عبر واجهات الويب. تتميز المتاجر الإلكترونية بقدرتها على إظهار مجموعة متنوعة من المنتجات، من الملابس والإلكترونيات إلى المجوهرات والأثاث، وتوفير تجربة تسوق سهلة ومريحة للمستخدمين.</p>
<p style="text-align: right;">من خلال البيع عبر الإنترنت، تستطيع امتلاك واجهة غير محدودة كغرافيًا وبيع المنتجات لعملائك من خلال وسائل دفع سهلة يتم بعدها شحن المنتجات للعملاء.</p>
<h3 class="wp-block-heading has-vivid-purple-color has-text-color" style="text-align: right;"><strong>4- المواقع الشخصية والسيرة الذاتية (البورتفوليو)</strong></h3>
<p style="text-align: right;">تُعدّ المواقع الشخصية والسيرة الذاتية (البورتفوليو) إحدى أنواع المواقع الإلكترونية المهمة، حيث تسمح للأفراد بإنشاء وتصميم مساحة رقمية خاصة بهم على الإنترنت. تهدف هذه المواقع إلى عرض معلومات شخصية عن الفرد، سواء كانت ذات طابع اجتماعي أو مهني. تعكس المواقع الشخصية هوية واهتمامات الشخص، وتوفر وسيلة للتواصل مع العالم الخارجي، سواء من خلال مقالاتهم وآرائهم أو مشاركة أعمالهم ومشاريعهم.</p>
<p style="text-align: right;">من ناحية أخرى، تُعتبر السيرة الذاتية على الويب وسيلة رقمية لعرض خبرات الفرد ومهاراته المهنية. تتيح للأفراد تقديم نظرة شاملة عن خلفيتهم التعليمية والمهنية، بما في ذلك تفاصيل الوظائف السابقة والإنجازات والمشاريع التي شاركوا فيها. تلك السير الذاتية الإلكترونية تسهم في توفير وسيلة سهلة للمشاركة مع أصحاب العمل المحتملين والجهات الأخرى المهتمة بالتعرف على ملامح وكفاءات الشخص.</p>
<h3 class="wp-block-heading has-vivid-purple-color has-text-color" style="text-align: right;"><strong>5- المواقع التعليمية والدورات الأونلاين</strong></h3>
<p style="text-align: right;">المواقع التعليمية والدورات الأونلاين هي جزء مهم من أنواع المواقع الإلكترونية، حيث تهدف إلى تقديم محتوى تعليمي وتدريبي عبر مواقع تعليمية متخصصة. تعد هذه الأنواع من المواقع وسيلة فعالة لتوفير المعرفة وتطوير المهارات من خلال منصات رقمية قابلة للوصول من أي مكان وفي أي وقت. تتيح هذه المواقع للأفراد فرصة تعلم متنوعة تشمل مجموعة متنوعة من المواضيع والمجالات.</p>
<p style="text-align: right;">تقدم المواق<a href="https://www.wpar.net/create-educational-platform/">ع ا</a>لتعليمية محتوى تعليمي متنوعًا يشمل الدروس، والمقالات، والفيديوهات التعليمية. هذا المحتوى يمكن أن يكون موجهًا لمختلف المستويات، بدءًا من المبتدئين وصولاً إلى المتقدمين. بالإضافة إلى ذلك، تقدم المواقع التعليمية فرصًا للمشاركة في مناقشات وتفاعل مع المعلمين والخبراء وحتى الطلاب الآخرين، مما يساهم في توسيع آفاق المعرفة وتبادل الخبرات.</p>
<p style="text-align: right;">من ناحية أخرى، تتيح الدورات الأونلاين فرصة للأفراد لتطوير مهارات جديدة أو تحسين المهارات الحالية من خلال برامج تعليمية مكثفة. تغطي هذه الدورات مجموعة متنوعة من المواضيع، مثل التكنولوجيا، الأعمال، اللغات، والفنون. بغض النظر عن مستوى الخبرة الحالي، يمكن للأفراد اختيار الدورات التي تناسب احتياجاتهم وأهدافهم التعليمية.</p>
<h3 class="wp-block-heading has-vivid-purple-color has-text-color" style="text-align: right;"><strong>6- المواقع الاجتماعية ومنتديات النقاش</strong></h3>
<p style="text-align: right;">تعتبر المواقع الاجتماعية ومنتديات النقاش جزءًا مهمًا من تشكيلة المواقع الإلكترونية المتنوعة. المواقع الاجتماعية هي منصات تجمع بين الأفراد وتمكّنهم من التواصل وتبادل المحتوى والأفكار بشكل رقمي. تقدم هذه المنصات مجموعة واسعة من الأدوات التفاعلية مثل التعليقات والمشاركات والإعجابات، مما يسمح للمستخدمين ببناء شبكات اجتماعية عبر الإنترنت وتبادل الأخبار والتجارب والصور والفيديوهات.</p>
<p style="text-align: right;">من جهة أخرى، تُعدّ منتديات النقاش أماكنًا حيث يمكن للأفراد مناقشة مجموعة متنوعة من المواضيع وتبادل وجهات النظر والخبرات. تمكّن هذه المنتديات الأعضاء من طرح أسئلة، ومناقشة قضايا محددة، والتفاعل مع الآخرين من خلال المشاركات والردود. تتيح منتديات النقاش بناء مجتمعات عبر الإنترنت حول مواضيع مشتركة وتبادل المعلومات والتجارب بين الأفراد ذوي الاهتمامات المتشابهة أو المتنوعة.</p>
<p style="text-align: right;">بهذه الطريقة، تلعب المواقع الاجتماعية ومنتديات النقاش دورًا مهمًا في تمكين التواصل البشري وتبادل المعلومات والآراء عبر الإنترنت، مما يعزز من تنوع المحتوى والتواصل في العالم الرقمي.</p>
<h3 class="wp-block-heading has-vivid-purple-color has-text-color" style="text-align: right;"><strong> 7- المواقع الحكومية والمؤسسية</strong></h3>
<p style="text-align: right;">تعتبر المواقع الحكومية والمؤسسية إحدى أنواع المواقع الإلكترونية الهامة، حيث تهدف إلى تقديم معلومات وخدمات من قبل الجهات الحكومية والمؤسسات المختلفة. تتنوع هذه المواقع في نطاقها ومضمونها، إذ تقدم المعلومات الرسمية المتعلقة بالحكومة والهيئات الحكومية على الصعيدين المحلي والوطني، بما في ذلك الأخبار والسياسات والقوانين. بالإضافة إلى ذلك، تقوم المواقع المؤسسية بتقديم معلومات عن المؤسسات التجارية والمنظمات الغير ربحية والمؤسسات الخاصة، من خلال عرض معلوماتها وأهدافها وخدماتها.</p>
<p style="text-align: right;">تتميز المواقع الحكومية والمؤسسية بالمصداقية والشفافية، حيث تقدم معلومات موثوقة ودقيقة للجمهور. تساهم هذه المواقع في تحسين التواصل بين الحكومة والمواطنين، وبين المؤسسات وعملائها أو المستفيدين من خدماتها. كما تعمل على تيسير وصول المواطنين والعملاء إلى المعلومات والخدمات الضرورية بشكل سريع ومباشر، مما يعزز من فعالية العمليات الحكومية والمؤسسية.</p>
<p style="text-align: right;">وأخيرًا، نجد أن منصة ووردبريس تمثل أداة قوية ومتعددة الاستخدامات لإنشاء مواقع إلكترونية متنوعة تتناسب مع احتياجات مختلف الأفراد والجهات. تشجعك هذه المنصة على الاستفادة من إمكانياتها المذهلة لتحقيق تواجد رقمي قوي وفعّال. من خلال تكييف ووردبريس لخلق مواقع شخصية أو تجارية أو تعليمية أو حكومية أو مؤسسية، تستطيع أن تحقق رؤيتك وأهدافك على الويب.</p>
<p>The post <a href="https://arabic-themes.com/%d8%a3%d9%86%d9%88%d8%a7%d8%b9-%d8%a7%d9%84%d9%85%d9%88%d8%a7%d9%82%d8%b9-%d8%a7%d9%84%d8%a5%d9%84%d9%83%d8%aa%d8%b1%d9%88%d9%86%d9%8a%d8%a9-%d8%a7%d9%84%d8%aa%d9%8a-%d9%8a%d9%85%d9%83%d9%86%d9%83/">أنواع المواقع الإلكترونية التي يمكنك اختيار واحدًا منهما لمشروعك</a> appeared first on <a href="https://arabic-themes.com">قوالب ووردبريس عربية</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://arabic-themes.com/%d8%a3%d9%86%d9%88%d8%a7%d8%b9-%d8%a7%d9%84%d9%85%d9%88%d8%a7%d9%82%d8%b9-%d8%a7%d9%84%d8%a5%d9%84%d9%83%d8%aa%d8%b1%d9%88%d9%86%d9%8a%d8%a9-%d8%a7%d9%84%d8%aa%d9%8a-%d9%8a%d9%85%d9%83%d9%86%d9%83/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>طرق للمستقلين المبدعين لتوفير المال</title>
		<link>https://arabic-themes.com/%d8%b7%d8%b1%d9%82-%d9%84%d9%84%d9%85%d8%b3%d8%aa%d9%82%d9%84%d9%8a%d9%86-%d8%a7%d9%84%d9%85%d8%a8%d8%af%d8%b9%d9%8a%d9%86-%d9%84%d8%aa%d9%88%d9%81%d9%8a%d8%b1-%d8%a7%d9%84%d9%85%d8%a7%d9%84/</link>
					<comments>https://arabic-themes.com/%d8%b7%d8%b1%d9%82-%d9%84%d9%84%d9%85%d8%b3%d8%aa%d9%82%d9%84%d9%8a%d9%86-%d8%a7%d9%84%d9%85%d8%a8%d8%af%d8%b9%d9%8a%d9%86-%d9%84%d8%aa%d9%88%d9%81%d9%8a%d8%b1-%d8%a7%d9%84%d9%85%d8%a7%d9%84/#respond</comments>
		
		<dc:creator><![CDATA[إدارة الشركة]]></dc:creator>
		<pubDate>Sat, 02 Sep 2023 13:23:21 +0000</pubDate>
				<category><![CDATA[برمجيات]]></category>
		<category><![CDATA[ربح من الانترنت]]></category>
		<category><![CDATA[أهمية التجارة الإلكترونية]]></category>
		<category><![CDATA[توفير المال]]></category>
		<category><![CDATA[طرق للمستقلين]]></category>
		<category><![CDATA[طرق للمستقلين المبدعين لتوفير المال]]></category>
		<guid isPermaLink="false">https://arabic-themes.com/?p=5638</guid>

					<description><![CDATA[<p>تسبب التضخم والنقص العالمي في الطاقة والعقبات التي عرقلت سلاسل الإمداد، في ... <a class="cz_readmore" href="https://arabic-themes.com/%d8%b7%d8%b1%d9%82-%d9%84%d9%84%d9%85%d8%b3%d8%aa%d9%82%d9%84%d9%8a%d9%86-%d8%a7%d9%84%d9%85%d8%a8%d8%af%d8%b9%d9%8a%d9%86-%d9%84%d8%aa%d9%88%d9%81%d9%8a%d8%b1-%d8%a7%d9%84%d9%85%d8%a7%d9%84/"><i class="fas fa-book-reader" aria-hidden="true"></i><span>اقرأ المزيد</span></a></p>
<p>The post <a href="https://arabic-themes.com/%d8%b7%d8%b1%d9%82-%d9%84%d9%84%d9%85%d8%b3%d8%aa%d9%82%d9%84%d9%8a%d9%86-%d8%a7%d9%84%d9%85%d8%a8%d8%af%d8%b9%d9%8a%d9%86-%d9%84%d8%aa%d9%88%d9%81%d9%8a%d8%b1-%d8%a7%d9%84%d9%85%d8%a7%d9%84/">طرق للمستقلين المبدعين لتوفير المال</a> appeared first on <a href="https://arabic-themes.com">قوالب ووردبريس عربية</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: right;">تسبب التضخم والنقص العالمي في الطاقة والعقبات التي عرقلت سلاسل الإمداد، في بروز بيئة اقتصادية خانقة بالنسبة للمستقلين المبدعين العاملين في ما يسمى اقتصاد العربة Gig Economy؛ أي اقتصاد الأعمال المستقلة. ومما زاد الطين بلة، كان استمرار ارتفاع تكاليف المعيشة، وذلك بالتوازي مع بحث العملاء عن منجزي أعمال بأعلى جودة لكن بأقل أسعار ممكنة؛ بالتالي ما لم يكن لديك طلب عالٍ على عملك، فإن رفعك للأسعار التي تتقاضاها قد يعود عليك بنتائج سلبية، ويجعل العملاء يبحثون عن مستقلين آخرين.</p>
<p style="text-align: right;">لا يكون المستقلون المبدعون الذي بدأوا العمل للتو، أو الذين لم يعثروا على تخصص لهم حتى الآن، في وضع يسمح لهم برفع أسعارهم؛ خصوصًا أثناء الأزمات الاقتصادية التي يواجه فيها العملاء صعوبات مالية. فإذا لم تستطع رفع أسعارك لزيادة ما تكسبه من مال، فسيكون خيارك الوحيد هو العثور على طرائق لتخفيض نفقاتك.</p>
<p style="text-align: right;">سنقدم لك في هذا المقال مجموعةً من أفضل 20 نصيحة لتوفير المال موجهة إلى المستقلين والمبدعين لزيادة أرباحهم من الأعمال التي ينجزون. تذكّر أنه ليس هناك عصا سحرية لحل جميع مشكلاتك المالية، لكنك إن اتبعت مجموعة نصائح لتوفير المال وتقليل النفقات، فستلمس فرقًا شاسعًا. اختر من النصائح التالية ما ينطبق على عملك ووضعك المالي لزيادة عائداتك.</p>
<h2 style="text-align: right;">نصائح لتوفير المال موجهة إلى المستقلين المبدعين</h2>
<p style="text-align: right;">هناك العديد من الطرائق الكفيلة بتخفيض نفقاتك بوصفك مستقلًا موظفًا ذاتيًا، وذلك لتوفير مزيد من المال حتى في وقت الأزمات الاقتصادية. إليك عشرين نصيحةً لمساعدة المستقلين المبدعين على توفير المال:</p>
<h3 style="text-align: right;">1. قلل اشتراكاتك الإلكترونية</h3>
<p style="text-align: right;"><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-5640" src="https://arabic-themes.com/wp-content/uploads/2023/09/02.cancel-online-subscriptions-1024x576.thumb_.png.9eeb5c59db12b942e4df110b668999c0.png" alt="" width="900" height="507" srcset="https://arabic-themes.com/wp-content/uploads/2023/09/02.cancel-online-subscriptions-1024x576.thumb_.png.9eeb5c59db12b942e4df110b668999c0.png 900w, https://arabic-themes.com/wp-content/uploads/2023/09/02.cancel-online-subscriptions-1024x576.thumb_.png.9eeb5c59db12b942e4df110b668999c0-300x169.png 300w, https://arabic-themes.com/wp-content/uploads/2023/09/02.cancel-online-subscriptions-1024x576.thumb_.png.9eeb5c59db12b942e4df110b668999c0-768x433.png 768w, https://arabic-themes.com/wp-content/uploads/2023/09/02.cancel-online-subscriptions-1024x576.thumb_.png.9eeb5c59db12b942e4df110b668999c0-600x338.png 600w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p style="text-align: right;">تستخدم الشركات التي تقدم خدمات إلكترونية نمط دفع المال وفقًا لنظام اشتراكات؛ لأنه يتيح للعملاء دفع مبالغ منخفضة شهريًا، وعلى نحو تلقائي. ورغم أنه من الملائم ضبط تلك الاشتراكات على وضع الدفع التلقائي autopay، إلا أن الناس معرضون غالبًا للنسيان، وهو ما قد يُفقدهم القدرة على تتبع كم من المال ينفقون شهريًا على خدمات الاشتراكات تلك.</p>
<p style="text-align: right;">تحقق من بياناتك المصرفية لتتبع المدفوعات التي تُقتطع من حسابك تلقائيًا بسبب نمط الدفع التلقائي المشار إليه أعلاه، ثم ألغ أي أداة، أو تطبيق لم تَعُد تستخدمه؛ أو يمكنك التخلي عنه. قرِّر تخفيض اشتراكاتك تلك ثلاث أو أربع مرات كل سنة لضمان ألا تذهب أموالك -التي جهدتَ في تحصيلها- سدىً.</p>
<h3 style="text-align: right;">2. نظم مدفوعاتك</h3>
<p style="text-align: right;">من الجوانب المحبطة للتحول إلى العمل المستقل -بوصفه سبيلًا إلى التوظيف الذاتي- أن العملاء معروفون بتأخرهم في دفع المال للمستقلين. وحتى لو بذلت كل ما تستطيع من جهود، فقد تصاب بالإحباط بسبب تأخر أحد عملائك في دفع المال بعد وقت مناسب يلي تنفيذك للمشروع. اطلع على تطبيقات الدفع التي تقدم نظام فوترة أوتوماتيكيً، ومسك دفاتر، للمستقلين.</p>
<p style="text-align: right;">من الأمثلة على برمجيات دفع لاقت أصداء إيجابية لدى الأشخاص الموظفين ذاتيًا: أداة كويك بوكس QickBooks، وفري إيجنت FreeAgent، وفريش بوكس Freshbooks، وتطبيقات ويب عربية جيدة تساعدك في مسألة المحاسبة والفوترة، مثل تطبيق دفترة، وتطبيق ألف ياء Aliphia، وتطبيق فواتير، وغيرها؛ إذ تساعدك أدوات مثل تلك على البقاء منظمًا، ومراقبة التدفق النقدي، وضمان أن يُدفع لك لقاء عملك في الوقت المحدد.</p>
<h3 style="text-align: right;">3. تعقب وقتك بفعالية</h3>
<p style="text-align: right;"><img decoding="async" class="size-full wp-image-5645 aligncenter" src="https://arabic-themes.com/wp-content/uploads/2023/09/1746228426_03.thumb_.gif.77f43fa37da4ff921656110bc568b239.gif" alt="" width="1242" height="758" /></p>
<p style="text-align: right;">احرص بالنسبة للمشاريع ذات الوقت المحدد لإنجازها على استخدام <a href="https://ana.hsoub.com/" target="_blank" rel="external noopener">أدوات تعقب المهمات</a>، بحيث سيكون عليك تتبع المهام المنجزة تباعًا، مع إمكانية إضافة تفاصيل كل مهمة ضمن بطاقة المهمة نفسها لتحديد اﻹجراءات الواجب اتباعها، مثل تذكيرك بإرسال فاتورة للعميل حتى تذكره بضرورة الدفع لك في هذه المرحلة بناءً على اﻹتفاق بينكما، فقد يفوتك بعض المال المستحق إذا لم تكن واثقًا من مواعيد تسليم الأعمال التي تنجزها، أو إذا أنجزت عملًا لا تحصل على مقابل مالي له.</p>
<h3 style="text-align: right;">4. خفض نفقات موقعك الإلكتروني إلى الحد الأدنى</h3>
<p style="text-align: right;">يمتلك العديد من المستقلين المبدعين -مثل الفنانين والمصورين الفوتوغرافيين والمصممين، مواقع إلكترونية لعرض مهاراتهم عليها، وللتواصل مع العملاء المحتملين.</p>
<p style="text-align: right;">وهناك بعض المستقلين، والمبدعين الموظفين ذاتيًا، الذين لديهم متاجر مخصصة للتجارة الإلكترونية، أو ممن يُدفع لهم المال عبر مواقعهم الإلكترونية وفق طريقة دفع أخرى؛ لكن نفقات تطوير المواقع الإلكترونية واستضافة الويب يمكن أن تتعاظم بسرعة؛ فإذا كان لا بد لك من امتلاك موقع إلكتروني، فابحث عن طرائق لتخفيض نفقاته، وزيادة أرباحك من عملك الحر في نهاية المطاف.</p>
<h3 style="text-align: right;">5. ابحث عن معدات خضعت للتجديد قبل شراء أخرى جديدة كليا</h3>
<p style="text-align: right;">لا يحتاج المستقلون ذوو الميزانيات المحدودة إلى اقتناء أحدث الاختراعات التكنولوجية للنجاح، لذا عليك تجنب الأجهزة الرائجة، والاكتفاء بالأدوات التكنولوجية التي تلبي احتياجاتك الضرورية في عملك.</p>
<p style="text-align: right;">ضع قائمةً بالمواصفات التي تحتاج إليها بحيث لا تنجرف وراء مزايا مغرية لا تهمك. ومن الطرائق الأخرى لتوفير المال الذي تنفقه على الأجهزة، البحث عن معدات استُخدمت برفق سابقًا وبعدها خضعت للتجديد؛ مثل الحواسيب المحمولة، والهواتف الذكية، والأجهزة اللوحية.</p>
<h3 style="text-align: right;">6. التوقيت أهم نقطة</h3>
<p style="text-align: right;"><img decoding="async" class="alignnone size-full wp-image-5641" src="https://arabic-themes.com/wp-content/uploads/2023/09/04.plan-your-day-schedule-working-remotely.thumb_.gif.5c43a7cdd4be9168c8564a4aceacae2f.gif" alt="" width="1383" height="929" /></p>
<p style="text-align: right;">من المفيد عند الحديث عن توفير المال أن تدرس الوقت جيدًا؛ فمثلًا: طور قدرتك على تحديد الساعات التي تفضّل العمل فيها بهدف توفير النفقات، وذلك عبر جدولة مواعيدك خارج وقت الذروة لتتجنب الازدحام على الطرقات وما يسببه من ضياع لوقتك.</p>
<p style="text-align: right;">إليك مثالًا آخر حول أهمية التوقيت لتوفير المال؛ وهو أن تشتري جميع المواد (التعليمية، أو التي تتضمن بيانات أو معلومات، أو غيرها) ذات الصلة بمشروعك عندما يكون هناك تنزيلات على أسعارها.</p>
<p style="text-align: right;">وانتبه إلى ما هو رائج في السوق، واهتم بالأحداث العالمية، بحيث تُزامِن نشر حملتك التسويقية معها، وإيصالها إلى الجمهور المستهدف على نحو مناسب؛ فالخلاصة هي أن تستفيد من فرص توفير المال وتعزيز الإنتاجية، وذلك وفقًا للمثل القديم القائل: اعمل بذكاء، لا بجد.</p>
<h3 style="text-align: right;">7. تمسك بوظيفتك حتى تثبت أقدامك في عملك المستقل</h3>
<p style="text-align: right;">قد تغريك فكرة ترك وظيفتك اليومية التي لا ترضيك، والانتقال إلى حياة جديدة مليئة بالإبداع، لكن لا تنسَ أن بناء مشروعك الخاص يتطلب وقتًا.</p>
<p style="text-align: right;">إذا أردت لمشروعك الإبداعي أن ينجح ويكون مُرضيًا لك، فالأمر يستحق الانتظار لحين ترسيخ عملك المستقل على أرضية متينة، وذلك قبل ترك وظيفتك الحالية؛ لأنك بحاجة إلى دخل ثابت لمساعدتك في توسيع ذلك العمل التجاري المستقل الذي ما إن ينضج حتى يصبح بوسعك ترك تلك الوظيفة دون قلق.</p>
<p style="text-align: right;">في بداية مشوارك نحو مشروعك للعمل مستقلًا، يحتمل أنك تحاول جاهدًا -ودون توقف- العثور على عملاء. ومع إنشائك معرض أعمال، والحصول على مراجعات أو تقييمات إيجابية لعملك المستقل، ستجد أن بدء عمل مستقل أصبح هدفًا أسهل وأقرب للتحقق، وأنك بدأت تجني مالًا كافيًا لتتطور، وذلك دون الحاجة إلى صاحب عمل أو شركة تعمل تحت ظلهما. وعندها يكون قد حان الوقت لترك وظيفتك الحالية.</p>
<h3 style="text-align: right;">8. احتفظ بخطة بديلة</h3>
<p style="text-align: right;">لنكن لديك دائمًا خطة بديلة تعينك على مواجهة ظروف، مثل خسارة عميل كنت تعمل معه بانتظام، أو اضطرارك إلى أخذ عطلة. واتبع النصيحة القائلة &#8220;لا تضع كل البيض في سلة واحدة&#8221;؛ بل نوّع مصادر دخلك، ولا تضع نفسك في موقف حرج.</p>
<h3 style="text-align: right;">9. استفد من البرمجيات والأدوات المجانية ومفتوحة المصدر</h3>
<p style="text-align: right;"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-5642" src="https://arabic-themes.com/wp-content/uploads/2023/09/05.gimp-free-design-software-980x343.thumb_.png.935c9e989a03d0e57a620d9f635f78a7.webp" alt="" width="900" height="315" srcset="https://arabic-themes.com/wp-content/uploads/2023/09/05.gimp-free-design-software-980x343.thumb_.png.935c9e989a03d0e57a620d9f635f78a7.webp 900w, https://arabic-themes.com/wp-content/uploads/2023/09/05.gimp-free-design-software-980x343.thumb_.png.935c9e989a03d0e57a620d9f635f78a7-300x105.webp 300w, https://arabic-themes.com/wp-content/uploads/2023/09/05.gimp-free-design-software-980x343.thumb_.png.935c9e989a03d0e57a620d9f635f78a7-768x269.webp 768w, https://arabic-themes.com/wp-content/uploads/2023/09/05.gimp-free-design-software-980x343.thumb_.png.935c9e989a03d0e57a620d9f635f78a7-600x210.webp 600w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p style="text-align: right;">قبل أن تدفع المال على شيء آخر لا غنى لك عنه بوصفك مستقلًا، فكّر في أدوات مجانية عبر الإنترنت بدلًا من شراء برمجيات مدفوعة.</p>
<p style="text-align: right;">لا تشترِ أدوات تكنولوجية متطورة إلا بعد أن تبدأ في جني المال من عملك المستقل؛ فمثلًا، توفِّر لك جوجل مجموعةً من أدوات صناعة المحتوى المجانية، منها مستندات جوجل Google Docs، وجداول بيانات جوجل Google Sheets، وغيرها من الملحقات والإضافات الكثيرة التي تساعدك في الانطلاق بعملك الحر.</p>
<h3 style="text-align: right;">10. لا تترك عليك ديونا</h3>
<p style="text-align: right;">ما فائدة المال الذي تودِعه في البنك إذا كنت مدينًا لأشخاص لا ينفكّون يطالبونك بالسداد؟ بالتأكيد لا فائدة منه. ورغم أن هذه النصيحة لن تفرحك، إلا أن وفاءك بالديون التي عليك أمر بالغ الأهمية لجني المال وتنمية مشروعك التجاري بوصفك مستقلًا.</p>
<p style="text-align: right;">سيضر الدَّين بسمعتك الائتمانية، ويسبب لك توترًا أنت في غنى عنه؛ لذا يُنصح بالعمل لتقليل الديون التي عليك، أو للوفاء بها كلها، وذلك قبل البحث عن عمل مستقل تهدف منه إلى تحقيق نتائج واعدة.</p>
<h3 style="text-align: right;">11. احتفظ بنسخة احتياطية عن عملك</h3>
<p style="text-align: right;">يستخدم معظمنا الحواسيب أو غيرها من الأجهزة لكتابة الفواتير والإيصالات والسجلات المالية، وغيرها من الوثائق الأساسية في عالم اليوم. ويجد العديد من المستقلين المبدعين طرائق جديدةً للإبداع بالاستعانة بأدوات إلكترونية وموارد عبر الإنترنت؛ لكن حدوث الأخطاء أمر وارد، لذا عليك الاحتفاظ بنسخة احتياطية على خادمٍ سحابي أو قرص صلب خارجي، بحيث تكون لديك دائمًا نسخة إضافية في حال تلف حاسوبك أو سرقته، أو تعرضك لسرقة بياناتك عبر هجوم سيبراني.</p>
<h3 style="text-align: right;">12. استفد من تكتيكات التسويق الموفرة للنفقات</h3>
<p style="text-align: right;">قبل أن تدفع المال على شيء آخر لا غنى لك عنه بوصفك مستقلًا، فكّر في أدوات مجانية عبر الإنترنت بدلًا من شراء برمجيات مدفوعة.</p>
<p style="text-align: right;">لا تشترِ أدوات تكنولوجية متطورة إلا بعد أن تبدأ في جني المال من عملك المستقل؛ فمثلًا، توفِّر لك جوجل مجموعةً من أدوات صناعة المحتوى المجانية، منها مستندات جوجل Google Docs، وجداول بيانات جوجل Google Sheets، وغيرها من الملحقات والإضافات الكثيرة التي تساعدك في الانطلاق بعملك الحر.</p>
<h3 style="text-align: right;">10. لا تترك عليك ديونا</h3>
<p style="text-align: right;">ما فائدة المال الذي تودِعه في البنك إذا كنت مدينًا لأشخاص لا ينفكّون يطالبونك بالسداد؟ بالتأكيد لا فائدة منه. ورغم أن هذه النصيحة لن تفرحك، إلا أن وفاءك بالديون التي عليك أمر بالغ الأهمية لجني المال وتنمية مشروعك التجاري بوصفك مستقلًا.</p>
<p style="text-align: right;">سيضر الدَّين بسمعتك الائتمانية، ويسبب لك توترًا أنت في غنى عنه؛ لذا يُنصح بالعمل لتقليل الديون التي عليك، أو للوفاء بها كلها، وذلك قبل البحث عن عمل مستقل تهدف منه إلى تحقيق نتائج واعدة.</p>
<h3 style="text-align: right;">11. احتفظ بنسخة احتياطية عن عملك</h3>
<p style="text-align: right;">يستخدم معظمنا الحواسيب أو غيرها من الأجهزة لكتابة الفواتير والإيصالات والسجلات المالية، وغيرها من الوثائق الأساسية في عالم اليوم. ويجد العديد من المستقلين المبدعين طرائق جديدةً للإبداع بالاستعانة بأدوات إلكترونية وموارد عبر الإنترنت؛ لكن حدوث الأخطاء أمر وارد، لذا عليك الاحتفاظ بنسخة احتياطية على خادمٍ سحابي أو قرص صلب خارجي، بحيث تكون لديك دائمًا نسخة إضافية في حال تلف حاسوبك أو سرقته، أو تعرضك لسرقة بياناتك عبر هجوم سيبراني.</p>
<h3 style="text-align: right;">12. استفد من تكتيكات التسويق الموفرة للنفقات</h3>
<p style="text-align: right;"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-5643" src="https://arabic-themes.com/wp-content/uploads/2023/09/06.digital-marketing-services-in-belfast-uk-1024x683.thumb_.png.c3a4ac144707c5214e55e8e7b4d7b655.webp" alt="" width="900" height="601" srcset="https://arabic-themes.com/wp-content/uploads/2023/09/06.digital-marketing-services-in-belfast-uk-1024x683.thumb_.png.c3a4ac144707c5214e55e8e7b4d7b655.webp 900w, https://arabic-themes.com/wp-content/uploads/2023/09/06.digital-marketing-services-in-belfast-uk-1024x683.thumb_.png.c3a4ac144707c5214e55e8e7b4d7b655-300x200.webp 300w, https://arabic-themes.com/wp-content/uploads/2023/09/06.digital-marketing-services-in-belfast-uk-1024x683.thumb_.png.c3a4ac144707c5214e55e8e7b4d7b655-768x513.webp 768w, https://arabic-themes.com/wp-content/uploads/2023/09/06.digital-marketing-services-in-belfast-uk-1024x683.thumb_.png.c3a4ac144707c5214e55e8e7b4d7b655-600x401.webp 600w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p style="text-align: right;">يُعَد <a href="https://academy.hsoub.com/marketing/core-concepts-of-marketing/%D9%85%D9%82%D8%AF%D9%85%D8%A9-%D8%A5%D9%84%D9%89-%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%AA%D8%B3%D9%88%D9%8A%D9%82-r417/" rel="">التسويق</a> والإعلان ضروريين بالنسبة للشركات الصغيرة والمستقلين للمنافسة في أسواق اليوم التي تعجّ بالمنافسين. وبينما بوسع العلامات التجارية الأكثر شهرةً الإنفاق بسخاء على الحملات الإعلانية الجذابة، والاستعانة بالمؤثرين من نجوم السينما وغيرهم؛ فالوضع ليس كذلك بالنسبة للمستقلين.</p>
<p style="text-align: right;">ولحسن الحظ، ليس بالضرورة أن يكون تحقيق الظهور والانتشار مكلفًا ماديًا؛ إذ يمكنك الاستفادة من تكتيكات التسويق المجانية مثل وسائل التواصل الاجتماعي، والتدوين الاستضافي، والخطط التجارية الموضوعة بحنكة، للبدء بجذب الاهتمام بمنتجاتك وخدماتك.</p>
<h3 style="text-align: right;">13. تعقب مصاريفك</h3>
<p style="text-align: right;">على كل مستقل أن يراقب فواتيره بكثير من التمعن؛ فتعقبك لمصاريفك يجعلك أكثر تنظيمًا في دفع الضرائب خلال الوقت المحدد، وأقل مديونية على المدى الطويل.</p>
<p style="text-align: right;">اطلع على مصاريف الشركات الصغيرة ونفقات المستقلين التي يمكنك اقتطاعها من ضرائبك، واحرص على مراقبة التدفق النقدي، بحيث لا يفوتك أي مال جنيته عن استحقاق. فمثلًا، إذا كنت تقود السيارة كثيرًا إلى العمل، فعندها يمكنك استخدام تطبيق يطلع على المسافة التي تقطعها لتسجيل رحلاتك، كما يمكن اقتطاع بعض نفقات الصيانة من ضرائبك إذا احتجت إلى مركبة للعمل.</p>
<p style="text-align: right;">وبالنظر إلى أن قيمة السيارات تنخفض بمقدار 20% بعد أن تُقاد لفترة طويلة، فعليك الحرص على توفير بعض المال من شراء سيارة.</p>
<h3 style="text-align: right;">14. افصل أموال مشروعك التجاري عن أموالك الشخصية</h3>
<p style="text-align: right;">من النصائح الأخرى بخصوص وقت دفع الضرائب هي أن تبقي إنفاقك المكرس لمشروعك التجاري المستقل منفصلًا عن نفقاتك الشخصية، وذلك باستخدام حساب تجاري أو بطاقة ائتمان لنفقاتك المرتبطة بعملك المستقل.</p>
<p style="text-align: right;">قد يبدو الأمر سخيفًا للوهلة الأولى ما دمت تعمل لصالحك وتجني مالًا لك فقط، إذًا لمَ لا تكتفي بحسابك الشخصي دون التجاري؟</p>
<p style="text-align: right;">الجواب: لأن الفصل بين أموالك التجارية والشخصية يمكن أن يوفر عليك مالًا للأغراض المحاسبية، ويجعل وضعك الضريبي واضحًا.</p>
<h3 style="text-align: right;">15. أنشئ صندوق طوارئ</h3>
<p style="text-align: right;">ينصحك بعض الخبراء بادخار مالٍ يكفي لتغطية نفقات ستة أشهر من تكاليف المعيشة، بحيث تكون محتاطًا إذا خسرتَ أحد عملائك، أو أصابك مرض أقعدك عن العمل، أو غير ذلك من الأحداث غير المتوقعة التي تعيق قدرتك على جني المال.</p>
<p style="text-align: right;">ولا يهم كم من المال تدخر ما دمت تحاول الاحتفاظ به جانبًا مع كل مبلغ تحصل عليه من عملك.</p>
<p style="text-align: right;">هناك طرائق عديدة مختلفة يمكن للمستقلين المبدعين دائمًا الادخار وفقًا لها. فعّل التوفير التلقائي باستخدام تطبيقك البنكي، كما يساعدك إنشاء حساب توفير مع فائدة في زيادة نقودك أكثر.</p>
<h3 style="text-align: right;">16. واكب الرائج حول الأمور المالية للمستقلين</h3>
<p style="text-align: right;">يمثل التعلم من نظرائك المستقلين طريقةً ممتازةً لتبقى مواكبًا لكل ما هو رائج حول الأمور المالية التي تؤثر على المستقلين المبدعين؛ لذا اعثر على مدونات متخصصة بالشؤون المالية ينشر فيها مستقلون مثلك لديهم خبرات قريبة من خبراتك، وتعترضهم مشاكل وصعوبات كالتي تواجهها، أو ابحث عن موارد عملية موجهة إلى المبدعين؛ ومنها الكتب أو المدونات الصوتية الشخصية ذات التخصص المالي.</p>
<h3 style="text-align: right;">17. ارفع مستويات إنتاجيتك</h3>
<p style="text-align: right;"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-5644" src="https://arabic-themes.com/wp-content/uploads/2023/09/815344415_08.thumb_.png.f08a27f8e7a2f9e47fc35c5adaec06d9.png" alt="" width="900" height="562" srcset="https://arabic-themes.com/wp-content/uploads/2023/09/815344415_08.thumb_.png.f08a27f8e7a2f9e47fc35c5adaec06d9.png 900w, https://arabic-themes.com/wp-content/uploads/2023/09/815344415_08.thumb_.png.f08a27f8e7a2f9e47fc35c5adaec06d9-300x187.png 300w, https://arabic-themes.com/wp-content/uploads/2023/09/815344415_08.thumb_.png.f08a27f8e7a2f9e47fc35c5adaec06d9-768x480.png 768w, https://arabic-themes.com/wp-content/uploads/2023/09/815344415_08.thumb_.png.f08a27f8e7a2f9e47fc35c5adaec06d9-600x375.png 600w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p style="text-align: right;">يمكن لرفع مستوى إنتاجيتك أن يساعدك في زيادة أرباحك أيضًا، بالتوازي مع تخفيض نفقاتك. تأكد مما إذا كان هناك أوقات خلال اليوم تنتج خلالها بفعالية أكبر، وانقل ساعات عملك إليها في الواقع وضمن جدول العمل أيضًا. ابحث عن إحدى أدوات إدارة المشاريع، ويمكنك الاعتماد هنا على أداة أنا لتبقى منظمًا، وحاول أتمتة مهمات محددة؛ مثل إعداد الفواتير والمدفوعات، إن أمكن.</p>
<h3 style="text-align: right;">18. تذكر الضرائب</h3>
<p style="text-align: right;">هناك أمران لا مفر منهما في الحياة؛ هما: الموت والضرائب، والمستقلون ليسوا مستثنين منهمًا، لذا على هؤلاء وضع قسم من دخولهم جانبًا ليدفعوا منه ضرائب التوظيف الذاتي حال استحقاقها، بحيث يتجنبون الوقوع ضحية عنصر المفاجأة.</p>
<h3 style="text-align: right;">19. وسع مهاراتك</h3>
<p style="text-align: right;">رغم أن التخصص في مجال محدد مفيد إلى حد بعيد للمستقلين المبدعين لأسباب كثيرة، لكن يُنصح بتعلم بعض المهارات الإضافية التي تساعدهم في جني مزيد من المال وتوفيره لاحقًا. فإذا كنت تعمل في بيع المجوهرات مثلًا، وكانت لديك خلفية في مجال التشفير، فيمكنك كسب المال بتعلم كيفية تطبيق مهارتك تلك لإنشاء متجر إلكتروني وإدارته.</p>
<p style="text-align: right;">وإذا لم تكن فنانًا، فلا تحاول تصميم شعار دون مساعدة مصمم جرافيكي خبير؛ أما إن كان لديك المهارات اللازمة لذلك، فقد تساعدك في زيادة أرباحك.</p>
<h3 style="text-align: right;">20. اعتن بنفسك أكثر</h3>
<p style="text-align: right;">لا يستفيد أغلب المستقلين -للأسف- من بعض إيجابيات الوظائف التقليدية، مثل مزايا الضمان الصحي والعطل لقضاء إجازات؛ لكن اعتناءك بصحتك الجسدية والنفسية أمر بالغ الأهمية؛ لذا نظف أسنانك، وراجع الطبيب لإجراء فحص مرةً في السنة على الأقل حتى لو كنت تشعر بالصحة، ولا تنسَ أخذ إجازة لأسبوع أو اثنين لتستعيد النشاط والطاقة والاتزان.</p>
<h2 style="text-align: right;">أفكار ختامية</h2>
<p style="text-align: right;">يمر المستقلون والمبدعون أحيانًا بأوقات تشحّ فيها المشاريع، حتى عندما يكون الاقتصاد في حالة تعافٍ؛ مما يؤدي إلى انخفاض ما يجنونه من مال. ومن الضروري حاليًا، وأكثر من أي وقت مضى، أن يخفّض المستقلون المبدعون نفقاتهم، ويدخروا قدر الإمكان، لمواجهة الأزمات الاقتصادية التي تعصف بالعالم.</p>
<p style="text-align: right;">اتبع النصائح التي تضمنها هذا المقال لتعثر على طرائق جديدة تزيد بها دخلك، وجرب تطبيق النصيحتين الثانية والثالثة أعلاه لبعض الأسابيع، بهدف حصد أفضل النتائج. ربما تكون بعض تلك النصائح ملائمةً لأشخاص أكثر من غيرهم، ولذا يُحتمل أن تجربها وتكتشف أن بعضها لا يناسبك، وتظل تحاول حتى تعثر من بينها على ما يمكن تطبيقه على حالتك، ويساهم في تطويرك. ولكن التحكّم الجيد في الأمور المالية للمستقلين -عمومًا- أمر بالغ الأهمية، ولا غنى لهم عنه.</p>
<p style="text-align: right;">وبما أن المستقلين المبدعين يقدّمون خدماتهم في ظل التقلبات التي يشهدها الطلب عليها خلال العام الواحد، فمن الضروري لهم مراقبة تدفقاتهم النقدية لتحقيق توازن بين الفترات التي يجنون فيها دخلًا مرتفعًا وتلك التي ينخفض فيها ذلك الدخل؛ كما يتمتع المستقلون المبدعون براحة البال التي توفرها لهم الثقافة المالية التي يكتسبونها، لأنك عندما تنظم أمورك المالية كما ينبغي، فلن تقلق من خسارة عميل تعاونت معه طويلًا، ولا من فشل مشروع قصير المدى أنجزته؛ بل بالعكس، سيصمد عملك التجاري الحر أمام رياح التقلبات الاقتصادية العاتية.</p>
<p>The post <a href="https://arabic-themes.com/%d8%b7%d8%b1%d9%82-%d9%84%d9%84%d9%85%d8%b3%d8%aa%d9%82%d9%84%d9%8a%d9%86-%d8%a7%d9%84%d9%85%d8%a8%d8%af%d8%b9%d9%8a%d9%86-%d9%84%d8%aa%d9%88%d9%81%d9%8a%d8%b1-%d8%a7%d9%84%d9%85%d8%a7%d9%84/">طرق للمستقلين المبدعين لتوفير المال</a> appeared first on <a href="https://arabic-themes.com">قوالب ووردبريس عربية</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://arabic-themes.com/%d8%b7%d8%b1%d9%82-%d9%84%d9%84%d9%85%d8%b3%d8%aa%d9%82%d9%84%d9%8a%d9%86-%d8%a7%d9%84%d9%85%d8%a8%d8%af%d8%b9%d9%8a%d9%86-%d9%84%d8%aa%d9%88%d9%81%d9%8a%d8%b1-%d8%a7%d9%84%d9%85%d8%a7%d9%84/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>من هو المساعد الافتراضي</title>
		<link>https://arabic-themes.com/who-is-the-virtual-assistant/</link>
					<comments>https://arabic-themes.com/who-is-the-virtual-assistant/#respond</comments>
		
		<dc:creator><![CDATA[إدارة الشركة]]></dc:creator>
		<pubDate>Mon, 28 Aug 2023 11:50:34 +0000</pubDate>
				<category><![CDATA[برمجيات]]></category>
		<category><![CDATA[من هو المساعد الافتراضي]]></category>
		<guid isPermaLink="false">https://arabic-themes.com/?p=5575</guid>

					<description><![CDATA[<p>أثناء سعي صاحب العمل لتنمية مشروعه والازدهار به، فإن الأفكار التي قد تخطر ع ... <a class="cz_readmore" href="https://arabic-themes.com/who-is-the-virtual-assistant/"><i class="fas fa-book-reader" aria-hidden="true"></i><span>اقرأ المزيد</span></a></p>
<p>The post <a href="https://arabic-themes.com/who-is-the-virtual-assistant/">من هو المساعد الافتراضي</a> appeared first on <a href="https://arabic-themes.com">قوالب ووردبريس عربية</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>أثناء سعي صاحب العمل لتنمية مشروعه والازدهار به، فإن الأفكار التي قد تخطر على باله لا حصر لها، سواء كانت تتعلق بالتسويق والمبيعات أو بتحسين تجربة العميل، مما يجعل ذهنه مشغولًا باستمرار بالكثير من الأفكار عن إمكانيات التوسع.</p>
<p>في هذه الحالة سيتمنى فقط لو كان لديه الوقت الكافي لتطبيق كل هذه الأفكار واختبارها، لكن للأسف فإن الوقت هو المورد الوحيد الذي لا يمكن الحصول على المزيد منه، وهنا تكمن الحاجة لإدخال مساعد افتراضي.</p>
<p><strong>لكن ما المقصود بالمساعد الافتراضي؟</strong></p>
<p>المساعد الافتراضي virtual assistant (اختصارًا VA) هو شخص محترف يمكنك تفويضه في جوانب مختلفة من عملك، ويجري التعاون معه عن بُعد عبر البريد الإلكتروني أو مكالمات الفيديو أو منصات إدارة المهام مثل <a href="https://ana.hsoub.com/" target="_blank" rel="external noopener">منصة أنا</a>.</p>
<p>قد يكون المساعد الافتراضي مقيمًا في بلدك أو في بلد آخر، وهو ليس بالأمر المهم؛ لأن العمل لن يتطلب غالبًا أن يجري بالتزامن معه، أي لن تكون هناك حاجة إلى العمل من المكتب نفسه أو بالتوقيت نفسه.</p>
<h2>من يحتاج إلى مساعد افتراضي؟</h2>
<p>يعمل المساعدون الافتراضيون عادةً مع أصحاب الأعمال الصغيرة الذين يفوّضونهم لإجراء مهام أو عمليات يمكن تنفيذها عبر الإنترنت.</p>
<p>لكن من المفاهيم الخاطئة الشائعة الاعتقاد بأن أصحاب الأعمال عبر الإنترنت هم فقط من يمكنهم الاستعانة بمساعدين افتراضيين، في حين أن الكثير من الشركات التقليدية يمكن أن تستفيد في فعليًا من المساعدين عن بعد، مثل المكاتب العقارية والوكالات الإعلانية والمستشارين الماليين ووكلاء التأمين والمنظمات غير الربحية والمؤسسات الدينية ومقدّمي الرعاية الصحية (المعالجين وأخصائيي التغذية والاستشاريين وغيرهم).</p>
<h2>ماذا يفعل المساعد الافتراضي؟</h2>
<p>باختصار، يمكن أن يتولى المساعد الافتراضي جميع المهام التي يمكن تنفيذها عن بُعد، مثل مسك الدفاتر وصيانة موقع الويب وإعداد حسابات التواصل الاجتماعي وإدارتها وإنشاء مواد ترويجية (مثل النشرات الإعلامية والكتيبات والملصقات) وإدخال البيانات وجدولة المواعيد وجمع التبرعات والكثير من العمليات الأخرى.</p>
<p>هناك عدد كبير من الخدمات التي يمكن تقديمها في هذا السياق، وبمجرد أن يبحث أحدهم عن الخدمة التي يستمتع بتقديمها كمساعد افتراضي، سيتفاجأ من كثرة الفرص الممكنة لهذا النوع من العمل.</p>
<h2>ثلاثة أمور يجب معرفتها عن المساعدين الافتراضيين</h2>
<p>بعد هذا التعريف المختصر، هناك ثلاثة خصائص أساسية يجب معرفتها عن المساعد الافتراضي، وهي ذات فائدة سواءً كنت بصدد الاستعانة بمساعد افتراضي أو كنت تريد أن تمارس هذا العمل.</p>
<h3>المساعد الافتراضي متعاقد مستقل وليس موظفا</h3>
<p>غالبًا ما يُعَد المساعدون الافتراضيون أصحاب أعمال صغيرة يعملون بصفة متعاقدين مستقلين مع قائمة من العملاء. وتترتب على ذلك العديد من التبعات، أهمها أن المساعد الافتراضي مسؤول بنفسه عن دفع الضرائب وتأمين مزاياه الخاصة (مثل التأمين الصحي واشتراكات التقاعد والتأمين ضد البطالة)، وتنعكس هذه المسؤوليات على الأسعار التي يفرضها على عملائه. لذلك إذا كنت ترغب بالتعاقد الخارجي مع مساعد افتراضي من أجل دفع الحد الأدنى للأجور، فيجب أن تفكر ما إذا كنت مستعدًا لذلك ماليًا.</p>
<p>من التبعات الأخرى أيضًا أن المساعد الافتراضي عادةً ما يحدد بنفسه ساعات عمله؛ إذ أن بنود عقد العمل تحدد الخدمات والمهام التي سيعمل المساعد الافتراضي على إنجازها والموعد النهائي المتفق عليه للتسليم، لكن لا ينبغي للعميل تحديد ساعات عمل المساعد الافتراضي ما لم ينص العقد على ذلك تحديدًا (كما هو الحال لو وُظِّف المساعد الافتراضي من أجل الرد على رسائل البريد الإلكتروني بين 8-10 صباحًا على سبيل المثال).</p>
<p>بالإضافة لذلك، لا يمكن للعميل أن يطلب من المساعد الافتراضي أن يكون تحت الطلب على مدار الساعة طوال الأسبوع، أو أن يترك كل شيء ويلبي احتياجات أعماله.</p>
<p>تجدر الإشارة هنا إلى أن الموظفين التقليديين بدوام كامل نادرًا ما يعملون طوال الوقت الذي يقضونه في مكاتبهم، وقد أظهر استطلاع أجرته مؤسسة غالوب Gallup عام 2016 أن نسبة مشاركة الموظفين في العمل في الولايات المتحدة بلغت حوالي 32%، وبالتالي فكثيرًا ما ينتهي الأمر بالشركات إلى الدفع للموظفين غير الفعالين مقابل ساعات عمل غير منتِجة.</p>
<p>في المقابل، في حال توظيف مساعدين افتراضيين وفق أجر ساعي، سيكون الدفع مقابل ساعات العمل المنتِجة المخصصة للعمل فقط. ولهذا السبب من المنطقي دفع أجر ساعي أعلى للمساعد الافتراضي، نظرًا لأنه يقتصر على ساعات مخصصة للعمل، وهو ما يبدو صفقةً مربحةً لكل من العميل والمساعد الافتراضي.</p>
<h3>المساعد الافتراضي محترف في عمله</h3>
<p>إذا اختار الشخص أن يعمل من المنزل فهذا لا يعني أن مهاراته لا ترقى إلى تنفيذها في بيئة عمل مكتبي. ونظرًا لأن المساعد الافتراضي يُعَد صاحب عمل بحد ذاته، فهو يتعامل مع تعقيدات الأقسام المختلفة التي يتطلبها عمله، فتراه يتولى أمور التسويق والمبيعات والعقود والتأهيل، فضلًا عن تعلم مهارات جديدة باستمرار.</p>
<p>تتمثل أهم الأسباب التي تجعل أصحاب العمل يلجؤون إلى مساعد افتراضي بالحاجة لسدّ فجوة معرفية، كما هو الحال عندما يمتلك المساعد الافتراضي مهارات خاصة لا يستطيع تقديمها أي فرد آخر من فريق العمل.</p>
<p>ربما يعتقد الناس أن عمل المساعد الافتراضي سهل، خصوصًا بالنسبة للأعمال الكتابية مثل إدخال البيانات، لكن يجب أن نتذكر أن الخبرة اللازمة لإجراء حملات التسويق والعلاقات العامة ومسك دفاتر المحاسبة المعقدة وتنظيم المناسبات -وكلها مهارات يمكن الاستعانة بمساعد افتراضي لتنفيذها- تستغرق سنوات من الدراسة والممارسة.</p>
<h3>المساعد الافتراضي عضو مهم في الفريق ويجب معاملته على هذا الأساس</h3>
<p>أحيانًا يحمل أصحاب العمل فكرةً خاطئةً عند ضمّهم مساعدًا افتراضيًا إلى العمل، فهم يتوقعون منه أن يندمج من اليوم الأول، ويرسمون تطلعاتٍ غير واقعية عمّا يمكن أن يسلّمونه من مهام.</p>
<p>صحيح أن المساعد الافتراضي المحترف قادرٌ على فهم المطلوب بسرعة، لكن لا بد من عملية تأهيل مشابهة لما يخضع له أي موظف في اليوم الأول من عمله. أثناء هذه العملية، يجب أن يوضّح العميل توقعاته ويشرح إجراءات العمل المعيارية وما يجب فعله أو تجنبه بصورة عامة خلال العمل.</p>
<p>هناك ناحية مهمة يجب أن يهتم بها كل من أصحاب العمل والمساعدين الافتراضيين؛ وهي الحرص على التواصل الفعال بين الطرفين والالتزام بالمهنية في جميع الأوقات.</p>
<p>بسبب طبيعة هذا النوع من علاقات العمل من حيث التباعد بين الطرفين؛ قد يميل بعض أصحاب العمل -ونسبتهم قليلة- إلى التعامل مع المساعدين الافتراضيين دون مستوى اللباقة، متناسين أن هناك شخصًا يتلقى رسائلهم ومكالماتهم الفظة على الطرف الآخر. ومع أن هذا لا يحدث إلا في حالات قليلة، لكن من الضروري التنويه إليه على أمل ألا يحدث على الإطلاق.</p>
<h2>قبل البدء بالعمل بصفة مساعد افتراضي</h2>
<p>الآن وقد أصبحت تعرف ما المقصود بالمساعد الافتراضي، السؤال هو كيف يمكنك البدء بهذا العمل؟</p>
<p>نظرًا لأن هذا السؤال يتكرر كثيرًا، أفردنا له مقالًا خاصًا يلخص كل ما تحتاجه لتصبح مساعدًا افتراضيًا.</p>
<h2>قبل البدء بالعمل مع مساعد افتراضي</h2>
<p>قد ترغب بتوظيف مساعد افتراضي، لكنك مع ذلك تشعر بالقلق حيال المخاطر المحتملة لمثل هذه الخطوة، ففي النهاية لا بد أن إعطاء كلمة المرور لشخص غريب ليتحكم بحساباتك هو أمر يدعو إلى بعض التوتر، إلى أن تدرك لاحقًا مدى مساهمة هذه الخطوة بتحقيق نقلة نوعية في مسار عملك.</p>
<p>للمساعدة على تخطّي هذه المخاوف، جمعنا لك بعض النصائح التي تساعد على اختبار أي مساعد افتراضي، وبمجرد أن تعرف ما الذي تبحث عنه ومن هو الشخص المناسب؛ ستكون قد وصلت إلى المسار الصحيح لتوفير وقتك والتفرغ للأمور الأكثر أهمية في عملك.</p>
<p>ترجمة -وبتصرّف- للمقال <a href="https://fullybookedva.com/what-is-a-virtual-assistant-2/" target="_blank" rel="external nofollow noopener">?What Is a Virtual Assistant</a> لصاحبته Gina Horkey.</p>
<p>The post <a href="https://arabic-themes.com/who-is-the-virtual-assistant/">من هو المساعد الافتراضي</a> appeared first on <a href="https://arabic-themes.com">قوالب ووردبريس عربية</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://arabic-themes.com/who-is-the-virtual-assistant/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>كتابة برنامج أولي بلغة جافا</title>
		<link>https://arabic-themes.com/writing-a-preliminary-program-in-java/</link>
					<comments>https://arabic-themes.com/writing-a-preliminary-program-in-java/#respond</comments>
		
		<dc:creator><![CDATA[إدارة الشركة]]></dc:creator>
		<pubDate>Sun, 27 Aug 2023 11:08:04 +0000</pubDate>
				<category><![CDATA[برمجيات]]></category>
		<category><![CDATA[كتابة برنامج أولي بلغة جافا]]></category>
		<guid isPermaLink="false">https://arabic-themes.com/?p=5549</guid>

					<description><![CDATA[<p>يُعرَّف البرنامج بأنّه سلسلة من التعليمات التي يستطيع الحاسب تنفيذها لأدا ... <a class="cz_readmore" href="https://arabic-themes.com/writing-a-preliminary-program-in-java/"><i class="fas fa-book-reader" aria-hidden="true"></i><span>اقرأ المزيد</span></a></p>
<p>The post <a href="https://arabic-themes.com/writing-a-preliminary-program-in-java/">كتابة برنامج أولي بلغة جافا</a> appeared first on <a href="https://arabic-themes.com">قوالب ووردبريس عربية</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>يُعرَّف البرنامج بأنّه سلسلة من التعليمات التي يستطيع الحاسب تنفيذها لأداء مهمّةٍ ما. تبدو فكرةٍ بسيطةٍ للغاية، لكن حتى يتمكن الحاسب من الاستفادة من التعليمات، يجب أن تكون هذه التعليمات مكتوبةً بصيغةٍ يستطيع الحاسب استخدامها. هذا يحتّم استخدام لغات البرمجة لكتابة هذه البرامج. تختلف لغات البرمجة عن اللغات البشرية العادية بكونها واضحةً كليًّا، وهي حازمةٌ للغاية فيما هو مسموح أو غير مسموح في البرنامج. تدعى القواعد التي تُحدد ما هو مسموح بصياغة اللغة (Syntax). تُوصّف قواعد الصياغة المفردات الأساسية للغة وكيفيّة بناء البرامج باستخدام أشياء كالحلقات والأفرع والبرامج الفرعية.</p>
<p>يُعرّف البرنامج صحيح الصياغة بأنّه البرنامج الذي يمكن تصريفه أو ترجمته بنجاحٍ؛ تُرفض البرامج التي تحتوي على أخطاء صياغة (ولعلّ هذا يترافق مع رسالة خطأ مفيدة تساعدك في حل المشكلة).</p>
<p>لذا، لكي تكون مُبرمجًا ناجحًا، عليك أن تكتسب معرفة مُفصّلة بصياغة لغة البرمجة التي ستستخدمها. بيد أنّ الصياغة هي مجرّد جانب من الأمر. ليس كافيًا أن تكتب برنامجًا يعمل، أنت تريد برنامجًا يعمل، ويقدّم نتيجة صحيحة. بكلمات أخرى، يجب أن يكون &#8220;معنى&#8221; البرنامج سليمًا.</p>
<p>يُشار إلى معنى البرنامج بمصطلح &#8220;الدلالة اللفظيّة&#8221; (Semantics). بكلمات أدق، تُحدّد الدلالةُ اللفظية للغة البرمجة مجموعة القواعد التي تحدد معنى البرنامج المكتوب بتلك اللغة. يُعرّف البرنامج صحيح الدلالة بأنه البرنامج الذي يقوم بما تريد له أن يقوم به.</p>
<p>أبعد من ذلك، يمكن للبرنامج أن يكون صحيح الصياغة والدّلالة إلا أنّ هذا لا ينفي كونه برنامجًا سيئًا. إذ أنّ استخدام اللغة على نحو صحيح لا يكافئ استخدامها على نحو مفيد. على سبيل المثال، يمتاز البرنامج الجيد بأسلوب كتابةٍ، أي أنّه يُكتب بطريقةٍ تجعل من السهل قراءته وفهمه عبر اتباع أعرافٍ معروفةٍ لدى المبرمجين الآخرين. كما أنّ البرنامج الجيّد يمتاز بتصميم شامل مفهوم للقرّاء البشريين. لا يكترث الحاسب لأمور كهذه البتة، إلّا أنها بالغة الأهمية لقارئ بشري. يُشار عادةً إلى الجوانب هذه من البرمجة بمصطلح التأويل أو التداوليات (pragmatics). (سنستخدم التعبير الأكثر شيوعًا &#8220;أسلوب&#8221; [style].)</p>
<p>عندما نتطرّق لميزة جديدة في اللغة، سنشرح الصياغة والدلالة وبعضًا من تداوليات تلك الميزة. عليك أوّلًا أن تحفظ الصياغة، وهذا الجانب السهل من الموضوع. ثمّ عليك فهم الدلالة عبر متابعة الأمثلة المطروحة، والتأكد من أنك تدرك كيفيّة عملها، والأفضل من ذلك أن تكتب برامج قصيرةً بنفسك لاختبارك فهمك. وعليك أن تحاول إدراك واستيعاب التداوليات، ونعني تعلّم كيفية استخدام ميزة اللغة على نحوٍ سليمٍ وذلك بأسلوبٍ يُكسبك احترام باقي المبرمجين.</p>
<p>لا شكّ أنّ كونك معتادًا على جميع الميزات الفردية للغة لا يعني أنّك أصبحت مُبرمجًا. لا زال عليك تعلّم كيفية بناء برامج معقدة لحل مسائل بعينها. وستحتاج في هذا الأمر إلى الخبرة والذوق. ستجد في هذا الكتاب تلميحات حول تطوير البرمجيات.</p>
<p>نبدأ رحلتنا في اكتشاف جافا بمسألة أضحت عُرفًا في بدايات كهذه: كتابةُ برنامج يعرض الرسالة &#8220;مرحبًا أيها العالم!&#8221;. قد تبدو مسألة هامشيّة، لكن قدرتك على جعل الحاسب يقوم بذلك هي خطوةٌ أولى كبيرة في تعلم لغة برمجة جديدة (خاصةً إذا ما كانت لغتك الأولى)، وهي تعنى فهمك للعملية الأساسيّة التالية:</p>
<p>جلب نص البرنامج إلى الحاسب.<br />
تصريف البرنامج، ومن ثمّ<br />
تنفيذ البرنامج المُصرّف.<br />
سيتطلب الأمر في الغالب عدّة محاولات لتتمكن من القيام بذلك في المرة الأولى. لن نتعمّق في تفاصيل كيفية القيام بكلّ من تلك الخطوات هنا، الأمر يتعلق بجهاز حاسبك وبيئة برمجة جافا التي تستخدمها. انظر القسم 2.6 لمعلومات حول إنشاء وتنفيذ برامج جافا في بيئات برمجة معينة.</p>
<p>لكن بشكلٍ عام، ستكتب البرنامج باستخدام محرر نصوص ما وتحفظ البرنامج في ملف. ثم ستستخدم أمرًا في محاولةٍ لتصريف الملف، فإمّا أن تحصل على رسالة مفادها أنّ البرنامج يحتوي على أخطاء صياغة، أو تحصل على نسخةٍ مُصرّفة إلى شيفرة جافا الثّمانيّة، وليس إلى لغة الآلة.</p>
<p>أخيرًا، يمكنك تنفيذ البرنامج المصرف عبر استخدام الأمر المناسب. في الواقع، ستستخدم من أجل لغة جافا مُفسرًا لتنفيذ شيفرة جافا الثمانية. قد تؤتمت بيئة البرمجة التي اخترتها بعضًا من الخطوات عوضًا عنك. على سبيل المثال، عادةً ما تتمّ خطوة التصريف أوتوماتيكيًا لكن كن متأكدًا أن الخطوات الثلاث نفسها تجري دومًا وراء الكواليس.</p>
<p>إليك برنامج جافا يعرض الرسالة &#8220;مرحبًا أيها العالم!&#8221;. لا عليك إن لم تفهم كل ما يجري هنا الآن، حيث لن نتطرق لبعض مفاهيمه حتى بضع فصول من الآن.</p>
<p>/** برنامج لعرض الرسالة<br />
 * ‫ التالية &#8220;مرحبًا أيها العالم!&#8221;<br />
 */</p>
<p>public class HelloWorld {</p>
<p>   public static void main(String[] args) {<br />
      System.out.println(&#8220;!‏مرحبًا أيها العالم&#8221;);<br />
   }</p>
<p>}   // HelloWorld نهاية الصنف<br />
الأمر الذي يعرض الرسالة في الحقيقة هو:</p>
<p>System.out.println(&#8220;!مرحبًا أيها العالم&#8221;);<br />
الأمر السّابق مثالٌ عن تعليمة استدعاء برنامج فرعيّ إذ تستخدم &#8220;برنامجًا فرعيًّا مُدمجًا&#8221; (built-in subroutine) يُدعى System.out.println لأداء العمل الحقيقيّ. تذكّر أنّ البرنامج الفرعيّ يتألّف من تعليمات لأداء مهمةٍ ما وقد جُمّعت معًا ومُنحت اسمًا. يمكن استخدام هذا الاسم لاستدعاء البرنامج الفرعيّ متى ما احتجنا أداء تلك المهمة. البرنامج الفرعي المدمج هو برنامجٌ فرعيّ مُعرّف مسبقًا كجزء من اللغة وبذلك يكون متاحًا للاستخدام افتراضيًّا في أي برنامج.</p>
<p>عندما تُنفّذ هذا البرنامج، تُعرض الرسالة &#8220;مرحبًا أيها العالم&#8221; (بدون علامتي الاقتباس اللاتينية) على الخرج القياسي. مع الأسف لا أستطيع شرح معنى الخرج القياسي بالضبط. يُفترض أن تعمل جافا على العديد من المنصات المختلفة، ويعني الخرج القياسي أمرًا مختلفًا على كلّ منها. على أيّة حال، يمكنك أن تتوقع ظهور الرسالة في مكان ملائم أو غير ملائم. (إن كنت تستخدم واجهة أوامر سطرية، كتلك الموجودة في أدوات تطوير جافا التي تقدّمها شركة أوراكل، فعندما تكتب الأمر لإخبار الحاسب بتنفيذ البرنامج سيطبع الحاسب خرج البرنامج – الرسالة &#8220;مرحبًا أيها العالم!&#8221;- على السطر التالي. بيد أنّه في بيئة تطوير متكاملة مثل Eclipse، قد يظهر الخرج في واحدةٍ من نوافذ البيئة.)</p>
<p>لا بدّ أنك تشعر بالفضول حيال ما تبقى من أشياء في البرنامج أعلاه. يتألف جزء منه من تعليقاتٍ (comments). يتجاهل الحاسب كليًّا جميع التعليقات في البرنامج، وتقتصر أهميّة وجودها على القراء البشريين فقط. هذا لا يعني أنّها غير مهمّة. يُفترض أن يستطيع الناس كما الحواسيب قراءة البرامج، وقد يكون البرنامج بدون التعليقات صعب الفهم عليهم. يوجد نوعان من التعليقات في جافا. يبدأ النوع الأول بالشريطتين // ويمتد حتى نهاية السطر. يوجد تعليق من هذا الشكل في السطر الأخير من البرنامج أعلاه. يتجاهل الحاسب الشريطتين // وكل ما يليهما على السطر نفسه. من جهة أخرى، يبدأ النوع الثاني من التعليقات بشريطة ونجمة /* وينتهي بشريطة ونجمة */ ويمكن أن يمتد ليشمل عدة أسطر. تُمثل الأسطر الثلاث الأولى من البرنامج مثالًا عن هذا النوع من التعليقات. (للتعليق الذي يبدأ بشريطة ونجمتين /**، كالمذكور أعلاه، معنى خاص؛ حيث أنه تعليق خاص بتوثيق جافا Javadoc ويمكن استخدامه لتوليد توثيق للبرنامج. انظر القسم الفرعي 4.6.5).</p>
<p>كل ما عدا ذلك في البرنامج تفرضه قواعد صياغة جافا. تتمُّ البرمجة كاملةً في جافا ضمن &#8220;أصناف&#8221;. ينصّ السطر الأول في البرنامج أعلاه (دون التعليق) أنّ هذا الصنف يدعى HelloWorld.</p>
<p>إضافةً لكونه اسم الصنف، يُمثّل الاسم &#8220;HelloWorld&#8221; اسم البرنامج أيضًا. ليس كل برنامجٍ صنفًا. لتحديد البرنامج، يجب أن يتضمن الصنف برنامجًا فرعيًّا يدعى main وذلك بتعريفٍ يأخذ الشكل الآتي:</p>
<p>public static void main(String[] args) {</p>
<p>   **تعليمات**</p>
<p>}<br />
عندما تطلب من مُفسّر جافا أن ينفّذ البرنامج، يستدعي المُفسّر البرنامج الفرعيّ main()‎، وبذلك تُنفّذ التعليمات التي يحتويها.</p>
<p>تُؤلّف هذه التعليمات النص البرمجيّ الذي يخبر الحاسب بالضبط بما سيقوم به عند تنفيذ البرنامج. يستطيع البرنامج main()‎ استدعاء برامج فرعيّة أخرى مُعرّفة في الصنف نفسه أو حتى في أصنافٍ أخرى، لكن البرنامج main()‎ هو من يحدّد كيفية وترتيب استخدام البرامج الفرعيّة الأخرى.</p>
<p>تعني الكلمة public في السطر الأول من التابع ‎main‎‎()‎ أنّ هذا البرنامج (routine) يمكن استدعاؤه من خارج البرنامج. هذا الأمر بالغُ الأهميّة إذ أنّ البرنامج main()‎ يُستدعى من قبل مُفسّر جافا الذي هو أحيانًا خارجيّ بالنسبة للبرنامج نفسه. ما تبقى من السطر الأول من البرنامج أصعب من أن يُفسّر في الوقت الحالي، فكر بالأمر الآن على أنّه مجرّد صياغة ضرورية.</p>
<p>البرنامج الفرعيّ هو مجموعةٌ من الأوامر التي تملي ما يجب القيام به، ويتألف في جافا من سلسلة من التعليمات المحاطة بقوسين من الشكل { }.</p>
<p>استخدمنا هنا الكلمة «تعليمات» (statements) نيابةً عن التعليمات الفعلية في الحيز المخصص لها ضمن البرنامج. سنستخدم الترجمة العربية في الشيفرات باستمرار في هذا الكتاب للإشارة إلى حيّز ينوب عنه وصفه وتحتاج لكتابته فعلًا عندما تقوم بالبرمجة.</p>
<p>كما أشرنا أعلاه، لا يتواجد البرنامج الفرعي بمفرده بل يكون جزءًا من &#8220;صنف&#8221;. يُعرف البرنامج من خلال صنفٍ عام يأخذ الشكل التالي:</p>
<p>تصريحات حزم اختيارية<br />
استيراد حزم اختيارية</p>
<p>public class اسم البرنامج {</p>
<p>    تصريحات اختيارية لمتغيرات وبرامج فرعية</p>
<p>    public static void main(String[] args) {<br />
       تعليمات برمجية<br />
    }</p>
<p>    تصريحات اختيارية لمتغيرات وبرامج فرعية</p>
<p>}<br />
يتعلق أول سطرَين باستخدام الحزم (packages). تُعرّف الحزمة بأنها مجموعة من الأصناف وستتعلم المزيد عنها في القسم 2.4 إلّا أنّ أمثلتنا في بادئ الأمر لن تستخدمها.</p>
<p>يُمثل اسم البرنامج في السطر الذي يبدأ بالكلمات المفتاحية public class اسم البرنامج واسم الصنف في آنٍ معًا. تذكر أن استخدامنا لكلمة اسم البرنامج هو نيابةً عن الاسم الفعلي. إن كان اسم الصنف HelloWorld، عند ذلك يجب حفظ الصنف في ملفٍّ يحمل الاسم HelloWorld.java. عند تصريف هذا الملف، يتولد ملف جديد يحمل الاسم HelloWorld.class. يحتوي ملف الصنف هذا على ترجمة البرنامج إلى شيفرة جافا الثمانيّة والتي يمكن تنفيذها باستخدام مفسر جافا.</p>
<p>يُدعى الملف HelloWorld.java بالشيفرة المصدرية (source code) للبرنامج. تحتاج لتنفيذ البرنامج إلى ملف class المُصرّف فقط وليس الشيفرة المصدرية.</p>
<p>لا أهمية لتنسيق هيئة البرنامج على الصفحة كاستخدام الأسطر الفارغة والمسافات البادئة فهي ليست جزءًا من صياغة أو دلالة اللغة. لا يأبه الحاسب لهيئة البرنامج ولن يتغيّر شيءٌ حتى لو كتبت برنامجك على سطرٍ واحد. بيد أنّ هيئة البرنامج وتنسيق كتابته مهمّ للقراء البشريين، وهنالك ضوابط تنسيق محددة يتبعها معظم المبرمجين.</p>
<p>لاحظ أيضًا أنه وفقًا لتوصيف الصياغة أعلاه، يمكن أن يحتوي البرنامج على برامج فرعية أخرى إلى جانب البرنامج الفرعيّ main()‎ إضافةٍ إلى ما يدعى بتصريح المتغيرات. ستتعلم المزيد عن كل هذا لاحقًا في الفصل 4.</p>
<p>ترجمة -بتصرّف- للقسم Section 2.1 The Basic Java Application من فصل Chapter 2: Programming in the Small I: Names and Things من كتاب Introduction to Programming Using Java.</p>
<p>The post <a href="https://arabic-themes.com/writing-a-preliminary-program-in-java/">كتابة برنامج أولي بلغة جافا</a> appeared first on <a href="https://arabic-themes.com">قوالب ووردبريس عربية</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://arabic-themes.com/writing-a-preliminary-program-in-java/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>بنية برنامج مكتوب بلغة C وبعض المبادئ</title>
		<link>https://arabic-themes.com/the-structure-of-a-program-written-in-c-and-some-principles/</link>
					<comments>https://arabic-themes.com/the-structure-of-a-program-written-in-c-and-some-principles/#respond</comments>
		
		<dc:creator><![CDATA[إدارة الشركة]]></dc:creator>
		<pubDate>Sun, 27 Aug 2023 10:36:29 +0000</pubDate>
				<category><![CDATA[برمجيات]]></category>
		<category><![CDATA[بنية برنامج لغة سي]]></category>
		<category><![CDATA[بنية برنامج لغة سي C.]]></category>
		<guid isPermaLink="false">https://arabic-themes.com/?p=5530</guid>

					<description><![CDATA[<p>إذا كنت معتادًا على لغات تتبع بنية الكُتل مثل لغة باسكال Pascal، فستجد بنية بر ... <a class="cz_readmore" href="https://arabic-themes.com/the-structure-of-a-program-written-in-c-and-some-principles/"><i class="fas fa-book-reader" aria-hidden="true"></i><span>اقرأ المزيد</span></a></p>
<p>The post <a href="https://arabic-themes.com/the-structure-of-a-program-written-in-c-and-some-principles/">بنية برنامج مكتوب بلغة C وبعض المبادئ</a> appeared first on <a href="https://arabic-themes.com">قوالب ووردبريس عربية</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>إذا كنت معتادًا على لغات تتبع بنية الكُتل مثل لغة باسكال Pascal، فستجد بنية برنامج لغة سي C مفاجئًا لك؛ وإذا كانت خبرتك في مجال لغات مشابهة للغة فورتران FORTRAN، فستجد البنية مشابهةً لما اعتدت عليه -بالرغم من اختلافها بصورةٍ كبيرة في التفاصيل، وفي الحقيقة استعارت لغة سي من كلا الأسلوبين المُستخدمين بصورةٍ واضحة، ومن أماكن أخرى أيضًا. نتيجةً لأخذ بعض القواعد من مصادر مختلفة، تبدو لغة سي أشبه بنتيجة تزاوج فصيلة كلاب ترير Terrier غير الأنيقة والمعروفة بعنادها وقوتها لكنها متسامحة مع أفراد العائلة. يطلق علماء الأحياء على هذا النوع من الفصائل &#8220;القوة الهجينة&#8221;، قد يذكرك كلامنا أيضًا بمخلوق كمير Chimera الأسطوري الذي يبدو خليطًا من الخرفان والماعز، قد يمنحنا الحليب والصوف، ولكنه سيزعجنا بثغائه المرتفع ورائحته غير اللطيفة.</p>
<p>إذا نظرنا للأمر عمومًا نلاحظ أن ميزة لغة سي C العامة هي بنية البرنامج الموزعة على عدة ملفات، لأنها تسمح <strong>بتصريف منفصل</strong> لهذه الملفات، إذ تسمح لغة سي بتوزيع أجزاء من برنامج مكتمل على عدة <strong>ملفات مصدرية</strong> والتصريف على نحوٍ متفرق عن بعضها بعضًا. مبدأ العمل هنا هو أن جميع عمليات التصريف هذه ستعطينا ملفات يمكن <strong>ربطها Linked</strong> سويًّا عن طريق أي محرر ربط، أو محمّل ربط يستخدمه نظامك، ولكن بنية الكتل لبعض لغات البرمجة المشابهة للغة ألغول ALGOL تجعل هذه الطريقة صعبة التنفيذ، نظرًا لأن البرنامج مكتوبٌ بطريقة تجعل منه كتلةً واحدةً مترابطة، إلا أن هناك بعض الطرق للتغلُّب على هذه المشكلة.</p>
<p>تتغلب لغة سي على هذه المشكلة بطريقةٍ مثيرة للاهتمام، إذ من المفترض أن تسرّع عملية التصريف، لأن تصريف البرنامج إلى <strong>تعليمات مصرَّفة Object Code</strong> بطيء ومكلف من ناحية الموارد، فالتصريف عملية شاقة. أتت من هنا فكرة استخدام المحمّل في ربط مجموعة من التعليمات المصرفة، إذ تتطلب هذه العملية ترتيب التعليمات حسب عنوانها للتوصل للبرنامج الكامل ببساطة. يُفترض أن يكون هذا الحل خفيف الاستهلاك للموارد، وعلى المحمّل طبعًا فحص <strong>المكتبات</strong> المستخدمة في التعليمات المصرفة واختيارها أيضًا.</p>
<p>الفائدة المكتسبة هنا هو أننا لسنا بحاجة تصريف كامل البرنامج بعد تعديل جزءٍ بسيط منه، في هذه الحالة نحن بحاجة إعادة تصريف الجزء المُعدّل من البرنامج فقط؛ ولكن قد يصبح المحمّل في بعض الأحيان أبطأ عمليات تصريف البرنامج وأكثرها استهلاكًا للموارد بزيادة العمل المطلوب منه، وقد تكون العملية أسرع في بعض الأنظمة إذا صُرّف كل شيء دفعةً واحدة، وتُعد لغة أدا Ada إحدى الأمثلة المعروفة باتباعها لهذا الأسلوب. بالنسبة للغة سي فالعمل المنجز من المصرف ليس ضخمًا ومعقول إلى حدٍّ ما، يوضح الشكل 1.1 طريقة عمل المصرف في لغة سي.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-5532 size-full" src="https://arabic-themes.com/wp-content/uploads/2023/08/001SeperateCompilation.png.370a36ced8a8c6ef8ba113b00d8235cc.png" alt="" width="401" height="123" srcset="https://arabic-themes.com/wp-content/uploads/2023/08/001SeperateCompilation.png.370a36ced8a8c6ef8ba113b00d8235cc.png 401w, https://arabic-themes.com/wp-content/uploads/2023/08/001SeperateCompilation.png.370a36ced8a8c6ef8ba113b00d8235cc-300x92.png 300w" sizes="auto, (max-width: 401px) 100vw, 401px" /></p>
<p>هذه الطريقة مهمة في لغة سي، إذ من الشائع أن تجد جميع البرامج باستثناء الصغيرة منها مؤلفةٌ من عددٍ من ملفات الشيفرة المصدرية، هذا يعني أيضًا أن جميع البرامج مهما كانت بسيطة ستمرّ بالمحمّل، نظرًا لاعتماد لغة سي المكثف على المكتبات، وهذا ما قد يكون غير واضح عند النظرة الأولى أو للمتعلّم الجديد.</p>
<h2>الدوال</h2>
<p>تتكون لغة C من مجموعة عناصر تشكل لبنات البناء الأساسية لها، مثل <strong>الدوالّ Functions</strong> وما نطلق عليه تسمية <strong>المتغيرات العامة global variables</strong>، إذ تُسمى هذه العناصر في نقطة ما من البرنامج عند تعريفها، وتحتوي طريقة الوصول لهذه العناصر باستخدام اسمائهم ضمن البرنامج على بعض القواعد، وتُوصف هذه القواعد في المعيار بمصطلح <strong>الربط Linkage</strong>. سنتكلم في الوقت الحالي فقط عن <strong>الربط الخارجي External Linkage</strong> و<strong>انعدام الربط No linkage</strong>، إذ تُدعى العناصر التي يمكن الوصول إليها ضمن البرنامج كاملًا، مثل دوال مكتبة معينة، بعناصر الربط الخارجي، وتُستخدم العناصر عديمة الربط بكثرة أيضًا ولكن الوصول إليها محدودٌ بصورةٍ أكبر.</p>
<p>تُسمى المتغيرات المستخدمة داخل الدالة بالمتغيرات &#8220;المحلية Local&#8221; وهي عديمة الربط، وعلى الرغم من أننا نتفادى المصطلحات المعقدة قدر الإمكان في هذا الكتاب مثل المصطلحات التي ذكرناها سابقًا، ولكن لا توجد طريقة أبسط من شرح هذه المصطلحات. ستألف مصطلح الربط ضمن هذا الكتاب، والنوع الوحيد من الربط الخارجي الذي ستراه حاليًّا هو استخدام الدوال.</p>
<p>تكافئ الدوال في لغة سي الدوال والبرامج الفرعية في لغة فورتران FORTRAN والدوال والإجراءات في لغة باسكال Pascal وألغول ALGOL، بينما لا تمتلك لغة بيسك BASIC ومعظم طفراتها mutations البسيطة أو لغة كوبول COBOL مقدار الدوال التي تمتلكه لغة سي.</p>
<p>الفكرة من الدالة بسيطة وتتمثّل بإعطائك الإمكانية بتضمين فكرةٍ واحدة أو عملية ضمن قالب، وإعطائها اسمًا ما واستدعائها ضمن أجزاءٍ مختلفة من برنامجك باستخدام اسمها فقط. تكون تفاصيل العملية هذه غير واضحة عند ذكر الاسم ضمن البرنامج، وهذا الأمر طبيعي. وفي البرامج المصممة المهيكلة بصورةٍ جيدة، يمكنك تغيير طريقة عمل دالة ما (شرط ألّا يغير ذلك من طبيعة العمل) دون أن تؤثر على الأجزاء الأخرى من البرنامج.</p>
<p>هناك دالةٌ ذات اسم مميز في <strong>البيئات المستضافة</strong> ألا وهي دالة &#8220;main&#8221;، إذ تمثِّل هذه الدالة نقطة بداية البرنامج عند تشغيله، أما في <strong>البيئات المستقلة</strong> فالذي يحدد أولى خطوات البرنامج هي <strong>دالة معرفة مسبقًا Implementation defined</strong>؛ وهذا يعني أنه على الرغم من أن المعيار لا يحدد ما الذي سيحدث، إلا أن سلوك البرنامج يجب أن يكون محدّدًا وموثقًا. يتوقف البرنامج عندما يغادر دالة &#8220;main&#8221;. ألقِ نظرةً على البرنامج البسيط التالي الذي يحتوي على دالتَين:</p>
<p>&nbsp;</p>
<p><code>#include </code></p>
<p>/*<br />
* Tell the compiler that we intend<br />
* to use a function called show_message.<br />
* It has no arguments and returns no value<br />
* This is the &#8220;declaration&#8221;.<br />
*<br />
*/</p>
<p>void show_message(void);<br />
/*<br />
* Another function, but this includes the body of<br />
* the function. This is a &#8220;definition&#8221;.<br />
*/<br />
main(){<br />
int count;</p>
<p>count = 0;<br />
while(count &lt; 10){<br />
show_message();<br />
count = count + 1;<br />
}</p>
<p>return(0);<br />
}</p>
<p>/*<br />
* The body of the simple function.<br />
* This is now a &#8220;definition&#8221;.<br />
*/<br />
void show_message(void){<br />
printf(&#8220;hello\n&#8221;);<br />
}</p>
<h2>شرح تمرين 1.1</h2>
<h3>ما الذي احتواه التمرين السابق؟</h3>
<p>يمكن لمثال صغير جدًا أن يقدِّم لك الكثير عن لغة سي، إذ احتوى التمرين السابق على دالتين وتعليمة <code>include#</code>، وبعض <strong>التعليقات</strong>، بالإضافة لأشياء أخرى، وبما أنّ التعليق هو أبسط الأجزاء في البرنامج دعونا نبدأ به.</p>
<h3>التنسيق والتعليق</h3>
<p>تخطيط برنامج مكتوب بلغة سي ليس مهمًّا للمصرف، ولكنه هام لنقل بعض المعلومات عن البرنامج للقارئ البشري ولتسهيل عملية قراءته، إذ تسمح لك لغة سي باستخدام محرف المسافة space ومسافات الجدولة tabs والسطور الجديدة newline دون أن تؤثر على عمل البرنامج. تُدعى المحارف الثلاث المذكور سابقًا باسم <strong>المسافة الفارغة white space</strong>، ولا يميّز بينها المصرّف لأنها ببساطة تغير من موضع الكلمات دون التأثير &#8220;مرئيًّا&#8221; على ما يُعرض على جهاز الخرج. يمكن أن نلاحظ المسافة البيضاء في أي مكان من البرنامج عدا وسط <strong>المعرّفات Identifiers</strong> و<strong>السلاسل النصية Strings</strong> و<strong>المحارف الثابتة Character constants</strong>؛ إذ نقصد بالمعرفات هنا اسم الدالة أو كائن Object آخر، لا تشغل بالك بالسلاسل النصية والمحارف الثابتة إذ سنناقشها في الفصول القادمة.</p>
<p>يُعد الفصل بين شيئين مختلفين من الحالات التي يصبح فيها استخدام المسافات الفارغة ضروريًّا، إذ قد يتسبب تلاصقهما بتفسيرهما شيئًا آخر، مثل الجزء <code>void show_message</code>، إذ نحتاج لمسافة فارغة للفصل بين الكلمتين <code>void</code> و<code>show_message</code>، لكن احتواء <code>)show_message</code> على مسافة بيضاء بينها وبين القوس المفتوح غير ضروري، ووجودها مجرّد أسلوب تنسيقي في كتابة الشيفرة لا أكثر.</p>
<p>يبدأ التعليق في لغة C باستخدام المحرفين &#8220;*/&#8221; المتلاصقين دون أي فراغ بينهما، ويُعد أي شيء يأتي بعدهما إضافةً للمحرفين &#8220;/*&#8221; مسافةً فارغةً واحدة. لم يكن الأمر مماثلًا في معيار سي القديم، إذ كانت تنص القاعدة على إمكانية استخدام التعليق في أي مكان يمكن أن تُستخدم فيه المسافة الفارغة، أما الآن يُعد التعليق بحد ذاته مسافةً فارغة؛ التغيير الحاصل طفيف وستكون الأمور أكثر وضوحًا في جزئية لاحقة من هذه السلسلة عندما نناقش <strong>المعالج المُسبق preprocessor</strong>. يجعل تنسيق تعليقات لغة سي بهذا الشكل تضمين تعليق بداخل تعليق آخر غير ممكنٍ، نظرًا لإغلاق أول زوج محارف &#8220;*/&#8221; في التعليق الثاني كتلة التعليق، وهذا إزعاجٌ بسيط ستعتاد عليه لاحقًا.</p>
<p>من الممارسات الشائعة وضع زوج المحارف &#8220;*/&#8221; في بداية كل سطر من تعليق متعدد الأسطر لإبراز كلّ منهم، كما هو موضحٌ في مثالنا السابق.</p>
<h3>تعليمات المعالج المسبق</h3>
<p>التعليمة الأولى في مثالنا السابق هي <strong>موجّه للمعالج المُسبق Preprocessor directive</strong>، إذ تضمَّن مصرّف لغة سي سابقًا مرحلتين، هما <strong>المعالجة المُسبقة</strong> ومرحلة التصريف الاعتيادية؛ إذ تمثّل المعالجة المُسبقة <strong>معالج ماكرو macro processor</strong> تجري بعض عمليات التلاعب النصي البسيطة على البرنامج قبل أن تمرّر النص الناتج إلى المصرّف، وقد أصبحت عملية المعالجة المسبقة جزءًا أساسيًّا من عمل المصرّف ولهذا تُعد جزءًا لا يتجزّأ من اللغة.</p>
<p>على الرغم من أن لغة سي حساسة لما يقع في نهاية الأسطر إلا أن عملية المعالجة المسبقة تلاحظ الأسطر فقط، ومع ذلك من الممكن كتابة موجّه معالجة مسبقة متعدد الأسطر، ولكنه غير شائع، وستشعر بالغرابة عندما تجد هذه الطريقة متبعة. يُعد أي سطرٍ يبدأ بالمحرف # توجيهًا للمعالج المسبق.</p>
<p>في التمرين 1.1 يؤدي موجّه المعالجة المسبقة <code>include#</code> إلى تبديل السطر هذا بمحتويات ملف آخر، وفي هذه الحالة اسم الملف يوجد ما بين القوسين <code>&lt;</code> و<code>&gt;</code>، وهذه طريقة شائعة لتضمين محتوى <strong>ملفات الترويسات Header files</strong> القياسية ضمن برنامجك، دون الاضطرار لكتابتها بنفسك. يحتوي ملف <code>&lt;stdio.h&gt;</code> المهم العديد من المعلومات الضرورية التي تسمح لك باستخدام مكتبة الدخل والخرج القياسية، بهدف الحصول على الدخل وإظهار الخرج، فإذا أردت استخدام هذه المكتبة عليك أن <strong>تتأكد</strong> من وجود <code>&lt;stdio.h&gt;</code>. كان معيار سي السابق متساهلًا أكثر بهذا الشأن.</p>
<h4>تعليمات التعريف Define</h4>
<p>تُعد تعليمة <code>define#</code> من الإمكانيات الأخرى والمستخدمة كثيرًا للمُعالج المُسبق، إذ تُستخدم على النحو التالي:</p>
<pre class="ipsCode prettyprint lang-c prettyprinted"><span class="com"><code>#define</code></span><span class="pln"> IDENTIFIER replacement تعني التعليمة السابقة أنه على المعالج المُسبق استبدال جميع الكلمات المطابقة إلى <code>IDENTIFIER</code> بالكلمة <code>replacement</code> عند جميع نقاط ورودها ضمن البرنامج. يُكتب دائمًا المعرِّف بأحرف كبيرة IDENTIFIER، وهذا اصطلاحٌ برمجي يساعد قارئ الشيفرة على فهمها، أما الجزء المُبدّل به replacement فقد يكون أي سلسلة نصية. تذكر أن المعالج المسبق لا يعرف قواعد لغة سي، إذ أن مهمته هي التلاعب النصي فقط. يكون الاستخدام الأكثر شيوعًا لهذه التعليمة هو التصريح Declare عن أسماء القيم العددية الثابتة كما هو موضح فيما يلي: </span></pre>
<pre id="ips_uid_5703_13" class="ipsCode prettyprint lang-c prettyprinted"><span class="com">#define</span><span class="pln"> PI             </span><span class="lit">3.141592</span>
<span class="com">#define</span><span class="pln"> SECS_PER_MIN   </span><span class="lit">60</span>
<span class="com">#define</span><span class="pln"> MINS_PER_HOUR  </span><span class="lit">60</span>
<span class="com">#define</span><span class="pln"> HOURS_PER_DAY  </span><span class="lit">24</span></pre>
<p>واستخدام القيم على النحو التالي:</p>
<pre id="ips_uid_5703_15" class="ipsCode prettyprint lang-c prettyprinted"><span class="pln">circumf </span><span class="pun">=</span> <span class="lit">2</span><span class="pun">*</span><span class="pln">PI</span><span class="pun">*</span><span class="pln">radius</span><span class="pun">;</span>
<span class="kwd">if</span><span class="pun">(</span><span class="pln">timer </span><span class="pun">&gt;=</span><span class="pln"> SECS_PER_MIN</span><span class="pun">){</span><span class="pln">
mins </span><span class="pun">=</span><span class="pln"> mins</span><span class="pun">+</span><span class="lit">1</span><span class="pun">;</span><span class="pln">
        timer </span><span class="pun">=</span><span class="pln"> timer </span><span class="pun">-</span><span class="pln"> SECS_PER_MIN</span><span class="pun">;</span>
<span class="pun">}</span></pre>
<p>سيكون الخرج الناتج عن المعالج المُسبق مماثلًا فيما لو كتبت الشيفرة التالية:</p>
<pre id="ips_uid_5703_17" class="ipsCode prettyprint lang-c prettyprinted"><span class="pln">circumf </span><span class="pun">=</span> <span class="lit">2</span><span class="pun">*</span><span class="lit">3.141592</span><span class="pun">*</span><span class="pln">radius</span><span class="pun">;</span>
<span class="kwd">if</span><span class="pun">(</span><span class="pln">timer </span><span class="pun">&gt;=</span> <span class="lit">60</span><span class="pun">){</span><span class="pln">
        mins </span><span class="pun">=</span><span class="pln"> mins</span><span class="pun">+</span><span class="lit">1</span><span class="pun">;</span><span class="pln">
       timer </span><span class="pun">=</span><span class="pln"> timer </span><span class="pun">-</span> <span class="lit">60</span><span class="pun">;</span>
<span class="pun">}</span></pre>
<p>أخيرًا، نستطيع تلخيص ما سبق على النحو التالي:</p>
<ul>
<li>تتعامل تعليمات المعالج المُسبق مع الملفات النصية سطرًا بسطر، على نقيض لغة سي.</li>
<li>تُستخدم التعليمات من النوع <code>include#</code> لقراءة محتوًى من ملفٍ معين، عادةً لتسهيل التعامل مع دوال مكتبةٍ ما.</li>
<li>تُستخدم تعليمات <code>define#</code> لتسمية الثوابت، وتُكتب الأسماء اصطلاحًا بحروفٍ كبيرة.</li>
</ul>
<h2>تعريف وتصريح الدالة</h2>
<h3>التصريح</h3>
<p>نلاحظ وجود ما يُسمى <strong>تصريح الدالة function declaration</strong> بعد تضمين ملف <code>&lt;stdio.h&gt;</code>، الذي يخبر المصرّف أن <code>show_message</code> دالة لا تأخذ أي وسيط ولا تُعيد أي قيمة، ويوضح لنا هذا تغييرًا جرى على المعيار، ألا وهو <strong>النموذج الأولي للدالة function prototype</strong>، وسنناقش هذا الموضوع بتوسّع لاحقًا. ليس من الضروري التصريح عن الدالة مسبقًا، إذ ستستخدم لغة سي بعض القواعد القديمة الافتراضية في هذه الحالة، إلا أنه ينصح بشدة التصريح عن الدالة في البداية.</p>
<p>الفرق بين <strong>التصريح</strong> و<strong>التعريف</strong> هو أن التصريح يصف نوع الدالة والوسطاء المُمرّرة له، بينما يحتوي التعريف على بنية الدالة بالكامل. سيهمّنا فهم الفرق بين المصطلحين لاحقًا.</p>
<p>يستطيع المصرّف تفقد استعمال الدالة <code>show_message</code> فيما إذا كان صحيحًا أم لا بالتصريح المُسبق عنها قبل استخدامها، ويصف التصريح ثلاث خصائص عن الدالة، هي: اسمها ونوعها وعدد الوسطاء ونوعهم؛ إذ يشير الجزء <code>)void show_message</code> إلى نوع الدالة والقيمة التي تُعيدها بعد استدعائها وهي <code>void</code> (سنناقش معناها لاحقًا). نستطيع رؤية الاستخدام الثاني لكلمة <code>void</code> في قائمة الوسطاء للدالة <code>(void)</code>، والذي يعني أن الدالة لا تقبل أي وسطاء.</p>
<h3>التعريف</h3>
<p>تلاحظ في نهاية البرنامج تعريف الدالة، وبالرغم من أنّ أن طولها ثلاث أسطر فقط، إلا أنها تُعد مثالًا على تعريف دالة متكامل.</p>
<p>تنفِّذ دوال لغة سي المهام التي قد تقسِّمها بعض اللغات الأخرى إلى جزأين، إذ تستخدم لغات البرمجة الدوال لإعادة قيمةٍ ما، مثل دالة الجيب المثلثي <code>sin</code> وجيب التمام <code>cos</code> أو ربما دالة تُعيد الجذر التربيعي لعددٍ ما، وهذه الطريقة التي تعمل بها دوالّ لغة سي، بينما تجري بعض لغات البرمجة هذه العملية باستخدام ما يشبه الدوال ولكن الفرق هنا هو عدم إعادة القيمة، مثل استخدام فورتران للبرامج الفرعية واستخدام باسكال وألغول للإجراءات. تنجز لغة سي كل هذه المهام باستخدام الدوال عن طريق تحديد <strong>نوع</strong> القيمة المُعادة عند التصريح عن الدالة، ولا تُعيد الدالة <code>show_message</code> أي قيمة، لذلك نوعها <code>void</code>.</p>
<p>إما أن يكون استخدام القيمة <code>void</code> بديهيًّا لك، أو صعب الفهم حسب الطريقة التي تنظر لها للأمر. ففي الحقيقة، يمكننا الدخول في نقاشات فلسفيّة جانبية وغير مثمرة عن كون <code>void</code> يصف نوع قيمةٍ أو لا، لكن أفضل تجنب ذلك. بغض النظر عن رأيك، استخدام النوع <code>void</code> التي تعني: &#8220;أنا لا أهتم بأي قيمة ترجعها هذه الدالة (أو لا ترجعها)&#8221;.</p>
<p>إذًا، نوع الدالة هو <code>void</code> واسمها <code>show_message</code>، أما القوسان <code>()</code> اللذان يتبعان هذه المعلومات، فهما لتنبيه المصرّف أننا نقصد التعريف، أو التصريح عن دالة. إذا كانت الدالة تقبل أي وسيط، فيجب وضع اسمه داخل القوسين. الدالة التي نتكلم عليها في مثالنا لا تأخذ أي وسطاء وهذا الأمر موضّح عن طريق استعمال الكلمة <code>void</code> بداخل القوسين. وبالتالي اتّضح أن للكلمة التي تصف الفراغ والرفض أهميّةٌ بالغة.</p>
<p>يشكّل متن الدالة <strong>تعليمة مركبة compound statement</strong>، وهي مجموعةٌ من التعليمات المُحاطة بأقواس معقوصة <code>{}</code>، على الرغم من وجود تعليمة واحدة فقط إلا أن الأقواس مطلوبة، وعمومًا، تسمح لك لغة سي باستخدام تعليمة مركبة في أي مكان تسمح به عادةً باستخدام تعليمة واحدة بسيطة، وتهدف الأقواس المعقوصة لتحويل عدة تعليمات متتالية إلى تعليمة واحدة.</p>
<p>إذا سألت السؤال المبرَّر &#8220;هل يتوجب استخدام الأقواس المعقوصة في كل مكان، إذا كان الهدف منها جمع عدّة تعليمات لتعليمة واحدة؟&#8221; الإجابة: نعم، <strong>عليك</strong> استخدام الأقواس المعقوصة، والمكان الوحيد الذي لا تستطيع فيه استخدام تعليمة واحدة عوضًا عن تعليمة مركبة هو عند تعريف دالةٍ ما. بالتالي، أبسط دالة يمكننا إنشاؤها هي دالةٌ فارغة، لا تفعل أي عملٍ إطلاقًا:</p>
<pre id="ips_uid_5703_19" class="ipsCode prettyprint lang-c prettyprinted"><span class="kwd">void</span><span class="pln"> do_nothing</span><span class="pun">(</span><span class="kwd">void</span><span class="pun">){}</span></pre>
<p>التعليمة الموجودة بداخل دالة <code>show_message</code> هي استدعاءٌ لدالةٍ من مكتبة <code>printf</code>، إذ تُستخدم هذه الدالة لتنسيق وطباعة الأشياء، والاستخدام الموجود في المثال هو أبسط استخدامات هذه الدالة. تقبل الدالة <code>printf</code> وسيطًا واحدًا أو أكثر، التي تُمرَّر قيمهم من استدعاء الدالة إلى الدالة نفسها، في مثالنا هذا، الوسيط هو <strong>السلسلة النصية</strong>. يُفسّر محتوى السلسلة النصية من الدالة <code>printf</code> وتتحكم الدالة بطريقة عرض الخرج حسب الوسطاء الممرّرة له، يماثل عمل الدالة عمل تعليمة <code>FORMAT</code> في فورتران إلى حدٍّ ما.</p>
<p>خُلاصة القول:</p>
<ul>
<li>تُستخدم <strong>التصريحات</strong> في التصريح عن اسم الدالة ونوع القيمة المُعادة ونوع قيم الوسطاء إن وُجدت.</li>
<li><strong>تعريف</strong> الدالة هي تصريح للدالة مع محتواها أيضًا.</li>
<li>يُصرَّح عن الدالة التي لا تعيد أي قيمة باستخدام الكلمة <code>void</code>، على سبيل المثال:</li>
</ul>
<pre id="ips_uid_5703_22" class="ipsCode prettyprint lang-c prettyprinted"><span class="pun">;</span><span class="kwd">void</span><span class="pln"> func</span><span class="pun">(</span><span class="com">/* list of arguments */</span><span class="pun">)</span></pre>
<ul>
<li>يجب أن يصرّح عن الدالة التي لا تأخذ أي وسيط باستخدام الكلمة <code>void</code> ضمن لائحة الوسطاء، على سبيل المثال:</li>
</ul>
<pre id="ips_uid_5703_24" class="ipsCode prettyprint lang-c prettyprinted"><span class="pun">;</span><span class="kwd">void</span><span class="pln"> func</span><span class="pun">(</span><span class="kwd">void</span><span class="pun">)</span></pre>
<h3>السلاسل النصية</h3>
<p>تُعرَّف السلاسل النصية في لغة سي بأنها سلسلة من المحارف المحتواة داخل علامتي تنصيص على النحو التالي:</p>
<pre id="ips_uid_5703_26" class="ipsCode prettyprint lang-c prettyprinted"><span class="str">"like this"</span></pre>
<p>من غير المسموح أن تشغر السلسلة النصية عدة أسطر، إذ تُعد عنصرًا واحدًا بصورةٍ مشابهة للمعرفات. إلا أنه من الممكن استخدام محرفَي المسافة ومسافة الجدولة داخل السلسلة النصية. يوضح المثال أدناه سلسلةً نصيّةً صالحةً وأخرى غير صالحة في السطرين الثاني والثالث:</p>
<pre id="ips_uid_5703_28" class="ipsCode prettyprint lang-c prettyprinted"><span class="str">"This is a valid string"</span>
<span class="str">"</span><span class="typ">This</span><span class="pln"> has a newline in it
and is NOT a valid string</span><span class="str">"</span></pre>
<p>يمكنك الحصول على سلسلة نصية طويلة جدًا بالاستفادة من حقيقة أن المحرف &#8220;\&#8221; في نهاية السطر يختفي تمامًا ضمن برنامج سي عند التنفيذ:</p>
<pre id="ips_uid_5703_30" class="ipsCode prettyprint lang-c prettyprinted"><span class="str">"</span><span class="typ">This</span><span class="pln"> would not be valid but doesn</span><span class="str">'</span><span class="pln">t have \
a newline in it as far as the compiler is concerned</span><span class="str">"</span></pre>
<p>الحل الثاني هو باستخدام ميّزة ضم السلاسل النصية، التي تنظر لكل سلسلتين نصيتين متجاورتين على أنهما سلسلةٌ نصيةٌ واحدة:</p>
<pre id="ips_uid_5703_32" class="ipsCode prettyprint lang-c prettyprinted"><span class="str">"All this "</span> <span class="str">"comes out as "</span>
<span class="str">"just one string"</span></pre>
<p>بالعودة للمثال 1.1، تُعد السلسلة النصية &#8220;n\&#8221; مثالًا على ما يُدعى <strong>محرف الهروب escape character</strong> ويمثّل في حالتنا هذه حالة إنشاء سطر جديد، وستطبع الدالة <code>printf</code> محتوى السلسلة النصية على ملف برنامج الخرج، بحيث سيكون الخرج &#8220;Hello&#8221; متبوعًا بسطرٍ جديد.</p>
<p>يسمح المعيار الجديد باستخدام <strong>المحارف ذات البايتات المتعدّدة multibyte characters</strong> لدعم الأشخاص العاملين ببيئة تستخدم مجموعة محارف أوسع من معيار آسكي ASCII الأميركي، مثل معيار Shift JIS المُستخدم في اليابان. يعرّف المعيار الجديد 96 محرفًا تمثِّل أبجدية لغة سي (المتطرّق لها في مقال أبجدية لغة C)، وفي حال كان نظامك يستخدم مجموعة محارف موسّعة extended، فسيكون المكان الوحيد الذي قد تستخدمها هو بداخل سلسلة نصية، أو متغيرات من نوع محرف، أو ضمن التعليقات وأسماء <strong>ملفات الترويسة Header files</strong>. ينبغي عليك تفقُّد ملفات توثيق نظامك إذا أردت استخدام ميزة دعم المحارف الموسّعة.</p>
<h3>دالة main</h3>
<p>يحتوي المثال 1.1 على دالتين، هما: دالة <code>show_message</code> ودالة <code>main</code>؛ فإذا صرفنا النظر عن طول دالة <code>main</code> موازنةً مع الدالة <code>show_message</code>، فسنلاحظ أن الدالتين مبنيتان بالشكل نفسه، إذ تحتوي كلا الدالتين على اسمٍ وقوسين <code>()</code> متبوعين بقوس معقوص، وتعليمةٍ مركبة محتواة داخل القوسين المعقوصين تتبٍّع تعريف الدالة. على الرغم من أن الدالة المركبة مختلفةٌ عن الدالة الأخرى، إلا أنك ستجد قوس الإغلاق المعقوص نفسه <code>{</code> الذي يتماشى مع القوس الأول <code>}</code>.</p>
<p>يُعد هذا المثال دالةً حقيقيّةً يمكن استخدامها في التطبيقات الواقعية، إذ تحتوي على عدة تعليمات ضمن متن الدالة بدلًا من تعليمة واحدة في الدالة السابقة، ولربما لاحظت أيضًا أن الدالة غير مصرّح عنها باستخدام الكلمة <code>void</code>، لأن الدالة في الحقيقة تمرّر قيمة معينة، ولكننا سنتكلم عنها لاحقًا.</p>
<p>الشيء المميز بخصوص دالة <code>main</code> هو كونها أول دالة تُستدعى عند تنفيذ البرنامج في بيئة مستضافة، إذ تستدعي لغة سي الدالة <code>main</code> أوّلًا عند تشغيل البرنامج، وهذا هو السبب في تسمية الدالة بهذا الاسم (main تعني رئيس)، وعلى هذا فهي دالة هامة، ولكن محتوى الدالة هام بقدر مساوٍ، وكما ذكرنا سابقًا يمكن أن تحتوي الدالة على عدّة تعليمات بداخل التعليمة المركبة، دعونا نأخذ نظرة على هذه التعليمات.</p>
<h3>التصريح</h3>
<p>التعليمة الأولى هي:</p>
<pre id="ips_uid_5703_34" class="ipsCode prettyprint lang-c prettyprinted"><span class="typ">int</span><span class="pln"> count</span><span class="pun">;</span></pre>
<p>وهي ليست تعليمة لتنفيذ أمرٍ ما، بل تعلن عن متغيرٍ جديد ضمن البرنامج، واسمه <code>count</code> من نوع &#8220;عدد صحيح integer&#8221; والكلمة التي تحدد هذا النوع من المتغيرات ضمن برنامج سي مُختصرة إلى الكلمة <code>int</code>. لا تدل جميع أسماء أنواع المتغيرات على نوعها بوضوح في لغة سي، إذ يُستخدم اسم نوع المتغير في بعض الأحيان مثل كلمةٍ مفتاحية مختصرة وفي أحيان أخرى يُكتب كاملًا. لحسن الحظ يمكن تخمين نوع البيانات للكلمة <code>int</code> بقراءتها.</p>
<p>بفضل هذه التعليمة، يعلم المصرّف الآن أن هناك متغيّرًا باسم <code>count</code> لتخزين قيم الأعداد الصحيحة. يجب التصريح عن جميع المتغيرات قبل استخدامها في لغة سي، على نقيض لغة FORTRAN، التي يجب أن يأتي التصريح قبل استخدام المتغير ضمن أي تعليمة.</p>
<blockquote id="ips_uid_2165_4" class="ipsQuote" data-ipsquote="">
<div class="ipsQuote_contents ipsClearfix" data-ipstruncate="true" data-ipstruncate-type="hide" data-ipstruncate-size="7 lines" data-ipstruncate-expandtext="أظهر المزيد">
<p><strong>ملاحظة:</strong> يُعد التصريح عن المتغير <code>count</code> <strong>تعريفًا</strong> عنه في ذات الوقت، وسنناقش الفرق بين الاثنين وسنلاحظ أن الفرق مهم.</p>
</div>
</blockquote>
<h3>تعليمة الإسناد</h3>
<p>بالانتقال إلى السطور التالية، نلاحظ <strong>تعليمة الإسناد assignment statement</strong>، وهي التعليمة التي أسندت أول قيمة للمتغير <code>count</code> (القيمة هي صفر في حالتنا هذه). كانت قيمة المتغير <code>count</code> قبل تعليمة الإسناد غير معرّفة undefined وغير آمنة الاستخدام، وربما تتفاجئ بحقيقة أن رمز الإسناد -أي <strong>عامل الإسناد assignment operator</strong>&#8211; يُمثَّل بإشارة مساواة واحدة <code>=</code>، وهذا التمثيل مستخدمٌ في معظم لغات البرمجة الحديثة، ولكنه ليس بمشكلة كبيرة.</p>
<p>إذًا، بالوصول لهذه النقطة في برنامجنا نكون قد صرّحنا عن متغير وأسندنا له قيمة الصفر، ماذا بعد؟</p>
<h3>تعليمة الحلقة التكرارية While</h3>
<p>سنتكلم عن واحدة من تعليمات التحكم بالحلقات، ألا وهي تعليمة <code>while</code> لنلقي نظرةً على شكلها العام:</p>
<pre id="ips_uid_5703_36" class="ipsCode prettyprint lang-c prettyprinted"><span class="kwd">while</span><span class="pun">(</span><span class="pln">expression</span><span class="pun">)</span><span class="pln">
        statement</span></pre>
<p>هل هذا كل ما هنالك؟ نعم، هذه بنية تعليمة <code>while</code>، الجزء التالي في مثالنا هو:</p>
<pre id="ips_uid_5703_38" class="ipsCode prettyprint lang-c prettyprinted"><span class="pln">count </span><span class="pun">&lt;</span> <span class="lit">10</span></pre>
<p>ويدعى باسم <strong>التعبير العلائقي relational expression</strong>، وهو مثال عن إحدى التعبيرات الصالحة الممكن استخدامها في جملة الحلقة التكرارية -مكان <code>expression</code>&#8211; ويُتبَع التعبير بتعليمة مركّبة، وهي مثال عن التعليمات الصالحة أيضًا الممكن استخدامها -مكان <code>statement</code>-. وهكذا، نستطيع تشكيل تعليمة <code>while</code> صحيحة.</p>
<p>إذا برمجت برنامجًا في السابق، فستلاحظ أن متن الحلقة سينفَّذ بصورةٍ متكررة طالما أن التعبير <code>count &lt; 10</code> صحيح؛ وإذا أردنا برمجة حلقةٍ منتهية، فعلينا كتابة تعليمة ما تتسبّب بجعل التعبير السابق خاطئًا في مرحلة من المراحل، وهذا موجود في مثالنا فعلًا.</p>
<p>هناك تعليمتان فقط داخل متن الحلقة، إذ تمثِّل الأولى استدعاءً لدالة <code>show_message</code> وتُكتب تعليمة استدعاء الدالة منتهيةً بقوسين <code>()</code> تحتويان ضمنهما لائحة الوسطاء؛ فإذا لم تحتوي الدالة على أي وسيط، نكتب قوسين فارغين؛ وإذا احتوت على وسيط أو عدة وسطاء نكتب ذلك ضمن القوسين على النحو التالي:</p>
<pre id="ips_uid_5703_40" class="ipsCode prettyprint lang-c prettyprinted"><span class="com">/* call a function with several arguments */</span><span class="pln">
function_name</span><span class="pun">(</span><span class="pln">first_arg</span><span class="pun">,</span><span class="pln"> second_arg</span><span class="pun">,</span><span class="pln"> third_arg</span><span class="pun">);</span></pre>
<p>استدعاء الدالة <code>printf</code> هو مثال آخر، وسنشرح المزيد عن هذا الموضوع في جزئية لاحقة من هذه السلسلة.</p>
<p>تمثّل التعليمة الأخيرة ضمن الحلقة تعليمة إسناد تضيف الرقم واحد إلى قيمة المتغير <code>count</code>، لكي نتوصل في نقطة ما إلى قيمة تجعل من التعبير الخاص بالحلقة خاطئًا.</p>
<h3>تعليمة الإعادة return</h3>
<p>التعليمة الأخيرة المتبقية في المثال هي تعليمة <code>return</code>، وتبدو للوهلة الأولى أنها استدعاءٌ لدالة ٍما، ولكن التعليمة تُكتب على النحو التالي:</p>
<pre id="ips_uid_5703_42" class="ipsCode prettyprint lang-c prettyprinted"><span class="kwd">return</span><span class="pln"> expression</span><span class="pun">;</span></pre>
<p>والتعبير <code>expression</code> اختياري، إذ يتبِّع مثالنا تنسيقًا شائعًا ألا وهو وضع التعبير ضمن قوسين، ولكن الأقواس غير ضرورية ولا تؤثر على عمل التعليمة.</p>
<p>تعيد تعليمة <code>return</code> قيمةً من الدالة الحالية الواقعة ضمنها إلى مستدعي caller الدالة؛ فإذا لم تُزوَّد التعليمة بالتعبير <code>expression</code> فستعاد قيمةٌ غير معروفة unknown إلى المستدعي، وهو أمرٌ خاطئ، عدا حالة إعادة <code>void</code>.</p>
<p>الدالة <code>main</code> غير مصرّح بنوع خاص بها على الإطلاق على عكس دالة <code>show_message</code>، فأيّ نوع من القيم تعيدها هذه الدالة؟ الإجابة هي <code>int</code>، إذ تفترض لغة سي نوع البيانات المُعاد <code>int</code> في حالة عدم تخصيص النوع بوضوح، لذا من الشائع أن تجد الدالة <code>main</code> مكتوبةً بهذه الطريقة:</p>
<pre id="ips_uid_5703_44" class="ipsCode prettyprint lang-c prettyprinted"><span class="typ">int</span><span class="pln"> main</span><span class="pun">(){</span></pre>
<p>وهو تعبير مماثل لما ورد في مثالنا، ويعطي النتائج نفسها، لكنك لا تستطيع استعمال هذه الميزة للحصول على نوع اعتيادي للمتغيرات بالطريقة نفسها، ويجب أن تصرِّح عن نوعها بوضوح.</p>
<p>لكن ما الذي تعني القيمة المُعادة من الدالة <code>main</code> وإلى أين تُرسل؟ كانت القيمة تُرسل إلى نظام التشغيل أو الجهة التي شغّلت البرنامج في لغة سي القديمة، وفي البيئات المشابهة لنظام يونيكس UNIX، كانت القيمة &#8220;0&#8221; تعني &#8220;نجاح&#8221; العملية، بينما يدلّ على &#8220;فشل&#8221; العملية أي رقم آخر (غالبًا &#8220;1-&#8220;). حافظ المعيار عند قدومه على هذا التقليد، إذ يدل &#8220;0&#8221; على التنفيذ الناجح للبرنامج، ولكن هذا <strong>لا يعني</strong> أن القيمة &#8220;0&#8221; تُمرّر إلى البيئة المُضيفة، بل تُمرّر القيمة المناسبة للدلالة على نجاح البرنامج ضمن هذا النظام. يسبب هذا الكثير من الالتباس، لذا قد تحبذ استخدام القيمتين المعرّفتين &#8220;EXIT_SUCCESS&#8221; و&#8221;EXIT_FAILURE&#8221; ضمن ملف الترويسة <code>&lt;stdlib.h&gt;</code>.</p>
<p>يماثل استخدام التعليمة <code>return</code> ضمن الدالة <code>main</code> استخدام الدالة <code>exit</code> مزوّدًا بالقيمة المُعادة وسيطًا، والفرق هنا أن الدالة <code>exit</code> قد تُستدعى من <strong>أي مكان</strong> ضمن البرنامج، وأن توقف البرنامج في النقطة التي استُدعيت فيها بعد إنجاز بعض العمليات النهائية. إذا أردت استخدام الدالة <code>exit</code>، <strong>يجب</strong> عليك تضمين ملف الترويسة <code>&lt;stdlib.h&gt;</code>، ومن هذه اللحظة فصاعدًا سنستخدم <code>exit</code> بدلًا من استخدام <code>return</code> ضمن الدالة <code>main</code>.</p>
<h2>الملخص</h2>
<p>تُعيد الدالة <code>main</code> قيمةً من نوع <code>int</code>.</p>
<p>يُماثل استخدام التعليمة <code>return</code> ضمن الدالة <code>main</code> استدعاء الدالة <code>exit</code>، الفرق هنا أنه من الممكن استدعاء <code>exit</code> في أي نقطة ضمن البرنامج.</p>
<p>إعادة القيمة 0 أو <code>EXIT_SUCCESS</code> يعني نجاح البرنامج، بينما تُعد أي قيمة أخرى فشلًا للبرنامج.</p>
<p>مع أنّ المثال المُناقش قصير، إلا أنه سمح لنا بمناقشة العديد من مزايا اللغة المهمة، وهي:</p>
<ul>
<li>بنية البرنامج Program structure.</li>
<li>التعليق Comment.</li>
<li>تضمين الملفات File inclusion.</li>
<li>تعريف الدوال Function definition.</li>
<li>التعليمات المركبة Compound statements.</li>
<li>استدعاء الدوال Function calling.</li>
<li>التصريح عن المتغيرات Variable declaration.</li>
<li>العمليات الحسابية Arithmetic.</li>
<li>الحلقات التكرارية Looping.</li>
</ul>
<p>لكننا طبعًا لم نناقش هذه المواضيع بتعمّق بعد.</p>
<p>The post <a href="https://arabic-themes.com/the-structure-of-a-program-written-in-c-and-some-principles/">بنية برنامج مكتوب بلغة C وبعض المبادئ</a> appeared first on <a href="https://arabic-themes.com">قوالب ووردبريس عربية</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://arabic-themes.com/the-structure-of-a-program-written-in-c-and-some-principles/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
