Actualizado el 21 de Marzo del 2018 (Publicado el 30 de Diciembre del 2017)
2.932 visualizaciones desde el 30 de Diciembre del 2017
525,8 KB
49 paginas
Creado hace 13a (03/08/2010)
1
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía del Estudiante para Programación I – Segundo semestre 2010
---------------------------------------------------------------------------------------------------------------------------------------
Programación 1
Objetivo del Curso:
Adquirir habilidad en la solución de problemas por medio del computador, mediante el desarrollo del pensamiento algorítmico.
Desarrollar habilidades en el uso de por lo menos un lenguaje y una herramienta de programación.
Desarrollar aptitudes de análisis, diseño y codificación de soluciones a problemas básicos de programación.
Contenidos del curso
1. Generalidades
1.1Conceptos de máquina y computador
1.2 Componentes funcionales del computador
1.2.1 Software
1.2.1.1 Conceptos
1.2.1.2 Clasificación
1.2.2 Hardware
1.2.2.1 Concepto
1.2.2.2 División Funcional (CPU, Memoria y dispositivos de entrada y salida)
1.3 Representación de la información
1.3.1 Sistemas de numeración
1.3.1.1 Sumativos
1.3.1.2 De valor posicional
1.3.2 Sistema Binario
1.3.3 Tipos de datos
2. Resolución de Problemas
2.1. Metodología para la resolución de problemas
2.2 Conceptos preliminares (Algoritmo, dato, variable, constante, expresión, tipos de expresiones)
2.3 Diagramas de Flujo
2.4 Estructuras de Control
2.4.1 Secuenciales o lineales
2.4.2 De selección
2.4.3 De repetición (Para, Mientras que, hacer mientras)
2.5 Programación modular
2.5.1 funciones
2.5.2 Parámetros por valor
3. Lenguaje de programación
3.1 Fundamentos de C
3.2 Herramienta de programación en C (dev c++)
3.3 Procedimientos para la edición, compilación y ejecución de programas
Bibliografía Recomendada
Fundamentos de Programación, Algoritmos, Estructuras de datos y Objetos, Luis Joyanes Aguilar, Tercera edición. Editorial
McGraw Hill.
Informática Básica, Eduardo Alcalde y Miguel Garcia, Segunda edición, Editorial McGraw Hill.
Fundamentos de Programación, Algoritmos y Estructuras de datos, Luis Joyanes Aguilar, Segunda edición. Editorial McGraw Hill.
Fundamentos de Programación, Libro de problemas, Luis Joyanes Aguilar, Editorial McGraw Hill.
Turbo C/C++ 3.1 Manual de referencia, Herbert Schildt, McGraw Hill
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía del Estudiante para Programación I – Segundo semestre 2010
---------------------------------------------------------------------------------------------------------------------------------------
2
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
GENERALIDADES ................................................................................................................................................................. 3
REPRESENTACIÓN DE DATOS EN EL COMPUTADOR ............................................................................................................. 5
SISTEMAS DE NUMERACIÓN............................................................................................................................................... 5
SISTEMAS DE NUMERACIÓN SUMATIVOS O ADITIVOS ......................................................................................................... 5
SISTEMAS DE NUMERACIÓN DE VALOR POSICIONAL ........................................................................................................... 6
SISTEMA BINARIO PARA INFORMÁTICA.............................................................................................................................. 6
OPERACIONES CON NÚMEROS BINARIOS ........................................................................................................................... 6
CONCEPTOS PRELIMINARES PARA LA PROGRAMACIÓN....................................................................................................... 9
ESTRUCTURAS DE CONTROL............................................................................................................................................. 11
ESTRUCTURAS DE CONTROL LINEALES O SECUENCIALES (ENTRADA, ASIGNACIÓN Y SALIDA) ......... 12
ESTRUCTURAS DE SELECCIÓN O CONDICIONALES............................................................................................... 14
ESTRUCTURAS REPETITIVAS......................................................................................................................................... 24
PROGRAMACIÓN MODULAR (FUNCIONES) ............................................................................................................... 38
RESUMEN DE NOTACIONES DE LAS ESTRUCTURAS DE CONTROL................................................................... 48
Contenidos de la Guía
1
2
3
4
5
6
3
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía del Estudiante para Programación I – Segundo semestre 2010
---------------------------------------------------------------------------------------------------------------------------------------
1 Generalidades
1- Defina y diferencie los siguientes conceptos generales:
1. Máquina.
1.1. Maquina Abstracta.
1.2. Maquina concreta.
2. Computador.
2.1. Software.
2.1.1. Lenguaje de programación.
2.1.2. Sistemas de información.
2.1.3. Software Aplicativo.
2.1.4. Sistema Operativo.
2.2. Hardware.
2.2.1. Dispositivos E/S.
2.2.2. CPU (Unidad Central de Procesamiento).
2.2.3.2. Unidad de control (UC).
2.2.3.3. Unidad Aritmético Lógica (ALU)
2.2.3.1 Memoria
2.2.3.1.1. Memoria de Datos.
2.2.3.1.2 Memoria de Instrucciones.
3. Algoritmo.
4. Traductores de Lenguaje
4.1. Compilador.
4.2. Interprete
2-Describir lo que representa cada una de siguientes figuras
Usuario
Sistemas de
Información
Software
Aplicativo
Lenguajes de
Programación
Sistemas Operativos
Hardware
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía del Estudiante para Programación I – Segundo semestre 2010
---------------------------------------------------------------------------------------------------------------------------------------
4
Computador
Solo ejecuta las
instrucciones,
almacenadas en
la memoria de
instrucciones y
previamente
diseñadas por el
programador
Usuario
Da y recibe información del
computador, cuando ejecuta un
programa, ya construido por un
programador
Dispositivos
de Entrada de datos
Dispositivos
de Salida de datos
Unidad Central de
procesamiento
Memoria de
Instrucciones
Memoria de
Datos
Unidad de
Control
Unidad
Aritmetico-lógica
a
b
c = a + b
c
a
10
c
22
b
12
Programador
Diseña
los programas
3-De acuerdo al siguiente gráfico que representa las fases en el desarrollo de un programa software, explique en que consiste cada
una de las fases y qué actividades hay que desarrollar en cada una de ellas.
Universidad de Pamplona
Facultad de Ingenierías y Arquitectura
Guía del Estudiante para Programación I – Segundo semestre 2010
---------------------------------------------------------------------------------------------------------------------------------------
5
Enunciados claros, sin ambigüedad
de la situación que se quiere automatizar
mediante la construcción de un programa
de computador
Identificación de los datos que el usuario tiene que proveer
al computador cuanto el programa esté ya construido (datos de entrada),
y de los datos que el computador entrega al usuario
como solución del problema (datos de salida)
Descripción de los pasos que debe seguir el computador (algoritmo)
para a partir de los datos de entrada, dé solución al problema.
Estos pasos pueden ser descritos mediante diferentes técnicas
como diagramas de flujo o seudocódigo
Problema a solucionar
Análisis
Diseño
Codificación
Prueba
Implantación
Traducción de los algoritmos especificados en el diseño
a un lenguaje de alto nivel entendible por el computador
en este caso a C
Mantenimiento
Reingeniería
Verificación de que el algoritmo,
soluciona el problema.
1.1 Representación de datos en el computador
1.2 Sistemas de Numeración
Los sistemas de numeración son las distintas formas de representar cantidades.
Hay dos tipos de sistemas de numeración a estudiar en este curso, los sistemas sumativos y los de valor posicional.
1.3 Sistemas de numeración sumativos o aditivos
Los sistemas sumativos definen un conjunto de símbolos con un valor fijo para cada uno de los símbolos y con operaciones básicas
de sumas (y/o restas) se procede a representar cantidades. Dos ejemplos típicos de estos sistemas de numeración son el egipcio y el
romano.
El sistema de numeración egipcio definía los siguientes símbolos
y para representar una cantidad por ejemplo 427 se utilizaban 4 símbolos que representan 100, 2 símbolos que representan 10 y 7
símbolos que representen 1. Por lo tanto el orden en que use estos símbolos no tiene importancia, simplemente es cuestión de
estética como se dibujen los símbolos que representan determinada cantidad.
El sistema de numeración romano, los números se expresan a través de determinadas letras, utilizándose sólo letras mayúsculas,
cada símbolo representa una cantidad en particular así: I=1 V=5 X=10 L=50 C=100 D=500 y M= 1000
Para cifras elevadas, los romanos utilizaban un guión encima de la letra correspondiente. El guión multiplicaba el valor de la letra
por 1.000. Por ejemplo, una "C" con guión superior correspondía al valor 100.000 (100 x 1.000), y una "M" con guión superior, al
valor 1.000.000 (1.000 x 1.000).
Este sistema de numeración es sumativo o aditivo, porque para representar un número se añaden tantos símbolos como sean
necesarios, de forma que la suma de ellos nos dé como resultado el número que queremos representar.
En el sistema de numeración romano las letras deben situarse en orden de más valor a menos valor. Algunas regl
Comentarios de: Guía del Estudiante para Programación I (0)
No hay comentarios