Бағдарламалу технологиясы


Мәтіндік файлдармен жұмыс



жүктеу 1,63 Mb.
бет20/73
Дата03.02.2022
өлшемі1,63 Mb.
#35497
түріОқулық
1   ...   16   17   18   19   20   21   22   23   ...   73
Ба?дарламалу технологиясы

2.7 Мәтіндік файлдармен жұмыс

Бағдарламаны тестілеу кезеңінде бағдарлама жұмысын әр түрлі кірістік деректердің мәндері бойынша тексеруге тура келеді. Осындай «тестілеу» мәндер арнайы «кірістік» деректердің мәтіндік файлына жазылады және бағдарламаның орындалуы үшін кезекпен ұсынылады. Кейіннен тексеру мен талдау жұмыстарын жүргізу үшін бағдарлама жұмысының нәтижесі көбінесе «шығыстық» файлға жазылады.

Осы мақсаттарды жүзеге асыру үшін C# тілінде мәтіндік файлдармен жұмыс жасау қарастырылған - input.txt атты «кірістік» файл және output.txt атты «шығыстық» файл. Файлдар бағдарлама файлдары орналасқан каталогта құрылуы тиіс, бастапқы орны — ...\ConsoleApplication1\bin\Debug..

Мысал ретінде бағдарламаны тестілеу процесін қарастырайық, онда нақты санды бөлу нәтижелері қарастырылады.

Бағдарлама коды:

using System;

using System.IO;

using System.Text;

namespace ConsoleApplication1

{

class Program



{

static void Main()

{

double z,y,x;



StreamReader f1 = new StreamReader("input.txt");

StreamWriter f = new StreamWriter("output.txt");

string buf = f1.ReadLine();

z = Convert.ToDouble(buf);

buf = f1.ReadLine();

x = Convert.ToDouble(buf);

f.WriteLine("z = {0} x = {1} ", z, x);

y = z / x;

f.WriteLine(" z / x = {0} ", y);

y = x / z;

f.WriteLine(" x / z = {0} ", y);

y = -z / 0;

f.WriteLine(" - z / 0 = {0} ", y);

y = -0.0 / 0.0;

f.WriteLine("-0.0 / 0.0 = {0} ", y);

y = 0.0 / 0.0;

f.WriteLine(" 0.0 / 0.0 = {0} ", y);

f1.Close();

f.Close();

}

}



}

input.txt «кірістік» файлында 123 саны жазылған, осы сан z айнымалысына меншіктеледі. Екінші сан берілмегендіктен x айнымалысына нөл меншіктеледі.

Бағдарлама жұмысының нәтижесі output.txt шығыстық, мәтіндік файлда орналасады, нәтижені «блокнот» арқылы көруге болады:

z = 123 x = 0

z / x = бесконечность

x / z = 0

- z / 0 = -бесконечность

-0.0 / 0.0 = NaN

0.0 / 0.0 = NaN

Бағдарлама жұмысының нәтижесін толығырақ қарастырайық. Біз нөлге бөлу жағдайын жасадық, бұл жағдай көптеген бағдарламалау тілдерінде бағдарлама жұмысын үзеді.

C# тілінде нақты сандар үшін үш нұсқа қарастырылған (бағдарламаның есептеу нәтижелері үшін) – Infinity, NegativeInfinity және NaN. Алғашқы екеуі математикадан белгілі - шексіздік және теріс шексіздік. Үшінші NaN (Not a Number) мәні нәтиже нақты сан болмағанда немесе бағдарлама нәтижені анықтай алмаған жағдайда орын алады.

Осы мәндердің пайда болу жағдайларын қарастырайық. Егер көбейту немесе бөлу операциясының орындалуы барысында модуль бойынша нәтиже ең жоғарғы мүмкін саннан артық болса, онда нәтиженің таңбасына қарай мәні шексіздікке немесе теріс шексіздікке ие болады. Осы мәндерді анықтайтын double және float типтерінің тұрақтылары бар. Нақты сандар мен шексіздік арасында қосу, алу және көбейту операцияларын орындағанда нәтиже шексіздік мәніне ие болады, нәтиже теріс таңбада болуы мүмкін. Нақты санды шексіздікке бөлгенде нәтиже нөлге тең болады.

Егер шексіздік шексіздікке бөлінсе немесе нөл шексіздікке көбейтілсе, онда нәтиже NaN болады. Операция орындалу нәтижесі нақты сан болмаса, мысалы, теріс сан квадратының түбірін шығару кезінде, онда нәтиже жоғарыдағыдай NaN болады. Егер операциялар ішінде NaN қолданылса, онда нәтиже NaN болады.

Қарастырылған мысалдың екінші мақсаты - мәтіндік файлдармен жұмыс. Осы жұмыстың негізгі кезеңдерін қарастырайық.

Біріншіден, арнайы атаулар кеңістігін қосу керек:

using System.IO,

файлдың енгізу-шығару жұмысына жауап береді.

Екіншіден, файлдың айнымалыларын жариялау керек – файлмен жұмыс жасау үшін объекттерді құру:

(StreamReader f1 = new StreamReader("input.txt");

StreamWriter f = new StreamWriter("output.txt");),

Оларға магнитті дискідегі файл аты сәйкес келеді

Үшіншіден, магнитті дисктегі мәтіндік ақпаратты жазу мен оқу операцияларын орындау (енгізу және шығару).

Төртіншіден, алынған мәтіндік ақпаратты сәйкес типтердің мәндеріне түрлендіру операцияларын орындау.

Бесіншіден, мәтіндік файлмен жұмысты орындап болғаннан кейін оны жабу керек.

f1.Close(); f.Close();


жүктеу 1,63 Mb.

Достарыңызбен бөлісу:
1   ...   16   17   18   19   20   21   22   23   ...   73




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау