Documente Academic
Documente Profesional
Documente Cultură
Apuntes U1
Programació n Bá sica
El Software son los programas de aplicación y los sistemas operativos, que según las
funciones que realizan pueden ser clasificados en:
Software de Sistema
Software de Aplicación
Software de Programación
Se llama Software de Sistema o Software de Base al conjunto de programas que sirven para interactuar
con el sistema, confiriendo control sobre el hardware, además de dar soporte a otros programas.
Sistema Operativo
Controladores de Dispositivos
Programas Utilitarios
Sistema operativo
1. Suministro de interfaz al usuario: Permite al usuario comunicarse con la computadora por medio de
interfaces que se basan en comandos, interfaces que utilizan menús, e interfaces gráficas de usuario.
2. Administración de recursos: Administran los recursos del hardware como la CPU, memoria,
dispositivos de almacenamiento secundario y periféricos de entrada y de salida.
3. Administración de archivos: Controla la creación, borrado, copiado y acceso de archivos de datos y de
programas.
4. Administración de tareas: Administra la información sobre los programas y procesos que se están
ejecutando en la computadora. Puede cambiar la prioridad entre procesos, concluirlos y comprobar el
uso de estos en la CPU, así como terminar programas.
5. Servicio de soporte: Los Servicios de Soporte de cada sistema operativo dependen de las
implementaciones añadidas a este, y pueden consistir en inclusión de utilidades nuevas, actualización
de versiones, mejoras de seguridad, controladores de nuevos periféricos, o corrección de errores de
software.
Controladores de Dispositivos
Los Controladores de Dispositivos son programas que permiten a otros programa de mayor nivel como
un sistema operativo interactuar con un dispositivo de hardware.
Programas Utilitarios
Los Programas Utilitarios realizan diversas funciones para resolver problemas específicos, además de
realizar tareas en general y de mantenimiento. Algunos se incluyen en el sistema operativo.
El Software de Aplicación son los programas diseñados para o por los usuarios para facilitar la
realización de tareas específicas en la computadora, como pueden ser las aplicaciones ofimáticas
(procesador de texto, hoja de cálculo, programa de presentación, sistema de gestión de base de datos...),
u otros tipos de software especializados como software médico, software educativo, editores de música,
programas de contabilidad, etc.
Software de Programación
1.2 Definiciones
Algoritmo
"Un algoritmo se define como un método que se realiza paso a paso para solucionar un
problema que termina en un número finito de pasos".
La definición de un algoritmo debe describir tres partes : Entrada, Proceso y Salida.
Lenguaje de programación
Un Lenguaje de Programación es aquél que es utilizado para escribir programas de
computadoras que puedan ser entendidos por ellas. Estos lenguajes se clasifican en tres
grandes categorías :
Lenguaje Máquina
Lenguaje de Bajo nivel (ensamblador)
Lenguaje de Alto nivel.
Un lenguaje de programación de bajo nivel es el que proporciona poca o ninguna abstracción del
microprocesador de una computadora. Consecuentemente es fácil su trasladado al lenguaje máquina.
El término ensamblador (del inglés assembler) se refiere a un tipo de programa informático que se
encarga de traducir un archivo fuente escrito en un lenguaje ensamblador, a un archivo objeto que
contiene código máquina, ejecutable directamente por la máquina para la que se ha generado.
Los lenguajes de Alto Nivel se caracterizan por expresar los algoritmos de una manera adecuada a la
capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas.
Palabras reservadas
Las palabras reservadas son algunos símbolos cuyo significado está predefinido y no se pueden usar
para otro fin, aquí tenemos algunas palabras reservadas en el lenguaje C.
Programa
Un programa informático o software es un elemento imprescindible para el normal funcionamiento
de una computadora. Puede ser tanto un programa ejecutable como su código fuente, que es escrito por los
programadores. Por otra parte, de acuerdo a sus funciones, un programa puede ser catalogado como un
software de sistema o un software de aplicación.
Programación
Programación es la acción y efecto de programar. Este verbo tiene varios usos: se refiere a idear y
ordenar las acciones que se realizarán en el marco de un proyecto; al anuncio de las partes que componen
un acto o espectáculo; a la preparación de máquinas para que cumplan con una cierta tarea en un momento
determinado; a la elaboración de programas para la resolución de problemas mediante ordenadores; y a la
Paradigma de programación
Un paradigma de programación es una propuesta tecnológica adoptada por una comunidad de
programadores y desarrolladores cuyo núcleo central es incuestionable en cuanto que únicamente trata
de resolver uno o varios problemas claramente delimitados; la resolución de estos problemas debe
suponer consecuentemente un avance significativo en al menos un parámetro que afecte a la ingeniería
de software.
Compilador
Un compilador es un programa informático, que se encarga de traducir el código fuente de una
aplicación que este en desarrollo, es decir convierte un programa hecho en lenguaje de programación
de alto nivel a un lenguaje de máquina , el cual es conocido como de bajo nivel, de tal forma que sea
más entendible y mucho más fácil de procesar en el equipo en el que se está ejecutando.
De igual manera un traductor es el que toma como entrada un texto escrito y da como salida otro texto
en un lenguaje llamado objeto.
Interprete
Programa traductor semejante al compilador, con la diferencia en su funcionamiento el cual se
caracteriza por traducir y ejecutar, de una en una, las instrucciones del código fuente de un programa,
pero, sin generar como salida código objeto. El proceso que realiza un intérprete es el siguiente: lee la
primera instrucción del código fuente, la traduce a código objeto y la ejecuta; a continuación, hace lo
mismo con la segunda instrucción; y así sucesivamente, hasta llegar a la última instrucción del
programa, siempre y cuando, no se produzca ningún error que detenga el proceso.
Editor de textos
Archivo ejecutable
Un ejecutable es un archivo diseñado para poder iniciar un programa. En su interior están pues las
instrucciones precisas para poder ejecutar un programa determinado o varios. Los ordenadores pueden
realizar todo tipo de tareas, pero para ello debe indicárseles como. Son como un niño a quien debe
decírsele paso a paso lo que hacer y cuando. En su memoria base suelen cargarse las instrucciones
básicas, y el sistema operativo carga comandos adicionales, que le permiten realizar las tareas más
simples. La tarea de un programador cuando hace un programa es decirle al ordenador como debe usar
esos comandos básicos que ya sabe para poder realizar lo que el programa quiere hacer, sea mostrar
una imagen, escribir texto, guardar un documento... etc.
También se puede definir como Es un método que permite a las personas dar instrucciones a algún
programa informático por medio de una línea de texto simple, de hecho esto se hacía antes, se
manejaba la computadora a base de comandos como hoy conocemos, por ejemplo: el cmd (abreviatura
de command), es la instrucción que se teclea en el menú inicio, de los sistemas operativos Windows
para entrar a dicha consola.
Un procedimiento para producir los resultados deseados a partir de los datos, es el algoritmo
A fin de resolver un problema utilizando sistemas de cómputo, debe seguirse una serie de pasos que
permiten avanzar por etapas bien definidas hacia la solución.
Una vez que el problema ha sido definido y comprendido, deben analizarse los
siguientes aspectos :
Una medida aconsejable para facilitar esta etapa consiste en colocarnos en lugar de la
computadora deduciendo los elementos que necesitaremos para alcanzar el resultado.
Ejemplo:
Análisis
Las salidas serán dos variables : superficie y circunferencia que también serán de tipo real.
Diseño de la solución
Una computadora no tiene capacidad para solucionar problemas más que cuando se le
proporcionan los sucesivos pasos a realizar, esto se refiere a la obtención de un algoritmo
que resuelva adecuadamente el problema. En caso de obtenerse varios algoritmos,
seleccionar uno de ellos utilizando criterios ya conocidos.
Esta etapa incluye la descripción del algoritmo resultante en un lenguaje natural, de
diagrama de flujo o natural de programación.
Como puede verse, solo se establece la metodología para alcanzar la solución en forma
conceptual, es decir ; sin alcanzar la implementación en el sistema de cómputo.
Codificación
Programa Fuente
Esta escrito en un lenguaje de programación. (pascal, C++,Visual Fox, Visual Basic, etc).
Es entendible por el programador.
Programa Ejecutable
Prueba y depuración
Una vez que se ha obtenido el programa ejecutable, este es sometido a prueba a fin de
determinar si resuelve o no el problema planteado en forma satisfactoria.
Las pruebas que se le aplican son de diversa índole y generalmente dependen del tipo
de problema que se está resolviendo. Comúnmente se inicia la prueba de un programa
introduciendo datos válidos, inválidos e incongruentes y observando como reacciona en
cada ocasión.
Documentación
Debido a que el programa resultante en esta etapa se encuentra totalmente depurado
(sin errores), se procede a la utilización para resolver problemas del tipo que dió origen a su
diseño.
En vista de que esta utilización no podrá ser supervizada en todas las ocasiones por el
programador, debe crearse un manual o guía de operación que indique los pasos a seguir
para utilizar el programa.
Mantenimiento
Se refiere a las actualizaciones que deban aplicarse al programa cuando las
circunstancias así lo requieran. Este programa deberá ser susceptible de ser modificado para
adecuarlo a nuevas condiciones de operación.
Diagrama de flujo
Pseudocódigo
Diagramas estructurados
Diagramas de Flujo
Compiló: Ing. Héctor Bazarte Torres/Agosto-Diciembre 2018 10 de 31
Se basan en la utilización de diversos símbolos para representar operaciones específicas.
Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de
flechas para indicar la secuencia de operación.
Ejemplo:
Pseudocódigo
Compiló: Ing. Héctor Bazarte Torres/Agosto-Diciembre 2018 13 de 31
Es un lenguaje de especificación de algoritmos. El uso de tal lenguaje hace el paso de
codificación final (esto es, la traducción a un lenguaje de programación) relativamente fácil.
El pseudocódigo nació como un lenguaje similar al inglés y era un medio representar
básicamente las estructuras de control de programación estructurada. Se considera un
primer borrador, dado que el pseudocódigo tiene que traducirse posteriormente a un
lenguaje de programación. Cabe señalar que el pseudocódigo no puede ser ejecutado por
una computadora.
El pseudocódigo utiliza para representar las acciones sucesivas palabras reservadas en
inglés (similares a sus homónimos en los lenguajes de programación), tales como
star,begin, end, stop, if-then-else, while, repeat-until….etc
Los algoritmos son independientes tanto del lenguaje de programación en que se expresan
como de que lo ejecuta. En cada problema el algoritmo se puede expresar en un lenguaje
diferente de programación y ejecutarse en una distinta; sin embargo, el algoritmo será
siempre el mismo.
Las cuales tienen como propósito, cada una de ellas lograr un objetivo en específico y en
conjunto alcanzar un objetivo general. En consecuencia, estas acciones se pueden concebir
como algoritmos, por lo que resulta importante conocer la definición, características e
importancia que tienen los algoritmos en los distintos ámbitos de la vida cotidiana.
De la misma manera los algoritmos son una herramienta vital para la solución de problemas
mediante computadora; es por ello que esta unidad pretende dar a conocer los conceptos
básicos de los algoritmos.
Los algoritmos son independientes tanto del lenguaje de programación en que se expresan
como de la computadora que los ejecuta. En cada problema el algoritmo se puede expresar
en un lenguaje diferente de programación y ejecutarse en una computadora distinta; sin
embargo, el algoritmo será siempre el mismo. Así, por ejemplo, en una analogía con la vida
diaria, la receta de un platillo de cocina se puede expresar en español, inglés o francés, pero
cualquiera que sea el lenguaje, los pasos para la elaboración, del mismo se realizarán sin
importar el idioma del cocinero.
Joyanes Aguilar, enfatiza que el diseño de la mayoría de los algoritmos requiere creatividad y
conocimientos profundos de la técnica de programación. En esencia, la solución de un
problema se puede expresar mediante un algoritmo.
La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida. Por
ejemplo, en el cálculo de la edad de una persona, conociendo su año de nacimiento, la
definición del algoritmo, quedaría de la siguiente manera:
Escritura de algoritmos
1.- inicio
2.- solicitar las cinco calificaciones del alumno
3.-sumar las cinco calificaciones del alumno
4.- El resultado del paso 3 dividirlo entre cinco
5.- si el resultado del paso 4 es mayor o igual a 7.0 entonces
5.1Visualizar Alumno aprobado
si_no
5.2 Visualizar Alumno reprobado
fin_si
6.- fin
En el algoritmo anterior se dio solución al planteamiento básico del cálculo del promedio de
un alumno. Se observa que los pasos del algoritmo tienen un número que conforme se va
describiendo la secuencia, ese número se va incrementando. Es importante destacar que
todo algoritmo es finito, es decir, así como tiene un inicio debe tener un fin, lo que se observa
en los pasos 1 y 6.
Ejemplos de Pseudocódigo
Programa; área
Algoritmo:
Finprograma
Ejemplo: Realizar el pseudocódigo que permita al usuario introducir por teclado dos notas, calculando la
suma y el producto de las notas.
Programa: SumaProducto
Algoritmo:
leer NOTA1,NOTA2
Finprograma
Ejemplo: Realizar el pseudocódigo de un programa que permita saber si un número es mayor, menor o
igual a cero.
Programa: ComparaNúmeros
Compiló: Ing. Héctor Bazarte Torres/Agosto-Diciembre 2018 17 de 31
Entorno: NUMERO es un número entero
Algoritmo:
leer NUMERO
SI NUMERO>0 ENTONCES
SI NO
SI NO
FINSI
FINSI
Finprograma
Supongamos un algoritmo que lea las coordenadas de tres puntos y los mueva tres puntos en la coordenada
x y escriba el resultado en algún dispositivo de salida:
ALGORITMO lee_tres_vertices
ENTRADA: las coordenadas (x,y) de tres puntos
SALIDA: las coordenadas (x,y) de los tres puntos movidos 3 puntos hacia la derecha.
VARIABLES: i:entera
x,y: real
INICIO
PARA i=1 HASTA 3 CON INCREMENTO +1
ESCRIBE "Abscisa del punto número ", i
LEER x
ESCRIBE "Ordenada del punto número ", i
LEER Y
ESCRIBE "El punto es (" x+3","y")"
FIN_PARA
FIN
El programa equivalente a este algoritmo se muestra a continuación. Como podemos apreciar
en un programa en Pascal es importantísimo no olvidar detalles de sintaxis. Por ejemplo cada
sentencia termina en punto y coma. De cualquier forma es inmediato apreciar los simples
cambios existentes.
program lee_tres_vertices;
var x,y:real;
programa suma_divisibles
variables natural : divisor, suma, contador, número
inicio programa
divisor leer ‘Introduce el divisor: ’
suma 0
contador 0
para número desde 1 hasta 1000 hacer
si divisor divide a número entonces
suma suma + número
contador contador + 1
fin si
si contador = 10 entonces
interrumpir
fin si
fin para
fin programa
Un algoritmo cuenta con un inicio y sus subprogramas llamados también diseño modular.
Los cálculos que realizan las computadoras requieren para ser útiles la función de Entrada
de los datos necesarios para ejecutar las operaciones que posteriormente se convertirán en
resultados, es decir, la función Salida.
Las operaciones (funciones) de entrada permiten leer determinados valores y asignarlos
a determinadas variables. Esta entrada se conoce como operación de Lectura (scanf en
lenguaje C). Los datos de entrada se introducen al procesador mediante dispositivos de
Compiló: Ing. Héctor Bazarte Torres/Agosto-Diciembre 2018 19 de 31
entrada (teclado, unidades de disco, etc). La salida puede aparecer en un dispositivo de
salida (pantalla, impresora, etc). La operación de salida se denomina escritura (printf en
lenguaje C).
En la escritura de algoritmos las acciones de lectura y escritura se representan por los
formatos siguientes
leer ( Nom_variable )
Entrada
Proceso
Salida
Algoritmo
Inicio
Leer(B)
leer(h)
x B*h
A x/2
Escribir(A)
Los programas más simples escritos en lenguajes imperativos suelen realizar tres tareas de forma
secuencial:
• Entrada de datos
• Salida de resultados
Operaciones de entrada/salida
Salida por pantalla con la función printf
La función printf, que forma parte de la biblioteca estándar de funciones de entrada/salida <stdio.h>,
nos permite mostrar mensajes de texto en la pantalla cuando ejecutamos un programa:
#include <stdio.h>
...
...
char c;
...
int i;
...
long x;
float f;
...
double d;
...
long double r;
...
#include <stdio.h>
...
scanf (“%d”,&dato);
...
Compiló: Ing. Héctor Bazarte Torres/Agosto-Diciembre 2018 22 de 31
}
char c;
...
int i;
...
long x;
...
float f;
...
double d;
...
long double r;
...
Operaciones de entrada/salida
printf(“plantilla de formato”, lista de variables);
• El número n indica el número de caracteres que se utilizarán como mínimo para representar el dato
(número total de dígitos en el caso de los números, tanto enteros como reales).
• El número .m indica el número máximo de caracteres que se utilizarán para representar el dato. En
el caso de los números reales, indica el número de decimales que se mostrarán.
• El signo menos (-) es opcional y lo usaremos para indicar que el texto ha de justificarse a la
izquierda.
%c Carácter
%s Cadena de caracteres
%f Número real
Desarrollar una aplicación en lenguaje de C, que sea capaz de calcular y mostrar por pantalla, el área
de un círculo. Considere la constante Pi igual 3.1416.
Inicio
PI = 3.1416;
Programa principal
Leer (radio);
Fin
Codificación
Transformar el pseudocódigo en su equivalente código de un lenguaje de programación, en este
caso, bajo el paradigma estructurado, empleando el LP llamado “C”, como a continuación se indica.
#include <stdio.h>
main (){
scanf ("%f",&radio);
getch();
return 0;
Compilación y ejecución
Se trata de transformar el programa fuente, escrito en un lenguaje fuente (C), en su equivalente
programa objeto, escrito en lenguaje de máquina (proceso llamado compilación). A través del menú
Ejecutar, opción compilar.
En él se obtiene un código:
Luego, se verifica que el programa haga lo que se supone debe de hacer (se dice “correr” el
programa). A través del menú Ejecutar.
Verificación
Se complementa la fase anterior de pruebas, ampliando las alternativas de las corridas, con
diferentes valores. Se corrigen errores de ejecución.
Depuración
Se corrigen los errores de lógica o de ejecución del programa.
Mantenimiento y documentación
Se documenta el programa: comentarios, manuales de usuario o de operación del programa/sistema.
Ejercicios complementarios
1. UN CLIENTE ACUDE A REALIZAR SUS COMPRAS A UN SUPERMERCADO O TIENDA DE ABARROTES, UNA
VEZ QUE SELECCIONO SUS PRODUCTOS Y CANTIDADES DE LOS MISMOS, LLEGA A LA CAJA DE PAGO,
DONDE UNA CAJERA A TRAVÉS DE UN ESCANER, IRA LEYENDO LOS CODIGOS DE BARRA DE CADA UNO
DE LOS PRODUCTOS, ASI COMO, EN SU CASO, IRA TECLEANDO LA CANTIDAD DE CADA UNO DE ELLOS.
AL TERMINAR DE LEER TODOS LOS PRODUCTOS, LA CAJERA LE COMUNICARA AL CLIENTE, LA CANTIDAD
TOTAL A PAGAR, PERO ANTES DE ELLO, LE INFORMARA QUE LA TIENDA TIENE UNA PROMOCION QUE
SI DESEA, INCLUYA EN SU FACTURA DATOS DEL CLIENTE (NOMBRE, APELLIDOS, DIRECCION, TELEFONO, ETC.).
En pantalla:
Introduzca base: 1.2
Introduzca altura: 4.5
El área del triángulo es: 2.7
En pantalla:
Zona de ejercicios
(Prácticas y ejercicios en clases: con valor indicado en los criterios de
unidad)
Deberá resolver los siguientes ejercicios, aplicando las dos primeras fases de la
metodología para la solución de problemas por computadora (análisis y diseño,
respectivamente) teniendo en cuenta que los deberá tener en su libreta de apuntes y
haberlos construido en el algún procesador de textos y/o software de diagramación
(por ejemplo: raptor o el propio Microsoft Word,) . Se pide ambas representaciones, es decir,
resuélvalos en pseudocódigo y en diagrama de flujos.
Nota:
Tomen como referencia, los ejemplos resueltos en documento anexo compartido vía correo o en el
sitio web de la materia.
Prácticas
1.- INGRESAR POR TECLADO, UN NUMERO ENTERO DE TRES CIFRAS (POR EJEMPLO EL 456), Y
MUESTRE POR PANTALLA ESE NUMERO, PERO DE FORMA INVERTIDA (PARA EL ANTERIOR CASO,
SERIA EL NUMERO 654).
2.- Determinar y mostrar por pantalla, la tabla de multiplicar que un usuario indique.
Ejercicios en clases
1.- Calcular y mostrar por pantalla, si un número proporcionado por el usuario, es al mismo tiempo,
múltiplo del 2 y del 3, al mismo tiempo, pero siempre y cuando ese número este entre un valor de 50
y 432.
2.- Solicitar la calificación de cada una de tres unidades de un curso de Programación a un estudiante
del ITSLP, y calcular y mostrar por impresora, el promedio de su curso.
¡Éxito a tod@s!
Compiló: Ing. Héctor Bazarte Torres/Agosto-Diciembre 2018 28 de 31
Compiló: Ing. Héctor Bazarte Torres/Agosto-Diciembre 2018 29 de 31