Edutin Academy
Problema: Iniciales Diseñe e implemente un programa, initials , que, dado el nombre de una persona, imprima sus iniciales.
Especificaciones • Implementa tu programa en un archivo llamado initials.c en un directorio llamado initials . • Tu programa deberá solicitarle al usuario por su nombre usando get_string para obtener el nombre como un string . • Puedes asumir que la entrada del usuario solo contiene letras (mayúsculas y/o minúsculas) mas un espacio entre las palabras. ¡No necesitas preocuparte de nombres como Joseph Gordon-Levitt , Conan O’Brien , o David J. Malan ! • Tu programa deberá imprimir las iniciales del usuario (ej., la primera letra de cada palabra en su nombre) sin espacios, seguido de un salto de línea ( \n ).
Preparándose Está bien, ¡aquí vamos! Loguéate dentro del espacio de trabajo en el Edutin IDE y ejecuta update50 Si no lo has hecho aún, crea un nuevo directorio llamado programming
Edutin Academy
~/workspace/ $ mkdir programming Dentro de programming , crea un nuevo directorio llamado initials , de esta manera:
~/workspace/programming/ $ mkdir initials Ahora cd dentro del directorio para moverte al directorio initials . Si tu terminal se ve como la siguiente, ¡ya está todo listo! ~/workspace/programming/initials/ $ Si no, retoma los pasos y ve si puedes determinar donde estas equivocado.
Consejos • Puedes ejecutar history en tu terminal para ver tus últimos comandos en orden cronológico. • También puedes desplazarte a través de la misma línea presionando las teclas de flecha arriba y abajo en tu teclado; presiona Enter para re-ejecutar cualquier comando que quisieras. • Si de alguna manera se cierra tu terminal (y no puedes encontrarla), asegúrate que Console está marcada debajo del menú View, luego, da clic en el signo “mas” (+) encerrado en un circulo verde en la mitad inferior del Edutin IDE, luego selecciona New Terminal.
Edutin Academy
• Te mostramos unos cuantos ejemplos de códigos que podrán serte de utilidad a medida que trabajas en este y otros futuros problemas en esta unidad, los cuales podrán ser encontrados en: cdn. cs50.net/2015/fall/lectures/2/w/src2w/
Uso Tu programa debería comportarse como el ejemplo debajo. Asumiendo que el texto subrayado es lo que algún usuario ha escrito. $ ./initials Zamyla Chan ZC
$ ./initials robert thomas bowden RTB
Probando Correctitud Para probar si tu programa está correcto, deberías ejecutar lo siguiente en la ventana de comandos. check50 cs50/problems/2018/ap/pennies
Estilo style50 pennies.c
Edutin Academy
Honestidad Académica La filosofía de este curso sobre la honestidad académica es mejor mencionada como “sé razonable”. El curso reconoce que la interacción con los compañeros de clases y otros puede facilitar el dominio del material del curso. Sin embargo, aquí recordamos una línea entre conseguir ayuda de otro y presentar el trabajo de alguien más. Esta política caracteriza ambos lados de esa línea. La esencia de todo el trabajo que envía a este curso debe ser propia. La colaboración sobre los problemas no está permitida (a menos que se mencione explícitamente) excepto hasta el punto de que puedas pedir ayuda a tus compañeros u otros, siempre y cuando esa ayuda no se reduzca a que el otro haga el trabajo por ti. Generalmente hablando, cuando pides ayuda, puedes mostrar tu propio código o escribirlo, pero no deberías ver el de los demás, mientras que usted y ellos respeten estas políticas y otras restricciones. La colaboración en quices y tesis está totalmente prohibida. La colaboración en el proyecto final está permitida hasta el punto que se especifique. Debajo están las reglas prácticas que caracterizan los actos que el curso considera razonables y no razonables. Si duda en cuanto si un acto es razonable, no lo haga hasta que solicite y reciba la aprobación por escrito de su instructor. Si una violación de esta política es sospechada y confirmada, su instructor se reserva el derecho de imponer sanciones sobre cualquier resultado disciplinario que podría incluir la pérdida del trabajo enviado o del curso en sí.
Edutin Academy
Razonable • • • •
• • • • • •
Comunicarse con compañeros de clase acerca de problemas en Ingles (u algún otro idioma hablado). Debatir el material de curso con otros con la finalidad de entenderlo mejor. Ayudar a un compañero a identificar un bug en su código, viendo, compilando o corriendo su código, incluso en su propio computador. Incorporando un fragmento de código que se encuentre online o en cualquier lugar, dentro de su código, previsto que esos fragmentos no son en si la solución a los problemas asignados y que se cite el origen del fragmento de código. Revisar quices de años pasados, exámenes y soluciones. Enviar o mostrar código que le ha escrito a alguien, posiblemente a un compañero, entonces eso podría ayudarlo a identificar y arreglar un bug. Compartiendo fragmentos de código, sus propias soluciones a problemas en línea así otros podrían ayudarle a identificar y arreglar un bug u otro inconveniente. Utilizando la web o cualquier otro lugar por instrucciones más allá del curso mismo, para referencias, y para soluciones por dificultades técnicas, pero no para soluciones completas a problemas o para su propio proyecto final. Exponer soluciones a problemas con otros usando diagramas o pseudocódigo, pero no el código actual. Trabajar (e incluso pagarle) a un tutor para ayudarte con el curso, aclarando que el tutor no haga el trabajo por usted.
Edutin Academy
No razonable • • • • • • • •
Acceder a las soluciones de algún problema antes de presentar la suya. Preguntarle a un compañero de clases para ver su solución al problema antes de presentar la suya. Descompilar o desensamblar las soluciones a los problemas. Fallar al citar (como con comentarios) el origen del código, escritura o técnicas que usted descubrió fuera del curso e integrarlas a su propio trabajo incluso mientras respeta esta política y otras restricciones. Dando o mostrando a un compañero la solución a un problema cuando él o ella, y no usted, fue quien tuvo problemas al resolverlo. Viendo el trabajo de otra persona durante un examen o quiz. Pagando u ofreciendo pagarle a alguien por un trabajo que usted debe presentar como (o en parte) suyo. Ofreciendo y haciendo disponible las soluciones de un problema a personas que podrían tomar el curso en el futuro.
•
Buscar, solicitar o ver las respuestas de un quiz antes de tomarlo.
•
Buscar o solicitar soluciones completas a problemas en línea o en otro lugar.
•
Dividiendo la carga de trabajo para resolver un problema y combinar su trabajo. (A menos que esté autorizado explícitamente por el problema mismo).
•
Presentando (después de una posible modificación) el trabajo de otra persona más allá de los fragmentos permitidos.
•
Presentando el mismo o un trabajo similar a este curso que usted ha presentado o presentará en otro lugar.
•
Utilizando recursos durante el quiz más allá de los que están explícitamente permitidos en las instrucciones del quiz.
•
Viendo otra solución del problema y basar su propia solución en esta.
Edutin Academy
Evaluación Su trabajo en este conjunto de problemas se evaluará principalmente en tres ejes.
Exactitud ¿Hasta qué punto su código es consistente con nuestras especificaciones y libre de errores?
Diseño ¿Hasta qué punto está bien escrito su código (es decir, de manera clara, eficiente, elegante y / o lógica)?
Estilo ¿Hasta qué punto es legible su código (es decir, comentado y sangrado con las variables adecuadamente nombradas)?
Para obtener una calificación aprobatoria en este curso, todos los estudiantes deben enviar todos los problemas asignados, a menos que el profesor otorgue una excepción por escrito.
Este documento hace parte de la obra “CS50's AP® Computer Science Principles” por Harvard University, disponible bajo licencia Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0). “CS50's AP® Computer Science Principles” licencia Attribution-NonCommercialShareAlike 4.0 International (CC BY-NC-SA 4.0) modificado y adaptado por Edutin Academy.