Needs to examine and process the


Instruction

This is the final step of this project. You will finish the encoder. You need to further improve the program you have built and make it capable to handle text messages consists of multiple words. Based on the rules of Morse code, words are separated by slashes (actually ' / ', i.e. space-slash-space). In English, words are separated by spaces. Thus, the program must process spaces in the string (clear text) correctly and translate them into ' / '. There are special cases the program needs to pay attention. The spaces at the beginning/end of the string should be ignored, and the spaces in the middle of the string should be consolidated and be treated as a single space. For example, ' MATLAB PROGRAMMING ' and 'MATLAB PROGRAMMING' should have the same Morse code.

To correctly handle spaces, your program needs to examine and process the string before it performs the conversion (from clear text to Morse code). We can call this step preprocessing. In the preprocessing, the program can call function strtrim() to remove the leading spaces and trailing spaces (the function returns a string without leading and trailing spaces). Then, the program can use a loop to consolidate spaces in the middle. The loop checks every character in the string, and writes the character into another string (named str2 for brevity) if the character is not a space OR if the previous character written into str2 is not a space.

The conversion (from the str2 to Morse code) comes after the preprocessing step. During the conversion, each space character is converted into ' / ', i.e. space-slash-space. When a punctuation mark or a special symbol is found in the string, the program should print out an error message and then stops the conversion. You may consider to use break statement to stop the loop performing conversion.

Test Your Program Before Submit It

Run your program to translate the following messages into Morse code (single quotation marks are not part of messages). Then you compare the resulting Morse code against that obtained with the online translator at https://morsecode.scphillips.com/jtranslator.html.

1. 'abcdefghijklmnopqrstuvwxyz'

2. '012345678'

3. 'abcdefghijklmnopqrstuvwxyz012345678'

4. 'The quick brown fox jumps over the lazy dog'

5. 'MATLAB Programming'

6. 'MATLAB Programming '

FAQ

Q: How to accept a string with input function?

A: You need to include the second parameter 's' in the input function to make it accept a string, i.e. input('some info here', 's');

Q: How to convert a character/string into uppercase?

A: Please refer to upper() function: https://www.mathworks.com/help/matlab/ref/upper.html.

Q: How to add new contents into a string str?

A: str = [str 'some text']; or str = ['some text' str];

Please note that str must have been created before. Otherwise, MATLAB will stop executing your code and print out an error message.

Q: How to create an empty string?

A: Use a pair of single quotation marks or a pair of brackets. For example, a=''; or a=[];

Q: How to shorten a string str?

A: use a subarray of str. For example, str = str(1:length(str)) is to shorten the string by 1.

Q. Are there spaces between the Morse code for consecutive letters/digits

Yes.

Request for Solution File

Ask an Expert for Answer!!
Basic Computer Science: Needs to examine and process the
Reference No:- TGS0815581

Expected delivery within 24 Hours