PDF de programación - Elementos esenciales para programación: Algoritmos y Estructuras de Datos

Imágen de pdf Elementos esenciales para programación: Algoritmos y Estructuras de Datos

Elementos esenciales para programación: Algoritmos y Estructuras de Datosgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 1 de Marzo del 2018)
8.286 visualizaciones desde el 1 de Marzo del 2018
3,7 MB
206 paginas
Creado hace 9a (26/09/2014)
AUTORES

Gracia María Gagliano

Cristina I. Alarcón
Laura M. Angelone

Edison Isaías Del Rosario Camposano

Pedro Cardona
Fernando Guspi

José Eder Guzmán Mendoza

Zenón Luna

Pablo Augusto Magé
Jaime Muñoz Arteaga

Elementos escenciales para programación: Algoritmos y Estructuras de Datos

1a ed. - Iniciativa Latinoamericana de Libros de Texto Abiertos (LATIn), 2014. 202 pag.

Primera Edición: Marzo 2014
Iniciativa Latinoamericana de Libros de Texto Abiertos (LATIn)
http://www.proyectolatin.org/

Los textos de este libro se distribuyen bajo una licencia Reconocimiento-CompartirIgual 3.0 Un-
ported (CC BY-SA 3.0) http://creativecommons.org/licenses/by-sa/3.0/
deed.es_ES

Esta licencia permite:
Compartir: copiar y redistribuir el material en cualquier medio o formato.
Adaptar: remezclar, transformar y crear a partir del material para cualquier finalidad.

Siempre que se cumplan las siguientes condiciones:

Reconocimiento. Debe reconocer adecuadamente la autoría, proporcionar un
enlace a la licencia e indicar si se han realizado cambios. Puede hac-
erlo de cualquier manera razonable, pero no de una manera que sug-
iera que tiene el apoyo del
licenciador o lo recibe por el uso que
hace.

CompartirIgual — Si remezcla, transforma o crea a partir del material, deberá di-
fundir sus contribuciones bajo la misma licencia que el original.

Las figuras e ilustraciones que aparecen en el libro son de autoría de los respectivos
autores. De aquellas figuras o ilustraciones que no son realizadas por los autores, se

coloca la referencia respectiva.

Este texto forma parte de la Iniciativa Latinoamericana de Libros de Texto abiertos (LATIn),
proyecto financiado por la Unión Europea en el marco de su Programa ALFA III EuropeAid.
El Proyecto LATIn está conformado por: Escuela Superior Politécnica del Litoral, Ecuador
(ESPOL); Universidad Autónoma de Aguascalientes, México (UAA), Universidad Católica de
San Pablo, Perú (UCSP); Universidade Presbiteriana Mackenzie, Brasil(UPM); Universidad de
la República, Uruguay (UdelaR); Universidad Nacional de Rosario, Argentina(UR); Universidad
Central de Venezuela, Venezuela (UCV), Universidad Austral de Chile, Chile (UACH), Uni-
versidad del Cauca, Colombia (UNICAUCA), Katholieke Universiteit Leuven, Bélgica (KUL),
Universidad de Alcalá, España (UAH), Université Paul Sabatier, Francia (UPS).

Índice general

0.1

Prólogo

9

Algoritmos

1
Introducción a la Informática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.0.1 Qué es la Informática? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Del mundo real a la solución por computadora
1.1
13
1.1.1
Informatizar la resolución de un problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1.2 Resolución de problemas con computadora . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1.3 Dar el primer paso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.1.4 El modelo computacional
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.1.5 Datos e información . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2
16
1.2.1 Qué es un algoritmo? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.2 Un ejemplo cotidiano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2.3 Problemas algorítmicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2.4 Definición de ambiente y acción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2.5 Acción primitiva y no primitiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.2.6 Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.2.7 Representación de Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.2.8 Diagrama de flujo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.2.9 Diagrama de Nassi Schneiderman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.2.10 Pseudocódigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
23
1.3
Lenguajes de programación
1.4
25
Nuestro procesador: la computadora
Conceptos y elementos básicos para la resolución algorítmica
1.5
26
1.5.1
Tipo de dato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.5.2
Tipos de dato a utilizar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.5.3 Variables y constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.5.4 Nombres de variables/constantes (identificadores) . . . . . . . . . . . . . . . . . . . . . . . 30
1.5.5 Clasificación de Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.5.6 Expresiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.6
35
1.6.1 Acción de asignación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.6.2 Acción Leer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.6.3 Acción Escribir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Algoritmos en Pseudocódigo

Estructuras de Control. Programación Estructurada

2
Técnicas de programación. Organización de las acciones . . . . . 41
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.0.4
Técnicas de programación algorítmica
41
2.1
2.1.1 Modelo declarativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.1.2 Modelo imperativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.1.3 Modelo orientado a objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.2
43
2.2.1 Estructuras de control
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.2.2 Programación estructurada (PE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.3
45
2.4
46
2.4.1 Estructura de selección simple: Si-entonces-sino . . . . . . . . . . . . . . . . . . . . . . . . 46
2.4.2 Estructura de selección múltiple: Según sea . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.5
49
2.5.1 Estructura de Iteración con cantidad conocida de veces: Repetir Para . . . . . . . . . 49
2.5.2 Estructura de Iteración con cantidad desconocida de veces: Repetir Mientras . . . 50
2.5.3 Estructura de Iteración con cantidad desconocida de veces: Repetir – hasta . . . . 51

Organización secuencial
Organización selectiva o decisión

Organizacion repetitiva o iteración

3
Descripción de las estructuras selectivas y repetitivas . . . . . . . . 53
3.1
53
Estructuras selectivas
3.1.1 Estructura de control de Selección Simple SI . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.1.2 Estructura de control de Selección Doble SI...SINO . . . . . . . . . . . . . . . . . . . . . . 54
3.1.3 Estructura de control de Selección Múltiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2
56
3.2.1 Estructura DESDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2.2 Estructura MIENTRAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.2.3 Estructura HACER-MIENTRAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Estructuras repetitivas

Estructuras para Repetir: Lazos

4
Estructuras selectivas y repetitivas analizadas desde su uso . . 61
4.1
62
Estructuras para Selección: Condicionales
4.1.1 Condicional con varias preguntas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.1.2 Condicionales con casos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.1.3 Condicionales en árbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2
69
4.2.1 Estructuras para Repetir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.2 Mientras- Repita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3
78
4.3.1 Ejercicios y Aplicaciones básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.4
82
4.4.1 Ejercicios de Lazos con Bases numéricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.4.2 Ejercicios de Lazos con Aleatorios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Estructuras de Control - Lazos con Bases numéricas y Aleatorios

Estructuras de Control - Condicionales y Lazos

5
5.0.3

Subalgoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Programación modular
Concepto de subalgoritmo
Subalgoritmo función

5.1
101
5.2
102
5.3
102
5.3.1 Sintaxis de la declaración de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
¿Cómo usar/llamar/invocar una función? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.3.2
5.4
Subalgoritmo subrutina
105
5.4.1 Sintaxis de la declaración de subrutinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.4.2
¿Cómo usar/llamar/invocar una subrutina? . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.4.3 Subrutinas que no devuelven ningún resultado . .
  • Links de descarga
http://lwp-l.com/pdf9138

Comentarios de: Elementos esenciales para programación: Algoritmos y Estructuras de Datos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad