print("=== CHARACTER PRINTER PROGRAM ==="); print("Demonstrating string indexing by printing each character..."); // ======================================== // MAIN PROGRAM // ======================================== var message = "Hello, Bob Language!"; print("\nšŸ“ Original message: " + message); print("šŸ“ Message length: " + toString(len(message))); print("\nšŸ”¤ CHARACTER BREAKDOWN:"); print("ā”Œā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”"); print("│ IDX │ CHR │ ASCII CODE │ DESCRIPTION │"); print("ā”œā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¼ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤"); for (var i = 0; i < len(message); i = i + 1) { var char = message[i]; var index = toString(i); var description = ""; // Determine character description if (char == " ") { description = "Space"; } else if (char == ",") { description = "Comma"; } else if (char == "!") { description = "Exclamation"; } else if (char == "H") { description = "Capital H"; } else if (char == "e") { description = "Lowercase e"; } else if (char == "l") { description = "Lowercase l"; } else if (char == "o") { description = "Lowercase o"; } else if (char == "B") { description = "Capital B"; } else if (char == "b") { description = "Lowercase b"; } else if (char == "L") { description = "Capital L"; } else if (char == "a") { description = "Lowercase a"; } else if (char == "n") { description = "Lowercase n"; } else if (char == "g") { description = "Lowercase g"; } else if (char == "u") { description = "Lowercase u"; } else if (char == "r") { description = "Lowercase r"; } else { description = "Other"; } // Format the output line var line = "│ " + index; if (len(index) == 1) { line = line + " "; } else { line = line + " "; } line = line + "│ " + char + " │ "; // Add ASCII code (simplified) var asciiCode = ""; if (char == "H") asciiCode = "72"; else if (char == "e") asciiCode = "101"; else if (char == "l") asciiCode = "108"; else if (char == "o") asciiCode = "111"; else if (char == ",") asciiCode = "44"; else if (char == " ") asciiCode = "32"; else if (char == "B") asciiCode = "66"; else if (char == "b") asciiCode = "98"; else if (char == "L") asciiCode = "76"; else if (char == "a") asciiCode = "97"; else if (char == "n") asciiCode = "110"; else if (char == "g") asciiCode = "103"; else if (char == "u") asciiCode = "117"; else if (char == "r") asciiCode = "114"; else if (char == "!") asciiCode = "33"; else asciiCode = "??"; line = line + asciiCode; if (len(asciiCode) == 2) { line = line + " │ "; } else { line = line + " │ "; } line = line + description; // Pad description to fit while (len(line) < 45) { line = line + " "; } line = line + " │"; print(line); } print("ā””ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜"); // ======================================== // CHARACTER STATISTICS // ======================================== print("\nšŸ“Š CHARACTER STATISTICS:"); var uppercaseCount = 0; var lowercaseCount = 0; var spaceCount = 0; var punctuationCount = 0; for (var i = 0; i < len(message); i = i + 1) { var char = message[i]; if (char == "H" || char == "B" || char == "L") { uppercaseCount = uppercaseCount + 1; } else if (char == "e" || char == "l" || char == "o" || char == "b" || char == "a" || char == "n" || char == "g" || char == "u" || char == "r") { lowercaseCount = lowercaseCount + 1; } else if (char == " ") { spaceCount = spaceCount + 1; } else if (char == "," || char == "!") { punctuationCount = punctuationCount + 1; } } print(" Uppercase letters: " + toString(uppercaseCount)); print(" Lowercase letters: " + toString(lowercaseCount)); print(" Spaces: " + toString(spaceCount)); print(" Punctuation: " + toString(punctuationCount)); // ======================================== // REVERSE PRINTING // ======================================== print("\nšŸ”„ REVERSE CHARACTER PRINTING:"); var reverseMessage = ""; for (var i = len(message) - 1; i >= 0; i = i - 1) { var char = message[i]; reverseMessage = reverseMessage + char; print(" Index " + toString(i) + ": " + char); } print(" Reversed message: " + reverseMessage); // ======================================== // CHARACTER SEARCH // ======================================== print("\nšŸ” CHARACTER SEARCH:"); var searchChar = "o"; var positions = []; for (var i = 0; i < len(message); i = i + 1) { if (message[i] == searchChar) { push(positions, i); } } print(" Character '" + searchChar + "' found at positions: "); for (var i = 0; i < len(positions); i = i + 1) { print(" Index " + toString(positions[i])); } // ======================================== // SUMMARY // ======================================== print("\nšŸŽ‰ CHARACTER PRINTER COMPLETE!"); print("āœ… Successfully printed each character"); print("āœ… Analyzed character statistics"); print("āœ… Demonstrated reverse printing"); print("āœ… Performed character search"); print("āœ… Showed string indexing capabilities"); print("\nšŸ† STRING INDEXING IS WORKING PERFECTLY!"); print("Bob can now process text character by character!"); print("Ready for advanced text processing tasks!"); print("\nšŸŽŠ PROGRAM COMPLETE! šŸŽŠ");