[{"data":1,"prerenderedAt":928},["ShallowReactive",2],{"doc:\u002Fex02":3},{"id":4,"title":5,"body":6,"description":921,"extension":922,"meta":923,"navigation":120,"path":924,"seo":925,"stem":926,"__hash__":927},"docs\u002Fex02.md","Ejercicio 02: ft_print_reverse_alphabet",{"type":7,"value":8,"toc":902},"minimark",[9,13,20,82,88,93,342,346,353,365,371,381,387,390,396,399,405,416,422,439,533,539,551,556,563,567,626,629,633,641,645,701,705,788,792,883,887,898],[10,11,5],"h1",{"id":12},"ejercicio-02-ft_print_reverse_alphabet",[14,15,16],"blockquote",{},[17,18,19],"p",{},"Muestra el alfabeto en minúsculas en una sola línea, en orden decreciente,\nempezando por la letra «z».",[21,22,23,36],"table",{},[24,25,26],"thead",{},[27,28,29,33],"tr",{},[30,31,32],"th",{},"Dato",[30,34,35],{},"Valor",[37,38,39,51,61,71],"tbody",{},[27,40,41,45],{},[42,43,44],"td",{},"Carpeta",[42,46,47],{},[48,49,50],"code",{},"ex02\u002F",[27,52,53,56],{},[42,54,55],{},"Archivo",[42,57,58],{},[48,59,60],{},"ft_print_reverse_alphabet.c",[27,62,63,66],{},[42,64,65],{},"Prototipo",[42,67,68],{},[48,69,70],{},"void ft_print_reverse_alphabet(void);",[27,72,73,76],{},[42,74,75],{},"Funciones autorizadas",[42,77,78,79],{},"solo ",[48,80,81],{},"write",[17,83,84],{},[85,86,87],"em",{},"Hecho con amor para Laura, por Bogdan.",[89,90,92],"h2",{"id":91},"el-archivo","El archivo",[94,95,100],"pre",{"className":96,"code":97,"language":98,"meta":99,"style":99},"language-c shiki shiki-themes github-light github-dark","#include \u003Cunistd.h>\n\n\u002F*\n** Copia local de ft_putchar: el enunciado solo permite entregar este archivo.\n** Escribe un unico caracter en la salida estandar.\n*\u002F\nstatic void put_char(char c)\n{\n    write(1, &c, 1);\n}\n\n\u002F*\n** Muestra el alfabeto en minusculas en una sola linea, de la 'z' a la 'a'.\n** Es el mismo recorrido que ft_print_alphabet, pero hacia atras.\n*\u002F\nvoid    ft_print_reverse_alphabet(void)\n{\n    char    letter;\n\n    letter = 'z';\n    while (letter >= 'a')\n    {\n        put_char(letter);\n        letter--;\n    }\n}\n","c","",[48,101,102,115,122,129,135,141,147,174,180,206,212,217,222,228,234,239,254,259,268,273,288,305,311,320,331,337],{"__ignoreMap":99},[103,104,107,111],"span",{"class":105,"line":106},"line",1,[103,108,110],{"class":109},"szBVR","#include",[103,112,114],{"class":113},"sZZnC"," \u003Cunistd.h>\n",[103,116,118],{"class":105,"line":117},2,[103,119,121],{"emptyLinePlaceholder":120},true,"\n",[103,123,125],{"class":105,"line":124},3,[103,126,128],{"class":127},"sJ8bj","\u002F*\n",[103,130,132],{"class":105,"line":131},4,[103,133,134],{"class":127},"** Copia local de ft_putchar: el enunciado solo permite entregar este archivo.\n",[103,136,138],{"class":105,"line":137},5,[103,139,140],{"class":127},"** Escribe un unico caracter en la salida estandar.\n",[103,142,144],{"class":105,"line":143},6,[103,145,146],{"class":127},"*\u002F\n",[103,148,150,153,156,160,164,167,171],{"class":105,"line":149},7,[103,151,152],{"class":109},"static",[103,154,155],{"class":109}," void",[103,157,159],{"class":158},"sScJk"," put_char",[103,161,163],{"class":162},"sVt8B","(",[103,165,166],{"class":109},"char",[103,168,170],{"class":169},"s4XuR"," c",[103,172,173],{"class":162},")\n",[103,175,177],{"class":105,"line":176},8,[103,178,179],{"class":162},"{\n",[103,181,183,186,188,192,195,198,201,203],{"class":105,"line":182},9,[103,184,185],{"class":158},"    write",[103,187,163],{"class":162},[103,189,191],{"class":190},"sj4cs","1",[103,193,194],{"class":162},", ",[103,196,197],{"class":109},"&",[103,199,200],{"class":162},"c, ",[103,202,191],{"class":190},[103,204,205],{"class":162},");\n",[103,207,209],{"class":105,"line":208},10,[103,210,211],{"class":162},"}\n",[103,213,215],{"class":105,"line":214},11,[103,216,121],{"emptyLinePlaceholder":120},[103,218,220],{"class":105,"line":219},12,[103,221,128],{"class":127},[103,223,225],{"class":105,"line":224},13,[103,226,227],{"class":127},"** Muestra el alfabeto en minusculas en una sola linea, de la 'z' a la 'a'.\n",[103,229,231],{"class":105,"line":230},14,[103,232,233],{"class":127},"** Es el mismo recorrido que ft_print_alphabet, pero hacia atras.\n",[103,235,237],{"class":105,"line":236},15,[103,238,146],{"class":127},[103,240,242,245,248,250,252],{"class":105,"line":241},16,[103,243,244],{"class":109},"void",[103,246,247],{"class":158},"    ft_print_reverse_alphabet",[103,249,163],{"class":162},[103,251,244],{"class":109},[103,253,173],{"class":162},[103,255,257],{"class":105,"line":256},17,[103,258,179],{"class":162},[103,260,262,265],{"class":105,"line":261},18,[103,263,264],{"class":109},"    char",[103,266,267],{"class":162},"    letter;\n",[103,269,271],{"class":105,"line":270},19,[103,272,121],{"emptyLinePlaceholder":120},[103,274,276,279,282,285],{"class":105,"line":275},20,[103,277,278],{"class":162},"    letter ",[103,280,281],{"class":109},"=",[103,283,284],{"class":113}," 'z'",[103,286,287],{"class":162},";\n",[103,289,291,294,297,300,303],{"class":105,"line":290},21,[103,292,293],{"class":109},"    while",[103,295,296],{"class":162}," (letter ",[103,298,299],{"class":109},">=",[103,301,302],{"class":113}," 'a'",[103,304,173],{"class":162},[103,306,308],{"class":105,"line":307},22,[103,309,310],{"class":162},"    {\n",[103,312,314,317],{"class":105,"line":313},23,[103,315,316],{"class":158},"        put_char",[103,318,319],{"class":162},"(letter);\n",[103,321,323,326,329],{"class":105,"line":322},24,[103,324,325],{"class":162},"        letter",[103,327,328],{"class":109},"--",[103,330,287],{"class":162},[103,332,334],{"class":105,"line":333},25,[103,335,336],{"class":162},"    }\n",[103,338,340],{"class":105,"line":339},26,[103,341,211],{"class":162},[89,343,345],{"id":344},"línea-por-línea","Línea por línea",[347,348,350],"h3",{"id":349},"include-unistdh",[48,351,352],{},"#include \u003Cunistd.h>",[17,354,355,356,358,359,364],{},"Declara ",[48,357,81],{},", la única función de librería que permite el enunciado. La\nexplicación está en ",[360,361,363],"a",{"href":362},"\u002Fex00","el ejercicio 00",".",[347,366,368],{"id":367},"static-void-put_charchar-c",[48,369,370],{},"static void put_char(char c)",[17,372,373,374,377,378,380],{},"Copia privada de ",[48,375,376],{},"ft_putchar",". ",[48,379,152],{}," la encierra en este archivo: cada\nejercicio se entrega solo y no puede depender de otro.",[347,382,384],{"id":383},"void-ft_print_reverse_alphabetvoid",[48,385,386],{},"void ft_print_reverse_alphabet(void)",[17,388,389],{},"La firma exacta que pide el subject: no devuelve nada y no recibe parámetros.",[347,391,393],{"id":392},"char-letter",[48,394,395],{},"char letter;",[17,397,398],{},"La caja que guarda la letra actual. Todavía no tiene valor; la línea siguiente\nse lo da.",[347,400,402],{"id":401},"letter-z",[48,403,404],{},"letter = 'z';",[17,406,407,408,411,412,415],{},"El recorrido empieza por la última letra. Comillas simples: ",[48,409,410],{},"'z'"," es un\ncarácter, ",[48,413,414],{},"\"z\""," sería un string.",[347,417,419],{"id":418},"while-letter-a",[48,420,421],{},"while (letter >= 'a')",[17,423,424,425,428,429,432,433,435,436,438],{},"Repite mientras ",[48,426,427],{},"letter"," no baje de ",[48,430,431],{},"'a'",". La condición se evalúa antes de cada\nvuelta, así que cuando ",[48,434,427],{}," vale el carácter anterior a ",[48,437,431],{},", el bucle sale\nsin imprimirlo.",[21,440,441,460],{},[24,442,443],{},[27,444,445,448,452,457],{},[30,446,447],{},"Vuelta",[30,449,450],{},[48,451,427],{},[30,453,454],{},[48,455,456],{},"letter >= 'a'",[30,458,459],{},"Qué hace",[37,461,462,476,490,501,514],{},[27,463,464,466,470,473],{},[42,465,191],{},[42,467,468],{},[48,469,410],{},[42,471,472],{},"verdadero",[42,474,475],{},"imprime y resta",[27,477,478,481,486,488],{},[42,479,480],{},"2",[42,482,483],{},[48,484,485],{},"'y'",[42,487,472],{},[42,489,475],{},[27,491,492,495,497,499],{},[42,493,494],{},"…",[42,496,494],{},[42,498,494],{},[42,500,494],{},[27,502,503,506,510,512],{},[42,504,505],{},"26",[42,507,508],{},[48,509,431],{},[42,511,472],{},[42,513,475],{},[27,515,516,519,524,530],{},[42,517,518],{},"—",[42,520,521],{},[48,522,523],{},"`",[42,525,526],{},[527,528,529],"strong",{},"falso",[42,531,532],{},"sale del bucle",[347,534,536],{"id":535},"put_charletter",[48,537,538],{},"put_char(letter);",[17,540,541,542,544,545,548,549,364],{},"Imprime la letra actual. El parámetro es una copia: cambiar ",[48,543,98],{}," dentro de\n",[48,546,547],{},"put_char"," no tocaría ",[48,550,427],{},[347,552,553],{"id":427},[48,554,555],{},"letter--;",[17,557,558,559,562],{},"Es ",[48,560,561],{},"letter = letter - 1;",". Baja a la letra anterior. Si lo olvidas, el bucle no\ntermina nunca.",[89,564,566],{"id":565},"las-tres-diferencias-con-el-ejercicio-01","Las tres diferencias con el ejercicio 01",[21,568,569,582],{},[24,570,571],{},[27,572,573,576,579],{},[30,574,575],{},"Pieza",[30,577,578],{},"Ejercicio 01",[30,580,581],{},"Ejercicio 02",[37,583,584,597,611],{},[27,585,586,589,593],{},[42,587,588],{},"Valor inicial",[42,590,591],{},[48,592,431],{},[42,594,595],{},[48,596,410],{},[27,598,599,602,607],{},[42,600,601],{},"Condición",[42,603,604],{},[48,605,606],{},"letter \u003C= 'z'",[42,608,609],{},[48,610,456],{},[27,612,613,616,621],{},[42,614,615],{},"Avance",[42,617,618],{},[48,619,620],{},"letter++",[42,622,623],{},[48,624,625],{},"letter--",[17,627,628],{},"Todo lo demás es idéntico. Las letras siguen siendo consecutivas en ASCII, así\nque restar uno baja a la anterior sin ninguna tabla.",[89,630,632],{"id":631},"salida-esperada","Salida esperada",[94,634,639],{"className":635,"code":637,"language":638,"meta":99},[636],"language-text","zyxwvutsrqponmlkjihgfedcba\n","text",[48,640,637],{"__ignoreMap":99},[89,642,644],{"id":643},"casos-límite","Casos límite",[21,646,647,657],{},[24,648,649],{},[27,650,651,654],{},[30,652,653],{},"Detalle",[30,655,656],{},"Decisión",[37,658,659,667,683,693],{},[27,660,661,664],{},[42,662,663],{},"Salto de línea final",[42,665,666],{},"no se imprime",[27,668,669,673],{},[42,670,671],{},[48,672,456],{},[42,674,675,676,678,679,682],{},"incluye la ",[48,677,431],{},"; con ",[48,680,681],{},">"," te dejarías la primera",[27,684,685,690],{},[42,686,687,688],{},"Carácter anterior a ",[48,689,431],{},[42,691,692],{},"nunca se escribe: la condición corta antes",[27,694,695,698],{},[42,696,697],{},"26 vueltas",[42,699,700],{},"exactas, igual que en el ejercicio 01",[89,702,704],{"id":703},"errores-típicos","Errores típicos",[21,706,707,720],{},[24,708,709],{},[27,710,711,714,717],{},[30,712,713],{},"Mensaje o síntoma",[30,715,716],{},"Causa",[30,718,719],{},"Solución",[37,721,722,740,753,772],{},[27,723,724,729,735],{},[42,725,726,727],{},"falta la ",[48,728,360],{},[42,730,731,732],{},"usaste ",[48,733,734],{},"letter > 'a'",[42,736,737,738],{},"cambia a ",[48,739,299],{},[27,741,742,745,750],{},[42,743,744],{},"el programa no termina",[42,746,747,748],{},"olvidaste ",[48,749,625],{},[42,751,752],{},"añádelo en el cuerpo",[27,754,755,761,767],{},[42,756,757,758],{},"imprime basura antes de ",[48,759,760],{},"z",[42,762,763,764],{},"inicializaste con ",[48,765,766],{},"letter = 0",[42,768,769,770],{},"empieza en ",[48,771,410],{},[27,773,774,777,785],{},[42,775,776],{},"no compila",[42,778,779,780,782,783],{},"mezclaste ",[48,781,414],{}," con ",[48,784,166],{},[42,786,787],{},"comillas simples",[89,789,791],{"id":790},"comprobarlo","Comprobarlo",[94,793,797],{"className":794,"code":795,"language":796,"meta":99,"style":99},"language-sh shiki shiki-themes github-light github-dark","cat > \u002Ftmp\u002Fmain.c \u003C\u003C'EOF'\nvoid    ft_print_reverse_alphabet(void);\n\nint main(void)\n{\n    ft_print_reverse_alphabet();\n    return (0);\n}\nEOF\ncc -Wall -Wextra -Werror ex02\u002Fft_print_reverse_alphabet.c \u002Ftmp\u002Fmain.c -o \u002Ftmp\u002Fex02\n\u002Ftmp\u002Fex02\n","sh",[48,798,799,816,821,825,830,834,839,844,848,853,878],{"__ignoreMap":99},[103,800,801,804,807,810,813],{"class":105,"line":106},[103,802,803],{"class":158},"cat",[103,805,806],{"class":109}," >",[103,808,809],{"class":113}," \u002Ftmp\u002Fmain.c",[103,811,812],{"class":109}," \u003C\u003C",[103,814,815],{"class":113},"'EOF'\n",[103,817,818],{"class":105,"line":117},[103,819,820],{"class":113},"void    ft_print_reverse_alphabet(void);\n",[103,822,823],{"class":105,"line":124},[103,824,121],{"emptyLinePlaceholder":120},[103,826,827],{"class":105,"line":131},[103,828,829],{"class":113},"int main(void)\n",[103,831,832],{"class":105,"line":137},[103,833,179],{"class":113},[103,835,836],{"class":105,"line":143},[103,837,838],{"class":113},"    ft_print_reverse_alphabet();\n",[103,840,841],{"class":105,"line":149},[103,842,843],{"class":113},"    return (0);\n",[103,845,846],{"class":105,"line":176},[103,847,211],{"class":113},[103,849,850],{"class":105,"line":182},[103,851,852],{"class":113},"EOF\n",[103,854,855,858,861,864,867,870,872,875],{"class":105,"line":208},[103,856,857],{"class":158},"cc",[103,859,860],{"class":190}," -Wall",[103,862,863],{"class":190}," -Wextra",[103,865,866],{"class":190}," -Werror",[103,868,869],{"class":113}," ex02\u002Fft_print_reverse_alphabet.c",[103,871,809],{"class":113},[103,873,874],{"class":190}," -o",[103,876,877],{"class":113}," \u002Ftmp\u002Fex02\n",[103,879,880],{"class":105,"line":214},[103,881,882],{"class":158},"\u002Ftmp\u002Fex02\n",[89,884,886],{"id":885},"descargar","Descargar",[888,889,890],"ul",{},[891,892,893],"li",{},[360,894,896],{"href":895,"download":60},"..\u002Fcode\u002Fft_print_reverse_alphabet.c",[48,897,60],{},[899,900,901],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":99,"searchDepth":117,"depth":117,"links":903},[904,905,915,916,917,918,919,920],{"id":91,"depth":117,"text":92},{"id":344,"depth":117,"text":345,"children":906},[907,908,909,910,911,912,913,914],{"id":349,"depth":124,"text":352},{"id":367,"depth":124,"text":370},{"id":383,"depth":124,"text":386},{"id":392,"depth":124,"text":395},{"id":401,"depth":124,"text":404},{"id":418,"depth":124,"text":421},{"id":535,"depth":124,"text":538},{"id":427,"depth":124,"text":555},{"id":565,"depth":117,"text":566},{"id":631,"depth":117,"text":632},{"id":643,"depth":117,"text":644},{"id":703,"depth":117,"text":704},{"id":790,"depth":117,"text":791},{"id":885,"depth":117,"text":886},"El mismo alfabeto al revés y los límites inclusivos del bucle.","md",{},"\u002Fex02",{"title":5,"description":921},"ex02","k2wKeIvAbYyLu2TMjC8GheryFjMK8mrRde54zYSOK6o",1793539815757]