www.wikidata.uk-ua.nina.az
U Vikipediyi ye statti pro inshi znachennya cogo termina Ryadok znachennya Ryadok angl String nitka nizka abo ryadkovij tip danih takozh inodi strichka 1 2 lancyuzhok 3 ce tip danih znachennyami yakogo ye dovilna poslidovnist ryadok simvoliv alfavitu Kozhna zminna takogo tipu ryadkova zminna mozhe buti predstavlena fiksovanoyu kilkistyu bajtiv abo mati dovilnu dovzhinu Zmist 1 Vnutrishnye predstavlennya ryadka v pam yati 1 1 Podannya masivom simvoliv 1 1 1 Perevagi 1 1 2 Nedoliki 1 2 Metod zavershalnogo bajtu 1 2 1 Perevagi 1 2 2 Nedoliki 1 3 Vikoristannya oboh metodiv 1 4 Podannya u viglyadi spisku 2 Realizaciya v movah programuvannya 3 Operaciyi 3 1 Najprostishi operaciyi z ryadkami 3 2 Pohidni operaciyi 3 3 Operaciyi pri traktuvanni ryadkiv yak spiskiv 3 4 Skladnishi operaciyi 3 5 Mozhlivi zavdannya dlya ryadkiv na prirodnij movi 4 Podannya simvoliv ryadka 5 Div takozh 6 PrimitkiVnutrishnye predstavlennya ryadka v pam yati RedaguvatiDeyaki movi programuvannya nakladayut obmezhennya na maksimalnu dovzhinu ryadka ale v bilshosti mov podibni obmezhennya vidsutni Pri vikoristanni Unicode kozhen simvol ryadkovogo tipu mozhe vimagati dvoh abo navit chotiroh bajtiv dlya svogo predstavlennya Osnovni problemi v mashinnomu podanni ryadkovogo tipu ryadki mozhut mati dosit istotnij rozmir do dekilkoh desyatkiv megabajtiv zminyuyetsya z chasom rozmir vinikayut trudnoshi z dodavannyam i vidalennyam simvoliv U podanni ryadkiv v pam yati komp yutera isnuye dva principovo riznih pidhodi Podannya masivom simvoliv Redaguvati U comu pidhodi ryadki predstavlyayutsya masivom simvoliv pri comu rozmir masivu zberigayetsya v okremij sluzhbovij oblasti Vid nazvi movi Pascal de cej metod buv vpershe realizovanij danij metod otrimav nazvu Pascal strings Zlegka optimizovanim variantom cogo metodu ye tak zvanij format c addr u vid angl character aligned address unsigned number zastosovuvanij v Forte Na vidminu vid Pascal strings tut rozmir masivu zberigayetsya ne spilno iz ryadkovimi danimi a ye chastinoyu pokazhchika na ryadok Perevagi Redaguvati programa v kozhen moment chasu mistit vidomosti pro rozmir ryadka tomu operaciyi dodavannya simvoliv v kinec kopiyuvannya ryadka i vlasne otrimannya rozmiru ryadka vikonuyutsya dosit shvidko ryadok mozhe mistiti bud yaki dani mozhlivo na programnomu rivni stezhiti za vihodom za mezhi ryadka pri yiyi obrobci mozhlivo shvidke vikonannya operaciyi vidu vzyattya N go simvolu z kincya ryadka Nedoliki Redaguvati problemi zi zberigannyam i obrobkoyu simvoliv dovilnoyi dovzhini zbilshennya vitrat na zberigannya ryadkiv znachennya dovzhina ryadka takozh zajmaye misce i v razi velikoyi kilkosti ryadkiv malenkogo rozmiru mozhe istotno zbilshiti vimogi algoritmu do operativnoyi pam yati obmezhennya maksimalnogo rozmiru ryadka U suchasnih movah programuvannya ce obmezhennya skorishe teoretichne tak yak zazvichaj rozmir ryadka zberigayetsya v 32 bitovomu poli sho daye maksimalnij rozmir ryadka v 4 294 967 295 bajt 4 gigabajti pri vikoristanni alfavitu zi zminnim rozmirom simvolu napriklad UTF 8 v rozmiri zberigayetsya ne kilkist simvoliv a same rozmir ryadka v bajtah tomu kilkist simvoliv neobhidno vvazhati okremo Metod zavershalnogo bajtu Redaguvati Drugij metod polyagaye u vikoristanni zavershalnogo bajtu 4 5 Odne z mozhlivih znachen simvoliv alfavitu yak pravilo ce simvol z kodom 0 vibirayetsya yak oznaka kincya ryadka i ryadok zberigayetsya yak poslidovnist bajtiv vid pochatku do kincya Ye sistemi v yakih rol oznaki kincya ryadka vikonuye ne simvol 0 a bajt 0xFF 255 abo kod simvolu Metod maye tri nazvi ASCIIZ abo asciiz simvoli v koduvanni ASCII z nulovim zavershalnim bajtom C strings najbilshogo poshirennya metod otrimav same v movi Si nul terminovanij ryadok angl null terminated string Perevagi Redaguvati vidsutnist dodatkovoyi sluzhbovoyi informaciyi pro ryadok krim zavershalnogo bajtu mozhlivist podannya ryadka bez stvorennya okremogo tipu danih vidsutnist obmezhennya na maksimalnij rozmir ryadka ekonomne vikoristannya pam yati prostota otrimannya sufiksu ryadka prostota peredachi ryadkiv u funkciyi peredayetsya pokazhchik na pershij simvol Nedoliki Redaguvati znachnij chas vikonannya operacij otrimannya dovzhini i konkatenaciyi ryadkiv vidsutnist zasobiv kontrolyu za vihodom za mezhi ryadka v razi poshkodzhennya zavershalnogo bajta mozhlivist poshkodzhennya velikih oblastej pam yati sho mozhe privesti do neperedbachuvanih naslidkiv vtrati danih krahu programi i navit vsiyeyi sistemi nemozhlivist vikoristovuvati simvol zavershalnogo bajtu yak elementa ryadka nemozhlivist vikoristovuvati deyaki koduvannya z rozmirom simvolu v kilka bajt napriklad UTF 16 tomu sho u bagatoh takih simvolah napriklad A 0x0100 odin z bajtiv dorivnyuye nulyu v toj zhe chas koduvannya UTF 8 vilne vid cogo nedoliku Vikoristannya oboh metodiv Redaguvati U takih movah yak napriklad Oberon ryadok rozmishuyetsya v masivi simvoliv pevnoyi dovzhini prichomu yiyi kinec poznachayetsya nulovim simvolom Za zamovchuvannyam ves masiv zapovnenij nulovimi simvolami Takij sposib dozvolyaye ob yednati bagato perevag oboh pidhodiv a takozh uniknuti bilshist yih nedolikiv Podannya u viglyadi spisku Redaguvati Movi Erlang 6 Haskell 7 Prolog 8 vikoristovuyut dlya ryadkovogo tipu spisok simvoliv Cej metod robit movu bilsh teoretichno elegantnoyu za rahunok dotrimannya ortogonalnosti v sistemi tipiv ale prinosit suttyevi vtrati shvidkodiyi Realizaciya v movah programuvannya RedaguvatiU pershih movah programuvannya vzagali ne bulo ryadkovogo tipu programist povinen buv sam buduvati funkciyi dlya roboti z ryadkami togo chi inshogo tipu U Si vikoristovuyutsya nul terminovani ryadki z povnim ruchnim kontrolem z boku programista U standartnomu Paskali ryadok viglyadaye yak masiv z 256 bajtiv pershij bajt zberigav dovzhinu ryadka v inshih zberigayetsya yiyi tilo Takim chinom dovzhina ryadka ne mozhe perevishuvati 255 simvoliv U Borland Pascal 7 0 takozh z yavilisya ryadki po tipu Si ochevidno komu cherez te sho v chislo pidtrimuvanih platform uvijshla Windows U Object Pascal ta C STL ryadok ye chornim yashikom v yakomu vidilennya vivilnennya pam yati vidbuvayetsya avtomatichno bez uchasti programista Pri stvorenni ryadka pam yat vidilyayetsya avtomatichno yak tilki na ryadok ne zalishitsya zhodnogo posilannya pam yat povertayetsya sistemi Perevaga cogo metodu v tomu sho programist ne zamislyuyetsya nad robotoyu ryadkiv Z inshogo boku programist maye nedostatnij kontrol nad robotoyu programi v kritichnih do shvidkosti dilyankah takozh vazhko realizuyetsya peredacha takih ryadkiv yak parametr v DLL Takozh Object Pascal avtomatichno stezhit shob v kinci ryadka buv simvol z kodom 0 Tomu yaksho funkciya vimagaye na vhodi nul terminovanij ryadok dlya konvertaciyi treba prosto napisati PAnsiChar ryadkova zminna abo PWideChar ryadkova zminna dlya Pascal zminna c str dlya Builder STL U C ta inshimi movami iz zbirkoyu smittya ryadok ye nezminnim ob yektom yaksho ryadok potribno modifikuvati stvoryuyetsya inshij ob yekt Cej metod povilnij i vitrachaye chimalo timchasovoyi pam yati ale dobre poyednuyetsya z koncepciyeyu zbirki smittya Perevaga cogo metodu v tomu sho prisvoyuvannya vidbuvayetsya shvidko i bez dublyuvannya ryadkiv Takozh ye deyakij ruchnij kontrol nad konstruyuvannyam ryadkiv v Java napriklad cherez klasi StringBuffer i StringBuilder ce dozvolyaye zmenshiti kilkist vidilen i vivilnen pam yati i vidpovidno zbilshiti shvidkist U deyakih movah napriklad Standard ML krim cogo ye dodatkovij modul dlya zabezpechennya she bilshoyi efektivnosti pidryadok angl substring Jogo vikoristannya dozvolyaye vikonuvati operaciyi nad ryadkami bez kopiyuvannya yihnih til za dopomogoyu manipulyuvannya indeksami pochatku i kincya pidryadka fizichne kopiyuvannya vidbuvayetsya lishe pri neobhidnosti peretvorennya pidryadkiv u ryadki Operaciyi RedaguvatiNajprostishi operaciyi z ryadkami Redaguvati Otrimannya simvolu za nomerom poziciyi indeksu v bilshosti mov ce trivialna operaciya Konkatenaciya z yednannya ryadkiv Pohidni operaciyi Redaguvati Otrimannya pidryadka za indeksami pochatku i kincya Perevirka vhodzhennya odnogo ryadka v inshu poshuk pidryadka v ryadku Perevirka na zbig ryadkiv z urahuvannyam abo bez urahuvannya registru simvoliv Otrimannya dovzhini ryadka Zamina pidryadka v ryadku Operaciyi pri traktuvanni ryadkiv yak spiskiv Redaguvati Zgortannya Vidobrazhennya odnogo spisku na inshij Filtraciya spisku za kriteriyem Skladnishi operaciyi Redaguvati Znahodzhennya minimalnogo nadryadka sho mistit vsi zaznacheni ryadki Poshuk v dvoh masivah ryadkiv zbigayutsya poslidovnostej zavdannya pro plagiat Mozhlivi zavdannya dlya ryadkiv na prirodnij movi Redaguvati Porivnyannya na blizkist zaznachenih ryadkiv po zadanomu kriteriyu Viznachennya movi i koduvannya tekstu na pidstavi jmovirnostej simvoliv i skladiv Podannya simvoliv ryadka RedaguvatiDo ostannogo chasu koli odin simvol zavzhdi koduvavsya odnim bajtom 8 dvijkovih bitiv zastosovuvalisya takozh koduvannya z 7 bitami na simvol sho dozvolyalo predstavlyati 256 128 pri semibitnomu koduvanni mozhlivih znachen Odnak dlya povnocinnogo predstavlennya simvoliv alfavitiv kilkoh mov bagatomovnih dokumentiv drukarskih simvoliv kilka vidiv lapok tire kilkoh vidiv progalin i dlya napisannya tekstiv na iyeroglifichnih movah kitajskoyu yaponskoyu ta korejskoyu 256 simvoliv nedostatno Dlya virishennya ciyeyi problemi isnuye kilka metodiv Peremikannya movi keruyuchimi kodami Metod ne standartizovanij i pozbavlyaye tekst samostijnosti tobto poslidovnist simvoliv bez keruyuchogo kodu na pochatku vtrachaye sens vikoristovuvavsya v deyakih rannih rusifikaciyi ZX Spectrum i BK Vikoristannya dvoh abo bilshe bajt dlya predstavlennya kozhnogo simvolu UTF 16 UTF 32 Golovnim nedolikom cogo metodu ye vtrata sumisnosti z poperednimi bibliotekami dlya roboti z tekstom pri podanni ryadka yak ASCIIZ Napriklad kincem ryadka povinen vvazhatisya vzhe ne bajt iz znachennyam 0 a dva abo chotiri pospil nulovih bajti v toj chas yak odinochnij bajt 0 mozhe zustrichatisya v seredini ryadka sho zbivaye biblioteku z panteliku Vikoristannya koduvannya zi zminnim rozmirom simvolu Napriklad v UTF 8 chastina simvoliv predstavlyayetsya odnim bajtom chastina dvoma troma abo chotirma Cej metod dozvolyaye zberegti chastkovu sumisnist zi starimi bibliotekami nemaye simvoliv 0 vseredini ryadka i tomu 0 mozhna vikoristovuvati yak oznaka kincya ryadka ale prizvodit do nemozhlivosti pryamoyi adresaciyi simvolu v pam yati za nomerom jogo poziciyi v ryadku Div takozh RedaguvatiRegulyarnij visliv Spisok struktur danih Chastota kadriv Chornij spisok Resursi Windows Primitki Redaguvati Mejnarovich Yevgen 2010 Anglijsko ukrayinskij slovnik Matematika ta kibernetika Kiyiv Perun Chi pravilno vzhivati strichka v znachenni ryadok Procitovano 12 01 2020 Glushkov V M red 1973 Enciklopediya kibernetiki Kiyiv Gol red Ukrayinskoyi radyanskoyi enciklopediyi http queue acm org detail cfm id 2010365 Arhivovana kopiya Arhiv originalu za 25 veresnya 2016 Procitovano 11 grudnya 2016 Simon St Laurent Introducing Erlang O Reilly Media Inc 2013 P 62 185 p ISBN 978 1 449 33176 4 http book realworldhaskell org read characters strings and escaping rules html http www swi prolog org pldoc man section text representation Ce nezavershena stattya pro informacijni tehnologiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno gruden 2018 Otrimano z https uk wikipedia org w index php title Ryadok programuvannya amp oldid 35045904