[
a
1
,
a
1
+ b
1
𝟐
]
va [
a
1
+ b
1
𝟐
,
b
1
].
Ushbu kesmalar uchun ham yuqoridagi shart tekshiriladi va
[a
2
, b
2
] orqali
belgilanadi. Jarayon davom ettirilib, N marta takrorlanadi. Shunday qilib o‘zaro ichma-
ich joylashgan [a
1
, b
1
], [a
2
, b
2
] … [a
n-1
, b
n-1
] , [a
n
, b
n
] kesmalar ketma-ketligini hosil
qilamiz. Bularning har biri uchun :
f(a
n
)*f(b
n
)<0
va
b
n
–
a
n
=
1
2
n
(𝑏 − 𝑎)
munosabatlar
o‘rinli.
N – bo‘laklashlar soni va ԑ - yechimning aniqliligi (ԑ=
10
−3
%10
−4
) berilgan
bo‘lsa, ular orasidagi bog‘lanishquyidagicha :
𝟏
𝟐
𝑵
(𝒃 − 𝒂)
≤ ԑ
→
𝐥𝐨𝐠
𝟐
𝒃−𝒂
ԑ
≤ N .
Nyuton(Urinmalar) metodi
.
~ 211 ~
Vatarlar metodi.
Misol: x
3
-2x+2=0 (x
⋴
[-2, -1]) tenglamani mapleda yechganimizda
x=-1.769292354 natijaga ega bo‘lamiz. 3 ta metodda ham ham yechamiz va natijalarni
taqqoslaymiz. C++ dasturlash tilida dasturi quyidagicha:
Vatarlar metodi:
#include
using namespace std;
double f(double);
int main()
{ double a=-2,b=-1;
int N;
cout<<"N="; cin>>N;
double x[N+1];
if(f(a)>0) {
else {
x[0]=a;
for(int i=0;i<=N;i++)
x[i+1]=x[i]-f(x[i])*(b-x[i])/(f(b)-f(x[i]));
}
cout<<"x="<return 0;
}
double f(double x){
~ 212 ~
Kesmani teng ikkiga bo‘lish metodi:
Nyuton metodi:
Dasturni ishga tushirganimizda: Kesmani teng ikkiga bo‘lish
metodida
N=17
da
x=-1.76929 ,
Nyuton metodida
N=7
da
x=-
1.76929
, Vatarlar metodida
N=101
da
x=-1.79929
har xil
takrorlashlarda, bir xil
natijalarga erishdik.
Demak, Nyuton metodida
eng kam takrorlash amalga oshirilar ekan.
#include
using namespace std;
double f(double);
int main()
{ double a=-2, b=-1,ksi;
int N;
cout<<"N="; cin>>N;
for(int i=1;i<=N;i++){
ksi=(a+b)/2;
if(f(ksi)==0){
cout<<"x="<}
if(f(a)*f(ksi)<0) b=ksi;
if(f(ksi)*f(b)<0) a=ksi;
cout<<"a["<"<<"b["<}
cout<cout<<"x="<return 0;
}
double f(double x){
return x*x*x-2*x+2;
}
#include
using namespace std;
double f(double);
double f1(double);
int main()
{ double a=-2, b=-1;
int N;
cout<<"N="; cin>>N;
double x[N+1];
if(f(a)>0) x[0]=a; else x[0]=b;
for(int i=0;i<=N;i++){
x[i+1]=x[i]-f(x[i])/f1(x[i]);
cout<<"x["<}
return 0;
}
double f(double x){
return x*x*x-2*x+2;
}
double f1(double x){
return 3*x*x-2;
}
~ 213 ~
MURAKKAB VA UNUTILMAS PAROL O‘YLAB TOPISH TIZIMI
Bekqulov Safarmurod fizika-matematika fakulteti Informatika o‘qitish metodikasi
yo‘nalishi 4-bosqich talabasi.
Ilmiy rahbar: Umarzoda Shohruh Azamat o‘gli
O‘ylaymanki hech bir ijtimoiy tarmoq foydalanuvchisi uning email yoki
akkountini(Facebook, Odnoklassniki…) qora niyatli shaxslar buzib, ularning nomidan
spamlar tarqatishda foydalanganidan xursand bo‘lmaydi. Lekin bu hali eng qo‘rqinchlisi
emas, agar WebMoney yoki bank hisob raqami haqidagi ma’lumotlarga(passwordga)
ega bo‘lishsachi?!
Bunday holatlarning eng asosiy sababi, parollarni murakkab emasligida, masalan
eng ommalashgan parollar quyidagilardir: “123456”, “5555”, foydalanuvchining
tug‘ilgan kuni va boshqalar, eng achinarlisi foydalanuvchi har bir ro‘yhatdan o‘tgan
akountlarida yagona paroldan foydalanadi(
“bu barcha tuxumlarni bir savatda saqlash”
kabi ). Nega bunday parollarni tanlaymiz? Asosiy sabab inson xotirasiga borib taqaladi,
murakkab parollarini yodda saqlash juda qiyin.
Ho‘sh himoya darajasi yuqori bo‘lgan bir qancha(ko‘plab) parollarni qanday
yodda tutish mumkin?
Bu savol ilgari meni ham qiynar edi va men joriy holat uchun yechim topdim.
Hammamizga ma’lumki yuqori darajadagi himoyaga ega parol quyidagi talablarga
javob berishi kerak:
-
Belgi va raqamlarni o‘z ichiga olishi;
-
Belgilar katta va kichik registorda bo‘lishi;
-
10 ta belgidan kam bo‘lmasligi;
-
Foydalanuvchining
shaxsiy
ma’lumotlariga
aloqador
bo‘lmasligi
kerak(tug‘ilgan kun, pochta indeksi, telefon nomer va boshqalar)
Ha, albatta bunday parolni yaratish va uni yodda saqlash oson ish emas. Himoya
darajasi yuqori bo‘lgan parollarni(7UJrBFv{RO , p@’-FUQQ\’ , HeCp;bK2n%) yaratib
beruvchi bir talay porogrammalar mavjud, ammo bunday parollarni yodda tutish
ko‘pchiligimiz uchun uddalab bo‘lmas vazifa, agar bunday parollar bir qancha
bo‘lsachi?!
Demak, mening murakkab parollarni yaratish tizimim quyidagicha, agar siz yaqin
kunlarda o‘tqazilgan kiber sport o‘yinlarini yani Counter Strike (yutuq sifatida
25 000 000 so‘m! ajoyib!) bo‘yicha musobaqani kuzatgan bo‘sangiz unda qantashchilar
jamoa a’zolari bilan yozishmalar orqali ham muloqat qilish mumkinligini sezgansiz, gap
shundaki rus tilidagi habarni lotin alifbosida yozish holati ham bo‘ldi, yani quyidagicha
“давай зарежем чувака слева?” – “gABAu’ 3APE>Ilotin alifbosida yozilgan o‘qilishidan esa ruscha so‘zlardan iborat, huddi shu tizimni
hamma talablarga javob beradigan murakkab va yodda saqlash oson parollarni
yaratishda qo‘llash mumkin.
Masalan:
Что тебе надо – 4TO~TE6E_HAgO
Брысь от сюда – 6PbICb-OT~COIgA
Опасная зона – OnACHA9I_3OHA
~ 214 ~
Natijada bunday parollarning har biri yuqoridagi talablarga javob beradi, katta
kichik harflar( katta kichik registorli belgilar), raqamlar, maxsus belgilar, 10ta belgidan
ko‘p, eng asosiysi rus tilidan habardor foydalanuvchi uchun yodda qoladigan,
tushunarli.
Endi siz bajarishingiz kerak bo‘lgan yagona vazifa bu rus alifbosini qaysi belgilar
bilan belgilab olishni aniqlashtirish, sizga ko‘maklashish uchun maxsus jadval
keltiraman.
So‘zlar orasida quyidagicha belgilarni ham joylash mumkin: “~”, “”, “-”, “|”, “:”, “;”,
“,”, “.”.
0> Do'stlaringiz bilan baham: |