برای نصب دوباره درایور ها باید سیستم رادرحالت ایمین کنید. این روند بسته به فاکتورهای مختلف در ویندوز ۱۰ ، ۷ ، ۸ و.. سه حالت کلی دارد:
در این حالت کمپیوتر خود را ری استارت کنید و همزمان با فشردن و نگه داشتن کلید Shift دکمه استارت کمپیوتر را فشار دهید. حال روی گزینه Restart کلیک کنید. بعد از ری استارت شدن مسیر Troubleshoot > Advanced options > Startup settings > Restart را طی کنید. دوباره سیستمتان ری استارت می شود و این بار باید برای ورود به حالت ایمن یا Safe کلید F5 را فشار دهید.
اگر از قبل درایو ریکاوری ساخته اید پس شانس با شما همراه خواهد بود. سیستم خود را خاموش کنید و به درایو ریکاوری وصل شوید. در صفحه تنظیمات پیشرفته مسیر Troubleshoot > Advanced Options > Startup Settings > Restart را طی کنید. با این کار سیستم ری استارت می شود. بعد از ری استارت کلید F5 را بفشارید و سپس گزینه Safe Mode with Networking را انتخاب نمایید.
در این حالت برای دسترسی به سیستم باید ویندوز ۱۰ را نصب کنید. ویندوز ۱۰ را از سایت اصلی مایکروسافت دانلود کنید و آن را نصب نمایید. بدین منظور نیاز به فعال کردن بوت بایوس برای نصب ویندوز ۱۰ دارید. در صفحه نصب ویندوز روی Repair your computer کلیک کنید. حال مطابق با مراحل قبل مسیر Troubleshoot > Advanced Options > Startup Settings > Restart را طی کرده و بعد از فشردن F5 گزینه Safe Mode with Networking را انتخاب کنید.
از هر یک از سه حالت گفته شده که استفاده کنید اکنون در حالت ایمن یا Safe Mode قرار دارید. device manager را از بخش جستجو ویندوز وارد کنید و مشابه ترین نتیجه را انتخاب نمایید. از بخش Display adapters روی گزینه وسط راست کلیک کنید و Properties را انتخاب نمایید. حال وارد تب Driver شوید.
در صورتی که گزینه Roll Back Driver فعال بود روی آن کلیک کنید، یکی از دلایل موجود را انتخاب کنید و سپس روی Yes کلیک کنید. این کار شما را به درایور قبلی نصب شده بازمی گرداند. اگر این گزینه برای شما فعال نیست روی Uninstall کلیک کنید تا درایو به کلی حذف شود. ممکن است با این کار خطاهای عجیبی را نظیر رزولوشن متفاوت مشاهده کنید که در این صورت بهتر است به وب سایت سازنده درایو مراجعه کرده و مشکل خود را با پشتیبانی در میان بگذارید.
بعد از این کار در صورت کند شدن بخش های مختلف این مشکل را از طریق مطالعه علل و ترفند های کند شدن سرعت کامپیوتر و لپ تاپ برطرف کنید.
تجربیات و راه حل های تست شده خود را برای حل مشکل سیاه شدن صفحه دسکتاپ در هنگام بالا آمدن ویندوز با ما در میان بگذارید.
بهترین مطالب جدید و پر کاربرد در رشته سیستم معلوماتی از ما بخواهید. مطالب ما از جمله بخش سرور ،کلاینت ، متشکل از تمام تولسهای آن و مطالب جدید دنیای تکنولوژی را در خدمت تان قار میدهیم.
تعریف: د ډیتا اچول په ترتیب ډول په numerical ډول او یا په
alphabetic ډول دیته Sorting وایی
او مونږ هغه وخت sorting کوه چی کله ډیټا غیر منظم ډول وی
تر څو مونږ وکولای شوه ډیتا ته په اسانی ډول لاسرسی پیدا کړو او هفه access کړو.
د sorting برخی: sorting مختلفی برخی لری چی بعضی یه په لاندی ډول دی.
1 Ascending
2 Descending
3 Bauble Sort
4 Exchange sort
5 Marge sort
6 Selection sort
7 Built-in sorting routines
8 Alphabetic order sort
9 Sequential sort
10 Insertion Sorting
inrsion Sorting
هفه sorting دی چی اول لوړ قیمت پیدا کوه او وروسته بیا هغه ښی طرف ته انتقالوو تر هغه پوری چی ټول غټ حروف د array چپ طرف ته او کوچنی حروف د array ښی طرف ته انتقال شی.
1,10,2,9,مثال:
3,8,4,7,5,61 10 2 9 3 8 4 7 5 6
10 1 2 9 3 8 4 7 5 6
10 9 1 2 3 8 4 7 5 6
10 9 8 1 2 3 4 7 5 6
10 9 8 7 1 2 3 4 5 6
10 9 8 7 6 1 2 3 4 5
10 9 8 7 6 5 1 2 3 4
10 9 8 7 6 5 4 1 2 3
10 9 8 7 6 5 4 3 1 2
10 9 8 7 6 5 4 3 2 1
int[] array = {1,10,2,9,3,8,4,7,5,6};
System.out.print("Start : " );
for(int x = 0; x < array.length; x++) {
System.out.print( " " + array[x]);
}
System.out.println(" ");
for (int i=0; i < array.length-1; i++) {
for (int j = i+1; j
if(array[ i ] < array[ j ]) {
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
System.out.print("loop " + i + ": ");
for(int x = 0; x < array.length; x++) {
System.out.print( " " + array[x]);
}
System.out.println(" ");
}
}
}
Result:
Start : 1 10 2 9 3 8 4 7 5 6
loop 0: 10 1 2 9 3 8 4 7 5 6
loop 1: 10 9 1 2 3 8 4 7 5 6
loop 2: 10 9 8 1 2 3 4 7 5 6
loop 3: 10 9 8 7 1 2 3 4 5 6
loop 4: 10 9 8 7 6 1 2 3 4 5
loop 5: 10 9 8 7 6 5 1 2 3 4
loop 6: 10 9 8 7 6 5 4 1 2 3
loop 7: 10 9 8 7 6 5 4 3 1 2
loop 8: 10 9 8 7 6 5 4 3 2 1
Stock ديو شان item د Element يوه مجموعه ده. Stock په عمده ډول په موقتي ډول دډيټا دزخيره کولو لپاره استعماليږي. Stock دزياتره عصري کمپيوټرونو دعمليواساس دي. په stock کي Element ديوي لاري څخه داخليږي او همدارنګه ديوي لاري څخه وځي هم. چي دغه لاري ته Top ويل کيږي. همدارنګه Stock يو (LIFO) ډيټا سټرکچر دي .د(LIFO) څخه مطلب دادي چي کله Stock ته يو Element لومړي داخل شي تر ټولو وروستي هغه Element تري وځي .او يا که چيري يو Element ترټولو وروستي داخل شي تر ټولو لومړي وځي . (LIFO=Last in first out)
Stock Specification
Stock دوه خصوصيات لري
1. د Stock Definition دuser يا استعمالوونکي په واسطه کيږي. چي د Definition څخه مطلب دوي خبري دي.
· Max_Item:-چي داعه په Stock کي دitem شمير ښايي.
· Item Type:-چي داعه په Stock کي دموجوده Item قسم يا Type ښايي
2. Operation:-هغه عميلي دي چي په Stock باندي تر سره کيږي.
لکه:
ü Push
ü Pop
ü Is Empty
ü Is Full
ü And Etc.
ADT (Abstract Data type)
ADT د يو خلاصه يا لنډيز شکل د Data structure دي. يعني کوم تطبيق نه دي بلکي يو Logic دي چي عمومآ په ADT کي لاندي شيان راځي
· دديټا زخيره کول
· هغه عمليي چي په ډيټا باندي تر سره کيږي.
· او هعه علطي چي په داعو عمليو کي راځي
Stock ADT
څرنګه چي مخکي مو هم ولوستل چي ADT ديو شي په باره کي logic دي نو د Stock په ADT کي لاندي شيان وجود لري
ü د Stock ADT احتياري object زخيره کوي
ü همدارنکه هغه insertion او Deletion چي په LIFO کي ترسره کيږي.
ü همدارنګه هغه عمده عمليي چي په Stock باندي تر سره کيږي
چي عبارت دي له
1. Push :- هغه عمليه ده چي دهغي په واسطه موږ کولاي شو چي Stock ته يو Element وراضافه کړو لکه
2. Pop :- هغه عمليه ده چي دهعي په اساس د Stock څخه Element ختم کولائ شو لکه
Is Empty: - هغه عمليي ته ويل کيږي چي دهغي په اساس مونږ کولاي شو چي داوضح کړو چي Stock خالي دي او که ډک دي که چيري حالي وي نو نيجه کي True راکوي او که چيري تش وي نو نتيجه يي False کيږي.
Is Full: - هغه عميله ده چي دهغي په واسطه موږ کولاي شو چي وښايو چي Stock ډک دي او کنه که چيري ډک وي نو نتيجه يي True کيږي او که ډک نه وي نو نتيجه يي Falls کيږي.
Size:- هغه عمليه ده چي دهغي په واسطه موږ کولاي شو چي په stock کي د Element شمير معلوم کړو.
LIFO Principle
هغه اصول او قواعد چي دهعي په اسا س Element په داسي دول زخيره کيږي چي کوم Element چي لومړي داخل شي نو هغه تر ټولو وروسته د Stock څخه خارج کيږي. او کوم Element چي تر ټولو وروسته داخل شي تر ټولو مخکي ووځي.
Stock interface in Java
په Java کي د Stock انټرفيس په ADT پوري اړه لري.همدارنګه دکلاس په Definition پوري هم اړه لري.چي د Java د کلاس څخه فرق لري.
Public interface Stack
public integer size ();
Public Boolean is Empty ();
Public E top
Through Empty Stock Exception;
Public void push (E element);
Public E Pop ()
Throws empty stock exception;
}
لیکوونکی رازق محمد اتل
د يو جوا پروګرام د لیکلو لپاره لاندې مرحلې سر ته رسيږي .
۱: Design
۲:Pseudo code
۳:Code
۴:Testing and Debugging
۵:Maintenance
مونږ لاندې هره مرحله په لنډ ډول تشریح کوو.
۱:Design
دې ډیزاین مرحله تر ټولو مهمه مرحله ده ، ځکه چه په دغه مرحله کې مونږ پریکړه کوو چه څرنګه د پروګرام کارونه په کلاسونو تقسیم کړو، مونږ پریکړه کووچه څنګه دغه کلاسونه یو د بل سره ارتباط کوي ، کومه ډیټا څنګه ذخیره کوي او کوم کارونه سر ته راسوۍ،په حقیقت کې غټ چيلنج د پروګرامانو لپاره همدا دې کلاسونو معلومول دي، حال دا چه عمومي تشریح په سختی سره منځ ته راځي،د کلاسونو معلومولو لپاره عام قواعد ټاکل شوي دي چه هغه مونږ تطبیق کولی شو.
· Responsibilities: کار په مختلفو اداکارانو ویشل کیږي،چه هر یو مختلف مسولیتونه لري.د مسولیتونه د تشریح لپاره باید د کار تر سره کولو فعل وکارول شي.
· Independence:څومره چه ممکن وي باید د یو کلاس کار د بل کلاس په کار پورې تړل شوی نه وي.د کلاسونه تر منځ تقسیم شوي مسولیتونه دوی ته د پروګرام په ځینو بر خو کې خپلواکي ورپه برخه کوي.
· Behaviors: همدارنګه د یو کلاس په واسطه ترسره شوی کار سلسله د بل کلاس، چه ارتباط ورسره لري ، ښه پوهیدلی شي، د هر کلاس کړه وړه باید کټ مټ وي.د کړو وړو مجموعه کله کله پروتوکول ته راجع کیږي ځکه چه مونږ د کلاسونوڅخه طمعه لرو چه د یو ارتباطي سیټ په هیڅ په یو ځاي کار ترسره کړي.
۲: Pseudo code
د پروګرامر څخه عموماً غوښتل کیږي چه یو داسې الګوریتم یا ګوډ وضع کړي چه هغه دې انسانانو دې سترګو لپاره د توجو وړ وي ، د دې په ځای چه اصل کوډ ولیکل شي.دغه ډول تشریح ته سوډو کوډ وایي.سوډو کوډ کوم د کمپیوټر پروګرام یا کوډ نه دی بلکه د طبعي ژبې او هاي لیول پروګرامينګ ژبې څخه جوړ شوی دی چه د ډیټا سټرکچر او الګورتیم دې تطبیق هغه اصلي هدف تشریح کوي. د سوډ کوډ لپاره کوم واضح تعریف نه شته خو به هر حال په طبعي ژبه ډیر تکیه دی.په عیني وخت کې د وضاحت لپاره سوډو کوډ د طبعي ژبې او معیاري پروګرامينګ سمبولونه باندې لیکل کیږي.د پروګرامینګ ژبې سمبولونه چه مونږ د سوډ ګوډ لپاره کاروؤ هغه د عصري پروګرامينګ ژبو کې ثابت دي لکه C++,C ,java.
If marks > 50 then
Print “Congratulation, you are passed!”
Else
Print “Sorry, you are failed!”
End if
What will be the output if marks are equal to 75?
۳:Coding
لکه څرنګه چه پاس ذکر شول چې په پروګرامينګ ژبو کې د ګوډ کولو اساسي مرحله د کلاسونو ،د ډیټا او ميتډونو دقیق تشریح کول دي.زیاتره پروګرامر خپل کوډ په کمپیوټر کې نه بلکې په CRC (Classes Responsibilities Collaborators )کارډ په واسطه خپل کوډ سرته رسوي.CRC یا index کارډ د پروګرام کار په برخو ویشي.کله چه مونږ کلاسونه او د دوی وظیفې سرته ورسوو، نو اوس کولی شو چه خپل ریښتینی کوډ په کمپیوټر کې تر سره کړو.مونږپه پروکرام کې د کلاسونو لپاره د ریښتیني کوډ جوړولو لپاره خپلواک ټیکسټ ایډیټر لکه wordpad,emacs, ،vi او یا ایډیټر په IDE(Integrated development environment) کې دننه کوو لکه Eclipse یا Jbuildr .
Public class Facts
{
Public static void main (String [] args)
{
// Strings can be concatenated into one long string
System.out.println ("We present the following facts for your "
+ "extracurricular edification :");
System.out.println ();
// A string can contain numeric digits
System.out.println ("Letters in the Hawaiian alphabet: 12");
// A numeric value can be concatenated to a string
System.out.println ("Dialing code for Antarctica: " + 672);
System.out.println ("Year in which Leonardo da Vinci invented”
+ "the parachute: " + 1515);
System.out.println ("Speed of ketchup: " + 40 + " km per year");
}
}
۴:Testing and Debugging
ټیسټنګ د پروګرام درست والي دې چیک کولو مرحله ده ,همدارنګه ډيبګنګ بیا د پروګرام د اجرا کیدو او په هغه کې د غلطیو پیدا کول دي.ټیسټنګ او ډیبګنګ تر ټول زیات وخت مصرفونکي فعالیتونه دي.
Testing
د پروګرام د لیکلو یا جوړولو لپاره احتیاطي ټیسټ يوه ډیره مهمه برخه ده.دپروګرام د درست والي دې تضمین په خاطر پروګرامر باید لګ تر لګه یو ځل ټول میتوډونه چیګ کړی شی.
مونږ د ټیسټنګ لپاره دوې طریقې لرو چې یوې ته يې top-down او یو ته یې bottom-up وویل کیږي چه یوازې په ترتیب کې له یو بل څخه مختلف دي.bottom-up ټیسټنګ کې ټیت لیول څخه پورته میتوډ کارول کیږي او په top-up کې له پورته لیول څخه ټیټ لیول ته ټیسټنګ کیږي.
Debugging
د پرو ګرام دی اجرا کیدو په وخت کی چی کوم غلتی را منځته کیږی دی ته Debugging وایی یا
ساده ډیبګنګ تخنیک ، د پروګرام د اجرا کیدو په وخت کې variable د قیمتونو د معلومولو لپاره (System.out.println(string)) او اوټ پوټ لپاره کاروي. معیاري جوا ټولز یو اساسي ډیبګر لري چه jdb په نوم یادیږي او کمانډ بيس باندې کار کوي. IDE بیا پرمخ تللی ګرفیک یوزر چاپیریال د ډیبګنګ لپاره وړاندې کوي.
۵:Maintenance
مینټیننس د ترتیب شوي فعالیتونو مجموعه ده او دې پروګرام د ښه فعالیت لپاره ساتل کیږي.
د میمټیننس وظیفه خو یا دې ترمیم کولو ده او یا بدولوو یعنې یو نوی فعلیت اضافه کول دي.
ایجاد فلش و کارت SD بوتیبل از ویندوز ، لینوکس و مک
function myFunction(a, b) {
return a * b;
}
myObject = myFunction.call(myObject, 10, 2); // return 20
و برای apply() :function myFunction(a, b) {
return a * b;
}
myArray = [10, 2];
myObject = myFunction.apply(myObject, myArray); // return 2
اگر دقت کنید هر دو متد، myObject رو به عنوان والدشون و پارامتر اول قرار دادن و تنها تفاوت این دو تابع در نحوهی ارسال آرگومان ها می باشد که در متد call به صورت آرگومانهایی تکی ارسال میشوند ولی در apply میتوان به صورت آریه ارسال کرد.var x = 10;
function f()
{
alert(this.x);
}
f();
در اینجا ما یک تابع gloabal داریم به نام f که درون این تابع کلمهی کلیدی this به مقدار x اشاره میکنه اما نکته اینجاست که ما به هیچ تابعی اشاره نمیکنیم و مقداری رو از میان آبجکتها فراخوانی نمیکنیم، پس رفرنس ما برای فراخوانی کدوم آبجکته؟ و چطور تشخیص میده که مقدار x رو از کجا فراخوانی کنه؟! بله درسته! gloabal object رفرنس ما خواهد بود و gloabal object مکانیه که ما x رو در اون تعریف کردیم. پس مقداری که در آخر برای ما نمایش داده شود مقدار 10 خواهد بود.var x = 10;
var o = { x: 15 };
function f()
{
alert(this.x);
}
f(); // ?
f.call(o); // ??
مطمئنا حدس زدید که جای علامت سوال اول مقدار 10 قرار خواهد گرفت چونکه رفرنس ما gloabal object میباشد.var x = 10;
var o = { x: 15 };
function f(message)
{
alert(message);
alert(this.x);
}
f("invoking f"); // invoking f 10
f.call(o, "invoking f via call"); // invoking f via call 15
متد apply دقیقا مانند متد Call عمل میکنه با این تفاوت که با استفاده از متد apply میتونیم مقداری رو به عنوان آرایه ارسال کنیم :var x = 10;
var o = { x: 15 };
function f(message)
{
alert(message);
alert(this.x);
}
f("invoking f");
f.apply(o, ["invoking f through apply"]);
مثالی پیچیده تر :var o = { x: 15 };
function f1(message1)
{
alert(message1 + this.x);
}
function f2(message1, message2)
{
alert(message1 + (this.x * this.x) + message2);
}
function g(object, func, args)
{
func.apply(object, args);
}
g(o, f1, ["the value of x = "]);
g(o, f2, ["the value of x squared = ", ". Wow!"]);
همانطور که در مثال بالا میبینید میشه گفت کمی کدها پیچیده شده و ما میتونیم به صورت فانکشنال و بهنه تر بنویسیم و به این صورت عمل میکنیم :function f(message)
{
for(var i = 1; i < arguments.length; i++)
{
message += arguments[i];
}
alert(message);
}
// this will say "Hello"
f("H", "e", "l", "l", "o");
همانطور که مشاهده میکنید با محاسبهی length آرگومانهایی که ارسال شده اند میتونیم برنامه رو به صورتی بهینه بنویسیم.var o = { x: 15 };
function f(message1, message2)
{
alert(message1 + (this.x * this.x) + message2);
}
function g(object, func)
{
// arguments[0] == object
// arguments[1] == func
var args = []; // empty array
// copy all other arguments we want to "pass through"
for(var i = 2; i < arguments.length; i++)
{
args.push(arguments[i]);
}
func.apply(object, args);
}
g(o, f, "The value of x squared = ", ". Wow!");
function myFunction(a, b) {
return a * b;
}
myObject = myFunction.call(myObject, 10, 2); // return 20
و برای apply() :function myFunction(a, b) {
return a * b;
}
myArray = [10, 2];
myObject = myFunction.apply(myObject, myArray); // return 2
اگر دقت کنید هر دو متد، myObject رو به عنوان والدشون و پارامتر اول قرار دادن و تنها تفاوت این دو تابع در نحوهی ارسال آرگومان ها می باشد که در متد call به صورت آرگومانهایی تکی ارسال میشوند ولی در apply میتوان به صورت آریه ارسال کرد.var x = 10;
function f()
{
alert(this.x);
}
f();
در اینجا ما یک تابع gloabal داریم به نام f که درون این تابع کلمهی کلیدی this به مقدار x اشاره میکنه اما نکته اینجاست که ما به هیچ تابعی اشاره نمیکنیم و مقداری رو از میان آبجکتها فراخوانی نمیکنیم، پس رفرنس ما برای فراخوانی کدوم آبجکته؟ و چطور تشخیص میده که مقدار x رو از کجا فراخوانی کنه؟! بله درسته! gloabal object رفرنس ما خواهد بود و gloabal object مکانیه که ما x رو در اون تعریف کردیم. پس مقداری که در آخر برای ما نمایش داده شود مقدار 10 خواهد بود.var x = 10;
var o = { x: 15 };
function f()
{
alert(this.x);
}
f(); // ?
f.call(o); // ??
مطمئنا حدس زدید که جای علامت سوال اول مقدار 10 قرار خواهد گرفت چونکه رفرنس ما gloabal object میباشد.var x = 10;
var o = { x: 15 };
function f(message)
{
alert(message);
alert(this.x);
}
f("invoking f"); // invoking f 10
f.call(o, "invoking f via call"); // invoking f via call 15
متد apply دقیقا مانند متد Call عمل میکنه با این تفاوت که با استفاده از متد apply میتونیم مقداری رو به عنوان آرایه ارسال کنیم :var x = 10;
var o = { x: 15 };
function f(message)
{
alert(message);
alert(this.x);
}
f("invoking f");
f.apply(o, ["invoking f through apply"]);
مثالی پیچیده تر :var o = { x: 15 };
function f1(message1)
{
alert(message1 + this.x);
}
function f2(message1, message2)
{
alert(message1 + (this.x * this.x) + message2);
}
function g(object, func, args)
{
func.apply(object, args);
}
g(o, f1, ["the value of x = "]);
g(o, f2, ["the value of x squared = ", ". Wow!"]);
همانطور که در مثال بالا میبینید میشه گفت کمی کدها پیچیده شده و ما میتونیم به صورت فانکشنال و بهنه تر بنویسیم و به این صورت عمل میکنیم :function f(message)
{
for(var i = 1; i < arguments.length; i++)
{
message += arguments[i];
}
alert(message);
}
// this will say "Hello"
f("H", "e", "l", "l", "o");
همانطور که مشاهده میکنید با محاسبهی length آرگومانهایی که ارسال شده اند میتونیم برنامه رو به صورتی بهینه بنویسیم.var o = { x: 15 };
function f(message1, message2)
{
alert(message1 + (this.x * this.x) + message2);
}
function g(object, func)
{
// arguments[0] == object
// arguments[1] == func
var args = []; // empty array
// copy all other arguments we want to "pass through"
for(var i = 2; i < arguments.length; i++)
{
args.push(arguments[i]);
}
func.apply(object, args);
}
g(o, f, "The value of x squared = ", ". Wow!");