Forum > Arabic

شاركـ ببرنامج

(1/5) > >>

pascal111:
قرأتُ في صغري في إحدى المجلات قول أحد المبرمجين المُحترفين حيث قال أنّ الطريق إلى إحتراف البرمجة يكون عن طريق برمجة البرامج القصيرة وبوفرة ،والظاهر أنّ هذه الطريقة تُكسب خبرة جيّدة في تعلم البرمجة إذ تُصادفكـ فكرة جديدة ومشكلة جديدة كلّ مرة في كل برنامج قصير بالإضافة إلى كونها وسيلة سريعة للتعلّم و الإرتقاء وهي تختلف عن برمجة البرامج الكاملة الطويلة ﻷنّ البرامج الطويلة رغم طولها إلّا أنّها قد لا تحتوي على تنوّع في المشاكل والأفكار التي تُساعد التعلّم وهذا لا يُغفِل قطعاً أهميّة برمجة البرامج الطويلة الكاملة والمشاريع ﻷنّها في النّهاية أحد أهداف البرمجة وليست بالطبع الهدف الوحيد.

من الأمور التي أُغرمت بها هو تحويل برامج لغة الـ BASIC الكلاسيكيّة إلى صورة البرمجة المرئيّة وذات المنطق ذي المستوى المرتفع مثلما في الـ Pascal وهذه الأعمال من ضمن الأعمال التي أود وأرغب مشاركة باقي الأعضاء بها وهذا الموضوع هنا مفتوح لكل الأعضاء الذين يودّون المشاركة بأي كود والغاية من ذلكـ أنّ هذه طريقة جيّدة للتعلّم ولتبادل الأفكار وباعتبار أنّني أنا شخصيّاً لستُ مُبرمجاً مُحترفاً فلا يحقّ لي أن أضع معايير مُرتفعة في الأكواد المسموح المشاركة بها هنا ولكن كلّ ما يراه أي عضو مفيداً لباقي زملائه فله مُطلق الحُريّة في مشاركتنا به ،يُمكنكـ أن تُشاركـ ولو بكود قصير حتّى يوضّح إستخدامات مُفيدة ﻷي مكون من مكونات اللغة أو أسلوب جديد أو حركة فنيّة مبدعة أو حتّى طريقة كلاسيكيّة بسيطة ولكنّكـ تراها مفيدة.

كذلكـ نُرحب جدّا بالتعليقات والإضافات من الأعضاء الآخرين لتعديل الأكواد وتطويرها للأفضل وإضافة الجديد.

pascal111:
كود بسيط نقلته ممّا يُكافؤه من برنامج BASIC من إحدى الكتب والفكرة هي كيفيّة التأكّد من أنّ القيمة المُدخلة عدد صحيح وليس بعدد حقيقي ،الفكرة بسيطة جدّاً ولكنّها ذكيّة ونافعة في بعض المواطن ولا أدري هل لدى الـ FreePascal طريقة جاهزة من أجل هذه النقطة أم لا.

المثال كاملاً في المرفقات.


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---procedure TForm1.Button1Click(Sender: TObject); var  err:integer;  x:real; begin   val(edit1.Text,x,err);   if err<>0 then  begin  showmessage('You entered incorrect numeric value!');  exit;  end;   if x=trunc(x) then  showmessage('You entred an integer value!')  else    showmessage('You entred a real value!'); end;                    

pascal111:
هذا كود لفكرة بسيطة أعجبتني وهي إنتقاء الأعداد الزوجيّة من مجموعة من الأعداد عن طريق الـ operator المدعو mod.

المثال كاملاً بالمُرفقات.



--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---procedure TForm1.FormCreate(Sender: TObject); var  c:integer; begin   new(i);   for c:=low(s) to high(s) do  begin     i^:=s[c];    if (i^ mod 2 = 0) then    memo1.Append(inttostr(i^));   end;   dispose(i); end;                    

pascal111:
هذا برنامج ساذج لجمع رقمين ولكن الجديد هنا هو استخدام المؤشرات بدلاً من المتغيرات العاديّة.


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---procedure TForm1.Button1Click(Sender: TObject); var   x,y,z:^real;  s:^string;  err:integer; begin   new(x);  new(y);  new(z);  new(s);   val(edit1.text,x^,err);  if err<>0 then  begin    showmessage('Incorrect numeric value is in 1st box!');    exit;  end;   val(edit2.text,y^,err);  if err<>0 then  begin    showmessage('Incorrect numeric value is in 2nd box!');    exit;  end;   z^:=x^+y^;  str(z^:6:2,s^);  edit3.Text:=s^;   dispose(x);  dispose(y);  dispose(z);  dispose(s);end;       

pascal111:
هذا برنامج بسيط كنموذج لعمل برمجة مرئيّة دون حد النموذج.


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---program project1; {$mode objfpc}{$H+} uses  interfaces,  {$IFDEF UNIX}{$IFDEF UseCThreads}  cthreads,  {$ENDIF}{$ENDIF}  Classes, Dialogs, sysutils  { you can add units after this }; var   x:real;  y:string;  err:integer; begin    repeat  y:=inputbox('Enter...','Enter correct numeric value:','');  val(y,x,err);  until (y<>'') and (err=0);   showmessage(floattostr(x)); end.  

Navigation

[0] Message Index

[#] Next page

Go to full version