Está en la página 1de 11

INTRODUCCIÓN A LA PROGRAMACIÓN Nivel 1

ALGORITMOS

Para facilitar la programación, la comprensión y análisis de los procesos involucrados


en cualquier lenguaje, analiza las necesidades y requerimientos de tu programa.

Un algoritmo permite reconocer la secuencia de pasos necesarios para hacer un programa;


de tal forma, que permite visualizar los requerimientos o necesidades.

Para ello, un algoritmo


debe ser:
• Preciso, descrito con claridad,
de manera que cada paso
tenga secuencia ordenada
encaminada a la solución.

• Definido, las instrucciones


siempre deben llevar al
resultado o solución.

• Finito, evitar repetir o reiterar


pasos a amenos que sea parte
del proceso.
INTRODUCCIÓN A LA PROGRAMACIÓN Nivel 1
ALGORITMOS

Por ejemplo:

Una empresa desea determinar con un programa si las


características de altura y radio de un tinaco de forma Después de tener claro cuál es el problema, realiza
cilíndrica para almacenamiento es mayor a 1.3 m3 que el algoritmo:
es lo óptimo y dé los siguientes mensajes a su personal:

1. Refiere el inicio del proceso


2. Establece las entradas de información
• Si el volumen es óptimo: “El tinaco necesarias para solucionar el problema.
consultado es óptimo, recomiéndalo” 3. Plantea los procesos, condiciones y acciones a realizar
para llegar a la solución, este puede ser descrito en
• Si el volumen no es óptimo: “El tinaco más de un paso.
consultado no es óptimo, haz otra consulta” 4. Concreta la salida de información, o de datos que se
deben obtener, es decir la solución esperada.
5. Define el fin de los pasos.

Así el algoritmo quedaría de la siguiente forma:


Alg
1. Inicio orit
mo
2. Dar un valor a las variables de entrada radio (r), altura (h) y
la constante (pi)
3. Multiplicar pi*r^2*h y guardarlo en V
(V = pi*r^2*h)
4. Si (V > 1.3) entonces escribir (“El tinaco
consultado es óptimo, recomiéndalo”),
5. Si no entonces escribir (“El tinaco consultado no es óptimo,
haz otra consulta”)
6. Fin
LÓGICA DE PROGRAMACIÓN Nivel 1
OPERADORES RELACIONALES

Operador Operación
< Menor que
Los operadores relacionales se utilizan para > Mayor que
comparar dos o más valores y determinar si <= Menor o igual que
el resultado es falso o verdadero:
>= Mayor o igual que
<> ó != Diferente a
= Igual que

Por ejemplo, el sistema de control escolar del centro de estudios está programado
para notificarle a los alumnos del nivel preparatoria, con un promedio inferior a seis,
que tendrán que repetir el año escolar, mientras que a los jóvenes cuyo promedio es
mayor o igual a nueve se les entregará un reconocimiento por su buen desempeño.
La forma de representar estas sentencias con operadores relacionales es la siguiente:

Operadores relacionales
Nombre_de_la_variable Operador Valor de comparación Acción que detona
Promedio_del_alumno < 6 Repite año escolar

Promedio_del_alumno >= 9 Felicita por buen desempeño

Cuando un padre de familia consulte las Expresión a evaluar Valor booleano


calificaciones de su hijo el sistema comparará 10<6 0 (falso)
el promedio del alumno contra la regla con
la que fue programado. 10>=9 1 (verdadero)
LÓGICA DE PROGRAMACIÓN Nivel 1
CONCEPTOS BÁSICOS DE PROGRAMACIÓN

Cuando realizas una petición a tu equipo de cómputo, (por ejemplo, guardar un documento en el procesador de textos), internamente se
ejecutan bloques de instrucciones escritos en un lenguaje de programación que hacen posible las demandas del usuario.

Un lenguaje de programación es un idioma artificial Sintaxis Semántica


creado para indicarle a la computadora lo que debe
hacer. Tiene ciertas reglas de escritura (sintaxis) en las main() Indica el punto de entrada
que utiliza símbolos y palabras clave, además de una de un programa.
semántica (interpretación interna). Instrucción válida.

Un programa es un bloque Para ejecutar un programa la computadora realiza una


mi_programa.c de instrucciones (código traducción de sus componentes al lenguaje máquina, es
Archivo Editar Programa Herramientas Ayuda fuente) escritas en cierto decir, convierte las instrucciones en cadenas de ceros y
lenguaje de programación unos. Este proceso de conversión puede hacerse de dos
cuyo propósito es resolver un formas:
mi_programa.c
problema.
1 #include “stdafx.h”
2

3 int _tmain(int argc, _TCHAR* argv[])


4 {
5 int a;
6 float b; Por medio de un programa A través de un programa
7 char c; “intérprete” que traduce y ejecuta “compilador” que toma al bloque
8 a=5;
instrucción por instrucción. de instrucciones lo traduce sólo una
b=12.354;
9

10 c=`a´;
vez y lo ejecuta.
11 printf(”el valor de a es %d”,a);
12 printf(”el valor de b es %f”,b);
13 printf(”el valor de c es %c”,c); Programa Programa
14 c=getchar();
fuente fuente
15 return 0;

15 }

Intérprete Compilador

Traducción y
Ejecutable
ejecución

Intérprete Compilador
LÓGICA DE PROGRAMACIÓN Nivel 1
TIPOS DE DATOS Y VARIABLES

En un lenguaje de programación las variables se utilizan para almacenar información


en ubicaciones de memoria de la computadora, a cada variable le corresponde un tipo
de dato específico, por ejemplo, la variable “Saludo” puede almacenar el mensaje
“Hola, Alex84 te desea un buen día”. En términos de programación este mensaje es
un dato de tipo “cadena de caracteres” ya que sus componentes son elementos
alfanuméricos.

Los tipos de datos más comunes en un lenguaje de programación son:

Tipo de dato Uso Ejemplo


Números enteros (int) Úsalo para almacenar valores int variable_edad=18;
numéricos.
Números decimales (float) Utilízalo para almacenar valores float variable_gravedad=9,81;
numéricos que tengan decimales.

Carácter (char) Úsalo para almacenar una letra char variable_respuesta=‘S’;


o su equivalente en código ASCII. char variable_respuesta=‘83’;

Cadena de caracteres (string) Utilízalo para almacenar mensajes. string Variable_Nombre= “Mi
nombre es Daniela”;
string Variable_Alumno= “Soy
el alumno 1085 en capacítate
para el empleo”;

Para asignar un tipo de dato a una variable, emplea la siguiente fórmula:

Nombre
+ + +
Tipo de Operador Dato a
de la de igualdad almacenar
dato variable

Variable global Variable global

1. INICIO DEL PROGRAMA


Se refiere a la visibilidad que tiene una 2. DECLARAR VARIABLE “Saludo_informal”
variable dentro de un programa y pueden 3. BLOQUE DE INSTRUCCIONES PARA SALUDAR
ser: A UNA PERSONA
• Globales: se escriben al comienzo del 3.1 DECLARAR VARIABLE “Saludo_formal” Y
programa. ASIGNARLE EL VALOR “Buen día, ¿cómo está
• Locales: Se declaran dentro de un bloque usted?
de instrucciones del programa.
3.2 MOSTRAR EN PANTALLA EL CONTENIDO
DE LA VARIABLE “Saludo_formal”
3.3 FIN DEL BLOQUE DE INSTRUCCIONES
4. FIN DEL PROGRAMA
LÓGICA DE PROGRAMACIÓN Nivel 2
SINTAXIS BÁSICA DEL LENGUAJE DE PROGRAMACIÓN C

El lenguaje de programación C se utiliza en el paradigma de programación estructurado y se caracteriza por:

01

Poseer instrucciones de control Condición Bloque


Si

No

02 {
sentencia_1;
Delimitar el código para eficientar su comprensión ...
sentencia_n;
}

03 ProcesoA ProcesoB Principal


inicio inicio inicio
Permitir la creación de subprocesos
proceso proceso procesoA
(funciones)
fin fin procesoB
fin

04 Puntero

2049
Utilizar variables especiales (punteros)
para almacenar la dirección de memoria
de otra variable
2047 2048 2049 2050 2051
Direcciones de memoria

05
Contar con una amplia biblioteca de funciones que facilitan la creación de programas,
por ejemplo:
<assert.h> Contiene la macro assert (aserción), utilizada para detectar errores lógicos y otros
tipos de fallos en la depuración de un programa.

<complex.h> Conjunto de funciones para manipular números complejos (nuevo en C99).

<ctype.h> Contiene funciones para clasificar caracteres según sus tipos o para convertir
entre mayúsculas y minúsculas independientemente del conjunto de caracteres
(típicamente ASCII o alguna de sus extensiones).
<errno.h> Para analizar los códigos de error devueltos por las funciones de biblioteca.

<fenv.h> Para controlar entornos en coma flotante (nuevo en C99).

<float.h> Contiene la definición de constantes que especifican ciertas propiedades de la


biblioteca de coma flotante, como la diferencia mínima entre dos números en
coma flotante (_EPSOLON), el número máximo de dígitos de precisión (_DIG),
o rango de valores que se puedan representar (_MIN,_MAX).
LÓGICA DE PROGRAMACIÓN Nivel 2
SINTAXIS BÁSICA DEL LENGUAJE DE PROGRAMACIÓN C

Para desarrollar con este lenguaje debes utilizar sus reglas sintácticas con la finalidad de que tu código sea
validado por el compilador de C y puedas ejecutarlo en tu equipo de cómputo:

01
int main ()
Tu programa sólo debe tener un punto de entrada {
principal, por lo que debes señalarlo por medio de printf ( “Hola mundo!!\n”);
la palabra reservada main (). return () ;
}

02
Declara variables, también llamadas “identificadores”, respetando lo siguiente:
• El primer caracter debe ser una letra o guion bajo.
• El nombre debe ser único por variable.
• No se pueden utilizar palabras reservadas (identificadores creados para ejecutar
instrucciones en el lenguaje C), como nombre de una variable.
• No deben escribirse con acentos.

Ejemplos de identificadores válidos: mi_edad, FechaDeNacimiento, Saludo1.

03
Inicia los comentarios en tu código con los caracteres /* y termínalos con */.

Por ejemplo: /*la línea 23 del código fue omitida debido a…*/

04
Al comparar expresiones toma en cuenta la jerarquía de los operadores aritméticos, lógicos y
relacionales.
Operadores Jerarquía
() (mayor)
**
*, /, div, mod
=, <>, <, >, <=, >=
NO
Y
O (menor)

PALABRAS RESERVADAS

Los identificadores predefinidos en el lenguaje “C” más utilizados son:


1. Todos los tipos de datos: float, char, string, int, entre otros
2. Las estructuras de control: if, for, while, do…while, switch…case (break, default)
3. El punto de entrada principal de un programa: main
4. El retorno de datos para una función: return
5. La definición de un valor como constante: const
6. Las estructuras de datos como los arreglos: array
LÓGICA DE PROGRAMACIÓN Nivel 3
ALGORITMOS DE ORDENAMIENTO

Los algoritmos de ordenamiento acomodan internamente los datos que el usuario


introduce en un programa. De acuerdo con su facilidad de implementación en un
proyecto se clasifican en:

1 Inserción directa
Parte del supuesto de que el primer elemento de un arreglo está ordenado, ya
que no existe un número a la izquierda con el que pueda compararlo; para el
resto de los elementos evalúa si el número que se encuentra a la izquierda es
mayor que el número actual, en caso de que esta condición se cumpla recorre al
elemento a la izquierda. Este proceso se repite para todos los elementos del
arreglo y termina cuando los números están ordenados de forma creciente.

Inserción directa es un método de ordenamiento efectivo cuando se maneja una


cantidad reducida de datos.

20 12 5 ...

Posición 0 Posición 1 Posición 2 Posición “n”

Comprobar si el elemento de la izquierda es menor al actual: no hay otro número a


la izquierda por lo que lo considera ordenado.

A partir de la posición 1 si el número de la izquierda es mayor al actual


Paso 1 haz el cambio
* El siguiente ejemplo muestra un ordenamiento ascendente

12 > 20 5

Posición 0 Posición 1 Posición 2


LÓGICA DE PROGRAMACIÓN Nivel 3
ALGORITMOS DE ORDENAMIENTO

Paso 2 20 es mayor a 5, por lo tanto cambian de lugar.

12 20 > 5

Posición 0 Posición 1 Posición 2

Paso 3 12 es mayor a 5, por lo tanto cambian de lugar.

12 > 5 20

Posición 0 Posición 1 Posición 2

5 12 20

Posición 0 Posición 1 Posición 2

El proceso se detiene porque los números están ordenados


LÓGICA DE PROGRAMACIÓN Nivel 3
ALGORITMOS DE ORDENAMIENTO

2 Bubble sort:
Este algoritmo recorre el arreglo por medio de un bucle a partir de la posición
cero y compara en pares a los elementos adyacentes que lo forman. Este
proceso se repite incluso para los elementos ya ordenados y termina cuando el
mayor de los números queda en la última posición del arreglo.

10 2 5 ...

Posición 0 Posición 1 Posición 2 Posición “n”

Si Número anterior > Número siguiente

Paso 1 10 es mayor a 2, por lo tanto cambian de lugar.

* El siguiente ejemplo muestra un ordenamiento ascendente

10 > 2 5

Posición 0 Posición 1 Posición 2

Paso 2 10 es mayor a 5, por lo tanto cambian de lugar.

2 10 > 5

Posición 0 Posición 1 Posición 2


LÓGICA DE PROGRAMACIÓN Nivel 3
ALGORITMOS DE ORDENAMIENTO

2 5 10

Posición 0 Posición 1 Posición 2

El proceso se detiene porque los números están ordenados

Bubble sort requiere que se declaren variables que cumplan con las
siguientes funciones:

1 Almacenar los valores numéricos del vector, por ejemplo: arreglo.

Actualizar la posición de cada elemento dentro del arreglo, por


2 ejemplo: índice.

Hacer el intercambio entre los números del vector,


3 por ejemplo: k.

Realizar el intercambio de números del vector a una variable


4 intermedia, por ejemplo: AUX.

También podría gustarte