Programación de computadoras - Guía rápida
Introducción al programa de computadora
Antes de entrar en la programación de computadoras, primero comprendamos los programas de computadora y lo que hacen.
Un programa de computadora es una secuencia de instrucciones escritas usando un lenguaje de programación de computadora para realizar una tarea específica por la computadora.
Los dos términos importantes que hemos utilizado en la definición anterior son:
- Secuencia de instrucciones
- Lenguaje de programación informática
Para comprender estos términos, considere una situación en la que alguien le pregunta cómo ir a un KFC cercano. ¿Qué haces exactamente para decirle el camino a seguir para KFC?
Utilizará el lenguaje humano para indicar el camino a seguir para KFC, algo como sigue:
Primero siga recto, después de medio kilómetro, gire a la izquierda desde el semáforo en rojo y luego conduzca alrededor de un kilómetro y encontrará KFC a la derecha.
Aquí, ha utilizado el idioma inglés para dar varios pasos a seguir para llegar a KFC. Si se siguen en la siguiente secuencia, llegará a KFC:
1. Go straight
2. Drive half kilometer
3. Take left
4. Drive around one kilometer
5. Search for KFC at your right side
Ahora, intente trazar un mapa de la situación con un programa de computadora. La secuencia de instrucciones anterior es en realidad unaHuman Program escrito en English Language, que le indica cómo llegar a KFC desde un punto de partida determinado. Esta misma secuencia podría haberse dado en español, hindi, árabe o cualquier otro idioma humano, siempre que la persona que busca orientación conozca alguno de estos idiomas.
Ahora, retrocedamos y tratemos de entender un programa de computadora, que es una secuencia de instrucciones escritas en un lenguaje de computadora para realizar una tarea específica por la computadora. A continuación se muestra un programa simple escrito enPython lenguaje de programación -
print "Hello, World!"
El programa de computadora anterior le indica a la computadora que imprima "¡Hola, mundo!" en la pantalla de la computadora.
Un programa de computadora también se llama computer software, que puede variar desde dos líneas hasta millones de líneas de instrucciones.
Las instrucciones del programa de computadora también se denominan código fuente del programa y computer programming es tambien llamado program coding.
Una computadora sin un programa de computadora es solo una caja de descarga; son los programas los que hacen que las computadoras estén activas.
Como hemos desarrollado tantos lenguajes para comunicarnos entre nosotros, los informáticos han desarrollado varios lenguajes de programación de computadoras para proporcionar instrucciones a la computadora (es decir, para escribir programas de computadora). Veremos varios lenguajes de programación de computadoras en los capítulos siguientes.
Introducción a la programación informática
Si entendieras lo computer programEs decir, entonces diremos: el acto de escribir programas de computadora se llama programación de computadoras.
Como mencionamos anteriormente, hay cientos de lenguajes de programación, que se pueden usar para escribir programas de computadora y los siguientes son algunos de ellos:
- Java
- C
- C++
- Python
- PHP
- Perl
- Ruby
Usos de los programas informáticos
Hoy en día, los programas informáticos se utilizan en casi todos los campos, el hogar, la agricultura, la medicina, el entretenimiento, la defensa, las comunicaciones, etc. A continuación se enumeran algunas aplicaciones de los programas informáticos:
MS Word, MS Excel, Adobe Photoshop, Internet Explorer, Chrome, etc., son ejemplos de programas de computadora.
Se están utilizando programas de computadora para desarrollar gráficos y efectos especiales en la realización de películas.
Se están utilizando programas de computadora para realizar ultrasonidos, rayos X y otros exámenes médicos.
En nuestros teléfonos móviles se utilizan programas informáticos para SMS, chat y comunicación por voz.
Programador
Alguien que puede escribir programas de computadora o en otras palabras, alguien que puede hacer programación de computadora se llama programador de computadora.
Con base en la experiencia en lenguajes de programación de computadoras, podemos nombrar programadores de la siguiente manera:
- Programador C
- Programador C ++
- Programador Java
- Programador de Python
- Programador PHP
- Programador Perl
- Programador Ruby
Algoritmo
Desde el punto de vista de la programación, un algorithmes un procedimiento paso a paso para resolver cualquier problema. Un algoritmo es un método eficaz expresado como un conjunto finito de instrucciones bien definidas.
Por lo tanto, un programador de computadoras enumera todos los pasos necesarios para resolver un problema antes de escribir el código real. A continuación se muestra un ejemplo simple de un algoritmo para averiguar el número más grande de una lista de números dada:
1. Get a list of numbers L1, L2, L3....LN
2. Assume L1 is the largest, Largest = L1
3. Take next number Li from the list and do the following
4. If Largest is less than Li
5. Largest = Li
6. If Li is last number from the list then
7. Print value stored in Largest and come out
8. Else repeat same process starting from step 3
El algoritmo anterior se ha escrito de forma burda para ayudar a los principiantes a comprender el concepto. Encontrará formas más estandarizadas de escribir algoritmos informáticos a medida que avance hacia niveles avanzados de programación informática.
Asumimos que conoce bien el idioma inglés, que es un conocido Human Interface Language. El inglés tiene una gramática predefinida, que se debe seguir para escribir declaraciones en inglés de manera correcta. Asimismo, la mayoría de los lenguajes de interfaz humana (hindi, inglés, español, francés, etc.) están formados por varios elementos como verbos, sustantivos, adjetivos, adverbios, proposiciones y conjunciones, etc.
Al igual que los lenguajes de interfaz humana, los lenguajes de programación informática también se componen de varios elementos. Lo guiaremos a través de los conceptos básicos de esos elementos y lo haremos sentir cómodo para usarlos en varios lenguajes de programación. Estos elementos básicos incluyen:
- Entorno de programación
- Sintaxis básica
- Tipos de datos
- Variables
- Keywords
- Operadores básicos
- Toma de decisiones
- Loops
- Numbers
- Characters
- Arrays
- Strings
- Functions
- E / S de archivos
Explicaremos todos estos elementos en capítulos posteriores con ejemplos utilizando diferentes lenguajes de programación. Primero, intentaremos comprender el significado de todos estos términos en general y luego, veremos cómo estos términos pueden usarse en diferentes lenguajes de programación.
Este tutorial ha sido diseñado para darle una idea sobre los siguientes lenguajes de programación más populares:
- Programación en C
- Programación Java
- Programación Python
Una gran parte del tutorial se ha explicado tomando C como lenguaje de programación y luego hemos mostrado cómo funcionan conceptos similares en Java y Python. Entonces, después de completar este tutorial, estará bastante familiarizado con estos populares lenguajes de programación.
Aunque la configuración del entorno no es un elemento de ningún lenguaje de programación, es el primer paso a seguir antes de comenzar a escribir un programa.
Cuando decimos Configuración del entorno, simplemente implica una base sobre la cual podemos hacer nuestra programación. Por lo tanto, necesitamos tener la configuración de software requerida, es decir, la instalación en nuestra PC que se utilizará para escribir programas de computadora, compilarlos y ejecutarlos. Por ejemplo, si necesita navegar por Internet, entonces necesita la siguiente configuración en su máquina:
- Una conexión a Internet que funcione para conectarse a Internet.
- Un navegador web como Internet Explorer, Chrome, Safari, etc.
Si es un usuario de PC, reconocerá la siguiente captura de pantalla, que hemos tomado de Internet Explorer mientras navegaba por tutorialspoint.com.
De manera similar, necesitará la siguiente configuración para comenzar con la programación utilizando cualquier lenguaje de programación.
- Un editor de texto para crear programas informáticos.
- Un compilador para compilar los programas en formato binario.
- Un intérprete para ejecutar los programas directamente.
En caso de que no tenga suficiente exposición a las computadoras, no podrá configurar ninguno de estos programas. Por lo tanto, le sugerimos que tome la ayuda de cualquier técnico que lo rodee para configurar el entorno de programación en su máquina desde donde puede comenzar. Pero para usted, es importante comprender qué son estos elementos.
Editor de texto
Un editor de texto es un software que se utiliza para escribir programas de computadora. Su máquina con Windows debe tener un Bloc de notas, que se puede utilizar para escribir programas. Puede iniciarlo siguiendo estos pasos:
Start Icon → All Programs → Accessories → Notepad → Mouse Click on Notepad
Lanzará el Bloc de notas con la siguiente ventana:
Puede utilizar este software para escribir su programa informático y guardarlo en un archivo en cualquier ubicación. Puede descargar e instalar otros buenos editores comoNotepad++, que está disponible gratuitamente.
Si es usuario de Mac, tendrá TextEdit o puede instalar algún otro editor comercial como BBEdit para empezar.
¿Compilador?
Usted escribe su programa de computadora usando su lenguaje de programación favorito y lo guarda en un archivo de texto llamado archivo de programa.
Ahora intentemos obtener un poco más de detalles sobre cómo la computadora entiende un programa escrito por usted usando un lenguaje de programación. En realidad, la computadora no puede entender su programa directamente en el formato de texto, por lo que necesitamos convertir este programa a un formato binario, que la computadora pueda entender.
La conversión de un programa de texto a un archivo binario se realiza mediante otro software llamado Compiler y este proceso de conversión de un programa con formato de texto a un archivo de formato binario se denomina compilación de programas. Finalmente, puede ejecutar un archivo binario para realizar la tarea programada.
No vamos a entrar en los detalles de un compilador y las diferentes fases de compilación.
El siguiente diagrama de flujo ofrece una ilustración del proceso:
Por lo tanto, si va a escribir su programa en cualquiera de esos lenguajes, que necesita compilación como C, C ++, Java y Pascal, etc., deberá instalar sus compiladores antes de comenzar a programar.
Interprete
Acabamos de hablar sobre los compiladores y el proceso de compilación. Se requieren compiladores en caso de que vaya a escribir su programa en un lenguaje de programación que deba compilarse en formato binario antes de su ejecución.
Hay otros lenguajes de programación como Python, PHP y Perl, que no necesitan ninguna compilación en formato binario, sino que se puede utilizar un intérprete para leer dichos programas línea por línea y ejecutarlos directamente sin ninguna conversión adicional.
Por lo tanto, si va a escribir sus programas en PHP, Python, Perl, Ruby, etc., deberá instalar sus intérpretes antes de comenzar a programar.
Compilación en línea
Si no puede configurar ningún editor, compilador o intérprete en su máquina, entonces tutorialspoint.com proporciona una función para compilar y ejecutar casi todos los programas en línea con la facilidad de un solo clic.
Así que no se preocupe y continuemos para tener una experiencia emocionante y convertirse en programador de computadoras en pasos simples y sencillos.
Comencemos con un poco de codificación, lo que realmente lo convertirá en un programador de computadoras. Vamos a escribir un programa informático de una sola línea para escribirHello, World!en tu pantalla. Veamos cómo se puede escribir usando diferentes lenguajes de programación.
Programa Hola Mundo en C
Pruebe el siguiente ejemplo utilizando nuestra opción de compilador en línea disponible en www.compileonline.com .
Para la mayoría de los ejemplos dados en este tutorial, encontrará un Try it en las secciones de código de nuestro sitio web en la esquina superior derecha que lo llevará al compilador en línea.
Intente cambiar el contenido dentro de printf (), es decir, escriba cualquier cosa en lugar de Hello World!y luego verifique su resultado. Simplemente imprime lo que guardes dentro de las dos comillas dobles.
#include <stdio.h>
int main() {
/* printf() function to write Hello, World! */
printf( "Hello, World!" );
}
que produce el siguiente resultado:
Hello, World!
Este pequeño programa Hello World nos ayudará a comprender varios conceptos básicos relacionados con la programación en C.
Punto de entrada al programa
Por ahora, olvídate del #include <stdio.h> declaración, pero tenga en cuenta que debe poner esta declaración en la parte superior de un programa en C.
Cada programa en C comienza con main (), que se llama función principal, y luego es seguido por una llave izquierda. El resto de la instrucción del programa se escribe en el medio y finalmente una llave derecha finaliza el programa.
La parte de codificación dentro de estas dos llaves se llama cuerpo del programa. La llave izquierda puede estar en la misma línea que main () {o en la siguiente línea como se ha mencionado en el programa anterior.
Funciones
Las funciones son pequeñas unidades de programas y se utilizan para realizar una tarea específica. Por ejemplo, el programa anterior utiliza dos funciones:main() y printf(). Aquí, la función main () proporciona el punto de entrada para la ejecución del programa y la otra función printf () se utiliza para imprimir una información en la pantalla de la computadora.
Puede escribir sus propias funciones, que veremos en un capítulo separado, pero la programación en C proporciona varias funciones integradas como main (), printf (), etc., que podemos usar en nuestros programas según nuestro requisito.
Algunos de los lenguajes de programación usan la palabra sub-routine en lugar de función, pero su funcionalidad es más o menos la misma.
Comentarios
El programa de CA puede tener declaraciones dentro /*.....*/. Estas declaraciones se denominan comentarios y estos comentarios se utilizan para que los programas sean fáciles de usar y de entender. Lo bueno de los comentarios es que los compiladores e intérpretes los ignoran por completo. Para que pueda utilizar el idioma que desee para escribir sus comentarios.
Espacios en blanco
Cuando escribimos un programa usando cualquier lenguaje de programación, usamos varios caracteres imprimibles para preparar declaraciones de programación. Estos caracteres imprimibles sona, b, c,......z, A, B, C,.....Z, 1, 2, 3,...... 0, !, @, #, $, %, ^, &, *, (, ), -, _, +, =, \, |, {, }, [, ], :, ;, <, >, ?, /, \, ~. `. ", '. Espero que no me falte ningún carácter imprimible de su teclado.
Aparte de estos caracteres, hay algunos caracteres que usamos con mucha frecuencia pero que son invisibles en su programa y estos caracteres son espacios, tabulaciones (\ t), nuevas líneas (\ n). Estos personajes se llamanwhitespaces.
Estos tres importantes espacios en blanco son comunes en todos los lenguajes de programación y permanecen invisibles en su documento de texto:
Espacio en blanco | Explicación | Representación |
---|---|---|
Nueva línea | Para crear una nueva línea | \norte |
Lengüeta | Para crear una pestaña. | \ t |
Espacio | Para crear un espacio. | espacio vacio |
Una línea que contiene solo espacios en blanco, posiblemente con un comentario, se conoce como línea en blanco y un compilador de C la ignora por completo. Espacio en blanco es el término utilizado en C para describir espacios en blanco, tabulaciones, caracteres de nueva línea y comentarios. Para que puedas escribirprintf("Hello, World!" );Como se muestra abajo. Aquí todos los espacios creados alrededor de "¡Hola, mundo!" son inútiles y el compilador los ignorará en el momento de la compilación.
#include <stdio.h>
int main() {
/* printf() function to write Hello, World! */
printf( "Hello, World!" );
}
que produce el siguiente resultado:
Hello, World!
Si hacemos visibles todos estos espacios en blanco, entonces el programa anterior se verá así y no podrá compilarlo:
#include <stdio.h>\n
\n
int main()\n
{
\n
\t/* printf() function to write Hello, World! */
\n
\tprintf(\t"Hello, World!"\t);\n
\n
}\n
Punto y coma
Cada instrucción individual en un programa C debe terminar con un punto y coma (;), por ejemplo, si desea escribir "¡Hola, mundo!" dos veces, entonces se escribirá de la siguiente manera:
#include <stdio.h>
int main() {
/* printf() function to write Hello, World! */
printf( "Hello, World!\n" );
printf( "Hello, World!" );
}
Este programa producirá el siguiente resultado:
Hello, World!
Hello, World!
Aquí, estamos usando un carácter de nueva línea \nen la primera función printf () para crear una nueva línea. Veamos qué pasa si no usamos este carácter de nueva línea -
#include <stdio.h>
int main() {
/* printf() function to write Hello, World! */
printf( "Hello, World!" );
printf( "Hello, World!" );
}
Este programa producirá el siguiente resultado:
Hello, World! Hello, World!
Aprenderemos identificadores y palabras clave en los próximos capítulos.
Explicación del programa
Entendamos cómo funciona el programa C anterior. En primer lugar, el programa anterior se convierte a formato binario utilizando el compilador C. Así que pongamos este código en el archivo test.cy compilémoslo de la siguiente manera:
$gcc test.c -o demo
Si hay algún error gramatical (errores de sintaxis en terminologías informáticas), lo solucionamos antes de convertirlo a formato binario. Si todo va bien, entonces produce un archivo binario llamadodemo. Finalmente, ejecutamos la demostración binaria producida de la siguiente manera:
$./demo
que produce el siguiente resultado:
Hello, World!
Aquí, cuando ejecutamos el binario a.out, la computadora ingresa dentro del programa comenzando desde main () y encuentra una instrucción printf (). Tenga en cuenta que la línea dentro de /*....*/ es un comentario y se filtra en el momento de la compilación. Entonces, la función printf () indica a la computadora que imprima la línea dada en la pantalla de la computadora. Finalmente, encuentra una llave derecha que indica el final de la función main () y sale del programa.
Error de sintaxis
Si no sigue las reglas definidas por el lenguaje de programación, en el momento de la compilación, obtendrá errores de sintaxis y el programa no se compilará. Desde el punto de vista de la sintaxis, incluso un solo punto o una coma o un solo punto y coma son importantes y usted debe ocuparse también de una sintaxis tan pequeña. En el siguiente ejemplo, nos hemos saltado un punto y coma, intentemos compilar el programa -
#include <stdio.h>
main() {
printf("Hello, World!")
}
Este programa producirá el siguiente resultado:
main.c: In function 'main':
main.c:7:1: error: expected ';' before '}' token
}
^
Entonces, la conclusión es que si no sigue la sintaxis adecuada definida por el lenguaje de programación en su programa, obtendrá errores de sintaxis. Antes de intentar otra compilación, deberá corregirlos y luego continuar.
Programa Hello World en Java
A continuación se muestra el programa equivalente escrito en Java. Este programa también producirá el mismo resultadoHello, World!.
public class HelloWorld {
public static void main(String []args) {
/* println() function to write Hello, World! */
System.out.println("Hello, World!");
}
}
que produce el siguiente resultado:
Hello, World!
Programa Hello World en Python
A continuación se muestra el programa equivalente escrito en Python. Este programa también producirá el mismo resultadoHello, World!.
# print function to write Hello, World! */
print "Hello, World!"
que produce el siguiente resultado:
Hello, World!
Espero que haya notado que para los ejemplos de C y Java, primero estamos compilando los programas y luego ejecutando los binarios producidos, pero en el programa Python, lo estamos ejecutando directamente. Como explicamos en el capítulo anterior, Python es un lenguaje interpretado y no necesita un paso intermedio llamado compilación.
Python no requiere un punto y coma (;) para terminar una declaración, más bien una nueva línea siempre significa la terminación de la declaración.
Discutamos sobre un concepto muy simple pero muy importante disponible en casi todos los lenguajes de programación que se llama data types. Como su nombre lo indica, un tipo de datos representa un tipo de datos que puede procesar usando su programa de computadora. Puede ser numérico, alfanumérico, decimal, etc.
Dejemos de lado la programación de computadoras por un tiempo y tomemos un ejemplo sencillo de sumar dos números enteros 10 y 20, que se puede hacer simplemente de la siguiente manera:
10 + 20
Tomemos otro problema en el que queremos sumar dos números decimales 10.50 y 20.50, que se escribirán de la siguiente manera:
10.50 + 20.50
Los dos ejemplos son sencillos. Ahora tomemos otro ejemplo en el que queremos registrar la información del estudiante en un cuaderno. Aquí nos gustaría registrar la siguiente información:
Name:
Class:
Section:
Age:
Sex:
Ahora, pongamos un registro de estudiante según el requisito dado:
Name: Zara Ali
Class: 6th
Section: J
Age: 13
Sex: F
El primer ejemplo trató con números enteros, el segundo ejemplo agregó dos números decimales, mientras que el tercer ejemplo trata con una combinación de datos diferentes. Digámoslo de la siguiente manera:
El nombre del estudiante "Zara Ali" es una secuencia de caracteres que también se llama cadena.
La clase de estudiante "6th" ha sido representada por una combinación de números enteros y una cadena de dos caracteres. Esta mezcla se llama alfanumérica.
La sección de estudiantes ha sido representada por un solo carácter que es 'J'.
La edad del estudiante ha sido representada por un número entero que es 13.
El sexo del estudiante ha sido representado por un solo carácter que es 'F'.
De esta manera, nos dimos cuenta de que en nuestro día a día tratamos con diferentes tipos de datos como cadenas, caracteres, números enteros (enteros) y números decimales (números de coma flotante).
De manera similar, cuando escribimos un programa de computadora para procesar diferentes tipos de datos, necesitamos especificar su tipo claramente; de lo contrario, la computadora no comprende cómo se pueden realizar las diferentes operaciones con los datos dados. Los diferentes lenguajes de programación utilizan diferentes palabras clave para especificar diferentes tipos de datos. Por ejemplo, los lenguajes de programación C y Java utilizanint para especificar datos enteros, mientras que char especifica un tipo de datos de carácter.
Los capítulos siguientes le mostrarán cómo utilizar diferentes tipos de datos en diferentes situaciones. Por ahora, verifiquemos los tipos de datos importantes disponibles en C, Java y Python y las palabras clave que usaremos para especificar esos tipos de datos.
Tipos de datos C y Java
C y Java admiten casi el mismo conjunto de tipos de datos, aunque Java admite tipos de datos adicionales. Por ahora, tomamos algunos tipos de datos comunes compatibles con ambos lenguajes de programación:
Tipo | Palabra clave | Rango de valores que se puede representar con este tipo de datos |
---|---|---|
Personaje | carbonizarse | -128 a 127 o 0 a 255 |
Número | En t | -32,768 a 32,767 o -2,147,483,648 a 2,147,483,647 |
Número pequeño | corto | -32.768 hasta 32.767 |
Numero largo | largo | -2,147,483,648 a 2,147,483,647 |
Número decimal | flotador | 1.2E-38 a 3.4E + 38 hasta 6 decimales |
Estos tipos de datos se denominan tipos de datos primitivos y puede utilizar estos tipos de datos para crear tipos de datos más complejos, que se denominan tipos de datos definidos por el usuario, por ejemplo, una cadena será una secuencia de caracteres.
Tipos de datos de Python
Python tiene cinco tipos de datos estándar, pero este lenguaje de programación no hace uso de ninguna palabra clave para especificar un tipo de datos en particular, sino que Python es lo suficientemente inteligente como para comprender un tipo de datos dado automáticamente.
- Numbers
- String
- List
- Tuple
- Dictionary
Aquí, Número especifica todos los tipos de números, incluidos números decimales, y la cadena representa una secuencia de caracteres con una longitud de 1 o más caracteres. Por ahora, procedamos con estos dos tipos de datos y omitamos Lista, Tupla y Diccionario, que son tipos de datos avanzados en Python.
Las variables son los nombres que le da a las ubicaciones de la memoria de la computadora que se utilizan para almacenar valores en un programa de computadora.
Por ejemplo, suponga que desea almacenar dos valores 10 y 20 en su programa y, en una etapa posterior, desea utilizar estos dos valores. Veamos cómo lo harás. Estos son los siguientes tres pasos simples:
- Cree variables con nombres apropiados.
- Almacene sus valores en esas dos variables.
- Recupere y use los valores almacenados de las variables.
Creando variables
La creación de variables también se llama declaring variablesen programación C. Los diferentes lenguajes de programación tienen diferentes formas de crear variables dentro de un programa. Por ejemplo, la programación en C tiene la siguiente forma simple de crear variables:
#include <stdio.h>
int main() {
int a;
int b;
}
El programa anterior crea dos variables para reservar dos ubicaciones de memoria con nombres a y b. Creamos estas variables usandoint palabra clave para especificar la variable data typelo que significa que queremos almacenar valores enteros en estas dos variables. Del mismo modo, puede crear variables para almacenarlong, float, charo cualquier otro tipo de datos. Por ejemplo
/* variable to store long value */
long a;
/* variable to store float value */
float b;
Puede crear variables de tipo similar colocándolas en una sola línea pero separadas por comas de la siguiente manera:
#include <stdio.h>
int main() {
int a, b;
}
A continuación se enumeran los puntos clave sobre las variables que debe tener en cuenta:
Un nombre de variable puede contener un solo tipo de valor. Por ejemplo, si variablea ha sido definido int type, entonces solo puede almacenar enteros.
El lenguaje de programación C requiere la creación de una variable, es decir, una declaración antes de su uso en su programa. No puede usar un nombre de variable en su programa sin crearlo, aunque el lenguaje de programación como Python le permite usar un nombre de variable sin crearlo.
Puede usar un nombre de variable solo una vez dentro de su programa. Por ejemplo, si una variablea se ha definido para almacenar un valor entero, entonces no puede definir a nuevamente para almacenar cualquier otro tipo de valor.
Hay lenguajes de programación como Python, PHP, Perl, etc., que no quieren que especifiques el tipo de datos al momento de crear las variables. Por lo tanto, puede almacenar enteros, flotantes o largos sin especificar su tipo de datos.
Puedes darle cualquier nombre a una variable como age, sex, salary, year1990o cualquier otra cosa que desee dar, pero la mayoría de los lenguajes de programación permiten usar solo caracteres limitados en sus nombres de variables. Por ahora, sugeriremos usar soloa....z, A....Z, 0....9 en los nombres de las variables y comience con sus nombres usando solo alfabetos en lugar de dígitos.
Casi ninguno de los lenguajes de programación permite comenzar sus nombres de variable con un dígito, por lo que 1990year no será un nombre de variable válido mientras que year1990 o ye1990ar son nombres de variables válidos.
Cada lenguaje de programación proporciona más reglas relacionadas con las variables y las aprenderá cuando profundice en ese lenguaje de programación.
Almacenar valores en variables
Has visto cómo creamos variables en la sección anterior. Ahora, almacenemos algunos valores en esas variables:
#include <stdio.h>
int main() {
int a;
int b;
a = 10;
b = 20;
}
El programa anterior tiene dos declaraciones adicionales donde estamos almacenando 10 en variable a y 20 se almacena en la variable b. Casi todos los lenguajes de programación tienen una forma similar de almacenar valores en la variable donde mantenemos el nombre de la variable en el lado izquierdo de un signo igual = y cualquier valor que queramos almacenar en la variable, lo mantenemos en el lado derecho.
Ahora, hemos completado dos pasos, primero creamos dos variables y luego almacenamos los valores requeridos en esas variables. Ahora variablea tiene valor 10 y variable b tiene valor 20. En otras palabras, podemos decir, cuando se ejecuta el programa anterior, la ubicación de memoria llamada a tendrá 10 y la ubicación de la memoria b tendrá 20.
Acceder a valores almacenados en variables
Si no usamos los valores almacenados en las variables, entonces no tiene sentido crear variables y almacenar valores en ellas. Sabemos que el programa anterior tiene dos variablesa y by almacenan los valores 10 y 20, respectivamente. Intentemos imprimir los valores almacenados en estas dos variables. A continuación se muestra un programa en C, que imprime los valores almacenados en sus variables:
#include <stdio.h>
int main() {
int a;
int b;
a = 10;
b = 20;
printf( "Value of a = %d\n", a );
printf( "Value of b = %d\n", b );
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Value of a = 10
Value of b = 20
Debes haber visto printf()en el capítulo anterior donde la habíamos usado para imprimir "¡Hola, mundo!". Esta vez, lo usamos para imprimir los valores de las variables. Estamos haciendo uso de%d, que será reemplazado por los valores de la variable dada en las declaraciones printf (). Podemos imprimir ambos valores usando una sola declaración printf () de la siguiente manera:
#include <stdio.h>
int main() {
int a;
int b;
a = 10;
b = 20;
printf( "Value of a = %d and value of b = %d\n", a, b );
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Value of a = 10 and value of b = 20
Si quieres usar float variable en la programación de C, entonces tendrá que usar %f en vez de %d, y si desea imprimir un valor de carácter, tendrá que usar %c. Del mismo modo, se pueden imprimir diferentes tipos de datos utilizando diferentes% y caracteres.
Variables en Java
A continuación se muestra el programa equivalente escrito en lenguaje de programación Java. Este programa creará dos variablesa y b y muy similar a la programación en C, asignará 10 y 20 en estas variables y finalmente imprimirá los valores de las dos variables de dos formas -
public class DemoJava {
public static void main(String []args) {
int a;
int b;
a = 10;
b = 20;
System.out.println("Value of a = " + a);
System.out.println("Value of b = " + b);
System.out.println("Value of a = " + a + " and value of b = " + b);
}
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Value of a = 10
Value of b = 20
Value of a = 10 and value of b = 20
Variables en Python
A continuación se muestra el programa equivalente escrito en Python. Este programa creará dos variablesa y b y al mismo tiempo, asigne 10 y 20 en esas variables.
Python no quiere que especifique el tipo de datos en el momento de la creación de la variable y no es necesario crear variables por adelantado.
a = 10
b = 20
print "Value of a = ", a
print "Value of b = ", b
print "Value of a = ", a, " and value of b = ", b
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Value of a = 10
Value of b = 20
Value of a = 10 and value of b = 20
Puede utilizar la siguiente sintaxis en la programación de C y Java para declarar variables y asignar valores al mismo tiempo:
#include <stdio.h>
int main() {
int a = 10;
int b = 20;
printf( "Value of a = %d and value of b = %d\n", a, b );
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Value of a = 10 and value of b = 20
Hasta ahora, hemos cubierto dos conceptos importantes llamados variables y sus tipos de datos. Discutimos cómo usarint, longy floatpara especificar diferentes tipos de datos. También aprendimos cómo nombrar las variables para almacenar diferentes valores.
Aunque este capítulo no es necesario por separado porque las palabras clave reservadas son parte de la sintaxis de programación básica, lo mantuvimos separado para explicarlo justo después de los tipos de datos y las variables para que sea más fácil de entender.
Como int, long y float, hay muchas otras palabras clave compatibles con el lenguaje de programación C que usaremos para diferentes propósitos. Los diferentes lenguajes de programación proporcionan un conjunto diferente de palabras clave reservadas, pero hay una regla importante y común en todos los lenguajes de programación que no podemos usar una palabra clave reservada para nombrar nuestras variables, lo que significa que no podemos nombrar nuestra variable comoint o float más bien, estas palabras clave solo se pueden utilizar para especificar un tipo de datos variable.
Por ejemplo, si intenta utilizar cualquier palabra clave reservada con el propósito de nombre de variable, obtendrá un error de sintaxis.
#include <stdio.h>
int main() {
int float;
float = 10;
printf( "Value of float = %d\n", float);
}
Cuando compila el programa anterior, produce el siguiente error:
main.c: In function 'main':
main.c:5:8: error: two or more data types in declaration specifiers
int float;
......
Démosle ahora un nombre propio a nuestra variable entera, entonces el programa anterior debería compilarse y ejecutarse correctamente:
#include <stdio.h>
int main() {
int count;
count = 10;
printf( "Value of count = %d\n", count);
}
Palabras clave reservadas de programación en C
Aquí hay una tabla que tiene casi todas las palabras clave compatibles con el lenguaje de programación C:
auto | más | largo | cambiar |
romper | enumeración | Registrarse | typedef |
caso | externo | regreso | Unión |
carbonizarse | flotador | corto | no firmado |
constante | para | firmado | vacío |
Seguir | ir | tamaño de | volátil |
defecto | Si | estático | mientras |
hacer | En t | estructura | _Lleno |
doble |
Palabras clave reservadas de programación Java
Aquí hay una tabla con casi todas las palabras clave compatibles con el lenguaje de programación Java:
resumen | afirmar | booleano | romper |
byte | caso | captura | carbonizarse |
clase | constante | Seguir | defecto |
hacer | doble | más | enumeración |
extiende | final | finalmente | flotador |
para | ir | Si | implementos |
importar | en vez de | En t | interfaz |
largo | nativo | nuevo | paquete |
privado | protegido | público | regreso |
corto | estático | estrictofp | súper |
cambiar | sincronizado | esta | lanzar |
lanza | transitorio | tratar | vacío |
volátil | mientras |
Palabras clave reservadas de programación de Python
Aquí hay una tabla con casi todas las palabras clave admitidas por el lenguaje de programación Python:
y | ejecutivo | no |
afirmar | finalmente | o |
romper | para | pasar |
clase | desde | impresión |
Seguir | global | aumento |
def | Si | regreso |
del | importar | tratar |
elif | en | mientras |
más | es | con |
excepto | lambda | rendimiento |
Sabemos que no puede memorizar todas estas palabras clave, pero las hemos enumerado para su propósito de referencia y para explicar el concepto de reserved keywords. Así que tenga cuidado al darle un nombre a su variable, no debe usar ninguna palabra clave reservada para ese lenguaje de programación.
Un operador en un lenguaje de programación es un símbolo que le dice al compilador o intérprete que realice una operación matemática, relacional o lógica específica y produzca un resultado final. Este capítulo explicará el concepto deoperators y lo llevará a través de los importantes operadores aritméticos y relacionales disponibles en C, Java y Python.
Operadores aritméticos
Los programas de computadora se utilizan ampliamente para cálculos matemáticos. Podemos escribir un programa de computadora que puede hacer cálculos simples como sumar dos números (2 + 3) y también podemos escribir un programa, que puede resolver una ecuación compleja como P (x) = x 4 + 7x 3 - 5x + 9. Si incluso ha sido un mal estudiante, debe tener en cuenta que en la primera expresión 2 y 3 son operandos y + es un operador. Existen conceptos similares en programación de computadoras.
Eche un vistazo a los dos ejemplos siguientes:
2 + 3
P(x) = x4 + 7x3 - 5x + 9.
Estas dos declaraciones se denominan expresiones aritméticas en un lenguaje de programación y plus, minusutilizados en estas expresiones se denominan operadores aritméticos y los valores utilizados en estas expresiones como 2, 3 y x, etc., se denominan operandos. En su forma más simple, tales expresiones producen resultados numéricos.
De manera similar, un lenguaje de programación proporciona varios operadores aritméticos. La siguiente tabla enumera algunos de los operadores aritméticos importantes disponibles en el lenguaje de programación C. Suponga que la variable A tiene 10 y la variable B tiene 20, entonces -
Operador | Descripción | Ejemplo |
---|---|---|
+ | Agrega dos operandos | A + B dará 30 |
- | Resta el segundo operando del primero | A - B dará -10 |
* | Multiplica ambos operandos | A * B dará 200 |
/ | Divide el numerador por el numerador | B / A dará 2 |
% | Esto da el resto de una división entera | B% A dará 0 |
A continuación se muestra un ejemplo simple de programación en C para comprender los operadores matemáticos anteriores:
#include <stdio.h>
int main() {
int a, b, c;
a = 10;
b = 20;
c = a + b;
printf( "Value of c = %d\n", c);
c = a - b;
printf( "Value of c = %d\n", c);
c = a * b;
printf( "Value of c = %d\n", c);
c = b / a;
printf( "Value of c = %d\n", c);
c = b % a;
printf( "Value of c = %d\n", c);
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Value of c = 30
Value of c = -10
Value of c = 200
Value of c = 2
Value of c = 0
Operadores relacionales
Considere una situación en la que creamos dos variables y les asignamos algunos valores de la siguiente manera:
A = 20
B = 10
Aquí, es obvio que la variable A es mayor que B en valores. Entonces, necesitamos la ayuda de algunos símbolos para escribir tales expresiones que se llaman expresiones relacionales. Si usamos el lenguaje de programación C, entonces se escribirá de la siguiente manera:
(A > B)
Aquí, usamos un símbolo> y se llama operador relacional y en su forma más simple, producen resultados booleanos, lo que significa que el resultado será verdadero o falso. De manera similar, un lenguaje de programación proporciona varios operadores relacionales. La siguiente tabla enumera algunos de los operadores relacionales importantes disponibles en el lenguaje de programación C. Asumir variableA tiene 10 y variable B tiene 20, entonces -
Operador | Descripción | Ejemplo |
---|---|---|
== | Comprueba si los valores de dos operandos son iguales o no, si es así, la condición se convierte en verdadera. | (A == B) no es cierto. |
! = | Comprueba si los valores de dos operandos son iguales o no, si los valores no son iguales, la condición se convierte en verdadera. | (A! = B) es cierto. |
> | Comprueba si el valor del operando izquierdo es mayor que el valor del operando derecho, si es así, la condición se convierte en verdadera. | (A> B) no es cierto. |
< | Comprueba si el valor del operando izquierdo es menor que el valor del operando derecho, si es así, la condición se convierte en verdadera. | (A <B) es cierto. |
> = | Comprueba si el valor del operando izquierdo es mayor o igual que el valor del operando derecho, si es así, la condición se convierte en verdadera. | (A> = B) no es cierto. |
<= | Comprueba si el valor del operando izquierdo es menor o igual que el valor del operando derecho, si es así, la condición se convierte en verdadera. | (A <= B) es cierto. |
Aquí, le mostraremos un ejemplo de programación en C que hace uso de if conditional statement. Aunque esta declaración se discutirá más adelante en un capítulo separado, pero en resumen, usamosif statement para comprobar una condición y si la condición es verdadera, entonces el cuerpo de if statement se ejecuta, de lo contrario el cuerpo de if statement se omite.
#include <stdio.h>
int main() {
int a, b;
a = 10;
b = 20;
/* Here we check whether a is equal to 10 or not */
if( a == 10 ) {
/* if a is equal to 10 then this body will be executed */
printf( "a is equal to 10\n");
}
/* Here we check whether b is equal to 10 or not */
if( b == 10 ) {
/* if b is equal to 10 then this body will be executed */
printf( "b is equal to 10\n");
}
/* Here we check if a is less b than or not */
if( a < b ) {
/* if a is less than b then this body will be executed */
printf( "a is less than b\n");
}
/* Here we check whether a and b are not equal */
if( a != b ) {
/* if a is not equal to b then this body will be executed */
printf( "a is not equal to b\n");
}
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
a is equal to 10
a is less than b
a is not equal to b
Operadores logicos
Los operadores lógicos son muy importantes en cualquier lenguaje de programación y nos ayudan a tomar decisiones en función de determinadas condiciones. Supongamos que queremos combinar el resultado de dos condiciones, luego los operadores lógicos AND y OR nos ayudan a producir el resultado final.
La siguiente tabla muestra todos los operadores lógicos compatibles con el lenguaje C. Asumir variableA contiene 1 y variable B tiene 0, entonces -
Operador | Descripción | Ejemplo |
---|---|---|
&& | Operador llamado lógico AND. Si ambos operandos son distintos de cero, la condición se vuelve verdadera. | (A && B) es falso. |
|| | Operador OR lógico llamado. Si alguno de los dos operandos es distinto de cero, la condición se vuelve verdadera. | (A || B) es cierto. |
! | Operador llamado lógico NOT. Úselo para revertir el estado lógico de su operando. Si una condición es verdadera, el operador NOT lógico la convertirá en falsa. | ! (A && B) es cierto. |
Pruebe el siguiente ejemplo para comprender todos los operadores lógicos disponibles en el lenguaje de programación C:
#include <stdio.h>
int main() {
int a = 1;
int b = 0;
if ( a && b ) {
printf("This will never print because condition is false\n" );
}
if ( a || b ) {
printf("This will be printed print because condition is true\n" );
}
if ( !(a && b) ) {
printf("This will be printed print because condition is true\n" );
}
}
Cuando compila y ejecuta el programa anterior, produce el siguiente resultado:
This will be printed print because condition is true
This will be printed print because condition is true
Operadores en Java
A continuación se muestra el programa equivalente escrito en Java. La programación en C y Java proporcionan un conjunto casi idéntico de operadores y declaraciones condicionales. Este programa creará dos variablesa y b, muy similar a la programación en C, luego asignamos 10 y 20 en estas variables y finalmente, usaremos diferentes operadores aritméticos y relacionales -
Puede intentar ejecutar el siguiente programa para ver el resultado, que debe ser idéntico al resultado generado por el ejemplo anterior.
public class DemoJava {
public static void main(String []args) {
int a, b, c;
a = 10;
b = 20;
c = a + b;
System.out.println("Value of c = " + c );
c = a - b;
System.out.println("Value of c = " + c );
c = a * b;
System.out.println("Value of c = " + c );
c = b / a;
System.out.println("Value of c = " + c );
c = b % a;
System.out.println("Value of c = " + c );
if( a == 10 ) {
System.out.println("a is equal to 10" );
}
}
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Value of c = 30
Value of c = -10
Value of c = 200
Value of c = 2
Value of c = 0
a is equal to 10
Operadores en Python
A continuación se muestra el programa equivalente escrito en Python. Este programa creará dos variablesa y by al mismo tiempo, asigne 10 y 20 en esas variables. Afortunadamente, la programación en C y los lenguajes de programación Python proporcionan un conjunto de operadores casi idéntico. Este programa creará dos variablesa y b, muy similar a la programación en C, luego asignamos 10 y 20 en estas variables y finalmente, usaremos diferentes operadores aritméticos y relacionales.
Puede intentar ejecutar el siguiente programa para ver el resultado, que debe ser idéntico al resultado generado por el ejemplo anterior.
a = 10
b = 20
c = a + b
print "Value of c = ", c
c = a - b
print "Value of c = ", c
c = a * b
print "Value of c = ", c
c = a / b
print "Value of c = ", c
c = a % b
print "Value of c = ", c
if( a == 10 ):
print "a is equal to 10"
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Value of c = 30
Value of c = -10
Value of c = 200
Value of c = 0
Value of c = 10
a is equal to 10
La toma de decisiones es fundamental para la programación de computadoras. Habrá muchas situaciones en las que se le darán dos o más opciones y tendrá que seleccionar una opción en función de las condiciones dadas. Por ejemplo, queremos imprimir un comentario sobre un estudiante basado en sus calificaciones aseguradas. La siguiente es la situación:
Assume given marks are x for a student:
If given marks are more than 95, then
Student is brilliant
If given marks are less than 30, then
Student is poor
If given marks are less than 95 and more than 30, then
Student is average
Ahora, la pregunta es cómo escribir un código de programación para manejar tales situaciones. Casi todos los lenguajes de programación proporcionan declaraciones condicionales que funcionan según el siguiente diagrama de flujo:
Escribamos un programa en C con la ayuda de if conditional statements para convertir la situación dada arriba en un código de programación -
#include <stdio.h>
int main() {
int x = 45;
if( x > 95) {
printf( "Student is brilliant\n");
}
if( x < 30) {
printf( "Student is poor\n");
}
if( x < 95 && x > 30 ) {
printf( "Student is average\n");
}
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Student is average
El programa anterior utiliza if conditional statements. Aquí, el primeroif statementcomprueba si la condición dada, es decir, la variable x es mayor que 95 o no y si encuentra que la condición es verdadera, entonces se ingresa el cuerpo condicional para ejecutar las declaraciones dadas. Aquí solo tenemos una declaración printf () para imprimir un comentario sobre el estudiante.
Del mismo modo, el segundo if statementtrabajos. Finalmente, el terceroif statement se ejecuta, aquí tenemos las siguientes dos condiciones:
La primera condición es x > 95
La segunda condición es x < 30
La computadora evalúa ambas condiciones dadas y luego, el resultado general se combina con la ayuda del operador binario &&. Si el resultado final es verdadero, entonces se ejecutará la declaración condicional; de lo contrario, no se ejecutará ninguna declaración.
Este tutorial le dará una idea básica sobre varias formas de if statements y una introducción a switchdeclaraciones disponibles en lenguaje de programación C. Los diferentes lenguajes de programación proporcionan diferentes tipos de declaraciones para la toma de decisiones, pero el concepto básico sigue siendo el mismo que se explica en este tutorial.
declaración if ... else
Un if La declaración puede ir seguida de una elsedeclaración, que se ejecuta cuando la expresión booleana es falsa. La sintaxis de unif...else declaración en lenguaje de programación C es -
if(boolean_expression) {
/* Statement(s) will execute if the boolean expression is true */
} else {
/* Statement(s) will execute if the boolean expression is false */
}
La sintaxis anterior se puede representar en forma de diagrama de flujo como se muestra a continuación:
Un if...elseLa declaración es útil cuando tenemos que tomar una decisión entre dos opciones. Por ejemplo, si un estudiante obtiene más puntos de 95, entonces el estudiante es brillante; de lo contrario, tal situación no se puede codificar de la siguiente manera:
#include <stdio.h>
int main() {
int x = 45;
if( x > 95) {
printf( "Student is brilliant\n");
} else {
printf( "Student is not brilliant\n");
}
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Student is not brilliant
if ... elseif ... declaración else
Un if La declaración puede ir seguida de una else if...else declaración, que es muy útil para probar varias condiciones.
Durante el uso if, else if, else declaraciones, hay algunos puntos a tener en cuenta:
Un if puede tener cero o uno else's y debe venir después de un else if.
Un if puede tener de cero a muchos else…if's y deben venir antes del else.
Una vez else…if tiene éxito, ninguno de los restantes else…if's o else's será probado.
La sintaxis de un if...else if...else declaración en lenguaje de programación C es -
if(boolean_expression 1) {
/* Executes when the boolean expression 1 is true */
}
else if( boolean_expression 2) {
/* Executes when the boolean expression 2 is true */
}
else if( boolean_expression 3) {
/* Executes when the boolean expression 3 is true */
} else {
/* Executes when the none of the above condition is true */
}
Ahora con la ayuda de if...elseif...else declaración, el primer programa se puede codificar de la siguiente manera:
#include <stdio.h>
int main() {
int x = 45;
if( x > 95) {
printf( "Student is brilliant\n");
}
else if( x < 30) {
printf( "Student is poor\n");
}
else if( x < 95 && x > 30 ) {
printf( "Student is average\n");
}
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Student is average
La declaración de cambio
UN switch declaración es una alternativa de if statementsque permite probar la igualdad de una variable con una lista de valores. Cada valor se llamacase, y la variable que se enciende se verifica para cada caso de interruptor. Tiene la siguiente sintaxis:
switch(expression){
case ONE :
statement(s);
break;
case TWO:
statement(s);
break;
......
default :
statement(s);
}
los expression usado en un switchLa declaración debe dar un valor entero, que se comparará por igualdad con diferentes casos dados. Siempre que un valor de expresión coincida con un valor de caso, se ejecutará el cuerpo de ese caso y, finalmente, el cambio se terminará usando unbreakdeclaración. Si no se proporcionan declaraciones de interrupción, la computadora continúa ejecutando otras declaraciones disponibles a continuación para el caso emparejado. Si ninguno de los casos coincide, se ejecuta el cuerpo del caso predeterminado.
La sintaxis anterior se puede representar en forma de diagrama de flujo como se muestra a continuación:
Ahora, consideremos otro ejemplo en el que queremos escribir la palabra inglesa equivalente para un número dado. Luego, se puede codificar de la siguiente manera:
#include <stdio.h>
int main() {
int x = 2;
switch( x ){
case 1 :
printf( "One\n");
break;
case 2 :
printf( "Two\n");
break;
case 3 :
printf( "Three\n");
break;
case 4 :
printf( "Four\n");
break;
default :
printf( "None of the above...\n");
}
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Two
Decisiones en Java
A continuación se muestra el programa equivalente escrito en Java que también admite if, if...else, if...elseif...elsey switch declaraciones.
Puede intentar ejecutar el siguiente programa para ver el resultado, que debe ser idéntico al resultado generado por el ejemplo de C anterior.
public class DemoJava {
public static void main(String []args) {
int x = 45;
if( x > 95) {
System.out.println( "Student is brilliant");
}
else if( x < 30) {
System.out.println( "Student is poor");
}
else if( x < 95 && x > 30 ) {
System.out.println( "Student is average");
}
}
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Student is average
Decisiones en Python
A continuación se muestra el programa equivalente escrito en Python. Python proporcionaif, if...else, if...elif...elsey switchdeclaraciones. Aquí, debe tener en cuenta que Python no utiliza llaves para el cuerpo condicional, sino que simplemente identifica el cuerpo del bloque usando la sangría de las declaraciones.
Puede intentar ejecutar el siguiente programa para ver el resultado:
x = 45
if x > 95:
print "Student is brilliant"
elif x < 30:
print "Student is poor"
elif x < 95 and x > 30:
print "Student is average"
print "The end"
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Student is average
The end
Consideremos una situación en la que desea imprimir. Hello, World!cinco veces. Aquí hay un programa C simple para hacer lo mismo:
#include <stdio.h>
int main() {
printf( "Hello, World!\n");
printf( "Hello, World!\n");
printf( "Hello, World!\n");
printf( "Hello, World!\n");
printf( "Hello, World!\n");
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Era simple, pero de nuevo, consideremos otra situación en la que quieras escribir Hello, World!mil veces. Ciertamente no podemos escribir declaraciones printf () mil veces. Casi todos los lenguajes de programación proporcionan un concepto llamadoloop, que ayuda a ejecutar una o más declaraciones hasta un número deseado de veces. Todos los lenguajes de programación de alto nivel proporcionan varias formas de bucles, que se pueden utilizar para ejecutar una o más declaraciones repetidamente.
Escribamos el programa C anterior con la ayuda de un while loop y luego, discutiremos cómo funciona este bucle
#include <stdio.h>
int main() {
int i = 0;
while ( i < 5 ) {
printf( "Hello, World!\n");
i = i + 1;
}
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
El programa anterior hace uso de un while loop, que se utiliza para ejecutar un conjunto de instrucciones de programación incluidas en {....}. Aquí, la computadora primero verifica si la condición dada, es decir, la variable "a" es menor que 5 o no y si encuentra que la condición es verdadera, entonces se ingresa el cuerpo del bucle para ejecutar las declaraciones dadas. Aquí, tenemos las siguientes dos declaraciones en el cuerpo del bucle:
La primera declaración es la función printf () , que imprime ¡Hola mundo!
La segunda declaración es i = i + 1 , que se usa para aumentar el valor de la variablei
Después de ejecutar todas las declaraciones dadas en el cuerpo del bucle, la computadora vuelve a while (i <5) y la condición dada, (i <5), se verifica nuevamente, y el bucle se ejecuta nuevamente si la condición es verdadera. Este proceso se repite hasta que la condición dada permanece verdadera, lo que significa que la variable "a" tiene un valor menor que 5.
Para concluir, una declaración de bucle nos permite ejecutar una declaración o grupo de declaraciones varias veces. A continuación se muestra la forma general de una declaración de bucle en la mayoría de los lenguajes de programación:
Este tutorial ha sido diseñado para presentar los conceptos básicos de programación a los no programadores, así que analicemos los dos bucles más importantes disponibles en el lenguaje de programación C. Una vez que tenga claro estos dos bucles, puede elegir un tutorial de programación en C o un libro de referencia y verificar otros bucles disponibles en C y la forma en que funcionan.
El bucle while
UN while loop disponible en el lenguaje de programación C tiene la siguiente sintaxis:
while ( condition ) {
/*....while loop body ....*/
}
El código anterior se puede representar en forma de diagrama de flujo como se muestra a continuación:
Los siguientes puntos importantes deben tenerse en cuenta sobre un bucle while:
Un ciclo while comienza con una palabra clave while seguido de un condition Adjunto en ( ).
Además de la declaración while (), tendrá el cuerpo del bucle entre llaves {...}.
Un cuerpo de bucle while puede tener una o más líneas de código fuente para ejecutarse repetidamente.
Si el cuerpo de un bucle while tiene solo una línea, entonces es opcional usar llaves {...}.
Un ciclo while sigue ejecutando su cuerpo hasta que un determinado conditionse mantiene cierto. Tan pronto como la condición se vuelve falsa, el ciclo while sale y continúa ejecutándose desde la siguiente sentencia inmediata después del cuerpo del ciclo while.
Una condición suele ser una declaración relacional, que se evalúa como verdadera o falsa. Un valor igual a cero se trata como falso y cualquier valor distinto de cero funciona como verdadero.
El do ... while Loop
Un ciclo while verifica una condición dada antes de ejecutar cualquier declaración dada en la parte del cuerpo. La programación en C proporciona otra forma de bucle, llamadodo...whileque permite ejecutar un cuerpo de bucle antes de verificar una condición dada. Tiene la siguiente sintaxis:
do {
/*....do...while loop body ....*/
}
while ( condition );
El código anterior se puede representar en forma de diagrama de flujo como se muestra a continuación:
Si escribe el ejemplo anterior usando do...while bucle, entonces Hello, World producirá el mismo resultado -
#include <stdio.h>
int main() {
int i = 0;
do {
printf( "Hello, World!\n");
i = i + 1;
}
while ( i < 5 );
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
La declaración de ruptura
Cuando el breakla instrucción se encuentra dentro de un bucle, el bucle se termina inmediatamente y el control del programa se reanuda en la siguiente instrucción que sigue al bucle. La sintaxis de unbreak declaración en C es como sigue -
break;
UN break La declaración se puede representar en forma de diagrama de flujo como se muestra a continuación:
A continuación se muestra una variante del programa anterior, pero saldrá después de imprimir Hello World! solo tres veces -
#include <stdio.h>
int main() {
int i = 0;
do {
printf( "Hello, World!\n");
i = i + 1;
if( i == 3 ) {
break;
}
}
while ( i < 5 );
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Hello, World!
Hello, World!
Hello, World!
La declaración de continuar
los continue declaración en lenguaje de programación C funciona algo así como el breakdeclaración. En lugar de forzar la terminación,continueobliga a que se lleve a cabo la siguiente iteración del bucle, omitiendo cualquier código intermedio. La sintaxis de uncontinue declaración en C es como sigue -
continue;
UN continue La declaración se puede representar en forma de diagrama de flujo como se muestra a continuación:
A continuación se muestra una variante del programa anterior, pero omitirá la impresión cuando la variable tenga un valor igual a 3 -
#include <stdio.h>
int main() {
int i = 0;
do {
if( i == 3 ) {
i = i + 1;
continue;
}
printf( "Hello, World!\n");
i = i + 1;
}
while ( i < 5 );
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Bucles en Java
A continuación se muestra el programa equivalente escrito en Java que también admite while y do...whilebucles. El siguiente programa imprimeHello, World! cinco veces como hicimos en el caso de la programación en C -
Puede intentar ejecutar el siguiente programa para ver el resultado, que debe ser idéntico al resultado generado por el ejemplo anterior.
public class DemoJava {
public static void main(String []args) {
int i = 0;
while ( i < 5 ) {
System.out.println("Hello, World!");
i = i + 1;
}
}
}
los break y continue Las sentencias en la programación Java funcionan de la misma manera que en la programación C.
Bucles en Python
A continuación se muestra el programa equivalente escrito en Python. Python también es compatiblewhile y do...whilebucles. El siguiente programa imprimeHello, World!cinco veces como hicimos en el caso de la programación en C. Aquí debe tener en cuenta que Python no utiliza llaves para el cuerpo del bucle, sino que simplemente identifica el cuerpo del bucle mediante la sangría de las declaraciones.
Puede intentar ejecutar el siguiente programa para ver el resultado. Para mostrar la diferencia, hemos utilizado una declaración de impresión más, que se ejecutará cuando termine el ciclo.
i = 0
while (i < 5):
print "Hello, World!"
i = i + 1
print "Loop ends"
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Loop ends
los break y continue Las declaraciones en Python funcionan de la misma manera que en la programación C.
Cada lenguaje de programación proporciona soporte para manipular diferentes tipos de números, como enteros enteros simples y números de punto flotante. C, Java y Python clasifican estos números en varias categorías según su naturaleza.
Regresemos y revisemos el capítulo de tipos de datos, donde enumeramos los tipos de datos básicos relacionados con los números:
Tipo | Palabra clave | Rango de valores que se puede representar con este tipo de datos |
---|---|---|
Número | En t | -32,768 a 32,767 o -2,147,483,648 a 2,147,483,647 |
Número pequeño | corto | -32.768 hasta 32.767 |
Numero largo | largo | -2,147,483,648 a 2,147,483,647 |
Número decimal | flotador | 1.2E-38 a 3.4E + 38 hasta 6 decimales |
Estos tipos de datos se denominan tipos de datos primitivos y puede utilizar estos tipos de datos para crear más tipos de datos, que se denominan tipos de datos definidos por el usuario.
Hemos visto varias operaciones matemáticas y lógicas con números durante una discusión sobre operadores. Entonces sabemos cómo sumar números, restar números, dividir números, etc.
Primero veamos cómo imprimir varios tipos de números disponibles en el lenguaje de programación C:
#include <stdio.h>
int main() {
short s;
int i;
long l;
float f;
double d;
s = 10;
i = 1000;
l = 1000000;
f = 230.47;
d = 30949.374;
printf( "s: %d\n", s);
printf( "i: %d\n", i);
printf( "l: %ld\n", l);
printf( "f: %.3f\n", f);
printf( "d: %.3f\n", d);
}
El resto de la codificación es muy obvio, pero usamos %.3fpara imprimir flotante y doble, que indica el número de dígitos después del decimal a imprimir. Cuando se ejecuta el programa anterior, produce el siguiente resultado:
s: 10
i: 1000
l: 1000000
f: 230.470
d: 30949.374
Operaciones matemáticas con números
La siguiente tabla enumera varios útiles matemáticos incorporados functions disponible en lenguaje de programación C que se puede utilizar para varios cálculos matemáticos importantes.
Por ejemplo, si desea calcular la raíz cuadrada de un número, por ejemplo, 2304, tiene una función incorporada disponible para calcular la raíz cuadrada.
No Señor. | Función y propósito |
---|---|
1 | double cos(double); Esta función toma un ángulo (como un doble) y devuelve el coseno. |
2 | double sin(double); Esta función toma un ángulo (como un doble) y devuelve el seno. |
3 | bronceado doble (doble); Esta función toma un ángulo (como un doble) y devuelve la tangente. |
4 | double log(double); Esta función toma un número y devuelve el logaritmo natural de ese número. |
5 | double pow(double, double); El primero es un número que desea aumentar y el segundo es la potencia a la que desea aumentarlo. |
6 | double hypot(double, double); Si pasa esta función la longitud de dos lados de un triángulo rectángulo, devolverá la longitud de la hipotenusa. |
7 | double sqrt(double); Le pasa un número a esta función y devuelve su raíz cuadrada. |
8 | int abs(int); Esta función devuelve el valor absoluto de un número entero que se le pasa. |
9 | double fabs(double); Esta función devuelve el valor absoluto de cualquier número decimal que se le pase. |
10 | double floor(double); Encuentra el número entero que es menor o igual que el argumento que se le pasa. |
A continuación se muestra un ejemplo sencillo para mostrar algunas operaciones matemáticas. Para utilizar estas funciones, debe incluir el archivo de encabezado matemático<math.h> en su programa de la misma manera que incluyó stdio.h -
#include <stdio.h>
#include <math.h>
int main() {
short s;
int i;
long l;
float f;
double d;
printf( "sin(s): %f\n", sin(10));
printf( "abs(i): %f\n", abs(1000));
printf( "floor(f): %f\n", floor(230.47));
printf( "sqrt(l): %f\n", sqrt(1000000));
printf( "pow(d, 2): %f\n", pow(2.374, 2));
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
sin(s): -0.544021
abs(i): -0.544021
floor(f): 230.000000
sqrt(l): 1000.000000
pow(d, 2): 5.635876
Además del uso anterior, utilizará números en el recuento de bucles, representación de banderas, valores verdaderos o falsos en la programación C.
Números en Java
A continuación se muestra el programa equivalente escrito en Java. Java proporciona casi todos los tipos de datos numéricos disponibles en la programación C.
Puede intentar ejecutar el siguiente programa para ver el resultado, que es idéntico al resultado generado por el ejemplo de C anterior.
public class DemoJava {
public static void main(String []args) {
short s;
int i;
long l;
float f;
double d;
s = 10;
i = 1000;
l = 1000000L;
f = 230.47f;
d = 30949.374;
System.out.format( "s: %d\n", s);
System.out.format( "i: %d\n", i);
System.out.format( "l: %d\n", l);
System.out.format( "f: %f\n", f);
System.out.format( "d: %f\n", d);
}
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
s: 10
i: 1000
l: 1000000
f: 230.470001
d: 30949.374000
Java también proporciona una gama completa de funciones integradas para el cálculo matemático y puede usarlas de la misma manera que lo hizo en la programación C.
Números en Python
Python es un poco diferente de C y Java; categoriza números enint, long, float y complex. Aquí hay algunos ejemplos de números en Python:
En t | largo | flotador | complejo |
---|---|---|---|
10 | 51924361L | 0.0 | 3,14j |
100 | -0x19323L | 15.20 | 45.j |
-786 | 0122L | -21,9 | 9.322e-36j |
080 | 0xDEFABCECBDAECBFBAEl | 32,3 + e18 | .876j |
-0490 | 535633629843L | -90. | -.6545 + 0J |
-0x260 | -052318172735L | -32.54e100 | 3e + 26J |
0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
A continuación se muestra el programa equivalente escrito en Python:
s = 10
i = 1000
l = 1000000
f = 230.47
d = 30949.374
print "s: ", s
print "i: ", i
print "l: ", l
print "f: ", f
print "d: ", d
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
s: 10
i: 1000
l: 1000000
f: 230.47
d: 30949.374
Python también proporciona una gama completa de funciones integradas para cálculos matemáticos y puede usarlas de la misma manera que las ha usado en la programación C.
Si fuera fácil trabajar con números en la programación de computadoras, sería aún más fácil trabajar con caracteres. Los caracteres son alfabetos simples como a, b, c, d ...., A, B, C, D, ....., pero con una excepción. En programación de computadoras, cualquier número de un solo dígito como 0, 1, 2, .... y caracteres especiales como $,%, +, -.... etc., también se tratan como caracteres y se asignan en un tipo de carácter variable, simplemente debe ponerlos dentrosingle quotes. Por ejemplo, la siguiente declaración define una variable de tipo de carácterch y le asignamos un valor 'a' -
char ch = 'a';
Aquí, ch es una variable de tipo de carácter que puede contener un carácter del conjunto de caracteres de la implementación y 'a' se llama un character literalo una constante de carácter. No solo a, b, c, .... sino cuando cualquier número como 1, 2, 3 .... o cualquier carácter especial como!, @, #, #, $, .... se mantiene entre comillas simples , entonces serán tratados como un carácter literal y se pueden asignar a una variable de tipo carácter, por lo que la siguiente es una declaración válida:
char ch = '1';
Un tipo de datos de caracteres consume 8 bits de memoria, lo que significa que puede almacenar cualquier cosa en un carácter cuyo valor ASCII se encuentre entre -127 y 127, por lo que puede contener cualquiera de los 256 valores diferentes. Un tipo de datos de caracteres puede almacenar cualquiera de los caracteres disponibles en su teclado, incluidos caracteres especiales como!, @, #, #, $,%, ^, &, *, (,), _, +, {,}, Etc.
Tenga en cuenta que solo puede mantener un solo alfabeto o un número de un solo dígito entre comillas simples y no se permiten más de un alfabeto o dígitos entre comillas simples. Entonces, las siguientes declaraciones no son válidas en la programación C:
char ch1 = 'ab';
char ch2 = '10';
A continuación se muestra un ejemplo simple, que muestra cómo definir, asignar e imprimir caracteres en el lenguaje de programación C:
#include <stdio.h>
int main() {
char ch1;
char ch2;
char ch3;
char ch4;
ch1 = 'a';
ch2 = '1';
ch3 = '$';
ch4 = '+';
printf( "ch1: %c\n", ch1);
printf( "ch2: %c\n", ch2);
printf( "ch3: %c\n", ch3);
printf( "ch4: %c\n", ch4);
}
Aquí, usamos% c para imprimir un tipo de datos de caracteres. Cuando se ejecuta el programa anterior, produce el siguiente resultado:
ch1: a
ch2: 1
ch3: $
ch4: +
Secuencias de escape
Muchos lenguajes de programación admiten un concepto llamado Escape Sequence. Cuando un carácter está precedido por una barra invertida (\), se denomina secuencia de escape y tiene un significado especial para el compilador. Por ejemplo, \ n en la siguiente declaración es un carácter válido y se denomina carácter de nueva línea:
char ch = '\n';
Aquí, personaje nha sido precedido por una barra invertida (\), tiene un significado especial que es una nueva línea, pero tenga en cuenta que la barra invertida (\) tiene un significado especial con solo unos pocos caracteres. La siguiente declaración no transmitirá ningún significado en la programación C y se asumirá como una declaración no válida:
char ch = '\1';
La siguiente tabla enumera las secuencias de escape disponibles en el lenguaje de programación C:
Secuencia de escape | Descripción |
---|---|
\ t | Inserta una pestaña en el texto en este punto. |
\segundo | Inserta un retroceso en el texto en este punto. |
\norte | Inserta una nueva línea en el texto en este punto. |
\ r | Inserta un retorno de carro en el texto en este punto. |
\F | Inserta un avance de formulario en el texto en este punto. |
\ ' | Inserta un carácter de comilla simple en el texto en este punto. |
\ " | Inserta un carácter de comillas dobles en el texto en este punto. |
\\ | Inserta un carácter de barra invertida en el texto en este punto. |
El siguiente ejemplo muestra cómo el compilador interpreta una secuencia de escape en una declaración de impresión:
#include <stdio.h>
int main() {
char ch1;
char ch2;
char ch3;
char ch4;
ch1 = '\t';
ch2 = '\n';
printf( "Test for tabspace %c and a newline %c will start here", ch1, ch2);
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Test for tabspace and a newline
will start here
Personajes en Java
A continuación se muestra el programa equivalente escrito en Java. Java maneja los tipos de datos de caracteres de la misma manera que hemos visto en la programación C. Sin embargo, Java proporciona soporte adicional para la manipulación de caracteres.
Puede intentar ejecutar el siguiente programa para ver el resultado, que debe ser idéntico al resultado generado por el ejemplo de C anterior.
public class DemoJava {
public static void main(String []args) {
char ch1;
char ch2;
char ch3;
char ch4;
ch1 = 'a';
ch2 = '1';
ch3 = '$';
ch4 = '+';
System.out.format( "ch1: %c\n", ch1);
System.out.format( "ch2: %c\n", ch2);
System.out.format( "ch3: %c\n", ch3);
System.out.format( "ch4: %c\n", ch4);
}
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
ch1: a
ch2: 1
ch3: $
ch4: +
Java también admite la secuencia de escape de la misma manera que los usó en la programación C.
Personajes en Python
Python no admite ningún tipo de datos de caracteres, pero todos los caracteres se tratan como una cadena, que es una secuencia de caracteres. Estudiaremos las cadenas en un capítulo aparte. No es necesario tener ningún arreglo especial al usar un solo carácter en Python.
A continuación se muestra el programa equivalente escrito en Python:
ch1 = 'a';
ch2 = '1';
ch3 = '$';
ch4 = '+';
print "ch1: ", ch1
print "ch2: ", ch2
print "ch3: ", ch3
print "ch4: ", ch4
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
ch1: a
ch2: 1
ch3: $
ch4: +
Python admite secuencias de escape de la misma manera que las ha utilizado en la programación C.
Considere una situación en la que necesitamos almacenar cinco números enteros. Si usamos conceptos de tipo de datos y variables simples de programación, entonces necesitamos cinco variables deint tipo de datos y el programa será el siguiente:
#include <stdio.h>
int main() {
int number1;
int number2;
int number3;
int number4;
int number5;
number1 = 10;
number2 = 20;
number3 = 30;
number4 = 40;
number5 = 50;
printf( "number1: %d\n", number1);
printf( "number2: %d\n", number2);
printf( "number3: %d\n", number3);
printf( "number4: %d\n", number4);
printf( "number5: %d\n", number5);
}
Era simple, porque teníamos que almacenar solo cinco números enteros. Ahora supongamos que tenemos que almacenar 5000 números enteros. ¿Vamos a utilizar 5000 variables?
Para manejar tales situaciones, casi todos los lenguajes de programación proporcionan un concepto llamado array. Una matriz es una estructura de datos que puede almacenar una colección de elementos de tamaño fijo del mismo tipo de datos. Una matriz se usa para almacenar una colección de datos, pero a menudo es más útil pensar en una matriz como una colección de variables del mismo tipo.
En lugar de declarar variables individuales, como número1, número2, ..., número99, simplemente declara una variable de matriz numberde tipo entero y use número1 [0], número1 [1] y ..., número1 [99] para representar variables individuales. Aquí, 0, 1, 2, ..... 99 sonindex asociado con var variable y se utilizan para representar elementos individuales disponibles en la matriz.
Todas las matrices constan de ubicaciones de memoria contiguas. La dirección más baja corresponde al primer elemento y la dirección más alta al último elemento.
Crear matrices
Para crear una variable de matriz en C, un programador especifica el tipo de elementos y el número de elementos que se almacenarán en esa matriz. A continuación se muestra una sintaxis simple para crear una matriz en programación C:
type arrayName [ arraySize ];
Esto se llama matriz unidimensional . losarraySize debe ser una constante entera mayor que cero y typepuede ser cualquier tipo de datos C válido. Por ejemplo, ahora para declarar una matriz de 10 elementos llamadanumber de tipo int, usa esta declaración -
int number[10];
Aquí, el número es una matriz variable, que es suficiente para contener hasta 10 números enteros.
Inicialización de matrices
Puede inicializar una matriz en C uno por uno o usando una sola declaración de la siguiente manera:
int number[5] = {10, 20, 30, 40, 50};
El número de valores entre llaves {} no puede ser mayor que el número de elementos que declaramos para la matriz entre corchetes [].
Si omite el tamaño de la matriz, se crea una matriz lo suficientemente grande como para contener la inicialización. Por lo tanto, si escribe -
int number[] = {10, 20, 30, 40, 50};
Creará exactamente la misma matriz que hizo en el ejemplo anterior. A continuación se muestra un ejemplo para asignar un solo elemento de la matriz:
number[4] = 50;
La declaración anterior asigna el elemento número 5 en la matriz con un valor de 50. Todas las matrices tienen 0 como índice de su primer elemento, que también se llama índice base y el último índice de una matriz será el tamaño total de la matriz menos 1. La siguiente imagen muestra la representación pictórica de la matriz que discutimos anteriormente:
Acceso a elementos de matriz
Se accede a un elemento indexando el nombre de la matriz. Esto se hace colocando el índice del elemento entre corchetes después del nombre de la matriz. Por ejemplo
int var = number[9];
La declaración anterior tomará el décimo elemento de la matriz y asignará el valor a varvariable. El siguiente ejemplo utiliza todos los tres conceptos mencionados anteriormente, a saber. creación, asignación y acceso a matrices -
#include <stdio.h>
int main () {
int number[10]; /* number is an array of 10 integers */
int i = 0;
/* Initialize elements of array n to 0 */
while( i < 10 ) {
/* Set element at location i to i + 100 */
number[ i ] = i + 100;
i = i + 1;
}
/* Output each array element's value */
i = 0;
while( i < 10 ) {
printf("number[%d] = %d\n", i, number[i] );
i = i + 1;
}
return 0;
}
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
number[0] = 100
number[1] = 101
number[2] = 102
number[3] = 103
number[4] = 104
number[5] = 105
number[6] = 106
number[7] = 107
number[8] = 108
number[9] = 109
Matrices en Java
A continuación se muestra el programa equivalente escrito en Java. Java admite matrices, pero hay una pequeña diferencia en la forma en que se crean en Java utilizando elnew operador.
Puede intentar ejecutar el siguiente programa para ver el resultado, que debe ser idéntico al resultado generado por el ejemplo de C anterior.
public class DemoJava {
public static void main(String []args) {
int[] number = new int[10];
int i = 0;
while( i < 10 ) {
number[ i ] = i + 100;
i = i + 1;
}
i = 0;
while( i < 10 ) {
System.out.format( "number[%d] = %d\n", i, number[i] );
i = i + 1;
}
}
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
number[0] = 100
number[1] = 101
number[2] = 102
number[3] = 103
number[4] = 104
number[5] = 105
number[6] = 106
number[7] = 107
number[8] = 108
number[9] = 109
Matrices (listas) en Python
Python no tiene un concepto de Array, en su lugar Python proporciona otra estructura de datos llamada list, que proporciona una funcionalidad similar a las matrices en cualquier otro idioma.
A continuación se muestra el programa equivalente escrito en Python:
# Following defines an empty list.
number = []
i = 0
while i < 10:
# Appending elements in the list
number.append(i + 100)
i = i + 1
i = 0
while i < 10:
# Accessing elements from the list
print "number[", i, "] = ", number[ i ]
i = i + 1
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
number[ 0 ] = 100
number[ 1 ] = 101
number[ 2 ] = 102
number[ 3 ] = 103
number[ 4 ] = 104
number[ 5 ] = 105
number[ 6 ] = 106
number[ 7 ] = 107
number[ 8 ] = 108
number[ 9 ] = 109
Durante nuestra discusión sobre characters, aprendimos que el tipo de datos de caracteres se ocupa de un solo carácter y que puede asignar cualquier carácter de su teclado a una variable de tipo de carácter.
Ahora, avancemos un poco y consideremos una situación en la que necesitamos almacenar más de un carácter en una variable. Hemos visto que la programación en C no permite almacenar más de un carácter en una variable de tipo de carácter. Entonces, las siguientes declaraciones no son válidas en la programación C y producen errores de sintaxis:
char ch1 = 'ab';
char ch2 = '10';
También hemos visto cómo utilizar el concepto de arrayspara almacenar más de un valor de tipo de datos similar en una variable. Aquí está la sintaxis para almacenar e imprimir cinco números en una matriz de tipo int:
#include <stdio.h>
main() {
int number[5] = {10, 20, 30, 40, 50};
int i = 0;
while( i < 5 ) {
printf("number[%d] = %d\n", i, number[i] );
i = i + 1;
}
}
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
number[0] = 10
number[1] = 20
number[2] = 30
number[3] = 40
number[4] = 50
Ahora, definamos una matriz de cinco caracteres de la misma manera que lo hicimos para los números e intentemos imprimirlos:
#include <stdio.h>
main() {
char ch[5] = {'H', 'e', 'l', 'l', 'o'};
int i = 0;
while( i < 5 ) {
printf("ch[%d] = %c\n", i, ch[i] );
i = i + 1;
}
}
Aquí, usamos% c para imprimir el valor del carácter. Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
ch[0] = H
ch[1] = e
ch[2] = l
ch[3] = l
ch[4] = o
Si ha terminado con el ejemplo anterior, creo que entendió cómo funcionan las cadenas en la programación C, porque strings in C are represented as arrays of characters. La programación en C simplificó la asignación e impresión de cadenas. Veamos el mismo ejemplo una vez más con una sintaxis simplificada:
#include <stdio.h>
main() {
char ch[5] = "Hello";
int i = 0;
/* Print as a complete string */
printf("String = %s\n", ch);
/* Print character by character */
while( i < 5 ) {
printf("ch[%d] = %c\n", i, ch[i] );
i = i + 1;
}
}
Aquí, usamos% s para imprimir el valor de cadena completo usando el nombre de la matriz ch, que es en realidad el comienzo de la dirección de memoria que contiene ch variable como se muestra a continuación -
Aunque no es visible en los ejemplos anteriores, un programa en C asigna internamente un carácter nulo '\0'como el último carácter de cada cadena. Indica el final de la cadena y significa que si desea almacenar una cadena de 5 caracteres en una matriz, debe definir un tamaño de matriz de 6 como una buena práctica, aunque C no se queja de ello.
Si el código anterior se compila y ejecuta, produce el siguiente resultado:
String = Hello
ch[0] = H
ch[1] = e
ch[2] = l
ch[3] = l
ch[4] = o
Conceptos básicos de cadenas
Con base en la discusión anterior, podemos concluir los siguientes puntos importantes sobre cadenas en el lenguaje de programación C:
Las cadenas en C se representan como matrices de caracteres.
Podemos constituir una cadena en la programación de C asignando carácter por carácter en una matriz de caracteres.
Podemos constituir una cadena en la programación en C asignando una cadena completa entre comillas dobles.
Podemos imprimir una cadena carácter por carácter usando un subíndice de matriz o una cadena completa usando un nombre de matriz sin subíndice.
El último carácter de cada cadena es un carácter nulo, es decir, ‘\0’.
La mayoría de los lenguajes de programación proporcionan funciones integradas para manipular cadenas, es decir, puede concatenar cadenas, puede buscar desde una cadena, puede extraer subcadenas de una cadena, etc. Para obtener más información, puede consultar nuestro tutorial detallado en Programación en C o cualquier otro lenguaje de programación.
Cadenas en Java
Aunque puede usar matrices de caracteres para almacenar cadenas, Java es un lenguaje de programación avanzado y sus diseñadores intentaron proporcionar funcionalidad adicional. Java proporciona cadenas como un tipo de datos integrado como cualquier otro tipo de datos. Significa que puede definir cadenas directamente en lugar de definirlas como una matriz de caracteres.
A continuación se muestra el programa equivalente escrito en Java. Java hace uso denew operador para crear variables de cadena como se muestra en el siguiente programa.
Puede intentar ejecutar el siguiente programa para ver el resultado:
public class DemoJava {
public static void main(String []args) {
String str = new String("Hello");
System.out.println( "String = " + str );
}
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
String = Hello
Cadenas en Python
Crear cadenas en Python es tan simple como asignar una cadena a una variable de Python usando comillas simples o dobles.
A continuación se muestra un programa simple que crea dos cadenas y las imprime usando la función print () -
var1 = 'Hello World!'
var2 = "Python Programming"
print "var1 = ", var1
print "var2 = ", var2
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
var1 = Hello World!
var2 = Python Programming
Python no admite el tipo de carácter; estos se tratan como cadenas de longitud uno, por lo que también se consideran una subcadena.
Para acceder a las subcadenas, use los corchetes para cortar junto con el índice o índices para obtener su subcadena. Eche un vistazo al siguiente segmento de código:
var1 = 'Hello World!'
var2 = "Python Programming"
print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]
Cuando se ejecuta el código anterior, produce el siguiente resultado:
var1[0]: H
var2[1:5]: ytho
Una función es un bloque de código organizado y reutilizable que se utiliza para realizar una única acción relacionada. Las funciones proporcionan una mejor modularidad para su aplicación y un alto grado de reutilización de código. Ya has visto varias funciones comoprintf() y main(). Estas se denominan funciones integradas proporcionadas por el lenguaje en sí, pero también podemos escribir nuestras propias funciones y este tutorial le enseñará cómo escribir y usar esas funciones en el lenguaje de programación C.
Lo bueno de las funciones es que son famosas con varios nombres. Los diferentes lenguajes de programación los nombran de manera diferente, por ejemplo, funciones, métodos, subrutinas, procedimientos, etc. Si encuentra alguna terminología de este tipo, imagínese el mismo concepto, que vamos a discutir en este tutorial.
Comencemos con un programa donde definiremos dos matrices de números y luego de cada matriz, encontraremos el número más grande. A continuación se muestran los pasos para averiguar el número máximo de un conjunto dado de números:
1. Get a list of numbers L1, L2, L3....LN
2. Assume L1 is the largest, Set max = L1
3. Take next number Li from the list and do the following
4. If max is less than Li
5. Set max = Li
6. If Li is last number from the list then
7. Print value stored in max and come out
8. Else prepeat same process starting from step 3
Traduzcamos el programa anterior en lenguaje de programación C -
#include <stdio.h>
int main() {
int set1[5] = {10, 20, 30, 40, 50};
int set2[5] = {101, 201, 301, 401, 501};
int i, max;
/* Process first set of numbers available in set1[] */
max = set1[0];
i = 1;
while( i < 5 ) {
if( max < set1[i] ) {
max = set1[i];
}
i = i + 1;
}
printf("Max in first set = %d\n", max );
/* Now process second set of numbers available in set2[] */
max = set2[0];
i = 1;
while( i < 5 ) {
if( max < set2[i] ) {
max = set2[i];
}
i = i + 1;
}
printf("Max in second set = %d\n", max );
}
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
Max in first set = 50
Max in second set = 501
Si tiene claro el ejemplo anterior, será fácil entender por qué necesitamos una función. En el ejemplo anterior, solo hay dos conjuntos de números, conjunto1 y conjunto2, pero considere una situación en la que tenemos 10 o más conjuntos de números similares para averiguar los números máximos de cada conjunto. En tal situación, tendremos que repetir, procesando 10 o más veces y finalmente, el programa se volverá demasiado grande con código repetido. Para manejar tal situación, escribimos nuestras funciones donde tratamos de mantener el código fuente que será usado una y otra vez en nuestra programación.
Ahora, veamos cómo definir una función en el lenguaje de programación C y luego, en las siguientes secciones, explicaremos cómo usarlas.
Definición de una función
La forma general de una definición de función en el lenguaje de programación C es la siguiente:
return_type function_name( parameter list ) {
body of the function
return [expression];
}
Una definición de función en la programación C consta de un encabezado de función y un cuerpo de función . Aquí están todas las partes de una función:
Return Type- Una función puede devolver un valor. losreturn_typees el tipo de datos del valor que devuelve la función. Algunas funciones realizan las operaciones deseadas sin devolver un valor. En este caso, return_type es la palabra clavevoid.
Function Name- Este es el nombre real de la función. El nombre de la función y la lista de parámetros juntos constituyen la firma de la función.
Parameter List- Un parámetro es como un marcador de posición. Cuando se invoca una función, se pasa un valor como parámetro. Este valor se denomina parámetro o argumento real. La lista de parámetros se refiere al tipo, orden y número de parámetros de una función. Los parámetros son opcionales; es decir, una función puede no contener parámetros.
Function Body - El cuerpo de la función contiene una colección de declaraciones que define lo que hace la función.
Llamar a una función
Al crear una función C, da una definición de lo que tiene que hacer la función. Para usar una función, tendrá que llamar a esa función para realizar una tarea definida.
Ahora, escribamos el ejemplo anterior con la ayuda de una función:
#include <stdio.h>
int getMax( int set[] ) {
int i, max;
max = set[0];
i = 1;
while( i < 5 ) {
if( max < set[i] ) {
max = set[i];
}
i = i + 1;
}
return max;
}
main() {
int set1[5] = {10, 20, 30, 40, 50};
int set2[5] = {101, 201, 301, 401, 501};
int max;
/* Process first set of numbers available in set1[] */
max = getMax(set1);
printf("Max in first set = %d\n", max );
/* Now process second set of numbers available in set2[] */
max = getMax(set2);
printf("Max in second set = %d\n", max );
}
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
Max in first set = 50
Max in second set = 501
Funciones en Java
Si tiene claras las funciones en la programación C, entonces también es fácil entenderlas en Java. La programación de Java los nombra comomethods, pero el resto de conceptos siguen siendo más o menos iguales.
A continuación se muestra el programa equivalente escrito en Java. Puede intentar ejecutarlo para ver el resultado:
public class DemoJava {
public static void main(String []args) {
int[] set1 = {10, 20, 30, 40, 50};
int[] set2 = {101, 201, 301, 401, 501};
int max;
/* Process first set of numbers available in set1[] */
max = getMax(set1);
System.out.format("Max in first set = %d\n", max );
/* Now process second set of numbers available in set2[] */
max = getMax(set2);
System.out.format("Max in second set = %d\n", max );
}
public static int getMax( int set[] ) {
int i, max;
max = set[0];
i = 1;
while( i < 5 ) {
if( max < set[i] ) {
max = set[i];
}
i = i + 1;
}
return max;
}
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
Max in first set = 50
Max in second set = 501
Funciones en Python
Una vez más, si conoce el concepto de funciones en la programación C y Java, entonces Python no es muy diferente. A continuación se muestra la sintaxis básica para definir una función en Python:
def function_name( parameter list ):
body of the function
return [expression]
Usando esta sintaxis de función en Python, el ejemplo anterior se puede escribir de la siguiente manera:
def getMax( set ):
max = set[0]
i = 1
while( i < 5 ):
if( max < set[i] ):
max = set[i]
i = i + 1
return max
set1 = [10, 20, 30, 40, 50]
set2 = [101, 201, 301, 401, 501]
# Process first set of numbers available in set1[]
max = getMax(set1)
print "Max in first set = ", max
# Now process second set of numbers available in set2[]
max = getMax(set2)
print "Max in second set = ", max
Cuando se ejecuta el código anterior, produce el siguiente resultado:
Max in first set = 50
Max in second set = 501
Archivos de computadora
Un archivo de computadora se utiliza para almacenar datos en formato digital como texto sin formato, datos de imágenes o cualquier otro contenido. Los archivos de computadora se pueden organizar dentro de diferentes directorios. Los archivos se usan para guardar datos digitales, mientras que los directorios se usan para guardar archivos.
Los archivos informáticos pueden considerarse la contraparte digital de los documentos en papel. Mientras programa, mantiene su código fuente en archivos de texto con diferentes extensiones, por ejemplo, los archivos de programación C terminan con la extensión.c, Archivos de programación Java con .javay archivos Python con .py.
Entrada / salida de archivos
Por lo general, crea archivos utilizando editores de texto como bloc de notas, MS Word, MS Excel o MS Powerpoint, etc. Sin embargo, muchas veces, también necesitamos crear archivos utilizando programas de computadora. Podemos modificar un archivo existente usando un programa de computadora.
Entrada de archivo significa datos que se escriben en un archivo y salida de archivo significa datos que se leen de un archivo. En realidad, los términos de entrada y salida están más relacionados con la entrada y salida de la pantalla. Cuando mostramos un resultado en la pantalla, se llama salida. De manera similar, si proporcionamos alguna entrada a nuestro programa desde el símbolo del sistema, entonces se llama entrada.
Por ahora, es suficiente recordar que escribir en un archivo es entrada de archivo y leer algo de un archivo es salida de archivo.
Modos de operación de archivos
Antes de comenzar a trabajar con cualquier archivo usando un programa de computadora, necesitamos crear un nuevo archivo si no existe o abrir un archivo ya existente. En cualquier caso, podemos abrir un archivo en los siguientes modos:
Read-Only Mode- Si solo va a leer un archivo existente y no desea escribir más contenido en el archivo, entonces abrirá el archivo en modo de solo lectura. Casi todos los lenguajes de programación proporcionan sintaxis para abrir archivos en modo de solo lectura.
Write-Only Mode- Si va a escribir en un archivo existente o en un archivo recién creado pero no desea leer ningún contenido escrito de ese archivo, entonces abrirá el archivo en modo de solo escritura. Todos los lenguajes de programación proporcionan sintaxis para abrir archivos en modo de solo escritura.
Read & Write Mode - Si va a leer y escribir en el mismo archivo, entonces abrirá el archivo en modo lectura y escritura.
Append Mode- Cuando abre un archivo para escribir, le permite comenzar a escribir desde el principio del archivo; sin embargo, sobrescribirá el contenido existente, si lo hubiera. Supongamos que no queremos sobrescribir ningún contenido existente, luego abrimos el archivo en modo adjuntar. El modo Append es en última instancia un modo de escritura, que permite agregar contenido al final del archivo. Casi todos los lenguajes de programación proporcionan sintaxis para abrir archivos en modo adjunto.
En las siguientes secciones, aprenderemos cómo abrir un archivo nuevo, cómo escribir en él y, más tarde, cómo leer y agregar más contenido en el mismo archivo.
Abrir archivos
Puedes usar el fopen()función para crear un nuevo archivo o para abrir un archivo existente. Esta llamada inicializará un objeto del tipoFILE, que contiene toda la información necesaria para controlar la transmisión. Aquí está el prototipo, es decir, la firma de esta llamada de función:
FILE *fopen( const char * filename, const char * mode );
Aquí, filename es una cadena literal, que usará para nombrar su archivo y acceder mode puede tener uno de los siguientes valores:
No Señor | Modo y descripción |
---|---|
1 | r Abre un archivo de texto existente con fines de lectura. |
2 | w Abre un archivo de texto para escribir. Si no existe, se crea un nuevo archivo. Aquí, su programa comenzará a escribir contenido desde el principio del archivo. |
3 | a Abre un archivo de texto para escribir en modo adjunto. Si no existe, se crea un nuevo archivo. Aquí, su programa comenzará a agregar contenido en el contenido del archivo existente. |
4 | r+ Abre un archivo de texto para leer y escribir ambos. |
5 | w+ Abre un archivo de texto para leer y escribir. Primero trunca el archivo a una longitud cero, si existe; de lo contrario, crea el archivo si no existe. |
6 | a+ Abre un archivo de texto para leer y escribir. Crea un archivo, si no existe. La lectura comenzará desde el principio, pero la escritura solo se puede agregar. |
Cerrar un archivo
Para cerrar un archivo, use el fclose( )función. El prototipo de esta función es:
int fclose( FILE *fp );
los fclose( ) la función devuelve cero en caso de éxito, o EOF, carácter especial, si hay un error al cerrar el archivo. Esta función en realidad vacía cualquier dato que aún esté pendiente en el búfer en el archivo, cierra el archivo y libera la memoria utilizada para el archivo. El EOF es una constante definida en el archivo de encabezadostdio.h.
Hay varias funciones proporcionadas por la biblioteca estándar de C para leer y escribir un archivo carácter por carácter o en forma de una cadena de longitud fija. Veamos algunos de ellos en la siguiente sección.
Escribir un archivo
A continuación se muestra la función más simple para escribir caracteres individuales en una secuencia:
int fputc( int c, FILE *fp );
La función fputc() escribe el valor de carácter del argumento c en el flujo de salida al que hace referencia fp. Devuelve el carácter escrito escrito en el éxito, de lo contrarioEOFsi hay un error. Puede utilizar las siguientes funciones para escribir una cadena terminada en nulo en una secuencia:
int fputs( const char *s, FILE *fp );
La función fputs() escribe la cadena sen el archivo al que hace referencia fp. Devuelve un valor no negativo en caso de éxito, de lo contrarioEOFse devuelve en caso de cualquier error. También puede utilizar la funciónint fprintf(FILE *fp,const char *format, ...)para escribir una cadena en un archivo. Prueba el siguiente ejemplo:
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("/tmp/test.txt", "w+");
fprintf(fp, "This is testing for fprintf...\n");
fputs("This is testing for fputs...\n", fp);
fclose(fp);
}
Cuando se compila y ejecuta el código anterior, crea un nuevo archivo test.txt en /tmpdirectorio y escribe dos líneas usando dos funciones diferentes. Leamos este archivo en la siguiente sección.
Leer un archivo
A continuación se muestra la función más simple para leer un archivo de texto carácter por carácter:
int fgetc( FILE * fp );
los fgetc() La función lee un carácter del archivo de entrada al que hace referencia fp. El valor de retorno es el carácter leído; o en caso de cualquier error, devuelveEOF. La siguiente función le permite leer una cadena de una secuencia:
char *fgets( char *buf, int n, FILE *fp );
La función fgets() lee hasta n - 1 caracteres del flujo de entrada referenciado por fp. Copia la cadena de lectura en el búferbuf, agregando un null carácter para terminar la cadena.
Si esta función encuentra un carácter de nueva línea '\ n' o EOF antes de que hayan leído el número máximo de caracteres, solo devuelve los caracteres leídos hasta ese punto, incluido el carácter de nueva línea. También puedes usarint fscanf(FILE *fp, const char *format, ...) para leer cadenas de un archivo, pero deja de leer después de encontrar el primer carácter de espacio.
#include <stdio.h>
main() {
FILE *fp;
char buff[255];
fp = fopen("/tmp/test.txt", "r");
fscanf(fp, "%s", buff);
printf("1 : %s\n", buff );
fgets(buff, 255, (FILE*)fp);
printf("2: %s\n", buff );
fgets(buff, 255, (FILE*)fp);
printf("3: %s\n", buff );
fclose(fp);
}
Cuando el código anterior se compila y ejecuta, lee el archivo creado en la sección anterior y produce el siguiente resultado:
1 : This
2 : is testing for fprintf...
3 : This is testing for fputs...
Analicemos lo que pasó aquí. Primero elfscanf() el método lee Thisporque después de eso, se encontró con un espacio. La segunda convocatoria es parafgets(), que lee la línea restante hasta que encuentra el final de la línea. Finalmente, la última llamadafgets() lee la segunda línea por completo.
E / S de archivos en Java
Java proporciona un conjunto de funciones aún más completo para manejar E / S de archivos. Para obtener más información sobre este tema, le sugerimos que consulte nuestros Tutoriales de Java.
Aquí, veremos un programa Java simple, que es equivalente al programa C explicado anteriormente. Este programa abrirá un archivo de texto, escribirá algunas líneas de texto en él y cerrará el archivo. Finalmente, se abre el mismo archivo y luego se lee de un archivo ya creado. Puede intentar ejecutar el siguiente programa para ver el resultado:
import java.io.*;
public class DemoJava {
public static void main(String []args) throws IOException {
File file = new File("/tmp/java.txt");
// Create a File
file.createNewFile();
// Creates a FileWriter Object using file object
FileWriter writer = new FileWriter(file);
// Writes the content to the file
writer.write("This is testing for Java write...\n");
writer.write("This is second line...\n");
// Flush the memory and close the file
writer.flush();
writer.close();
// Creates a FileReader Object
FileReader reader = new FileReader(file);
char [] a = new char[100];
// Read file content in the array
reader.read(a);
System.out.println( a );
// Close the file
reader.close();
}
}
Cuando se ejecuta el programa anterior, produce el siguiente resultado:
This is testing for Java write...
This is second line...
E / S de archivos en Python
El siguiente programa muestra la misma funcionalidad para abrir un nuevo archivo, escribir algo de contenido en él y, finalmente, leer el mismo archivo:
# Create a new file
fo = open("/tmp/python.txt", "w")
# Writes the content to the file
fo.write( "This is testing for Python write...\n");
fo.write( "This is second line...\n");
# Close the file
fo.close()
# Open existing file
fo = open("/tmp/python.txt", "r")
# Read file content in a variable
str = fo.read(100);
print str
# Close opened file
fo.close()
Cuando se ejecuta el código anterior, produce el siguiente resultado:
This is testing for Python write...
This is second line...
Agradecemos su paciencia por seguir este tutorial. Hemos tratado de mantenerlo conciso, pero como este tema contiene varios temas, hemos mostrado algunos ejemplos en detalle.
Si no ha entendido ninguno de los conceptos, le recomendamos que repita el tutorial una vez más y, una vez que se sienta cómodo con los conceptos explicados en este tutorial, puede continuar.
Hay muchos otros temas relacionados con la programación de computadoras que no cubrimos intencionalmente para evitar confusiones, pero estamos seguros de que esos conceptos no serán difíciles de entender para usted siempre que se sienta cómodo con los conceptos explicados en este tutorial.
En tutorialspoint, hemos hecho un gran esfuerzo para preparar tutoriales completos sobre lenguajes de programación C, Java y Python y le recomendamos encarecidamente que inicie cualquiera de ellos después de haber completado este tutorial.
Por favor comparta con nosotros sus opiniones sobre este tutorial, mencionando el nombre del tutorial en la línea de asunto en [email protected]. Si tiene alguna sugerencia para mejorar aún más este tutorial, definitivamente nos gustaría saber de usted.