Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.
Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin. Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Pascal tilida umumiy o'zgaruvchi

+8 ovoz
205 marta ko‘rilgan
so‘radi 27 dekabr, 16 Axrorxo'ja (743 bal)
Assalom alaykum

Turbo Pascal bo'yicha shunday masala berilgan.

Dasturga kiritilayotgan A o'zgaruvchi turi butun,haqiqiy yoki satrli bo'lishi mumkin.Kiritilayotgan qiymatga asosan A o'zgaruvchining turini aniqlaydigan dastur tuzing ?

bunda A o'zgaruvchi nima tip bilan e'lon qilinadi ?
izoh qoldirdi 22 fevral, 17 DelphiGuru (823 bal)
@Axrorxo'ja, Javobni belgilab qo'ying!

1 ta javob

+4 ovoz
javob berdi 28 dekabr, 16 Baron (862 bal)
tahrirlandi 28 dekabr, 16 Baron

1-usul. Variant turidan foydalanish mumkin.

program ideone;
uses 
  Variants;
var
	myVar : Variant;
	t:integer;
	s:string;
	r:real;

procedure ProcessVariant(v : Variant);
begin
 
 // Example of how to determine the contents of a Variant type:
 Case varType(v) of
    varEmpty:
        Writeln('Empty');
    varNull:
        Writeln('Null');
    varSingle:
        Writeln('Datatype: Single');
    varDouble:
        Writeln('Datatype: Double');
    varDecimal:
        Writeln('Datatype: Decimal');
    varCurrency:
        Writeln('Datatype: Currency');
    varDate:
        Writeln('Datatype: Date');
    varOleStr:
        Writeln('Datatype: UnicodeString');
    varStrArg:
        Writeln('Datatype: COM-compatible string');
    varString:
        Writeln('Datatype: Pointer to a dynamic string');
    varDispatch:
        Writeln('Datatype: Pointer to an Automation object');
    varBoolean:
        Writeln('Datatype: Wordbool');
    varVariant:
        Writeln('Datatype: Variant');
    varUnknown:
        Writeln('Datatype: unknown');
    varShortInt:
        Writeln('Datatype: ShortInt');
    varSmallint:
        Writeln('Datatype: Smallint');
    varInteger:
        Writeln('Datatype: Integer');
    varInt64:
        Writeln('Datatype: Int64');
    varByte:
        Writeln('Datatype: Byte');
    varWord:
        Writeln('Datatype: Word');
    varLongWord:
        Writeln('Datatype: LongWord');
    varQWord:
        Writeln('Datatype: QWord');
    varError:
        Writeln('ERROR determining variant type');
 else
   Writeln('Unable to determine variant type');
 end;
end;

begin
   // Butun son
   myVar := 123;
   writeln('Variant = ' , myVar);

   // Variant va sonlar ustida amallar
   myVar := myVar + 456;
   writeln('Variant = ' , myVar);
   
   // Variantni turini aniqlab chop etish
   write('Variant type is - '); 
   ProcessVariant(myVar);
   
   // Variant haqiqiy son
   myVar := myVar + 456.123;
   writeln('Variant = ' , myVar);
   
   // Variant satr
   r:=myVar;
   Str(r:8:3, S); 
   myVar:=s;
   myVar := 'String ' + myVar;
   writeln('Variant = ' , myVar);
   
   // Variant mantiqiy tur
   myVar:=true;
   writeln('Variant = ' , myVar);

 end.

2-usul. Satr kiritasiz va kiritilgan satrni butun son yoki haqiqiy son bo'lishi mumkinligini tekshirasiz (biror funksiya yordamida, agar satrning har bir belgisi raqam bo'lsa - butun son, agar raqamlardan iborat topgan hamda bittagina ',' yoki '.' belgisi qatnashsa - haqiqiy son, aks holda satr).

izoh qoldirdi 09 yanvar, 17 Farangiz (25 bal)
menga 2-usulingiz ma`qul keldi

Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.

Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin.

Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Telegram kanal YordamUzRss

...