0% encontró este documento útil (0 votos)
132 vistas23 páginas

Runestone

Este documento presenta un curso de programación en Python dividido en 4 semanas. En la primera semana, los estudiantes aprenderán los fundamentos de Python a través de conferencias y un libro de texto interactivo. En la segunda semana, aprenderán sobre tipos de datos y bucles. En la tercera semana, cubrirán condicionales. En la cuarta semana, profundizarán en listas, cadenas y acumulación. A lo largo del curso, habrá oportunidades de práctica y evaluaciones calificadas cada semana para evaluar la comprens

Cargado por

Sandra Martinez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
132 vistas23 páginas

Runestone

Este documento presenta un curso de programación en Python dividido en 4 semanas. En la primera semana, los estudiantes aprenderán los fundamentos de Python a través de conferencias y un libro de texto interactivo. En la segunda semana, aprenderán sobre tipos de datos y bucles. En la tercera semana, cubrirán condicionales. En la cuarta semana, profundizarán en listas, cadenas y acumulación. A lo largo del curso, habrá oportunidades de práctica y evaluaciones calificadas cada semana para evaluar la comprens

Cargado por

Sandra Martinez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 23

Semana a semana

En la primera semana, se le presentará a la programación en Python a través de conferencias y el


libro de texto Runestone, un libro de texto interactivo en línea creado para este curso. Al final del
módulo, habrá ejecutado su primer programa en Python y habrá aprendido a dibujar imágenes
escribiendo un programa.

En la segunda semana, usará las conferencias y el libro de texto Runestone para comprender los
conceptos básicos de algunos tipos de datos de Python (listas, cadenas, tuplas), así como una
estructura de control, para bucles. Al final de esta semana, podrá escribir programas más
complejos que creen dibujos incorporando bucles_for. Finalmente, le presentaremos los
conceptos básicos de un patrón de acumulación, que se ampliará cada semana durante el resto
del curso.

En la tercera semana, aprenderá un nuevo tipo de datos de Python, el booleano, así como otra
estructura de control, la ejecución condicional. Mediante el uso de video conferencias y el libro de
texto Runestone, aprenderá qué son los condicionales binarios, unarios, anidados y encadenados,
así como cómo incorporar condicionales dentro de un patrón de acumulación.

En la cuarta semana presentaremos un conocimiento más profundo sobre el uso de listas, cadenas
y objetos de Python en general. También cubriremos cómo usar el patrón de acumulación con
listas y con cadenas. La tarea final pondrá a prueba sus conocimientos y habilidades mediante la
aplicación, al igual que lo hicieron las evaluaciones y asignaciones anteriores, aunque con un
conjunto de tareas más difíciles ahora que ha aprendido los conceptos básicos.

Ejercicios

A lo largo del curso, habrá oportunidades para que practique sus habilidades y pruebe su
comprensión del material hasta el momento. Estas son oportunidades sin calificar y puede
probarlas tanto como desee sin penalización por respuestas incorrectas. Para cada video de la
conferencia, habrá una página o páginas adjuntas en el libro de texto interactivo que tienen
preguntas en la parte inferior para que las use. Las preguntas, enumeradas en "Verifique su
comprensión", están destinadas a ayudarlo a saber si está obteniendo los puntos principales del
material. También habrá una página al final de casi todos los capítulos con la etiqueta "Ejercicios".
Aquí habrá preguntas con las que puede practicar, que serán más similares a un cuestionario
calificado tanto en estructura como en dificultad. Finalmente, habrá una herramienta de práctica a
la que puede acceder, que está alojada en el libro de texto. Con esta herramienta de práctica, se le
presentarán las mismas preguntas que están en el libro de texto pero siguiendo un algoritmo de
"repetición espaciada" para reforzar lo que ha aprendido.

Libro de texto interactivo: compruebe su comprensión

Libro de texto interactivo - Ejercicios

Libro de texto interactivo - Herramienta de práctica

Al comienzo de cada lección, hay un enlace que cumple una doble función: 1) lo registra en el libro
de texto, habilitando el resto de los enlaces del libro de texto; 2) te lleva la herramienta de
práctica.

Cuestionarios

Una vez por lección, habrá un cuestionario calificado, a veces denominado evaluación de capítulo.
El cuestionario está destinado a proporcionar una evaluación formal de su comprensión y, en su
mayoría, será una combinación de preguntas de opción múltiple, completar el espacio en blanco y
preguntas de codificación cortas. Estos cuestionarios calificados se alojarán en el libro de texto
interactivo y los resultados se enviarán a Coursera automáticamente.

Libro de texto interactivo - Cuestionarios calificados

Las pruebas tienen una fecha de vencimiento muy lejana en el futuro, solo porque todas las
asignaciones de piedras rúnicas tienen fechas de vencimiento. Puede ignorarlos. Terminará con
esta especialización antes de las fechas de vencimiento.

Fórmula de calificación para conceptos básicos de Python

Todos nuestros cuestionarios están configurados para brindarle retroalimentación automatizada


de inmediato y para permitirle intentar tantas veces como desee hasta y para calificar siempre su
"mejor" respuesta (generalmente la última). Hemos establecido un umbral de aprobación del
100%, porque el dominio del material inicial es fundamental para el éxito en el material posterior.

Por la misma razón, le recomendamos encarecidamente que utilice la herramienta de práctica


todos los días. Es una manera fácil de revisar conceptos anteriores y es gratificante ver cómo los
temas que alguna vez fueron difíciles se vuelven fáciles a medida que avanza.

Pasando el umbral: 100%


Semana uno: 20%

Evaluación - Programación en Python (10%)

Evaluación - Gráficos de tortugas (10%)

Semana dos: 20%

Evaluación: listas y cadenas (10%)

Asignación - Semana dos (10%)

Semana tres: 10%

Evaluación - Semana tres (10%)

Semana cuatro: 50%

Evaluación - Mutación de secuencia (7.5%)

Evaluación - Métodos: listas y cadenas (7.5%)

Evaluación: acumulación de listas y cadenas (7.5%)

Evaluación - Way of the Programmer Semana cuatro (7.5%)

Tarea - Tarea final del curso (20%)

Obteniendo ayuda

Si tiene problemas para iniciar sesión en el libro de texto interactivo del curso, intente iniciar
sesión nuevamente a través de la página "Iniciar sesión en el libro de texto" del curso. Esto debería
restaurar su acceso al libro de texto interactivo.

Si el problema está en la plataforma de Coursera, consulte los foros de asistencia al alumno de


Coursera.

Si tiene preguntas sobre el contenido del curso o sobre la programación en Python o con los kits
de herramientas descritos, puede comunicarse con sus compañeros y los instructores del curso en
los foros de discusión de Coursera. Si tiene preguntas más generales sobre Python (es decir, no
específicas para operar el libro de texto Runestone), vaya a Stack Overflow.

Si bien aprender unos de otros es muy importante, todos reconocemos la diferencia entre la
colaboración y simplemente copiar y pegar el trabajo realizado por otros. Le recomendamos
encarecidamente que trabaje en colaboración con el buen juicio. De manera similar, respete todas
las reglas de derechos de autor de todos los materiales, incluidos libros, artículos, etc. Aunque, en
última instancia, no podemos monitorear todo, Coursera y mi equipo monitorearán los foros para
detectar cualquier actividad que viole dichos códigos de conducta y cortesía básica entre ellos. No
se requiere la participación en el foro de discusión, aunque se recomienda encarecidamente.

Para obtener más información, comuníquese con el equipo de asistencia para estudiantes de
Coursera a través de nuestros foros de chat en línea en el Centro de ayuda para estudiantes.

Accesibilidad

Estamos comprometidos a desarrollar experiencias de aprendizaje accesibles para la audiencia


más amplia posible. Reconocemos que los estudiantes con discapacidades (incluidas, entre otras,
las deficiencias visuales, auditivas, cognitivas o motoras) pueden necesitar un apoyo más
específico relacionado con la accesibilidad para lograr los objetivos de aprendizaje en este curso. Si
experimenta alguna barrera de accesibilidad, como texto alternativo faltante o inadecuado,
navegación inaccesible para el lector de pantalla, subtítulos erróneos o incomprensibles, utilice
este formulario de comentarios sobre accesibilidad para notificar.

www.coursera.org/learn/python-basics/ungradedLti/PKObs/runestone-login

Runestone

Foundations of Python
Programming

Entra en la zona de aprendizaje

Los programas se ejecutan de forma muy fiable y rápida, pero no de forma creativa. Las
computadoras hacen lo que usted les dice que hagan, no lo que usted quiere que hagan. Por lo
tanto, comprender el código de computadora implica una gran cantidad de simulación mental de
lo que realmente sucederá, no de lo que desearía que sucediera. Esto puede resultar frustrante a
veces, pero es algo en lo que mejorará con la práctica. A medida que avance en las actividades de
esta clase, algunas le serán fáciles de completar, es decir, en su zona de confort. Estar en tu zona
de confort es agradable, pero probablemente significa que no estás aprendiendo mucho. Las
actividades más desafiantes lo alentarán a pensar detenidamente en los problemas y a consultar la
lectura para que pueda ingresar a su zona de aprendizaje. Esta es la zona en la que te esfuerzas
por estar la mayor parte del curso posible. Más allá de su zona de aprendizaje se encuentra la zona
de pánico donde el problema abruma su capacidad para crecer y aprender. Si se encuentra en la
zona de pánico, busque la ayuda de su instructor y / o compañeros de clase: ninguna de las
actividades de este libro tiene la intención de dejarlo perplejo. A medida que comprenda cómo
resolver algunos problemas más simples, desarrollará la capacidad de unir estas soluciones para
resolver problemas cada vez más desafiantes con aplicaciones del mundo real.

Además del pensamiento mecanicista, la escritura de programas de computadora requiere la


resolución creativa de problemas o la capacidad de identificar una situación compleja, pensar
creativamente sobre posibles soluciones y expresar esas soluciones de manera clara y precisa.
Resulta que el proceso de aprender a programar es una excelente oportunidad para practicar
habilidades de resolución de problemas que puede utilizar en otras partes de su vida. Creemos
sinceramente que la combinación del conocimiento de Python, las habilidades creativas para la
resolución de problemas y la expresión de esas soluciones de tal manera que una computadora
pueda llevarlas a cabo de manera efectiva (pensamiento computacional) lo hará más productivo y
eficiente para abordar su trabajo en el futuro. clases, ya sea en Ciencias de la Computación,
Negocios, Psicología o Historia. E incluso puede despertar su interés en convertirse en científico de
datos o informático.

1.1. Introduction: The Way of the Program

El objetivo de este libro es enseñarle a comprender y crear programas de computadora en Python.


Al comienzo de cada capítulo, describiremos para usted las metas y los objetivos de aprendizaje
que debe lograr una vez que haya terminado el capítulo.

Comprender los programas de computadora requiere un pensamiento algorítmico y mecanicista.


Los programas especifican secuencias mecánicas de acciones a realizar; cuando se ejecutan,
transforman los datos de entrada en datos de salida. Se ejecutan de forma muy fiable y rápida,
pero no de forma creativa. Las computadoras hacen lo que usted les dice que hagan, no lo que
usted quiere que hagan. Por lo tanto, comprender el código de computadora implica una gran
cantidad de simulación mental de lo que realmente sucederá, no de lo que desearía que sucediera.

Escribir programas de computadora requiere no solo un pensamiento mecanicista, sino también


una resolución creativa de problemas. La resolución de problemas significa la capacidad de
formular problemas, pensar de forma creativa en las soluciones y expresar una solución de forma
clara y precisa. Resulta que el proceso de aprender a programar es una excelente oportunidad
para practicar las habilidades de resolución de problemas.

1.1.1. Metas de aprendizaje

Introducir la terminología utilizada en informática.

Presente las características de este libro

Describe el propósito de los lenguajes de programación.

Distinguir entre lenguajes formales y naturales

1.1.2. Objetivos

Ser capaz de usar el componente de código activo y las preguntas de opción múltiple en el libro de
texto.

Saber utilizar e interpretar el componente Codelens.

Para poder describir lo que es un comentario.

1.2. Algoritmos

Un algoritmo es una lista paso a paso de instrucciones que, si se siguen exactamente, resolverán el
problema en cuestión.
Nuestro objetivo en la programación es tomar un problema y desarrollar un algoritmo que pueda
servir como solución general. Una vez que tengamos una solución de este tipo, podemos
expresarla como un programa y usar nuestra computadora para automatizar la ejecución. Estos
programas están escritos en lenguajes de programación.

Verifica tu entendimiento

intro-2-1: Un algoritmo es:

A. Una solución a un problema que puede ser resuelto por una computadora.

B. Una secuencia de instrucciones paso a paso que, si se siguen exactamente, resolverán el


problema en cuestión.

C. Una serie de instrucciones implementadas en un lenguaje de programación.

D. Un tipo especial de notación utilizado por los programadores.

Los algoritmos son como recetas: deben seguirse exactamente, deben ser claros e inequívocos y
deben terminar.

1.3. El lenguaje de programación Python

El lenguaje de programación que aprenderá es Python. Python es un ejemplo de lenguaje de alto


nivel; Otros lenguajes de alto nivel de los que quizás haya oído hablar son C ++, PHP y Java.

Como puede inferir del nombre lenguaje de alto nivel, también existen lenguajes de bajo nivel, a
veces denominados lenguajes máquina o lenguajes ensambladores. En términos generales, las
computadoras solo pueden ejecutar programas escritos en lenguajes de bajo nivel. Por lo tanto,
los programas escritos en un lenguaje de alto nivel deben procesarse antes de que puedan
ejecutarse. Este procesamiento adicional lleva algo de tiempo, lo cual es una pequeña desventaja
de los lenguajes de alto nivel. Sin embargo, las ventajas de los lenguajes de alto nivel son enormes.

Primero, es mucho más fácil programar en un idioma de alto nivel. Los programas escritos en un
idioma de alto nivel toman menos tiempo para escribir, son más cortos y fáciles de leer, y es más
probable que sean correctos. En segundo lugar, los lenguajes de alto nivel son portátiles, lo que
significa que pueden ejecutarse en diferentes tipos de computadoras con pocas o ninguna
modificación. Los programas de bajo nivel pueden ejecutarse en un solo tipo de computadora y
deben reescribirse para ejecutarse en otra.

Debido a estas ventajas, casi todos los programas están escritos en lenguajes de alto nivel. Los
lenguajes de bajo nivel se utilizan solo para algunas aplicaciones especializadas.

Dos tipos de programas procesan lenguajes de alto nivel en lenguajes de bajo nivel: intérpretes y
compiladores. Un intérprete lee un programa de alto nivel y lo ejecuta, lo que significa que hace lo
que dice el programa. Procesa el programa poco a poco, leyendo líneas y realizando cálculos
alternativamente.
Un compilador lee el programa y lo traduce por completo antes de que comience a ejecutarse. En
este caso, el programa de alto nivel se denomina código fuente y el programa traducido se
denomina código objeto o ejecutable. Una vez que se compila un programa, puede ejecutarlo
repetidamente sin más traducción.

Muchos lenguajes modernos utilizan ambos procesos. Primero se compilan en un lenguaje de nivel
inferior, llamado código de bytes, y luego se interpretan mediante un programa llamado máquina
virtual. Python usa ambos procesos, pero debido a la forma en que los programadores interactúan
con él, generalmente se considera un lenguaje interpretado.

Para el material principal de este libro, no necesitará instalar o ejecutar Python de forma nativa en
su computadora. En cambio, estará escribiendo programas simples y ejecutándolos directamente
en su navegador.

En algún momento, le resultará útil tener un entorno de Python completo, en lugar del entorno
limitado disponible en este libro de texto en línea. Para hacer eso, instalará Python en su
computadora para que pueda ejecutarse de forma nativa o usará un servidor remoto que
proporcione un shell de línea de comandos o un entorno de cuaderno jupyter.

Intro-3-1: El código fuente es otro nombre para:

A. las instrucciones de un programa, escritas en un lenguaje de alto nivel.

B. el lenguaje en el que está programando (por ejemplo, Python).

C. el entorno / herramienta en la que está programando.

D. el número (o "código") que debe ingresar en la parte superior de cada programa para indicarle
a la computadora cómo ejecutar su programa.

Si las instrucciones se almacenan en un archivo, se denomina archivo de código fuente.

Intro-3-2: ¿Cuál es la diferencia entre un lenguaje de programación de alto nivel y un lenguaje de


programación de bajo nivel?

R. Es de alto nivel si está de pie y de bajo nivel si está sentado.


B. Es de alto nivel si está programando para una computadora y de bajo nivel si está programando
para un teléfono o dispositivo móvil.

C. Es de alto nivel si el programa debe procesarse antes de que pueda ejecutarse, y de bajo nivel
si la computadora puede ejecutarlo sin procesamiento adicional.

D. Es de alto nivel si es fácil de programar y es muy corto; es de bajo nivel si es muy difícil de
programar y los programas son muy largos.

Python es un lenguaje de alto nivel, pero debe interpretarse en código de máquina (binario)
antes de que pueda ejecutarse.

intro-3-3: Elija los mejores reemplazos para 1 y 2 en la siguiente oración: Al comparar


compiladores e intérpretes, un compilador es como 1 mientras que un intérprete es como 2.

A. 1 = un proceso, 2 = una función

B.1 = traducir un libro completo, 2 = traducir una línea a la vez

C. 1 = software, 2 = hardware

D. 1 = código objeto, 2 = código byte.

Los compiladores toman todo el código fuente y producen el código objeto o el ejecutable y los
intérpretes ejecutan el código línea por línea.

1.4. Formas especiales de ejecutar Python en este libro

Este libro proporciona dos formas adicionales de ejecutar programas Python. Ambas técnicas
están diseñadas para ayudarlo a aprender el lenguaje de programación Python. Le ayudarán a
comprender mejor cómo funcionan los programas de Python.

Primero, puede escribir, modificar y ejecutar programas usando un intérprete de código de


activación único que le permite ejecutar código Python directamente en el texto mismo
(directamente desde el navegador web). Aunque ciertamente esta no es la forma en que se
escriben los programas reales, proporciona un entorno excelente para aprender un lenguaje de
programación como Python, ya que puede experimentar con el lenguaje mientras lee.

Eche un vistazo al intérprete de código activo en acción. Intente presionar el botón Guardar y
ejecutar a continuación. (Si no ha iniciado sesión, solo dirá Ejecutar).
Ahora intente modificar el programa que se muestra arriba. Primero, modifique la cadena en la
primera declaración de impresión cambiando la palabra agrega a la palabra multiplica. Ahora
presione Guardar y Ejecutar nuevamente. Puede ver que el resultado del programa ha cambiado.
Sin embargo, todavía imprime “5” como respuesta. Modifique la segunda declaración de
impresión cambiando el símbolo de suma, el +, por el símbolo de multiplicación, *. Presione
Guardar y ejecutar nuevamente para ver los nuevos resultados.

Como sugiere el nombre, Save & Run también guarda su última versión del código, y puede
recuperarlo incluso en sesiones posteriores cuando inicie sesión. Si no inició sesión, Run guarda
versiones solo hasta que su navegador abandone la página web actual, y luego pierde todas las
modificaciones.

Si ha iniciado sesión, cuando se carga una página por primera vez, cada ventana de código activo
tendrá un botón Cargar historial, a la derecha del botón Guardar y ejecutar. Si hace clic en él, o si
ejecuta algún código, ese botón se convierte en un control deslizante. Si hace clic en el cuadro de
ubicación del control deslizante, puede usar los botones de flecha izquierda y derecha para
cambiar a otras versiones que ejecutó. Alternativamente, puede arrastrar el cuadro en el control
deslizante. Ahora mueva el control deslizante para ver una versión previamente guardada de su
código. Puede editar o ejecutar cualquier versión.

Además del código activo, también puede ejecutar código Python con la ayuda de una
herramienta de visualización única. Esta herramienta, conocida como codelens, le permite
controlar la ejecución paso a paso de un programa. También le permite ver los valores de todas las
variables a medida que se crean y modifican. En activecode, el código fuente se ejecuta de
principio a fin y puede ver el resultado final. En codelens puedes ver y controlar el progreso paso a
paso. Tenga en cuenta que la flecha roja siempre apunta a la siguiente línea de código que se va a
ejecutar. La flecha de color verde claro apunta a la línea que se acaba de ejecutar. Haga clic en el
botón "Mostrar en Codelens" para que aparezca la ventana de Codelens y luego haga clic en el
botón Adelante unas cuantas veces para recorrer la ejecución.

A veces, presentaremos ejemplos de código explícitamente en una ventana de Codelens en el libro


de texto, como se muestra a continuación. Cuando lo hagamos, piense en ello como un estímulo
para utilizar las funciones de Codelens para avanzar paso a paso en la ejecución del programa.
Intro-4-1: El intérprete de código activo le permite (seleccione todo lo que corresponda):

A. guardar programas y recargar programas guardados.

B. escriba el código fuente de Python.

C. ejecutar código Python directamente en el propio texto dentro del navegador web.

D. recibir una respuesta sí / no sobre si su código es correcto o no

A. Puede (y debe) guardar el contenido de la ventana de código activo.

B. No está limitado a ejecutar los ejemplos que ya están allí. Intente agregarlos y crear el suyo
propio.

C. El intérprete de código activo le permitirá escribir código Python en el cuadro de texto y luego
podrá verlo ejecutarse mientras el intérprete interpreta y ejecuta el código fuente.

intro-4-2: Codelens le permite (seleccione todo lo que corresponda):

A. medir la velocidad de ejecución de un programa.

B. controlar la ejecución paso a paso de un programa.

C. escribir y ejecutar su propio código Python.

D. ejecutar el código Python que está en codelens.

B. Al usar Codelens, puede controlar la ejecución de un programa paso a paso. ¡Incluso puedes
retroceder!

D. Al avanzar a través del código Python en codelens, está ejecutando el programa Python

1.5. Más sobre programas

Un programa es una secuencia de instrucciones que especifica cómo realizar un cálculo. El cálculo
puede ser algo tan complejo como renderizar una página html en un navegador web o codificar un
video y transmitirlo por la red. También puede ser un cálculo simbólico, como buscar y reemplazar
texto en un documento o (curiosamente) compilar un programa.

Los detalles se ven diferentes en diferentes idiomas, pero algunas instrucciones básicas aparecen
en casi todos los idiomas.

Entrada -> input

Obtenga datos del teclado, un archivo o algún otro dispositivo.

Salida -> output

Muestra datos en la pantalla o envía datos a un archivo u otro dispositivo.

Matemáticas y lógica -> math and logic

Realiza operaciones matemáticas básicas como suma y multiplicación y operaciones lógicas como
y, o y no. And, or, and not.
Ejecución condicional -> conditional execution

Verifique ciertas condiciones y ejecute la secuencia apropiada de declaraciones.

Repetición -> repetition

Realice alguna acción repetidamente, generalmente con alguna variación.

Lo crea o no, eso es todo lo que hay que hacer. Todos los programas que haya utilizado, por muy
complicados que sean, se componen de instrucciones que se parecen más o menos a estas. Por lo
tanto, podemos describir la programación como el proceso de dividir una tarea grande y compleja
en subtareas cada vez más pequeñas hasta que las subtareas sean lo suficientemente simples
como para realizarlas con secuencias de estas instrucciones básicas.

1.5.1. Vista previa de estructuras de control

No nos adentraremos demasiado en las estructuras de control de Python todavía, pero es bueno
mencionarlas antes para darte una idea de lo que puedes hacer con el lenguaje. Si esto tiene
sentido para ti ahora, ¡es genial! Sin embargo, no esperamos que los comprenda todavía; la
comprensión vendrá más tarde.

Primero tenemos estructuras que nos permiten iterar sobre algo. Podemos mirar cadenas carácter
por carácter o listas elemento por elemento hasta que lleguemos al final de ellas mediante el uso
de algo llamado for.

--<<<for character in "Cool string":

print(character)

También podemos iterar sin un punto de parada definido con bucles while. Puede usar esto si
desea recibir información del usuario de su programa, pero no sabe cuánto tiempo tardará en
terminar con su código.

grocery_item = ""
while grocery_item != "done":

grocery_item = input("Please write down an item to add to your grocery list. When you are done
writing the list simply type: done")

print(grocery_item)

Otras estructuras nos permitirán ejecutar solo partes de nuestros programas o solo realizar alguna
tarea si se encuentran un cierto conjunto de condiciones. Los condicionales, como se les llama, nos
permiten hacer eso. Vea cómo agregar condicionales a nuestro código puede cambiar lo que
podemos escribir sobre las compras de comestibles.

grocery_item = ""

grocery_list = []

while grocery_item != "done":


grocery_item = input("Please write down an item to add to your grocery list. When you are done
writing the list then simply type: done")

if grocery_item == 'done':

continue

else:

print("adding the item to the list")

grocery_list.append(grocery_item)

print("Here is our grocery list:")

print(grocery_list)

intro-5-1: Un programa es:

A. una secuencia de instrucciones que especifica cómo realizar un cálculo.

B. algo que sigues en una obra de teatro o concierto.

C. un cálculo, incluso un cálculo simbólico.

D. lo mismo que un algoritmo.

✔️ Son solo instrucciones paso a paso que la computadora puede comprender y ejecutar. Los
programas a menudo implementan algoritmos, pero tenga en cuenta que los algoritmos suelen
ser menos precisos que los programas y no tienen que estar escritos en un lenguaje de
programación.

1.6. Lenguajes formales y naturales


Los idiomas naturales son los idiomas que habla la gente, como inglés, español, coreano y chino
mandarín. No fueron diseñados por personas (aunque la gente intenta imponerles algún orden);
evolucionaron de forma natural.

Los lenguajes formales son lenguajes diseñados por personas para aplicaciones específicas. Por
ejemplo, la notación que usan los matemáticos es un lenguaje formal que es particularmente
bueno para denotar relaciones entre números y símbolos. Los químicos utilizan un lenguaje formal
para representar la estructura química de las moléculas. Y más importante:

Los lenguajes de programación son lenguajes formales que han sido diseñados para expresar
cálculos.

Los lenguajes formales tienden a tener reglas estrictas sobre la sintaxis. Por ejemplo, 3+3=6 es una
declaración matemática sintácticamente correcta, pero 3=+6$ no lo es. H2O es un nombre químico
sintácticamente correcto, pero 2Zz no lo es.

Las reglas de sintaxis vienen en dos tipos, pertenecientes a tokens y estructura. Los tokens son los
elementos básicos del lenguaje, como palabras, números y elementos químicos. Uno de los
problemas con 3=+6$ es que $ no es una ficha legal en matemáticas (al menos hasta donde
sabemos). De manera similar, 2Zz no es legal porque no hay ningún elemento con la abreviatura
Zz.

El segundo tipo de regla de sintaxis pertenece a la estructura de una declaración, es decir, la forma
en que se organizan los tokens. La declaración 3=+6$ es estructuralmente ilegal porque no puede
colocar un signo más inmediatamente después de un signo igual. De manera similar, las fórmulas
moleculares deben tener subíndices después del nombre del elemento, no antes.

Cuando lee una oración en inglés o una declaración en un idioma formal, debe averiguar cuál es la
estructura de la oración (aunque en un lenguaje natural lo hace de manera subconsciente). Este
proceso se llama análisis (parsing).

Por ejemplo, cuando escuchas la oración “El otro zapato se cayó”, entiendes que el otro zapato es
el sujeto y caer es el verbo. Una vez que haya analizado una oración, puede averiguar qué significa
o la semántica de la oración. Suponiendo que sepa lo que es un zapato y lo que significa caer,
comprenderá las implicaciones generales de esta oración.

Aunque los lenguajes formales y naturales tienen muchas características en común (tokens,
estructura, sintaxis y semántica), existen muchas diferencias:

Ambigüedad

Los lenguajes naturales están llenos de ambigüedad, que las personas manejan mediante el uso de
pistas contextuales y otra información. Los lenguajes formales están diseñados para ser casi o
completamente inequívocos, lo que significa que cualquier declaración tiene exactamente un
significado, independientemente del contexto.

Redundancia
Para compensar la ambigüedad y reducir los malentendidos, los lenguajes naturales emplean
mucha redundancia. Como resultado, a menudo son prolijos. Los lenguajes formales son menos
redundantes y más concisos.

Literalidad

Los lenguajes formales significan exactamente lo que dicen. Por otro lado, los lenguajes naturales
están llenos de modismos y metáforas. Si alguien dice: “El otro zapato se cayó”, probablemente no
haya ningún zapato y no se caiga nada.

Propina --Trip

Necesitarás encontrar el chiste original para comprender el significado idiomático de la caída del
otro zapato. Yahoo! ¡Respuestas piensa que sabe

Las personas que crecen hablando un lenguaje natural, es decir, todo el mundo, a menudo tienen
dificultades para adaptarse a los lenguajes formales. De alguna manera, la diferencia entre
lenguaje natural y formal es como la diferencia entre poesía y prosa, pero más aún:

Poesía

Las palabras se utilizan tanto por sus sonidos como por su significado, y todo el poema en
conjunto crea un efecto o una respuesta emocional. La ambigüedad no solo es común, sino que a
menudo es deliberada.

Prosa

El significado literal de las palabras es más importante y la estructura aporta más significado. La
prosa es más susceptible de análisis que la poesía, pero a menudo es ambigua.

Programa

El significado de un programa de computadora es inequívoco y literal y puede entenderse


completamente mediante el análisis de los tokens y la estructura.

Aquí hay algunas sugerencias para programas de lectura (y otros lenguajes formales). Primero,
recuerde que los lenguajes formales son mucho más densos que los lenguajes naturales, por lo
que lleva más tiempo leerlos. Además, la estructura es muy importante, por lo que normalmente
no es una buena idea leer de arriba a abajo, de izquierda a derecha. En su lugar, aprenda a analizar
el programa en su cabeza, identificando los tokens e interpretando la estructura. Finalmente, los
detalles importan. Pequeñas cosas como los errores ortográficos y la mala puntuación, que puede
salirse con la suya en los lenguajes naturales, pueden marcar una gran diferencia en un lenguaje
formal.
Intro-6-1: Las diferencias entre los lenguajes naturales y formales incluyen:

A. Los lenguajes naturales se pueden analizar, mientras que los lenguajes formales no.

B. ambigüedad, redundancia y literalidad.

C. no existen diferencias entre lenguajes naturales y formales.

D. tokens, estructura, sintaxis y semántica.

✔️ Todos estos pueden estar presentes en lenguajes naturales, pero no pueden existir en
lenguajes formales.

intro-6-2: Verdadero o Falso: Leer un programa es como leer otros tipos de texto.

A. Una verdad

B. Falso

✔️ Por lo general, se tarda más en leer un programa porque la estructura es tan importante
como el contenido y debe interpretarse en partes más pequeñas para su comprensión.

1.7. Un primer programa típico

Tradicionalmente, el primer programa escrito en un nuevo idioma se llama Hello, ¡World! porque
todo lo que hace es mostrar las palabras ¡Hola, mundo! En Python, el código fuente se ve así.

Este es un ejemplo del uso de la función de impresión (print), que en realidad no imprime nada en
papel. Muestra un valor en la pantalla. En este caso, el resultado es la frase:

Las comillas en el programa marcan el principio y el final del valor. No aparecen en el resultado.
Aprenderá más sobre por qué en el próximo capítulo.

Algunas personas juzgan la calidad de un lenguaje de programación por la simplicidad de Hello,


World! programa. Según este estándar, Python lo hace lo mejor posible.

intro-7-1: La función de impresión:

A. envía información a la impresora para que se imprima en papel.

B. muestra un valor en la pantalla.

C. le dice a la computadora que ponga la información en formato impreso, en lugar de cursiva.

D. le dice a la computadora que diga la información.

✔️Sí, la declaración de impresión se usa para mostrar el valor de lo que se está imprimiendo.
1.8. 👩‍💻 ¡Predecir antes de correr!

¡Ha ejecutado su primer programa! Hará mucho eso en este libro y los programas se volverán cada
vez más complicados. Una forma de ayudar a comprender lo que está sucediendo y aprender a
programar es predecir el efecto de ejecutar un fragmento de código antes de ejecutar el
programa. Más adelante en su desarrollo, puede hacer predicciones sobre grandes fragmentos de
código, pero por ahora, normalmente estará prediciendo el efecto de ejecutar una sola línea de
código. Una predicción será sobre lo que se imprime, o sobre el valor de una variable, o que
ocurrirá un error.

Una predicción no es una suposición aleatoria. Se basa en alguna explicación que tiene sobre cuál
es el estado actual de las variables y sobre lo que cree que hacen ciertos comandos en Python.

Mientras lee el libro de texto, verá capítulos, páginas o fragmentos de texto que comienzan con
"WP:". Esto denota secciones que hablan sobre el Camino del Programador: consejos o
información que te ayudará a ser un mejor programador y hacer mejores programas. ¡Esté atento
a otras páginas de WP!.

1.9. 👩‍💻 ¡Para entender un programa, cámbielo!

Para comprobar su comprensión o sus predicciones, ejecutará un programa.

Para comprobar su comprensión sobre el estado de las variables antes de que se ejecute el
fragmento de código, agregue declaraciones de impresión de diagnóstico que impriman los tipos y
valores de las variables. Agregue estas declaraciones de impresión justo antes del fragmento de
código que está tratando de comprender.

Si hizo una predicción sobre la salida que se generará cuando se ejecute el fragmento de código,
puede ejecutar el programa. Sin embargo, si hizo una predicción sobre un cambio que ocurre en el
valor de una variable, necesitará agregar una declaración de impresión de diagnóstico adicional
justo después de la línea de código que cree que debería cambiar esa variable.

Las declaraciones de impresión de diagnóstico son temporales. Una vez que haya verificado que
un programa está haciendo lo que cree que está haciendo, eliminará estas declaraciones impresas
adicionales.

Sin embargo, incluso si cree que tiene un buen conocimiento del programa, le recomendamos que
lo cambie al menos algunas veces para ver si comprende cómo se comporta en diferentes
situaciones. ¡A veces te sorprenderás!

Si recibe alguna sorpresa, querrá revisar su comprensión o sus predicciones. Si estaba equivocado
acerca de los valores o tipos de variables antes de que se ejecutara el fragmento de código, es
posible que desee revisar su comprensión del código anterior. Una vez que comprenda cómo se
obtuvo ese resultado, debe realizar algunos cambios en el programa para asegurarse de que su
nueva comprensión sea precisa.

1.10. Comentarios

A medida que los programas se hacen más grandes y complicados, se vuelven más difíciles de leer.
Los lenguajes formales son densos y, a menudo, es difícil mirar un fragmento de código y averiguar
qué está haciendo o por qué. Por esta razón, es una buena idea agregar notas a sus programas
para explicar en lenguaje natural lo que está haciendo el programa. Estas notas se denominan
comentarios.

Un comentario en un programa de computadora es un texto que está destinado únicamente al


lector humano; el intérprete lo ignora por completo. En Python, el token # inicia un comentario. El
resto de la línea se ignora. Aquí hay una nueva versión de Hello, World!

Tenga en cuenta que cuando ejecuta este programa, solo imprime la frase ¡Hola, mundo! Ninguno
de los comentarios aparece. También notará que hemos dejado una línea en blanco en el
programa. El intérprete también ignora las líneas en blanco, pero los comentarios y las líneas en
blanco pueden hacer que sus programas sean mucho más fáciles de analizar para los humanos.
¡Úselos generosamente!

intro-10-1: ¿Para qué sirven los comentarios?

A. Para decirle a la computadora lo que quiere decir con su programa.

B. Que las personas que están leyendo su código sepan, en lenguaje natural, lo que está
haciendo el programa.

C. Nada, son información ajena que no se necesita.

D. Nada en un programa corto. Solo son necesarios para programas realmente grandes.

✔️La computadora ignora los comentarios. Es para los humanos que "consumirán" su programa.

1,11. Glosario

codigo activo/activecode

Un entorno de intérprete único que permite ejecutar Python desde un navegador web.

Algoritmo/algorith

Una lista paso a paso de instrucciones que, si se siguen exactamente, resolverán el problema en
cuestión.

Insecto/bug

Un error en un programa.
código de bytes/byte code

Un lenguaje intermedio entre el código fuente y el código objeto. Muchos lenguajes modernos
primero compilan el código fuente en código de bytes y luego interpretan el código de bytes con
un programa llamado máquina virtual.

Codelens

Un entorno interactivo que permite al usuario controlar paso a paso la ejecución de un programa
Python

Comentario/comment

Información en un programa que está destinada a otros programadores (o cualquiera que lea el
código fuente) y no tiene ningún efecto en la ejecución del programa.

Compilar/compile

Traducir un programa escrito en un idioma de alto nivel a un idioma de bajo nivel de una vez, en
preparación para su ejecución posterior.

Depuración/debugging

El proceso de encontrar y eliminar cualquiera de los tres tipos de errores de programación: * error
de sintaxis *, * error semántico * y * error de tiempo de ejecución *.

Excepción/exception

Otro nombre para un error en tiempo de ejecución.

Ejecutable/executable

Otro nombre para el código objeto que está listo para ejecutarse.

lenguaje formal/formal language

Cualquiera de los lenguajes que la gente ha diseñado para propósitos específicos, como
representar ideas matemáticas o programas de computadora; todos los lenguajes de
programación son lenguajes formales.

lenguaje de alto nivel / high-level language

Un lenguaje de programación como Python que está diseñado para que los humanos puedan leer
y escribir fácilmente.

Interpretar / interpret

Ejecutar un programa en un lenguaje de alto nivel traduciéndolo una línea a la vez.

lenguaje de bajo nivel/low-level language


Un lenguaje de programación que está diseñado para que sea fácil de ejecutar por una
computadora; también llamado lenguaje de máquina o lenguaje ensamblador.

lenguaje natural / natural language

Cualquiera de los idiomas que habla la gente que evolucionó de forma natural.

código de objeto /object code

La salida del compilador después de que traduce el programa.

analizar gramaticalmente / parse

Examinar un programa y analizar la estructura sintáctica.

Portabilidad / porability

Propiedad de un programa que puede ejecutarse en más de un tipo de computadora.

función de impresión / print function

Una función utilizada en un programa o secuencia de comandos que hace que el intérprete de
Python muestre un valor en su dispositivo de salida.

resolución de problemas / problem solving

El proceso de formular un problema, encontrar una solución y expresar la solución.

Programa / program

Una secuencia de instrucciones que especifica a una computadora las acciones y los cálculos a
realizar.

lenguaje de programación / programming language

Un vocabulario y un conjunto de reglas gramaticales para instruir a una computadora o dispositivo


informático para que realice tareas específicas.

Shell de Python

Una interfaz de usuario interactiva para el intérprete de Python, y el usuario de un shell de Python
escribe comandos en el símbolo del sistema (>>>) y presiona la tecla de retorno para enviar estos
comandos inmediatamente al intérprete para su procesamiento. Para iniciar Python Shell, el
usuario debe abrir el terminal y escribir "python". Una vez que el usuario presiona Enter, aparece
Python Shell y el usuario puede interactuar con él.

Error de tiempo de ejecución / runtime error

Un error que no ocurre hasta que el programa ha comenzado a ejecutarse pero que impide que el
programa continúe.

error semántico / semantic error


Un error en un programa que hace que haga algo diferente de lo que pretendía el programador.

Semántica /semantics

El significado de un programa.

modo shell

Un modo de usar Python donde las expresiones se pueden escribir y ejecutar en el símbolo del
sistema, y los resultados se muestran inmediatamente en la ventana del terminal de comandos. El
modo Shell se inicia abriendo la terminal de su sistema operativo y escribiendo "python". Presione
enter y aparecerá Python Shell. Esto contrasta con el código fuente. También vea la entrada
debajo del shell de Python.

código fuente / source code

Las instrucciones de un programa, almacenadas en un archivo, en un lenguaje de alto nivel antes


de ser compiladas o interpretadas.

Sintaxis / syntax

La estructura de un programa.

error de sintaxis / synta error

Un error en un programa que hace que sea imposible de analizar y, por lo tanto, imposible de
interpretar.

Simbólico / token

Uno de los elementos básicos de la estructura sintáctica de un programa, análogo a una palabra en
un lenguaje natural.

1.12. Evaluación del capítulo

intro-12-1: ¿Por qué crear un algoritmo?

A. Porque las computadoras son mejores para resolver problemas.

B. Para que no tenga que resolver el problema usted mismo.

C. Para que tenga una solución general a un problema.

D. Porque necesitas un conjunto de instrucciones a seguir.

✔️Sí, al crear una solución general, puede expresarla como un programa si lo desea, y luego usar
una computadora para automatizar la ejecución.

2.1. Introducción
Este capítulo presenta varios bloques de construcción básicos de programas Python:

 literales, como números y cadenas de caracteres


 operadores, como + y *
 llamadas a funciones, que toman valores como entradas y calculan nuevos valores
 variables, que guardan los valores para poder utilizarlos más adelante en el programa.

Estos son los componentes básicos que se ensamblan para crear programas con los que interactúa
todos los días, desde el software que se ejecuta en su reloj inteligente hasta la infraestructura
detrás de los sitios web más grandes y todas las aplicaciones que se ejecutan en su teléfono.

También podría gustarte