Hola y bienvenido de nuevo.
Hablemos de la fundamentos de un programa.
Ya que este es un comienzo clase de programación,
específicamente vamos a hablar de C, antes de que pueda comprender incluso
un lenguaje de programación, necesita para entender qué es un programa.
Así que quiero describir algunos conceptos básicos conceptos básicos para usted antes de
comenzar con los detalles de C.
Las computadoras son máquinas muy tontas.
Ustedes son, estoy seguro, más que más que no estar familiarizado con lo
que puede hacer una computadora y lo que hace.
Específicamente, sin embargo, debajo del capó y lo que sucede en términos de
cuándo hace clic en su navegador, cuándo hace clic las diferentes aplicaciones que usa, lo que
está sucediendo bajo el capó ¿Hay algún tipo de programa
que se está ejecutando y ese programa está decirle a la computadora qué hacer.
Las computadoras son realmente tontas.
Solo hacen lo que se les dice que hagan.
Así que las operaciones básicas de un la computadora formará lo que se conoce como el
conjunto de instrucciones de la computadora.
Un conjunto de instrucciones si puedes Piense en eso, es la forma en que va
a hacer algo. Entonces tenemos
que decirle a esta computadora cómo va a hacerlo.
Lo hacemos en forma de programa a un nivel aún más bajo.
Cada computadora tiene lo que llamado conjunto de instrucciones.
Un conjunto de instrucciones es básicamente las instrucciones en la CPU, el
procesador de la computadora.
Entonces, para resolver un problema usando una computadora diciéndote qué hacer, proporcionas
esta solución enviando estos instrucciones al conjunto de instrucciones.
Entonces eso es lo que está pasando
cuando escribe un programa de computadora está enviando instrucciones específicas para resolver un problema
específico a través de comandos a la CPU, el procesador.
Y el enfoque o método que que se utiliza para resolver el problema se
conoce como algoritmo.
Así que para ustedes, chicos que entienden matemáticas, un algoritmo es la forma de resolver
un problema.
Entonces, por ejemplo, si tuvieras que crear un programa completo y todo
lo que hace es probar si un el usuario ingresa un número par o impar.
Lo que se describiría como el el algoritmo en sí es la prueba, ya sea que el
número sea par o no o extraño, ese es el algoritmo.
Los enunciados que resuelven el problema en su totalidad se convierte en el programa.
Y discutiremos esto concepto y algoritmo.
El algoritmo es par es par más tipo de relación, relacionada con la programación
del módulo.
Así que hablaremos de eso cuando hablar más sobre los detalles para ver.
Pero de nuevo, quiero dejarte comprender lo que hace cuando
escribe código.
¿Qué está pasando en el capa muy, muy baja.
Vas a escribir estos algoritmos
que están contenidos dentro de un programa.
Entonces, para escribir un programa, necesitará
escribir correctamente las instrucciones para implementar el algoritmo.
Estas instrucciones pueden expresarse en cualquier tipo de declaraciones de un
lenguaje de programación en particular.
Así que nos centraremos en c para esta clase, pero estoy seguro
de que ha oído hablar de otros programas lenguajes como
java, c ++, objetivo c utilizados en aplicaciones iOS pero en realidad más ahora, se usa Swift.
Pero hay toda esta programación idiomas que
puede aprender y que esencialmente le permitirán enviar instrucciones a la CPU
en forma de algoritmos y declaraciones.
Además, quiero hablar sobre algunos terminología básica, la CPU, la unidad
central de procesamiento.
Este es el cerebro de la computadora.
Aquí es donde la mayoría de se está haciendo el trabajo.
Aquí es donde se ejecutan las instrucciones.
Memoria, a menudo Escuche este término de memoria.
Y los estudiantes a menudo obtienen memoria muy confundido con el disco duro.
La memoria no es la misma como el disco duro.
La memoria a menudo se conoce como ram, que es una memoria de acceso aleatorio.
Todos los datos que se almacenan en la
memoria, es un componente de hardware separado.
No es una unidad de disco real.
Todos los datos del programa se almacena en la memoria, el componente
de hardware independiente.
De modo que almacena los datos programa mientras se está ejecutando.
Y vamos a hablar de variables y lo que significan.
Pero un programa necesita tener datos para realizar
cálculos para realizar algoritmos.
Esos datos van a ser almacenado en RAM, memoria.
La razón por la que lo almacenamos en la memoria. en lugar de almacenarlo
en un disco duro, esa memoria es mucho más rápido, permite que el
programa se ejecute mucho más rápido.
Pero la memoria también suele ser no persistente a través de reinicios otro
tipo de aclaración.
Pero debes entender solo este término RAM.
Significa memoria.
Son las variables y los datos en el programa en sí donde está almacenado.
El hardware separado componente y luego el disco duro.
La unidad de hardware es algo compras cuando la computadora - eso
es almacenamiento permanente.
Suele ser muy, muy grande. Eso contiene gigabytes, terabytes de datos.
Esto almacena archivos que pueden ser recursos de un programa.
Y cuando enciendes la computadora Apague y vuelva a encenderlo, esos archivos
todavía están allí.
Cuando enciendes la computadora Apagado y encendido para un programa, el programa
realmente deja de ejecutarse y no hay nada en ram.
Entonces entiende la diferencia entre la memoria RAM y el disco duro.
Es un concepto importante.
Nuevamente, piense en ram como relacionado para programar, ya que el disco
duro está relacionado
con el almacenamiento permanente y generalmente colocamos recursos allí.
Tendremos archivos del sistema operativo, todos tipos de recursos de programas diferentes.
Un sistema operativo está desarrollado para básicamente te hace la vida mucho más fácil cuando quieres
usar la computadora.
Porque a un nivel muy bajo, un la computadora solo está
haciendo lo que se le dice y son solo instrucciones utilizando un conjunto de instrucciones.
Seria muy dificil para usar si tuvieras que
entender todas estas instrucciones.
Entonces hay un programa llamado sistema operativo que facilita
al usuario el uso de una computadora.
Controla toda la operación de la computadora, maneja toda la entrada y
salida a través del hardware para entiende cómo interactuar
con un teclado, un mouse, un monitor.
También gestiona los recursos, maneja la ejecución de
diferentes aplicaciones.
Un sistema operativo es un clase completamente separada.
Hay muchas cosas que entran en un sistema operativo,
pero comprenda sus conceptos básicos.
Solo te permite usar su computadora de una manera más fácil.
Algunos ejemplos de muy Los sistemas operativos comunes son cosas
como Windows, ¿verdad?
Todo el mundo usa Windows.
Windows 10, Windows
XP, cualquiera que sea el caso.
Linux, UNIX que vamos a hablamos más cuando hablamos
de la historia de C.
Android es un sistema operativo para dispositivos móviles, iOS.
Estos son programas específicos que son muy grandes y pueden contener muchos programas
diferentes que interactúan, haz tu vida mucho más fácil interactuando
con la computadora.
El ciclo de ejecución de búsqueda.
Esta es la CPU del ciclo de vida.
Solo menciono esto porque, de nuevo, solo estamos
describiendo la terminología básica.
Así es como cuando envías instrucciones a una computadora, la CPU, lo que realmente está
sucediendo es que estás obteniendo las instrucciones de la memoria
porque ese es el programa.
Y luego vas a ejecutar eso en la CPU, y es este tipo de
bucle que estás haciéndolo una y otra vez.
Lo estás repitiendo.
Y si alguna vez has oído hablar del término gigahercios, una CPU de gigahercios puede
hacer aproximadamente mil millones de veces por segundo, mil millones de instrucciones por segundo.
Entonces puedes imaginarte ¿Qué sucede cuando estás
ejecutando una computadora con esto? buscar ciclo de vida de ejecución.
Y aquí hay una pequeña ilustración que tomé de una imagen en
internet que te muestra estos efectos ciclo de ejecución un poco más claro.
¿Qué está pasando cuando estás
interactuando con la CPU y estas instrucciones.
Lo que esta pasando es estás agarrando de ram.
Y ram, recuerda contiene datos de programas.
Estás tomando datos allí para obtener instrucciones.
Y estás decodificando constantemente el datos que se almacenan en registros y ram y luego se
ejecutan en diferentes partes de la CPU, ya sea la unidad de
control o la ALU.
Aunque eso es un bucle.
Simplemente se repite y una y otra vez.
Y de nuevo para las CPU de hoy en día mil millones de veces por segundo.
Entonces, cuando hablamos de programas C y escribiendo programas en c, en un nivel muy
bajo, debajo de todo, estamos simplemente interactuando con la CPU a través de nuestro lenguaje de
programación de nivel superior.
Entonces un nivel superior lenguaje de programación.
Lenguajes de programación de nivel superior Facilitar la escritura de programas.
Ahora si tuviéramos que de nuevo, comprenda todas
estas instrucciones en la CPU, será muy difícil de escribir.
Y para entender todos los instrucciones, eso generalmente significa que es
un lenguaje ensamblador.
Si alguna vez escuchaste el término asamblea idioma, solo significa que estás
escribiendo un programa a un nivel muy bajo donde es un nivel tan bajo que
comprende el conjunto de instrucciones.
Y te puedes imaginar que si tu si escribiera
todos sus programas con todas estas instrucciones, Sería muy ineficiente
y muy difícil escribir un programa.
Programación de nivel superior El lenguaje es lo
opuesto al lenguaje ensamblador.
Es un nivel mucho más alto.
Un ejemplo es c.
C es un nivel superior lenguaje de programación.
Describe las acciones que el programa funcionará de una
manera mucho más abstracta.
No tienes que memorizar las instrucciones de la CPU.
Tu solo entiendes el idioma sí mismo, y resuelve problemas a través
de estos algoritmos.
Se parece mucho más a El idioma Ingles.
Es mucho más fácil de entender.
Si tuvieras que mirar un lenguaje
ensamblador, lo que vas a ver son comandos de movimiento con registros,
con números, básicamente declaraciones numéricas.
Y usando un nivel superior lenguaje como c, no tienes que preocuparte
por nada de esto.
No tienes que preocuparte sobre el conjunto de instrucciones.
No tienes que preocuparte por declaraciones en lenguaje ensamblador.
Entonces es mucho más eficiente y es mucho más
fácil lograr y resolver problemas.
Y entonces vamos a estudiar c como nuestro lenguajes
de programación de nivel superior, pero otros ejemplos serían java, objetivo c, cosas que mencioné.
Estos son programas de alto nivel Idiomas que te hacen la vida
mucho más fácil y eficiente.
Además de estos niveles superiores lenguajes de programación, si tiene este lenguaje
que es más abstracto, tienes que poder tomar ese
idioma y luego ejecutarlo en una CPU.
Tienes que convertirlo esencialmente a instrucciones que comprenda la CPU.
Y aquí es donde un entra en juego el compilador.
A menudo, cuando escribe código en programación, vas a utilizar
un compilador que traduzca este lenguaje de alto nivel, código
fuente en detalles instrucciones en lenguaje máquina,
básicamente, lenguaje ensamblador.
Entonces vas a escribir un programa que va
a hacer un pensamiento más abstracto y de alto nivel.
Y luego el compilador va para generar todos los
millones de instrucciones que van al CPU en el conjunto de instrucciones.
Entonces usaremos un compilador en esta clase para hacer exactamente esto.
Vamos a escribir el código fuente en una forma abstracta de mucho más alto nivel.
Y luego vamos a ejecutar un programa llamado
al compilador para convertir ese código en algo que la CPU comprende.
Ahora, aquí está la otra cosa sobre los compiladores. también van a comprobar si
su programa tiene una sintaxis válida o no.
Entonces, cuando escribes código, Tienes que seguir las
reglas del idioma.
Las reglas del idioma son esencialmente la sintaxis, tenga o no
un punto y coma en el final de una declaración, ya sea
que utilice o no determinadas palabras clave.
Si haces estas cosas incorrectamente, no
podrá ejecutar su programa.
Entonces el compilador va a encontrar todos estos errores, y
le informará e informará a usted y decir, oye,
no escribiste tu código correctamente,
tienes que arreglarlos antes de convertir este material en la instrucción establecida en la CPU.
Entonces nos vamos a familiarizar con compiladores
en un sentido general, cómo usarlos, cómo entiendo, lo que nos están diciendo.
Los idiomas de alto nivel son mucho más fácil de aprender, mucho más fácil de
programar que los lenguajes de máquina.
Esa es la esencia de esta diapositiva ahora mismo es que al utilizar un lenguaje
como c, será mucho más eficiente y fácil.
Cuando escribimos un programa, estamos Realmente va a realizar
múltiples pasos.
Y encontré esta ilustración que realmente describe los pasos
de una manera muy agradable.
Así que tomé esto de un libro.
Es un conjunto básico de pasos cuando escribes cualquier tipo de programa.
Desde el primer paso para definir el objetivos del programa, comprensión
de los requisitos, para mantener y modificando el programa.
Así que repasemos estos pasos muy rápido y se dará
cuenta de que está haciendo - yendo hacer esto en esta clase.
Cuando empiezas a escribir un programa, vas a
seguir todos estos pasos.
El primer paso será definir los objetivos del programa.
Aquí es a donde vas a ir comprender los requisitos.
No puede empezar a escribir código a menos que entiendes lo que tienes que hacer.
Entonces necesitas aclarar idea de lo que quiere
lograr en este paso.
Después de que entiendas el requisitos, luego comenzará
a diseñar el código.
Cuando diseñas el código, así es como el código cumplirá
con los requisitos.
¿Qué es la interfaz de usuario? para que parezca necesario.
¿Cómo vas a organizar tu programa,
va a crear diferentes funciones y tratar de crear diferentes algoritmos, etc.
Entonces vas a comience a implementar el código.
Aquí es donde realmente escribes el código y colóquelo en un editor
en un entorno de desarrollo integrado.
Traduces el diseño al sintaxis del lenguaje de programación, en este
caso c, entender las reglas del lenguaje c.
Entonces puedes usar cualquier editor de texto.
Realmente vamos a usar algo llamado bloques fríos.
Normalmente querrás usar algo más que un editor de texto, algo
llamado IDE del que hablaremos.
Una vez que haya terminado de escribir el código,
tienes que compilarlo porque necesita convertirlo en la fuente código al lenguaje de bajo nivel.
Ya hablamos de esto, por lo que este es un paso bastante básico.
Y luego ejecuta el programa. Ejecutar el programa lo
está ejecutando, lo está usando.
Y luego eso va para ser el quinto paso.
Después de ejecutar el programa, no hecho porque a pesar de
que escribió el código y tal vez cumpla con los requisitos del idioma, es posible que no
haga lo que debe hacer,
por lo que debe probarlo y tiene para encontrar y corregir sus errores.
Entonces, solo porque un programa es corriendo, no significa que funcione.
Tengo muchos estudiantes para di, hey, compilado, ya terminé. No.
Tienes que asegurarte de que cuando lo ejecuta, cumple con
los requisitos y hace lo que crees que va a hacer.
Entonces tienes que probar constantemente.
Y estarás realizando los pasos uno a través de seis una y otra y
otra vez. Vas a ser
descubrir que vas a escribir código, probar, escribir código probar, escribir código, probar.
Y normalmente, cuando haces esto, quiero hacerlo en trozos muy pequeños.
Quieres escribir dos líneas de código, prueba. Otras dos líneas de código,
prueba y así sucesivamente.
Entonces necesitas probar y depurar.
La depuración es otro concepto.
Tendremos muchas conferencias sobre depuración, pero aquí es cuando encuentra y corrige
los errores de programación.
Hay ciertas tcnicas que puede hacer, ciertas herramientas que puede utilizar para ayudarlo a
encontrar estos errores.
Y aprenderás mucho probando y depuración porque siempre puedes aprender
una gran cantidad de información cometiendo errores.
Y eso va a ser normal.
Vas a compilar y el programa no
va a hacer lo que usted dijo que hizo y vas a aprender de eso.
Y eso es lo que somos voy a hacer en esta clase.
No solo te voy a mostrar la forma correcta de hacer las cosas.
Te voy a mostrar el mal manera de hacer las cosas, y
luego verás por qué está mal.
El último paso es el mantenimiento.
Aquí es cuando los programas están lanzado y luego utilizado
por muchas personas, pero aún puede tener errores.
Entonces, por ejemplo, cuando Windows 10 está lanzado, notará que todavía tiene
errores o aún falla.
Y entonces estas constantemente recibiendo actualizaciones.
Y cuando reciba esas actualizaciones, eso se llama mantener el programa.
Así que solo porque terminaste escribir el
código y publicarlo al público, no significa que ha terminado de mantenerlo.
El mantenimiento es a menudo el fase más extensa, el paso más extenso porque
cuando lanzar un programa que podría estar disponible durante
cinco o diez años.
Vas a tener que arreglar estos errores para que sus clientes estén contentos.
Es posible que también desee agregar nuevas funciones para mantenerlo actualizado en el mercado.
Entonces el mantenimiento es realmente importante también.
El mantenimiento ocurre después de ti entregar el producto al cliente.
Entonces, para todos estos pasos, puede saltar, ejecutar pasos en
diferente orden, dependiendo de lo que metodología de programación, esa es
otra lección también.
No siempre vas a necesariamente siga estos pasos en un enfoque en cascada donde comience desde
el principio y terminar en el - terminar en el último paso.
Puede estar diseñando y luego volver y hacer sus pruebas y luego
volver y rediseño y así sucesivamente.
Entonces vas a estar saltando todo depende de
lo que sea más práctico.
Desde mi experiencia, muchos nuevos los programadores en muchas
de las clases en udemy están ignorando pasos uno y dos e ir directamente
a escribir el código.
Te están enseñando a escribir el código, pero no le
muestran por qué está escribiendo el código.
Entonces esto es un gran error.
Cuando empiezas a escribir código, necesita entender los conceptos,
necesita entender los requisitos.
Y puedes salirte con la tuya en programas
realmente pequeños, pero con programas más grandes, Necesito concentrarse completamente en el diseño.
Así que cuanto más grande y más complejo es
el programa, más planificación requiere.
Deberías desarrollar el hábito de planificación antes de codificar.
No te limites a sumergirte y te vas para darme cuenta de las conferencias
en esta clase que hago mucha planificación.
Te lo voy a contar en el desafíos cuando empiezas a
escribir un código que necesitas hacer y cómo debe diseñarlo.
Porque esto lo va a hacer más fácil para usted implementar el
código, que es el paso tres.
Así que tenlo en cuenta a menudo puede plantar cosas escribiendo
cosas en papel.
Hay todo tipo de cosas agradables documentación que diseña lenguajes y cosas
que puede usar.
Pero tu siempre quieres básicamente planifica de manera eficiente.
Y luego, mientras estás codificando, yo mencioné
esto antes, pero esta es otra muy, muy importante concepto,
siempre quieres trabajar en pequeños pasos, dividir y conquistar desea probar constantemente.
No quieres escribir 100 líneas de código y luego decir,
oh, ya terminé, déjame probar.
Porque ahora, si no es así funciona, podría haber un error en
100 líneas de código.
Va a ser mucho mas dificil para solucionar ese problema.
Pero si escribes código en poco fragmentos, cinco líneas de código, pruébelo, luego
escriba otras cinco líneas de código, pruébelo, será mucho más
fácil encontrar y corregir sus errores.
Así que centrémonos en dividir y conquistar cuando escribimos nuestro código en esta clase.
Espero que esto haya ayudado.
Nuevamente, estos son solo algunos conceptos básicos.
Yo quería proporcionar algo de terminología básica.
Muchos de ustedes ya saben mucha de esta información.
Pero cuando estás aprendiendo un lenguaje de programación, debe
comprender estos conceptos básicos.
Gracias.