Introducción
Qué aprenderás sobre la programación estructurada
Conceptos básicos
Set up de codeblocks y compilador
Variables y tipos de datos (Asignación y clasificación)
Entrada y salida de datos
Operadores aritméticos
Operadores de asignación, de incremento y decremento
Recapitulación: Conceptos Básicos
Control de flujo
Condicional if e if - else
Operadores relacionales y lógicos
Switch
¿Qué es un iterador? - Ciclo While
Ciclo For
Ciclo Do-While
Arreglos unidimensionales
Arreglos bidimensionales
Arreglos e iteradores unidimensionales
Arreglos e iteradores bidimensionales
Cadena de caracteres (string)
Recapitulación: Control de Flujo
Funciones
Funciones: Divide y vencerás
Variables locales y globales
Recapitulación: Funciones
Conceptos avanzados
Recursividad
Apuntadores
Struct y manejo de archivos
Escritura y lectura de archivos
Manejo de librerías
Diseño de programas de software
Un tipo de dato es una clasificación que el programador le da a la información almacenada para avisarle al compilador cómo va a ser interpretada.
Tipos de datos primitivos:
Una variable es un espacio reservado en memoria, definido por un tipo de dato y un nombre asignado, en el cual se puede guardar un valor y se puede modificar.
Aportes 162
Preguntas 28
hay que aclarar que los tipos de datos tienen rangos
int entero; //-32768 a 32767
float decimales;//3.4E-38 a 3.4E+38
char caracteres;//-128 a 127
y luego para aumentar esas cantidades se usa el “long” o el “short” entre otros
Voy a acompañar este curso de programación estructurada con este libro de C al cual le tengo mucho cariño y de cuyos autores no hay mucho que decir… D.M.R… gracias por todo lo que nos dejaste…
El tamaño que se reserva para una variable, dependerá del tipo de dato que contenga, del lenguaje de programación y en ocasiones del sistema operativo.
Adicionalmente, en los lenguajes fuertemente tipados (como C++), el compilador no permite usar una variable como parámetro, si los tipos de datos no coindicen exactamente. Por eso es muy importante a la hora de diseñar la aplicación, determinar exactamente la naturaleza de la información que se procesará, para determinar adecuadamente el tipo de datos que almacenará una variable.
Como ejemplo, si pensamos en una aplicación que cuente la cantidad de personas que ingresan a un colegio en un día, lo más indicado sería usar una variable de tipo entero (int), ya que es evidente que será una cantidad numérica, no decimal (discreta), y que en ningún caso excederá el tamaño de memoria reservado.
Comparto la documentación de oficial de C++ sobre variables y tipos de datos
http://www.cplusplus.com/doc/tutorial/variables/
Un tipo de dato es:
⦁ una clasificación que el programador le da a la información almacenada para avisarle al compilador cómo va a ser interpretada.
⦁ un espació en memoria con restricciones.
Apuntes:
Variables de datos (Asignación y clasificación)
¿Qué es un tipo de dato?
Es una clasificación que el programador le da a la información almacenada para avisarle al compilador cómo va a ser interpretada.
Un tipo de dato es, en esencia, un espacio en memoria con restricciones.
Tipos de datos primitivos
Numérico: int (52, -999, 1853), float (3.1416, 0.0001)
Caracteres: char (‘P’ ‘L’ ‘A’ ‘T’ ‘Z’ ‘I’)
Booleanos: bool (Representa algo que puede ser verdadero <TRUE> o falso <FALSE>)
¿Qué es una variable?
Es un espacio reservado en memoria, definido por un tipo de dato y un nombre asignado, en el cual se puede guardar un valor y se puede modificar.
Declaración de una variable en C
main()
}
int healthpoints;
}
Asignación de datos a una variable
main()
}
int healthpoints;
healthpoints = 100;
}
Iniciailización de una variable
main()
{
Int healthpoints = 100;
}
Apuntes de clase:
Los programas tienen una fase de desarrollo :
#include <stdio.h>
#include <stdlib.h>
//Incluimos la libreria que nos permite usar el tipo de dato bool -->
#include <stdbool.h>
int main ()
{
//Declaracion de una variable en C
int healthpoints;
//Asignacion
healthpoints = 100;
//Algunos otros tipos de datos que podemos
inicializar
float damage = 13.05;
char favoriteLetter = 'S';
bool hasFun = false;
return 0;
}
Etapas de desarrollo de un software
Cada nueva idea de un programa debe pasar por una serie de etapas de desarrollo. A nivel general son siempre 6: Análisis, Diseño, Desarrollo, Pruebas, Producción y Mantenimiento. Cada empresa o incluso cada desarrollador pueden tener una serie de sub-etapas y así mismo modificar las etapas generales para acomodarse a su estilo. Algunos desarrollos son denominados así porque necesita de algunos objetos nuevos, pero pueden ser mejoras o correcciones sobre otros proyectos.
Análisis
Es la primera de las etapas de desarrollo, corresponde a escuchar las peticiones para el sistema. Se planifica la forma de llevar las ideas a un software, acá no debe ser un impedimento el lenguaje de programación ni la infraestructura. Desde el consultor de sistemas se proponen mejoras que a veces el usuario ignora para mejorar el programa. Yo suelo utilizar prototipos para que el usuario tenga una vista previa y realice modificaciones antes de cualquier otra fase. Al final de esta fase se verifica si existe un ambiente de sistemas previamente instalado o si es un desarrollo totalmente nuevo. No olvidar incluir presupuesto de servidores, licencias, bases de datos entre lo más destacado.
Diseño
En esta fase es cuando se realiza toda la infraestructura que va a sostener el proyecto. Normalmente hablamos de objetos de base de datos, especialmente las tablas y las relaciones entre ellas. Se preparan todas las funcionalidades necesarias para suplir los requerimientos detectados en el análisis. Yo presento un segundo prototipo ya que el primero solo incluye funcionalidades, este muestra algo de diseño.
El usuario siempre quiere incluir más cosas y se debe dejar en claro que esto influye en el tiempo y el costo del proyecto. Tras aprobar el prototipo se presenta la propuesta y se llega a un acuerdo. El problema principal está en calcular el tiempo para las etapas de de desarrollo, para esto es mejor dar un tiempo previsto pero que se pague sobre las funcionalidades. Si el proyecto es muy complejo es mejor realizarlo por etapas para evitar desbordar el tiempo y el costo de todo el programa.
Desarrollo
Es el momento del código es independiente del lenguaje de programación, de las metodologías, del estilo del programador, etc. Se pueden presentar mejoras u objeciones sobre el rendimiento del programa. Dentro de las etapas de desarrollo es la más delicada porque cada modificación puede cambiar toda la planificación. Esta fase tiene en si sub-fases a implementar: análisis y diseño, la codificación, pruebas ingenieriles y ajustes. El avance del software se suele presentar aquí sobre el número de funcionalidades totales sobre las completadas.
Análisis y Diseño
A diferencia de las etapas de la idea el programador debe identificar procesos y funciones que se puedan reutilizar. Esto con la intención de llevarlas a una librería para el software. Así mismo dependiendo del lenguaje de programación puede calcular de forma previa el tiempo de desarrollo sobre los requerimientos.
Codificación
La creación de librerías se termina haciendo de forma dinámica, y se modifica varias veces a medida que se necesita. Esto es así por lo menos en mi caso, pero puede ser que la persona que hizo el diseño, tenga mucha experiencia lo cual evitaría esta particularidad. Luego de eso se realizan los formularios, pantallas, reportes entre otras solicitudes. Estas últimas incluyen comunicación con otros programas así como interfaces entre otros.
Pruebas ingenieriles
Estas son las pruebas de cada funcionalidad en cada pantalla o reporte. Se debe probar la creación, modificación, consulta y eliminación en cada caso. Algunos ingenieros suelen automatizar este proceso, pero yo prefiero hacerlo por lo menos híbrido. Ya que en el camino se van presentando ajustes y pruebas sobre los mismos. Es preferible anotar todos los ajustes para adaptarlos después sino esta fase se podría alargar demasiado. Estas pruebas son diferentes a las pruebas principales ya que estas son realizadas por los programadores y las otras por usuarios que normalmente no saben de programación.
Ajustes
Algunos incluyen esta fase con la anterior ya que apenas finaliza hay que realizar de nuevo las pruebas. Puede haber varios ciclos que retrasan los proyectos, pero es inevitable en algunos casos. Por otra parte si los programadores son muy novatos se presentan demasiados bugs (fallas del sistema). Entonces los equipos de desarrollo deberían tener una combinación entre novatos y experimentados para la totalidad de las etapas de desarrollo.
Pruebas
Estas son pruebas realizadas por usuarios finales, los cuales debe estar disponibles. Es recomendable tener varios usuarios ya que uno solo no encontraría todas las posibles fallas. Se puede presentar una lista de pruebas a realizar para evitar que se salten módulos o pantallas. De acá se genera una gran lista de bugs detectados que pasan a ajustarse en una serie de ciclos. Es muy importante dejar en claro que no se van a desarrollar nuevas funcionalidades.
Producción y mantenimiento
Los desarrollos se hacen en ambientes locales, es decir en las máquinas de los desarrolladores. En el análisis se debe dejar en claro que se necesita para que todo funcione correctamente. Muchas veces olvidamos la documentación del programa, este es el momento de realizarla. ¿Porque no antes? Bueno habría que modificar la documentación al tiempo con las pruebas. Ya deben estar disponibles los dominios, redes, servidores o hosting, etc. A partir de acá empieza a correr términos de garantías, como el soporte y estabilidad. Al finalizar el periodo de garantía es posible realizar una extensión sobre la misma. Pero es aún mejor ofrecer el servicio de soporte externo sobre la aplicación o un nuevo proyecto. Esta es la última de las etapas de desarrollo de un software para una sola versión.
📦 Un lenguaje de programación te permitirá manejar tipos de datos numéricos, caracteres y booleanos.
es mejor ver programación estructurada que básico de algoritmos
excelente clase lo estoy haciendo desde visual code
<#include <stdio.h>
int main()
{
printf("Variables y tipos de datos \n\n");
//Declaracion de los tipos de datos primitivos
int enteroA = 11223;
float flotanteA = 1.15;
double doubleA = 1.18;
char caracterA = 'S';
//Mostrar en pantalla las variables, En entrada y salida de datos se explicara la funcion "printf"
printf("El valor de enteroA es: %i \n", enteroA);
printf("El valor de flotanteA es: %f \n", flotanteA);
printf("El valor de doubleA es: %f \n", doubleA);
printf("El valor de caracterA es: %c \n", caracterA);
return 0;
Variables y tipos de datos
El valor de enteroA es: 11223
El valor de flotanteA es: 1.150000
El valor de doubleA es: 1.180000
El valor de caracterA es: S
[1] + Done
}>
En vez de code::block podéis usar ‘eclipse’ para mac, ya que codeblock no da soporte a macOS catalina
wow , es increible , no entiendo mucho aun . pero quiero aprender . animo
Este tipo de explicaciones son muy buenas, son cosas muy básicas, pero para la persona que entra al mundo de la programación, es muy útil para entender todo de ahí en adelante.
Genial la explicacion 😃
Estaría bueno que alguien hiciera un video o dejara un link sobre como hacer este curso con todo lo necesario desde Visual Studio Code porque aunque lo explicaron aquí, para alguien como yo que apenas se metió a este mundo de la programación un video podría guiarnos con un poco mas de detalle para que nosotros podamos llevarlo acabo.
)
(For MSVC compilers, it’s ‘cdb.exe’ (without the quotes))
es por que deben ir a settings/debugger/gbd/cdb_Default/… y en la opcion Executable path: indicar el nombre del archivo que estan usando.
**********PROGRAMA DECLARACION DE VARIABLE
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int main()
{
int IntValue = 6;
float FloatValue = 25.25;
char CharValue = 'j';
bool BoolValue = false;
return 0;
}
Fases del desarrollo de software
Profe Daniela
Te agradezco por esta explicación tan sencilla y clara de estos conceptos básicos, ya que, me permitió aclarar y comprender mejor algunos conceptos que tenia un poco enredados. Creo que la clave para ser un buen programador es tener claras estas bases.
Gracias.
Excelente explicación!!
Librerias = grupos de información para ampliar comandos o caracteres
Después de algunos cursos ya se explica paso a paso…que bien!
que buena manera de explicar!
¿Por que se le llaman primitivos? ¿A què se refiere esa palabra?
Pienso que si eres principiante en esto, debes de coger este primero antes de coger programacion basica.
Tengo problemas con el programa me sale “A debugging check in this application has failed”
Tengo un problema al crear el archivo main y el error es el siguiente: Can’t create output directory bin\Debug
cuando ejecuto presento el anterior error, ayuda por favor.
Planeación
Producción.
Prueba
Mantenimiento
Cierre.
¿Que es un tipo de dato?
Es una clasificación que el programador le da a la información para avisarle al compilador como va a ser interpretada esta y determinar el espacio en memoria que se va usar para dicha información.
Un tipo de dato es un espacio en memoria con restricciones.
Es un espacio en memoria definido por un tipo de dato y se le asigna un nombre, en dicho espacio se puede guardar ,modificar y consultar un valor.
<h5>ASIGNACION DE VARIABLES en C</h5> main()
{
int healthpoints;
healthpoints = 100;
}
<h5>INICIALIZAR LA VARIABLE EN C</h5>
main(){
int healthpoints = 100;
}
Cuando asignamos la variable reservamos el espacio en memoria que puede contener un int, cuando la INICIALIZAMOS ponemos el valor que va a tener la variable desde el inicio.
podemos INICIALIZAR cualquier tipo de dato
main(){
int healthpoints = 100;
float damage = 13.05;
char favoriteLetter = 'H'
// la comilla es simple
bool hasFun =false;
}
Los valores booleanos no se reconocen por default en C tenemos que incluir la library <stdbool.h>
las libraries son grupo de información o utilidades que podemos usar para ampliar las funcionalidades de nuestro programa.
Variable: Un espacio reservado en memoria definido por un tipo de dato.
ej.-
int nombreVaribale = 1;
float flotante = 2.3;
char letra = 'A’
bool booleanop = true;
El orden de los cursos esta erroneo. Este me aparece como el primero
**Las fases de Creación de un programa son:** - Analisis - Diseño - Programación - Codificación - Prueba - Mantenimiento - Documentación
Espectacular, me gusta!
Declaración de variable ≠ Inicialización de variable
Esto si esta muy interesante 😃
Tipos de datos de C:
Caracteres:
Char => 1 byte se usa para cualquier caracter del teclado
Enteros:
short => 2 bytes -32,768 to 32,767
int => 4 bytes 2,147,483,648 to 2,147,483,647
long => 8 bytes -9223372036854775808 to 9223372036854775807
NOTA: Cada uno tendra su diferencia dependiendo del sistema operativo
Decimales:
float => 4 bytes Es preciso hasta el 6to decimal
double => 8 bytes ES preciso hasta el 15to decimal
pueden utilizar Repl.it es online
Repl.it hay podemos programar, es online solo hay que codirar y listos,
prueben y nos cuentan
Muy buena clase, vamos a la siguiente:
Tipos de datos
Es una clasificación que se le da a la información almacenada para avisarle al compilador como va a ser interpretada.
Un tipo de dato es un espacio en memoria con restricciones.
Tipos de datos primitivos
Numéricos: int, float
Caracteres: char
Booleanos : bool
Int = numero enteros p/e 4, 52, -99
Float = números decimales p/e 4.1, -23
Char: caracteres p/e P,l,A
Boolanos: verdadero o falso
Variable == espacio reservado en memoria, con una forma especifica y un nombre especifico.
Declaración de una variable, es solo crearla.
Asignación de datos a una variable se usa el signo = para darle un valor.
Declaración ¡= a inicialización(consiste en darle el valor al momento de ser declarada).
Int numeroEntero = 1;
Float numeroDecimal = 1.20;
Char letras = “HOLA”;
Bool = “false”;
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int main()
{
int intergerA = 1;
float floatA = 1.1;
char charA = 'A';
bool boolA = true;
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int main()
{
int integerA = 1;
float flotA = 1.1;
char letterA = 'A';
bool boolean = false;
return 0;
}
Fases de desarrollo:
Excelente explicación, este curso junto al básico de algoritmos van muy de la mano!! Gracias
Tenemos que elegir una carpeta para guardar el proyecto de lo contrario no abrirá main
dos puntos por terminar de ver :v
Muy interesante
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int main()
{
int integerA = 1;
float floatA = 1.1;
char letterA = 'A';
bool boolean = false;
return 0;
}
tenía años sin ver y refrescar estos conceptos
Miren este blog de platzi que le explica como utilizar VSC con WINGW y CODE RUNNER clik aqui
Si quieren usar C en Visual Studio Code entren a este enlace.
How to run a C program in Visual Studio Code?
Por cierto no es tan fácil hacerlo.
me siento el amo del universooooo !!!
No pude instalar CodeBlocks, me sale un error de que no se detectó un compilador master. A alguien le paso algo igual?
; It includes characters e.g. ‘P’ ‘L’ ‘A’ ‘T’ ‘Z’ ‘I’
Integer (integer
, int
, short
, long
, byte
) with a variety of precisions; It has integers, e.g. 4, 52, -999, 1853
Floating-point number (float
, double
, real
, double precision
); e.g. 1.55, 12.333, 5.08726
Boolean, logical values true and false.
a variable is a storage location in the memory paired with an associated symbolic name, which contains some known or unknown quantity of information referred to as a value; or in easy terms, a variable is a container for a particular type of data.
main()
{
int number;
}
int
= type of data
number
= name of the variable
1
= value of the variable
;
= it tells the compiler that here finishes the instruction
But then we should assign it a value in another line
main()
{
int number;
number = 1;
}
The difference between initialize and declare is that initializing means you give the variable a value since you declare it:
main()
{
int number = 1;
}
main()
{
int integer = 1;
float float_number = 1.67;
char character = 'P';
bool boolean = false;
}
If you want to include any boolean data you should include the library stdbool
:
#include <stdbool>
main()
{
bool boolean_data = false;
}
a library is a collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and subroutines, classes, values or type specifications.
Entre la CPU y la RAM siempre saben donde esta la información porque se comparten un indice(compartido) que es ultra rapido. Este indice viene representado como una variable. ejemplo: Var x = ‘28 dias’;
La variable x es el indice compartido que tiene un espacio en RAM y CPU
Medio complicada la instalación de este IDE, a futuro sería interesante ver una alternativa más simple para los principiantes
Casi no se escucha la voz de la profe! 😦
para la comilla simple presionar la tecla que tiene el signo de interrogación
Cordial Saludo,
Me sale un error en w10 con 64 bits:
.
Al deinstalarlo sale:
ningún codeblocks es compatible con mi macbook pro.
que puedo hacer?
Maravitastico
i like this
Crear un proyecto CodeBlocks
Declaracion de variable
siempre por convención, es bueno poner los nombres en el idioma inglés:
Code Blocks al igual que muchas de la IDEs tiene comandos asignados con las diferentes combinaciones de teclas, la que me resulto mas útil al momento de trabajar con c y c++ es el comando de build and run el cual se activa pulsando la tecla F9.
Un dato adicional y es un poco más avanzado.
Depende del tipo de dato consume más espacio en memoria.
hay que tener precente las parlabras reservadas del lenguaje, como float etc…
lo que veo es que el codigo hay que escribirlo en un orden especifico y lo primero es definir variables y su valor, luego en la siguiente clase veremos como escribir codigo para mostrarlas en pantalla
Mi lenguaje favorito, espero aprender m{as en este curso
mision cumplida
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int main()
{
int integerA = 3;
float floatA = 18.3;
char letter = ‘A’;
bool boolean = false;
return 0;
}
Happy=false
bool happy = false;
:’(
si bien aquí se coloca el comentario para recordar la importancia de los mismos, estos comentarios no deberían explicar tu código (el mismo código debería hacerlo en la medida de lo posible). Más bien deberían aclarar situaciones en que el podrían ser ambiguas o no quedar muy claras. aunque muchas de estas situaciones se pueden solucionar con buenas prácticas.
Esta genial este curso por que nos ayuda a comprender mejor los demas lenguajes. y con calma
Inicialización de una variable
Es buena idea aprender a trabajar en C sin depender de una herramienta más allá del compilador, simplifica mucho las cosas y ahorra los típicos “A mí no me funciona”, en lo personal mi combinación es Vim o Emacs (Si ando de perezas uso visual studio code) y compilo por terminal con el siguiente comando gcc -g -Wall -Werror -pedantic <codigo de origen> -o <nombre que quiero ponerle> --debug
Ojo, esto solo aplica para sistemas GNU/Linux, creo que OSx también pero no aseguro nada.
Considero que una variable es un espacio en memoria a la cual podemos darle el valor que queramos. int, varchar, float lo que sea hay lenguajes fuertemente tipados como JAVA o otro como php que permiten crear variables sin definirle el tipo de dato.
int main()
{
int x;
int y;
int z;
printf("Igresa la X: ");
scanf("%i",&x);
printf("Igresa la Y: ");
scanf("%i",&y);
printf("\n\n------------ Valores Actuales -------------------------\n\n");
printf("El valor de X: %i",x);
printf("\nEl valor de Y: %i",y);
z=x;
x=y;
y=z;
printf("\n\n-------------- Valores Cambiados -------------------------\n\n");
printf("El valor ahora de X: %i",x);
printf("\nEl valor ahora de Y: %i\n\n",y);
return 0;
}
Muy buena esta clase a seguir aprendiendo
muy sencillo, ya me hacia falta programar un poco
Nota: Los tipos de dato booleano en C no vienen por defecto utilizan una libreria que debemos importar.
el curso esta en lenguaje C?
si?
int main()
{
const k = 273;
int t = 0;
printf(“ingrese la temperatura : “);
scanf(”%i”, &t);
printf(“la temperatura en Kelvin es : %i”, k + t);
}
El float se marca en azul porque no podemos usar palabras reservadas para nombrar variables.
Las palabras reservadas son identificadores reservados predefinidos que tienen un significado especial y no se pueden utilizar como identificadores.
Excelente clase, empezamos bien.
Me gusta mucho esta clase, es practica, asi que puedes aprender mas!!
Declarar != Inicializar pues al declarar no se da valor inicial mientras que al inicializar se crea la variable y se da valor inicial.
= Se refiere a la asignación de un dato
Las librerías que se usan en C++ también sirven para C?
Qué buena explicación de las bases!
Creo que también podemos utilizar Dev C++
_Para agregar la librería: _ #include <stdbool.h>
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.