SlideShare una empresa de Scribd logo
2
INDICE
N° DE PAG
TAREA 1.- TEMARIO,
TAREA2.- RESUMEN.
TAREA3.- .12
TAREA4.- ALGORITMO PARA ENCONTRAR EL PROMEDIO GENERAL DE N
......................................................................................
TAREA 5.- INVESTIGACIÓN DE CONCEPTOS, TIPOS DE DATOS,
ATRIBUTOS, MÉTODOS, CLASE, HERENCIA,
...........................................18
TAREA 6.- ALGORITMO PARA OBTENER EL PROMEDIO GENERAL
DE N ALUMNOS CONSIDERANDO 1 A
TAREA 7.- INVESTIGACIÓN DE TIPOS DE
.
TAREA 8.- ALGORITMO DEL FACTORIAL DE UN NÚMERO......................................
TAREA 9.- ALGORITMO CUALITATIVO PARA IR DEL LUGAR DONDE ESTOY HACIA
3
TEMARIO
1 Conceptos Básicos
1.1 Clasificación del software de: sistemas y aplicación.
1.2 Algoritmo.
1.3 Lenguaje de Programación.
1.4 Programa.
1.5 Programación.
1.6 Paradigmas de programación.
1.7 Editores de texto.
1.8 Compiladores e intérpretes.
1.9 Ejecutables.
1.10 Consola de línea de comandos.
2 Algoritmos
2.1 Análisis de problemas.
2.2 Representación de algoritmos: gráfica y pseudocódigo.
2.3 Diseño de algoritmos aplicados a problemas.
2.4 Diseño algorítmico de funciones
3Introducción a la Programación
3.1 Características del lenguaje de programación
3.2 Estructura básica de un programa.
3.3 Traducción de un programa:
compilación, enlace de un programa, errores en tiempo de compilación.
3.4 Ejecución de un programa.
3.5 Elementos del lenguaje: datos, literales y constantes, identificadores, variables, parámetros, operadores,
entrada y salida de datos.
4
3.6 Errores en tiempo de ejecución.
4 Control de flujo.
4.1 Estructuras secuenciales.
4.2 Estructuras selectivas: simple, doble y múltiple.
4.3 Estructuras iterativas: repetir mientras, hasta, desde
4.4 Diseño e implementación de funciones
5 Arreglos
5.1 Unidimensionales: conceptos básicos, operaciones y aplicaciones.
5.2 Multidimensionales: conceptos básicos, operaciones y aplicaciones.
COMPETENCIAS A DESARROLLAR
Competencias específicas:
Analizar, diseñar y desarrollar soluciones de problemas reales utilizando algoritmos computacionales para
implementarlos en un lenguaje de programación.
Competencias genéricas:
Competencias instrumentales
sintético.
Competencias interpersonales
o en equipo
Competencias sistémicas
5
forma autónoma.
Búsqueda del logro
Unidad 1: Conceptos básicos
Unidad 2: Algoritmos
Unidad 3: Introducción a la programación
las características principales de un lenguaje de programación.
Unidad 4: Control de flujo
aumentar su funcionalidad.
Unidad 5: Arreglos
problemas.
OBJETIVO GENERAL DEL CURSO
Analizar, diseñar y desarrollar soluciones de problemas reales utilizando algoritmos computacionales para
implementarlos en un lenguaje de programación.
6
BIBLIOGRAFÍA
1. Luis Joyanes Aguilar, Fundamentos de Programación, Ed. Prentice Hall.
2. Jesús J. García Molina Introducción a la programación un Enfoque Algorítmico, Ed.Paraninfo.
3. Leobardo López Román, Metodología de la Programación Orientada a Objetos, Ed.Alfaomega.
4. Cairo Osvaldo, Metodología de la Programación, Ed. Alfaomega.
5. Deitel y Deitel. Como Programar en C++ quinta Edición. Prentice Hall.
6. Deitel y Deitel. Como Programar en C# quinta Edición. Prentice Hall.
7. Deitel y Deitel. Java como programar. Séptima edición. Prentice Hall.
8. Joyanes Aguilar, Luis Fernández, Azuela Matilde, Rodríguez Baena Luis, Fundamentos de Programación
Libro de Problemas Algoritmos Estructura de Datos y Objetos. 2a. edición Ed. Mc. Graw Hill 9. Luis Joyanes
Aguilar. Programación en JAVA 2 1ª Edición. Mc Graw Hill.
10. Martín Flowler Kendall Scott. UML Gota a Gota. Addison Wesley.
11. Ramírez Felipe, Introducción a la Programación, Algoritmos y su Implementación En Vb.Net C# Java y
C++, 2a. edición, Alfa Omega.
12. Jean-Paul Tremblay, Richar B. Bunt. Introducción a la Ciencia de Las Computadoras.
Enfoque Algorítmico. McGraw Hill.
13. Bjarne Storstrup. Lenguaje de Programación C/C++.
14. Cairo Battistutti Osvaldo, Metodología de la Programación, Algoritmos Diagramas de Flujo y Programas,
3a. edición, Alfa Omega.
15. F Pseudocódigo Java Enfoque Algorítmico, Serie
Textos Universitarios Facultad de Ingeniería y Arquitectura, ed.
Universidad de San Martín de Porres, (http://books.google.com/).
7
Software
Se requiere al equipamiento lógico o soporte lógico de un computador digital, comprende el
conjunto de los componentes lógicos necesarios para hacer posible la realización de una tarea
específica
Clasificación del software
Software de sistema: Su objetivo es desvincular adecuadamente al programador de los detalles
del computador en particular que se use, aislándolo especialmente del procesamiento referido a
las características internas de: memorias, puertos, dispositivos de comunicaciones, drivers,
etcétera. Este software procura al usuario y programador adecuadas interfaces de alto nivel y
utilidades de apoyo que permita su mantenimiento. Incluye:
-Sistemas operativos
-controladores de dispositivo
-Herramientas de diagnostico
-Herramientas de corrección y optimización
-Servidores
-Utilidades
Software de programación: Es el conjunto de herramientas que permiten al programador
desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación.
Incluye:
-Editores de texto -Compiladores
-Interpretes -Enlazadores
-Depuradores -Entornos de desarrollo integrados IDE
Software de aplicación: Aquel que permite a los usuarios llevar a cabo una o varias tareas
específicas en cualquier campo de actividad susceptible de ser automatizado o asistido. Incluye:
-Aplicaciones de control y automatización industrial
-Aplicaciones ofimáticas
8
-Software educativo
-Software médico
-Software de cálculo numérico
-Software de diseño asistido
-Software de control numérico
Sistema operativo
Es un software de sistema. Comienza a trabajar cuando se enciende el computador y gestiona el
hardware de la máquina, permitiendo también la interacción con el usuario.
Se puede encontrar normalmente en la mayoría de los aparatos electrónicos que utilicen
microprocesadores para funcionar. Nos brinda 5 funciones básicas:
Interfaces del usuario:
Es la parte del sistema operativo que permite comunicarse con el de tal manera que se puedan
cargar programas, acceder a archivos y realizar otras tareas.
Administración de archivos:
Un sistema de información contiene programas de administración de archivos que controlan la
creación, borrado y acceso de archivos de datos y programas.
Administración de tareas:
Los programas de administración, administran la realización de las tareas informáticas de los
usuarios finales. Pueden distribuir una parte específica del tiempo del CPU para una tarea en
particular e interrumpirlo en cualquier momento para sustituirla con una tarea de mayor
prioridad.
Servicio de soporte:
Estos servicios de soporte suelen consistir en;
-Actualización de versiones
-Mejoras de seguridad
-Inclusión de alguna nueva utilidad
-controladores para manejar nuevos periféricos
9
-Corrección de errores de software.
-Otros
Clasificación de los sistemas operativos
-Sistemas operativos de multiprogramación
En este una computadora procesa varias tareas al mismo tiempo. Para activar tareas que se
encuentren en segundo plano, el usuario debe traer al primer plano la ventana o pantalla que
contenga esa aplicación.
-Sistema operativo monotareas
Solo pueden manejar un proceso en cada momento o solo se pueden ejecutar tareas de una en
una.
-Sistema operativo monousuario
Solo pueden atender a un solo usuario. Son muy simples ya que todos los dispositivos de entrada,
salida y control dependen de la tarea que se está utilizando.
-Sistema operativo multiusuario
En esta categoría se encuentran todos los sistemas que cumplen simultáneamente las
necesidades de dos o más usuarios, que comparten mismos recursos.
-Sistemas operativos por lotes
Procesan una gran cantidad de trabajo con poca o ninguna interacción entre los usuarios y los
programas de ejecución.
Se reúnen todos los trabajos comunes para realizarlos al mismo tiempo evitando la espera de dos
o más trabajos.
-Sistemas operativos de tiempo real
Son aquellos en los cueles no tiene importancia el usuario sino los procesos, se utilizan en
entornos donde son procesados un gran número de sucesos o eventos. Se usan en aplicaciones
como control de tráfico aéreo, bolsas de valores, control de refinerías, control de laminadores.
-Sistemas operativos de tiempo compartido
10
Permiten la simulación de que el sistema y sus recursos son todos para cada usuario. El usuario
hace una petición a la computadora, está la procesa tan pronto como lo es posible y la respuesta
aparecerá en la terminal de usuario.
-Sistemas operativos distribuidos
Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede que los
procesadores estén en un equipo o en diferentes.
-Sistemas operativos de red
Son aquellos sistemas que mantienen a dos o más computadoras unidas a través de algún medio
de comunicación con el objetivo de poder compartir los diferentes recursos y la información del
sistema.
1.2 Definición de algoritmo
De forma sencilla podemos decir que un algoritmo es un conjunto de pasos que nos permite
obtener una solución. Debe cumplir estas condiciones:
Finitud: El algoritmo debe acabar tras un número finito de pasos.
Definibilidad: El algoritmo debe definirse de forma precisa para cada paso, es decir hay que evitar
toda ambigüedad, puesto que el lenguaje es impreciso, los algoritmos se expresan mediante un
lenguaje formal.
Entrada: El algoritmo debe tener entradas, es decir cantidades dadas antes de empezar el
algoritmo. Se trata siempre de cantidades representativas del mundo real expresadas de tal forma
que sean actas para su interpretación por el computador.
Salida: El algoritmo tiene una o más salidas en relación con las entradas.
Efectividad: Una persona debe ser capaza de realizar el algoritmo de modo exacto y sin ayuda de
una máquina en un lapso de tiempo finito.
Los pasos que hay que seguir son los siguientes:
1. Análisis previo del problema
2. Primera visión del método de resolución
3. Descomposición en módulos
4. Búsqueda de soluciones parciales
5. Ensamblaje de soluciones finitas
11
Lenguaje algorítmico
Es aquel por medio del cual se realiza un análisis previo del problema a resolver y encontrar un
método que permita resolverlo. El conjunto de todas las operaciones a realizar, y el orden en el
que deben efectuarse se le denomina algoritmo
El pseudocódigo
Es un conjunto de palabras reservadas y reglas para escribir algoritmos de una manera más
formal y estructurada. El objetivo es tener un algoritmo que este planteado en términos más
cercanos a los lenguajes de programación utilizados en la computadora.
El pseudocódigo no es un lenguaje de programación.
12
ALGORITMO PARA CONTAR LOS NÚMEROS PARES DE 1 A N.
Análisis
a)Leer el problema
Objetivo general: Contar cuantos pares hay en el intervalo de 1 a n
Objetivos secundarios:
b)Acotar el problema
2 ---------------- n
d)Interpretación Variables
conta=2
Preguntar 2<=10?
Si **
No *** ciclo
** contaP=contaP+1
contaP= conta + 2
***Imprimir contaP
n
conta
contaP
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
c)Representación matemática
n leer
conta <=n? conta contaP
2<=10? si
4<=10? si
6<=10? si
8<=10? si
10<=10? si
12<=10? No
2+2=4
4+2=6
6+2=8
8+2=10
10+2=12
0+1=1
1+1=2
2+1=3
3+1=4
4+1=5
13
e) Algoritmo
CPU
n=10
conta= 2,4,6,8,10,12
contaP=1,2,3,4,5
1.-Leer n
2.- conta=2
3.-contaP=0
4.-if conta <=n
Si------------------------- ir al paso 8
No----------------------- ir al paso 5
5.- contaP= contaP+1
6.-conta= conta + 2
7.-Ir al paso 4
8.-Fin
Pseudocódigo
14
Diagrama de flujo
15
Algoritmo para encontrar el promedio general de un grupo de n alumnos
Análisis
a) Leer y comprender el problema
Objetivo general: Obtener el promedio general
Objetivos secundarios:
Número de alumnos
Promedio individual
b)Acotar el problema
1 n
d)Interpretación Variables
Leer n
*contaAlum= contaAlum +1
Leer calif
sumaCalif=sumaCalif + calif ciclo
if contaAlum < =n
Si------------------------------- ir a *
No ------------------------------ ir a **
** promGen= sumaCalif /n
Fin
n
contaAlum
calif
sumaCalif
promGen
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
c)Representación matemática
leer n n=4
Alumno = 1 <=n? 2 <=n? 3 <=n? 4<=n?
calif = 10 + 9 + 8 + 7
sumaCalif= 10+9=19
promGen= sumaCalif/ n
sumaCalif= 19+8=27
sumaCalif= 27+7=34
promGen= 34/4= 8.5
16
e) Algoritmo CPU
n=4
contaAlum=0,1,2,3,4,
calif=10,9,8,7
sumaCalif=10,19,27,34
promGen=8.5
Int contaAlum, calif,sumaCalif,promGen
cuentaAlum=1
sumaCalif=0
1.- Leer n
2.- contaAlum= cuentaAlum +1
3.- Leer calif
4.-sumaCalif=sumaCalif + calif
5.-if contaAlum <= n
Si------------------------------- ir al paso
2
No ------------------------------ ir al paso
6
6.- promGen= sumaCalif /n
7.-
promGen
8.-Fin
Pseudocódigo
17
Diagrama de flujo
18
Conceptos
Clase: Una clase es una colección de miembros dato y método que define un objeto especifico. Es
la construcción fundamental del lenguaje java y se declara class.
Atributo: También llamados datos o variable miembro son porciones de información que un
objeto posee o conoce de sí mismo.
Objeto: Es una entidad compuesta de varios datos y las operaciones que realizamos sobre esos
datos.
Método: Una serie de sentencias para llevar a cabo una acción, un juego de parámetros de
entrada que regularon dicha acción y posiblemente un valor de salida (o valor de retorno).
Encapsulamiento: Consiste en la combinación de los datos y las operaciones que se pueden
ejecutar sobre esos datos en un objeto, impidiendo usos indebidos al forzar que el acceso a los
datos se efectué siempre a través de los métodos objetos.
Herencia: Es la capacidad para crear nuevas clases (descendientes) que se construyen sobre otros
existentes, permitiendo que estas les transmitan sus propiedades.
Polimorfismo: Consigue que un mismo mensaje pueda actuar sobre diferentes tipos de objetos y
comportarse de modo distinto, por ejemplo cuando se obtienen nuevas clases a partir de una ya
existente, mediante esta derivación de clases o herencia.
Mensaje: Son la comunicación entre los objetos, sin los mensajes, los objetos tendrían que actuar
solos y no podríamos hacer productivo el uso de la programación.
19
Tipos de datos
Los tipos de datos primitivos contienen un solo valor e incluyen:
Enteros: Estos tipos son byte, short, int y long, que guardan el signo valor, estos representan un
número y no pueden representar elementos fraccionarios.
byte mi dato1=1;
short midato2=100;
int midato3=10000;
long midato4= 1000000000;
Número en coma flotante: Estos son float y double y pueden almacenar números en coma
flotante y con signo, esto quiere decir que nos permiten representar números decimales.
Todas las literales de coma flotante son del tipo doublé salvo que se especifique lo contrario, por
eso si se intenta asignar un literal en coma flotante a una variable de tipo float el compilador nos
dará un error.
El tipo carácter: Estos son de tipo char, que almacena la representación de los caracteres (letras o
números), un carácter esta almacenado en 16 bits, y sigue un estándar que es el Unicode.
El tipo booleano: Este solo guarda dos valores verdadero (true) o falso (false), y no ocurre en
otros lenguajes que toman los valores 0 y 1. Generalmente su utilización es muy frecuente para
determinados flujos de programas.
Tipos de datos Rango de valores Descripción
Números enteros
byte 8-bit complemento a 2 Entero de un byte
Short 16-bit complemento a 2 Entero corto
int 32-bit complemento a 2 Entero
long 64-bit complemento a 2 Entero largo
Números reales
float 32-bit IEEE 754 Coma flotante de precisión
simple
double 64-bit IEEE 754 Como flotante de precisión
doble
Otros tipos
char 16-bit carácter Un solo carácter
boolean True o false Un valor booleano (verdadero
o falso)
20
String
Contiene secuencias de puntos de código de 16 bits sin signo ( 2 bytes) que van de un valor de 0 a
65535.
Los tipos de datos cadena (String) son secuencias de caracteres que pueden llegar a tener la
longitud máxima de 255 . Cada carácter de esta cadena ocupa un byte de memoria .
En java las cadenas de caracteres son objetos que se manipulan aunque existan ciertas
operaciones como la creación de String. Un String se crea mediante el operador new.
String s = new String
Los String no se modifican una vez que se les asigna un valor si se le asigna se crea un nuevo
objeto String con el nuevo contenido.
´
21
Algoritmo para encontrar el promedio general de un grupo de n
alumnos, cada alumno tiene de 1 a 4 materias.
Análisis
1.- Leer y comprender el problema
Objetivo general: Obtener el promedio general de un grupo de n alumnos.
Objetivos secundarios:
-Grupo: Número de alumnos
-Alumno: Número de materias por alumno
Calificación por materia
Promedio individual
2.-Acotar el problema
Alumno Materias
1
1 <=
4
n
22
3.- Representación matemática
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
contaMat = 1<=totMat? 2 <=totMat? 3 <=totMat? 4<=totMat?
calif = 8 + 9 + 10 + 9
sumaCalif= 8+9=17
promInd= sumaCalif/ totMat
sumaCalif= 17+10=27
sumaCalif= 27+9=36
promInd= 36/4= 9
contaMat = 1<=totMat? 2 <=totMat? 3 <=totMat? 4<=totMat?
calif = 8 + 9 + 10 + 8
sumaCalif= 8+9=17
promInd= sumaCalif/ totMat
sumaCalif= 17+10=27
sumaCalif= 27+8=35 acumProm= acumProm+promInd
promInd= 35/4= 8.75
promGen= 9 + 8.75 /2= 8.87
23
4.-Interpretación Variables
sumaCalif=0
contMat=1
acumProm=0
contaAlum=1
Leer n
***
If (totMat >= 1) && (totMat<=4)
Si------------------- ir al paso *
No-----------------
*Leer calif
sumaCalif= sumaCalif + calif
contaMat= contaMat +1
if (contaMat<= totMat)
Si---------------------- ir al paso* ciclo
No--------------------- ir al paso **
**promInd=sumaCalif/totMat
acumProm= acumProm + promInd
contaAlum= contaAlum + 1
if conta alum <= n
Si------------------------------ ir al paso ***
No----------------------------- ir al paso ****
**** promGen= acumProm /n
Fin
n
totMat
contaAlum
calif
sumaCalif
contMat
promInd
acumProm
promGen
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
24
5.-Algoritmo
CPU
n=2
totMat=4,4
contaAlum =1,2
calif=8,9,10,9, 8,9,10,8
sumaCalif=8,17,27,36, 8,17,27,35
contMat=1,2,3,4, 1,2,3,4,
promInd= 9, 8.75
acumProm=9,17.75
promGen=8.87
sumaCalif=0
contMat=1
acumProm=0
contaAlum=1
1.- Leer n
2.-
3.- If (totMat >= 1) && (totMat<=4)
Si-------------------
ir al paso 4
No-----------------
4.- Leer calif
5.-sumaCalif= sumaCalif + calif
6.- contaMat= contaMat +1
7.- if (contaMat<= totMat)
Si---------------------- ir al
paso 4
No--------------------- ir al
paso 8
8.- promInd=sumaCalif/totMat
9.-acumProm= acumProm + promInd
10.- contaAlum= contaAlum + 1
11.- if conta alum <= n
Si------------------------------ ir al
paso 2
No----------------------------- ir al
paso 12
12.- promGen= acumProm /n
13.-
promGen
14.-Fin
25
26
Diagrama de flujo
27
Tipos de operadores
Operadores Aritméticos
Existen 5 operadores aritméticos cuyo significado se muestra en esta tabla:
Operador Nombre Ejemplo
+ Suma 3 + 5
- diferencia 3-4
* producto 3*4
/ corriente 20/7
% modulo 20%7
EL cociente entre dos enteros da como resultado un entero. Por ejemplo, al dividir 20 entre 7 nos
da como resultado 2.
El operador módulo da como resultado el resto de la división entera, por ejemplo 20 % 7 da como
resultado 6 que es el resto de la división entre 20 y 7.
Los operadores lógicos
Los operadores lógicos son:
-&& AND (el resultado es verdadero si ambas expresiones son verdaderas)
-|| OR (el resultado es verdadero si alguna expresión es verdadera)
- ! NOT (el resultado invierte la condición de la expulsión)
AND y OR trabajan con dos operadores y retoman un valor lógico basados en los denominados
tablas de verdad. El operador NOT actúa sobre un operando. Estas tablas de verdad son conocidas
y usadas en el contexto de la vida diaria. Las tablas de verdad de los operadores AND, OR y NOT se
muestran en la tabla siguiente:
28
El operador lógico AND
X y Resultado
True True True
True False False
False True False
false false False
El operador lógico OR
X y Resultado
True True True
True False True
False True True
false false False
El operador lógico NOT
X Resultado
True false
false true
Los operadores AND y OR combinan expresiones relacionales cuyo resultado viene dado por la
última columna de sus tablas de verdad. Ejemplo:
(a<b) && (b<c) es verdadero si ambos son verdaderos
(a<b)|| (b<c) es verdadero si uno de las condiciones lo es
29
Los operadores relacionales
Los operadores relacionales son símbolos que se usan para comparar dos valores. Si el resultado
de la comparación es correcto la expresión considerada es verdadera, en caso contrario es falsa.
Operador Nombre Ejemplo Significado
< Menor que a<b a es menor que b
> Mayor que a>b a es mayor que b
== Igual a a==b a es igual que b
!= No igual a a!=b a es distinto que b
<= Menor que o igual a a<=b a es menor o igual
que b
>= Mayor que o igual a a>=b a es mayor o igual que
b
30
Algoritmo para encontrar el factorial de un número n
Análisis
a) Leer y entender el problema
Objetivo general: Encontrar el factorial de un número entero cualquiera introducido por el
usuario del algoritmo
Objetivos secundarios:
b)Acotar el problema
n---------------------------------------------------------- 1
d) Interpretación Variables
auxiliar= n-1= 3
factorial= n * auxiliar=12
if auxiliar= 1
si ***
no **
**auxiliar= auxiliar -1
factorial = factorial * auxiliar
if auxiliar= 1
si ***
no **
imprimir factorial
n
auxiliar
factorial
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
c)Representación matemática
n=4 Le damos un valor a n
fact= 4 * 3 * 2 * 1
fact= 12
fact= 24
fact= 24
ciclo
31
e) Algoritmo
CPU
n=4
auxiliar=3,2,1
factorial=12,24,24
1.- Inicio
2.- Leer n
3.- auxiliar= n-1
4.- factorial= n * auxiliar
5.- if (auxiliar=1)
Si ir al paso 9
No ir al paso 6
6.- auxiliar= auxiliar 1
7.- factorial= factorial * auxiliar
8.- Volver al paso 5
9.-
10.- Fin
Pseudocódigo
32
Diagrama de flujo
33
Algoritmo cualitativo para ir desde el lugar donde estoy a la puerta
del aula
1.- Inicio
2.- Levantarme
3.- Girar 90 ° a la derecha
4.- Caminar 2 pasos
5.- Girar 90 ° a la izquierda
6.- Avanzar 10 pasos
7.- Girar 90 ° grados a la derecha
8.- Avanzar 2 pasos
9.- Preguntar ¿llegue a la puerta?
Si ir al paso 10
No ir al paso 8
10.- Fin

Más contenido relacionado

La actualidad más candente

Manual de programacion #1
Manual de programacion #1Manual de programacion #1
Manual de programacion #1
Laura Miranda
 
las tics en la educación
las tics en la educación las tics en la educación
las tics en la educación
Marcos Farrera
 
informatica basica 3
informatica basica 3informatica basica 3
informatica basica 3
Edinson Florian
 
Iso112 evaluacion a distancia (2012 0) (ed 02) (rpta) mundo motors
Iso112 evaluacion a distancia (2012 0) (ed 02) (rpta) mundo motorsIso112 evaluacion a distancia (2012 0) (ed 02) (rpta) mundo motors
Iso112 evaluacion a distancia (2012 0) (ed 02) (rpta) mundo motors
Eduhardo Rodrigez Rosales
 
Trabajo de jhon piyo
Trabajo de jhon piyoTrabajo de jhon piyo
Trabajo de jhon piyojhonarias
 
Software
SoftwareSoftware
Software
Kenia Jimenez
 
01 alp u1
01 alp u101 alp u1
Elaborar un cuadro comparativo que nos muestre las diferencias que existen e...
 Elaborar un cuadro comparativo que nos muestre las diferencias que existen e... Elaborar un cuadro comparativo que nos muestre las diferencias que existen e...
Elaborar un cuadro comparativo que nos muestre las diferencias que existen e...
M&s Consultorías Legal Entreprise Austral Group. Inocencio Meléndez Julio.
 
Otras clasificaciones de software
Otras clasificaciones de softwareOtras clasificaciones de software
Otras clasificaciones de software
jazminamairanicamach
 
Examen Parcial UCV Computo
Examen Parcial UCV Computo Examen Parcial UCV Computo
Examen Parcial UCV Computo
Henry Sanchez
 
Introducción a la Informática básica
Introducción a la Informática básicaIntroducción a la Informática básica
Introducción a la Informática básica
Joaquin Lara Sierra
 
Introducción a la Informática básica
Introducción a la Informática básicaIntroducción a la Informática básica
Introducción a la Informática básicaEdumatica Consulting
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacionJesus Chaux
 
Computacion i examen parcial pead 2013 0
Computacion i examen parcial pead 2013 0Computacion i examen parcial pead 2013 0
Computacion i examen parcial pead 2013 0LBRICENOC
 
Proyecto Software de Base
Proyecto Software de BaseProyecto Software de Base
Proyecto Software de BaseKarina Morales
 

La actualidad más candente (20)

Manual de programacion #1
Manual de programacion #1Manual de programacion #1
Manual de programacion #1
 
las tics en la educación
las tics en la educación las tics en la educación
las tics en la educación
 
informatica basica 3
informatica basica 3informatica basica 3
informatica basica 3
 
Iso112 evaluacion a distancia (2012 0) (ed 02) (rpta) mundo motors
Iso112 evaluacion a distancia (2012 0) (ed 02) (rpta) mundo motorsIso112 evaluacion a distancia (2012 0) (ed 02) (rpta) mundo motors
Iso112 evaluacion a distancia (2012 0) (ed 02) (rpta) mundo motors
 
Trabajo de jhon piyo
Trabajo de jhon piyoTrabajo de jhon piyo
Trabajo de jhon piyo
 
NOCIONES BASICAS DE INFORMATICA
NOCIONES BASICAS DE INFORMATICANOCIONES BASICAS DE INFORMATICA
NOCIONES BASICAS DE INFORMATICA
 
Software
SoftwareSoftware
Software
 
01 alp u1
01 alp u101 alp u1
01 alp u1
 
Elaborar un cuadro comparativo que nos muestre las diferencias que existen e...
 Elaborar un cuadro comparativo que nos muestre las diferencias que existen e... Elaborar un cuadro comparativo que nos muestre las diferencias que existen e...
Elaborar un cuadro comparativo que nos muestre las diferencias que existen e...
 
Otras clasificaciones de software
Otras clasificaciones de softwareOtras clasificaciones de software
Otras clasificaciones de software
 
Examen Parcial UCV Computo
Examen Parcial UCV Computo Examen Parcial UCV Computo
Examen Parcial UCV Computo
 
Introducción a la Informática básica
Introducción a la Informática básicaIntroducción a la Informática básica
Introducción a la Informática básica
 
Introducción a la Informática básica
Introducción a la Informática básicaIntroducción a la Informática básica
Introducción a la Informática básica
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Software de base
Software de baseSoftware de base
Software de base
 
Capitulo II
Capitulo IICapitulo II
Capitulo II
 
Computacion i examen parcial pead 2013 0
Computacion i examen parcial pead 2013 0Computacion i examen parcial pead 2013 0
Computacion i examen parcial pead 2013 0
 
Proyecto Software de Base
Proyecto Software de BaseProyecto Software de Base
Proyecto Software de Base
 
Ib tema3b
Ib tema3bIb tema3b
Ib tema3b
 
Ep comp. i pead - rodriguezabanto
Ep  comp. i pead - rodriguezabantoEp  comp. i pead - rodriguezabanto
Ep comp. i pead - rodriguezabanto
 

Similar a Ejercicios java parte 1

Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
Benjamín Joaquín Martínez
 
Analista-programador Cobol - Módulo 1.3
Analista-programador Cobol - Módulo 1.3Analista-programador Cobol - Módulo 1.3
Analista-programador Cobol - Módulo 1.3
natachaceleste
 
2.1. algoritmos primera parte ing comp
2.1. algoritmos primera parte ing comp2.1. algoritmos primera parte ing comp
2.1. algoritmos primera parte ing comp
María Sofía Molina Molina
 
El software catalina nticx
El software catalina nticxEl software catalina nticx
El software catalina nticxPilar De Ferrari
 
Traf final ntcis
Traf final ntcisTraf final ntcis
Traf final ntcis
ligiabebe
 
Informe software de base
Informe software de baseInforme software de base
Informe software de basemayra tapia
 
Sistemas operativos evolucion
Sistemas operativos evolucionSistemas operativos evolucion
Sistemas operativos evolucion
Gissgur G R
 
Informe de sofware
Informe de sofwareInforme de sofware
Informe de sofwareSusy Ramos
 
El software del computador (informe)
El software del computador (informe)El software del computador (informe)
El software del computador (informe)moncayocris
 
Clases de software
Clases de softwareClases de software
Clases de software
Rafael Correa Prado
 
Primera Unidad de los Sistemas Operativos
Primera Unidad de los Sistemas OperativosPrimera Unidad de los Sistemas Operativos
Primera Unidad de los Sistemas Operativos
Areli996
 
Ensayo unidad1 raulmorello
Ensayo unidad1 raulmorelloEnsayo unidad1 raulmorello
Ensayo unidad1 raulmorello
Hacker Squad
 
Fundamentos del computado2
Fundamentos del computado2Fundamentos del computado2
Fundamentos del computado2
Pedro Torres
 
Desarrollo de habilidades de pensamientos
Desarrollo de habilidades de pensamientosDesarrollo de habilidades de pensamientos
Desarrollo de habilidades de pensamientos
pabloandresbueno
 

Similar a Ejercicios java parte 1 (20)

Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Analista-programador Cobol - Módulo 1.3
Analista-programador Cobol - Módulo 1.3Analista-programador Cobol - Módulo 1.3
Analista-programador Cobol - Módulo 1.3
 
2.1. algoritmos primera parte ing comp
2.1. algoritmos primera parte ing comp2.1. algoritmos primera parte ing comp
2.1. algoritmos primera parte ing comp
 
El software catalina nticx
El software catalina nticxEl software catalina nticx
El software catalina nticx
 
El software catalina
El software catalinaEl software catalina
El software catalina
 
El software catalina
El software catalinaEl software catalina
El software catalina
 
Traf final ntcis
Traf final ntcisTraf final ntcis
Traf final ntcis
 
Informe software de base
Informe software de baseInforme software de base
Informe software de base
 
Sistemas operativos evolucion
Sistemas operativos evolucionSistemas operativos evolucion
Sistemas operativos evolucion
 
Informe de sofware
Informe de sofwareInforme de sofware
Informe de sofware
 
Informe de sofware
Informe de sofwareInforme de sofware
Informe de sofware
 
Informe software
Informe softwareInforme software
Informe software
 
El software del computador (informe)
El software del computador (informe)El software del computador (informe)
El software del computador (informe)
 
Diap 01
Diap 01Diap 01
Diap 01
 
Clases de software
Clases de softwareClases de software
Clases de software
 
Primera Unidad de los Sistemas Operativos
Primera Unidad de los Sistemas OperativosPrimera Unidad de los Sistemas Operativos
Primera Unidad de los Sistemas Operativos
 
Actividad N°11
Actividad N°11Actividad N°11
Actividad N°11
 
Ensayo unidad1 raulmorello
Ensayo unidad1 raulmorelloEnsayo unidad1 raulmorello
Ensayo unidad1 raulmorello
 
Fundamentos del computado2
Fundamentos del computado2Fundamentos del computado2
Fundamentos del computado2
 
Desarrollo de habilidades de pensamientos
Desarrollo de habilidades de pensamientosDesarrollo de habilidades de pensamientos
Desarrollo de habilidades de pensamientos
 

Más de Benjamín Joaquín Martínez

Sistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdfSistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdf
Benjamín Joaquín Martínez
 
Portafolio ingles.pdf
Portafolio ingles.pdfPortafolio ingles.pdf
Portafolio ingles.pdf
Benjamín Joaquín Martínez
 
Tabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdfTabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdf
Benjamín Joaquín Martínez
 
Sistema de registro con php
Sistema de registro con phpSistema de registro con php
Sistema de registro con php
Benjamín Joaquín Martínez
 
compiladores6Benjamin133467.pdf
compiladores6Benjamin133467.pdfcompiladores6Benjamin133467.pdf
compiladores6Benjamin133467.pdf
Benjamín Joaquín Martínez
 
Compiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdfCompiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdf
Benjamín Joaquín Martínez
 
133467 compiladores 4.pdf
133467 compiladores 4.pdf133467 compiladores 4.pdf
133467 compiladores 4.pdf
Benjamín Joaquín Martínez
 
133467_COMPILADORES3.pdf
133467_COMPILADORES3.pdf133467_COMPILADORES3.pdf
133467_COMPILADORES3.pdf
Benjamín Joaquín Martínez
 
133467_COMPILADORES2
133467_COMPILADORES2133467_COMPILADORES2
133467_COMPILADORES2
Benjamín Joaquín Martínez
 
COMPILADORES1.pdf
COMPILADORES1.pdfCOMPILADORES1.pdf
COMPILADORES1.pdf
Benjamín Joaquín Martínez
 
Algoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdfAlgoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdf
Benjamín Joaquín Martínez
 
Logica proposicional
Logica proposicionalLogica proposicional
Logica proposicional
Benjamín Joaquín Martínez
 
Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467
Benjamín Joaquín Martínez
 
Bd distribuidas
Bd distribuidasBd distribuidas
diseño de bases de datos distribuidas
diseño de bases de datos distribuidas   diseño de bases de datos distribuidas
diseño de bases de datos distribuidas
Benjamín Joaquín Martínez
 
procesamiento de consultas distribuidas
procesamiento de consultas distribuidasprocesamiento de consultas distribuidas
procesamiento de consultas distribuidas
Benjamín Joaquín Martínez
 
Algoritmo de INGRES
Algoritmo de INGRES Algoritmo de INGRES
Algoritmo de INGRES
Benjamín Joaquín Martínez
 
Fragmentación
FragmentaciónFragmentación
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidor
Benjamín Joaquín Martínez
 
Arquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidasArquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidas
Benjamín Joaquín Martínez
 

Más de Benjamín Joaquín Martínez (20)

Sistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdfSistemas de detección de intrusiones.pdf
Sistemas de detección de intrusiones.pdf
 
Portafolio ingles.pdf
Portafolio ingles.pdfPortafolio ingles.pdf
Portafolio ingles.pdf
 
Tabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdfTabla de llamadas para linux x86_64 bits.pdf
Tabla de llamadas para linux x86_64 bits.pdf
 
Sistema de registro con php
Sistema de registro con phpSistema de registro con php
Sistema de registro con php
 
compiladores6Benjamin133467.pdf
compiladores6Benjamin133467.pdfcompiladores6Benjamin133467.pdf
compiladores6Benjamin133467.pdf
 
Compiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdfCompiladores5_Benjamin133467.pdf
Compiladores5_Benjamin133467.pdf
 
133467 compiladores 4.pdf
133467 compiladores 4.pdf133467 compiladores 4.pdf
133467 compiladores 4.pdf
 
133467_COMPILADORES3.pdf
133467_COMPILADORES3.pdf133467_COMPILADORES3.pdf
133467_COMPILADORES3.pdf
 
133467_COMPILADORES2
133467_COMPILADORES2133467_COMPILADORES2
133467_COMPILADORES2
 
COMPILADORES1.pdf
COMPILADORES1.pdfCOMPILADORES1.pdf
COMPILADORES1.pdf
 
Algoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdfAlgoritmos de búsqueda.pdf
Algoritmos de búsqueda.pdf
 
Logica proposicional
Logica proposicionalLogica proposicional
Logica proposicional
 
Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467Lenguajes para dispositivos moviles 133467
Lenguajes para dispositivos moviles 133467
 
Bd distribuidas
Bd distribuidasBd distribuidas
Bd distribuidas
 
diseño de bases de datos distribuidas
diseño de bases de datos distribuidas   diseño de bases de datos distribuidas
diseño de bases de datos distribuidas
 
procesamiento de consultas distribuidas
procesamiento de consultas distribuidasprocesamiento de consultas distribuidas
procesamiento de consultas distribuidas
 
Algoritmo de INGRES
Algoritmo de INGRES Algoritmo de INGRES
Algoritmo de INGRES
 
Fragmentación
FragmentaciónFragmentación
Fragmentación
 
Modelo cliente servidor
Modelo cliente servidorModelo cliente servidor
Modelo cliente servidor
 
Arquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidasArquitectura de bases de datos distribuidas
Arquitectura de bases de datos distribuidas
 

Último

CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
cuentauniversidad34
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
lasocharfuelan123
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
oscartorres960914
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
Federico Toledo
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
RobertSotilLujn
 

Último (10)

CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
 

Ejercicios java parte 1

  • 1. 2 INDICE N° DE PAG TAREA 1.- TEMARIO, TAREA2.- RESUMEN. TAREA3.- .12 TAREA4.- ALGORITMO PARA ENCONTRAR EL PROMEDIO GENERAL DE N ...................................................................................... TAREA 5.- INVESTIGACIÓN DE CONCEPTOS, TIPOS DE DATOS, ATRIBUTOS, MÉTODOS, CLASE, HERENCIA, ...........................................18 TAREA 6.- ALGORITMO PARA OBTENER EL PROMEDIO GENERAL DE N ALUMNOS CONSIDERANDO 1 A TAREA 7.- INVESTIGACIÓN DE TIPOS DE . TAREA 8.- ALGORITMO DEL FACTORIAL DE UN NÚMERO...................................... TAREA 9.- ALGORITMO CUALITATIVO PARA IR DEL LUGAR DONDE ESTOY HACIA
  • 2. 3 TEMARIO 1 Conceptos Básicos 1.1 Clasificación del software de: sistemas y aplicación. 1.2 Algoritmo. 1.3 Lenguaje de Programación. 1.4 Programa. 1.5 Programación. 1.6 Paradigmas de programación. 1.7 Editores de texto. 1.8 Compiladores e intérpretes. 1.9 Ejecutables. 1.10 Consola de línea de comandos. 2 Algoritmos 2.1 Análisis de problemas. 2.2 Representación de algoritmos: gráfica y pseudocódigo. 2.3 Diseño de algoritmos aplicados a problemas. 2.4 Diseño algorítmico de funciones 3Introducción a la Programación 3.1 Características del lenguaje de programación 3.2 Estructura básica de un programa. 3.3 Traducción de un programa: compilación, enlace de un programa, errores en tiempo de compilación. 3.4 Ejecución de un programa. 3.5 Elementos del lenguaje: datos, literales y constantes, identificadores, variables, parámetros, operadores, entrada y salida de datos.
  • 3. 4 3.6 Errores en tiempo de ejecución. 4 Control de flujo. 4.1 Estructuras secuenciales. 4.2 Estructuras selectivas: simple, doble y múltiple. 4.3 Estructuras iterativas: repetir mientras, hasta, desde 4.4 Diseño e implementación de funciones 5 Arreglos 5.1 Unidimensionales: conceptos básicos, operaciones y aplicaciones. 5.2 Multidimensionales: conceptos básicos, operaciones y aplicaciones. COMPETENCIAS A DESARROLLAR Competencias específicas: Analizar, diseñar y desarrollar soluciones de problemas reales utilizando algoritmos computacionales para implementarlos en un lenguaje de programación. Competencias genéricas: Competencias instrumentales sintético. Competencias interpersonales o en equipo Competencias sistémicas
  • 4. 5 forma autónoma. Búsqueda del logro Unidad 1: Conceptos básicos Unidad 2: Algoritmos Unidad 3: Introducción a la programación las características principales de un lenguaje de programación. Unidad 4: Control de flujo aumentar su funcionalidad. Unidad 5: Arreglos problemas. OBJETIVO GENERAL DEL CURSO Analizar, diseñar y desarrollar soluciones de problemas reales utilizando algoritmos computacionales para implementarlos en un lenguaje de programación.
  • 5. 6 BIBLIOGRAFÍA 1. Luis Joyanes Aguilar, Fundamentos de Programación, Ed. Prentice Hall. 2. Jesús J. García Molina Introducción a la programación un Enfoque Algorítmico, Ed.Paraninfo. 3. Leobardo López Román, Metodología de la Programación Orientada a Objetos, Ed.Alfaomega. 4. Cairo Osvaldo, Metodología de la Programación, Ed. Alfaomega. 5. Deitel y Deitel. Como Programar en C++ quinta Edición. Prentice Hall. 6. Deitel y Deitel. Como Programar en C# quinta Edición. Prentice Hall. 7. Deitel y Deitel. Java como programar. Séptima edición. Prentice Hall. 8. Joyanes Aguilar, Luis Fernández, Azuela Matilde, Rodríguez Baena Luis, Fundamentos de Programación Libro de Problemas Algoritmos Estructura de Datos y Objetos. 2a. edición Ed. Mc. Graw Hill 9. Luis Joyanes Aguilar. Programación en JAVA 2 1ª Edición. Mc Graw Hill. 10. Martín Flowler Kendall Scott. UML Gota a Gota. Addison Wesley. 11. Ramírez Felipe, Introducción a la Programación, Algoritmos y su Implementación En Vb.Net C# Java y C++, 2a. edición, Alfa Omega. 12. Jean-Paul Tremblay, Richar B. Bunt. Introducción a la Ciencia de Las Computadoras. Enfoque Algorítmico. McGraw Hill. 13. Bjarne Storstrup. Lenguaje de Programación C/C++. 14. Cairo Battistutti Osvaldo, Metodología de la Programación, Algoritmos Diagramas de Flujo y Programas, 3a. edición, Alfa Omega. 15. F Pseudocódigo Java Enfoque Algorítmico, Serie Textos Universitarios Facultad de Ingeniería y Arquitectura, ed. Universidad de San Martín de Porres, (http://books.google.com/).
  • 6. 7 Software Se requiere al equipamiento lógico o soporte lógico de un computador digital, comprende el conjunto de los componentes lógicos necesarios para hacer posible la realización de una tarea específica Clasificación del software Software de sistema: Su objetivo es desvincular adecuadamente al programador de los detalles del computador en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memorias, puertos, dispositivos de comunicaciones, drivers, etcétera. Este software procura al usuario y programador adecuadas interfaces de alto nivel y utilidades de apoyo que permita su mantenimiento. Incluye: -Sistemas operativos -controladores de dispositivo -Herramientas de diagnostico -Herramientas de corrección y optimización -Servidores -Utilidades Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación. Incluye: -Editores de texto -Compiladores -Interpretes -Enlazadores -Depuradores -Entornos de desarrollo integrados IDE Software de aplicación: Aquel que permite a los usuarios llevar a cabo una o varias tareas específicas en cualquier campo de actividad susceptible de ser automatizado o asistido. Incluye: -Aplicaciones de control y automatización industrial -Aplicaciones ofimáticas
  • 7. 8 -Software educativo -Software médico -Software de cálculo numérico -Software de diseño asistido -Software de control numérico Sistema operativo Es un software de sistema. Comienza a trabajar cuando se enciende el computador y gestiona el hardware de la máquina, permitiendo también la interacción con el usuario. Se puede encontrar normalmente en la mayoría de los aparatos electrónicos que utilicen microprocesadores para funcionar. Nos brinda 5 funciones básicas: Interfaces del usuario: Es la parte del sistema operativo que permite comunicarse con el de tal manera que se puedan cargar programas, acceder a archivos y realizar otras tareas. Administración de archivos: Un sistema de información contiene programas de administración de archivos que controlan la creación, borrado y acceso de archivos de datos y programas. Administración de tareas: Los programas de administración, administran la realización de las tareas informáticas de los usuarios finales. Pueden distribuir una parte específica del tiempo del CPU para una tarea en particular e interrumpirlo en cualquier momento para sustituirla con una tarea de mayor prioridad. Servicio de soporte: Estos servicios de soporte suelen consistir en; -Actualización de versiones -Mejoras de seguridad -Inclusión de alguna nueva utilidad -controladores para manejar nuevos periféricos
  • 8. 9 -Corrección de errores de software. -Otros Clasificación de los sistemas operativos -Sistemas operativos de multiprogramación En este una computadora procesa varias tareas al mismo tiempo. Para activar tareas que se encuentren en segundo plano, el usuario debe traer al primer plano la ventana o pantalla que contenga esa aplicación. -Sistema operativo monotareas Solo pueden manejar un proceso en cada momento o solo se pueden ejecutar tareas de una en una. -Sistema operativo monousuario Solo pueden atender a un solo usuario. Son muy simples ya que todos los dispositivos de entrada, salida y control dependen de la tarea que se está utilizando. -Sistema operativo multiusuario En esta categoría se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten mismos recursos. -Sistemas operativos por lotes Procesan una gran cantidad de trabajo con poca o ninguna interacción entre los usuarios y los programas de ejecución. Se reúnen todos los trabajos comunes para realizarlos al mismo tiempo evitando la espera de dos o más trabajos. -Sistemas operativos de tiempo real Son aquellos en los cueles no tiene importancia el usuario sino los procesos, se utilizan en entornos donde son procesados un gran número de sucesos o eventos. Se usan en aplicaciones como control de tráfico aéreo, bolsas de valores, control de refinerías, control de laminadores. -Sistemas operativos de tiempo compartido
  • 9. 10 Permiten la simulación de que el sistema y sus recursos son todos para cada usuario. El usuario hace una petición a la computadora, está la procesa tan pronto como lo es posible y la respuesta aparecerá en la terminal de usuario. -Sistemas operativos distribuidos Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede que los procesadores estén en un equipo o en diferentes. -Sistemas operativos de red Son aquellos sistemas que mantienen a dos o más computadoras unidas a través de algún medio de comunicación con el objetivo de poder compartir los diferentes recursos y la información del sistema. 1.2 Definición de algoritmo De forma sencilla podemos decir que un algoritmo es un conjunto de pasos que nos permite obtener una solución. Debe cumplir estas condiciones: Finitud: El algoritmo debe acabar tras un número finito de pasos. Definibilidad: El algoritmo debe definirse de forma precisa para cada paso, es decir hay que evitar toda ambigüedad, puesto que el lenguaje es impreciso, los algoritmos se expresan mediante un lenguaje formal. Entrada: El algoritmo debe tener entradas, es decir cantidades dadas antes de empezar el algoritmo. Se trata siempre de cantidades representativas del mundo real expresadas de tal forma que sean actas para su interpretación por el computador. Salida: El algoritmo tiene una o más salidas en relación con las entradas. Efectividad: Una persona debe ser capaza de realizar el algoritmo de modo exacto y sin ayuda de una máquina en un lapso de tiempo finito. Los pasos que hay que seguir son los siguientes: 1. Análisis previo del problema 2. Primera visión del método de resolución 3. Descomposición en módulos 4. Búsqueda de soluciones parciales 5. Ensamblaje de soluciones finitas
  • 10. 11 Lenguaje algorítmico Es aquel por medio del cual se realiza un análisis previo del problema a resolver y encontrar un método que permita resolverlo. El conjunto de todas las operaciones a realizar, y el orden en el que deben efectuarse se le denomina algoritmo El pseudocódigo Es un conjunto de palabras reservadas y reglas para escribir algoritmos de una manera más formal y estructurada. El objetivo es tener un algoritmo que este planteado en términos más cercanos a los lenguajes de programación utilizados en la computadora. El pseudocódigo no es un lenguaje de programación.
  • 11. 12 ALGORITMO PARA CONTAR LOS NÚMEROS PARES DE 1 A N. Análisis a)Leer el problema Objetivo general: Contar cuantos pares hay en el intervalo de 1 a n Objetivos secundarios: b)Acotar el problema 2 ---------------- n d)Interpretación Variables conta=2 Preguntar 2<=10? Si ** No *** ciclo ** contaP=contaP+1 contaP= conta + 2 ***Imprimir contaP n conta contaP ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: c)Representación matemática n leer conta <=n? conta contaP 2<=10? si 4<=10? si 6<=10? si 8<=10? si 10<=10? si 12<=10? No 2+2=4 4+2=6 6+2=8 8+2=10 10+2=12 0+1=1 1+1=2 2+1=3 3+1=4 4+1=5
  • 12. 13 e) Algoritmo CPU n=10 conta= 2,4,6,8,10,12 contaP=1,2,3,4,5 1.-Leer n 2.- conta=2 3.-contaP=0 4.-if conta <=n Si------------------------- ir al paso 8 No----------------------- ir al paso 5 5.- contaP= contaP+1 6.-conta= conta + 2 7.-Ir al paso 4 8.-Fin Pseudocódigo
  • 14. 15 Algoritmo para encontrar el promedio general de un grupo de n alumnos Análisis a) Leer y comprender el problema Objetivo general: Obtener el promedio general Objetivos secundarios: Número de alumnos Promedio individual b)Acotar el problema 1 n d)Interpretación Variables Leer n *contaAlum= contaAlum +1 Leer calif sumaCalif=sumaCalif + calif ciclo if contaAlum < =n Si------------------------------- ir a * No ------------------------------ ir a ** ** promGen= sumaCalif /n Fin n contaAlum calif sumaCalif promGen ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: c)Representación matemática leer n n=4 Alumno = 1 <=n? 2 <=n? 3 <=n? 4<=n? calif = 10 + 9 + 8 + 7 sumaCalif= 10+9=19 promGen= sumaCalif/ n sumaCalif= 19+8=27 sumaCalif= 27+7=34 promGen= 34/4= 8.5
  • 15. 16 e) Algoritmo CPU n=4 contaAlum=0,1,2,3,4, calif=10,9,8,7 sumaCalif=10,19,27,34 promGen=8.5 Int contaAlum, calif,sumaCalif,promGen cuentaAlum=1 sumaCalif=0 1.- Leer n 2.- contaAlum= cuentaAlum +1 3.- Leer calif 4.-sumaCalif=sumaCalif + calif 5.-if contaAlum <= n Si------------------------------- ir al paso 2 No ------------------------------ ir al paso 6 6.- promGen= sumaCalif /n 7.- promGen 8.-Fin Pseudocódigo
  • 17. 18 Conceptos Clase: Una clase es una colección de miembros dato y método que define un objeto especifico. Es la construcción fundamental del lenguaje java y se declara class. Atributo: También llamados datos o variable miembro son porciones de información que un objeto posee o conoce de sí mismo. Objeto: Es una entidad compuesta de varios datos y las operaciones que realizamos sobre esos datos. Método: Una serie de sentencias para llevar a cabo una acción, un juego de parámetros de entrada que regularon dicha acción y posiblemente un valor de salida (o valor de retorno). Encapsulamiento: Consiste en la combinación de los datos y las operaciones que se pueden ejecutar sobre esos datos en un objeto, impidiendo usos indebidos al forzar que el acceso a los datos se efectué siempre a través de los métodos objetos. Herencia: Es la capacidad para crear nuevas clases (descendientes) que se construyen sobre otros existentes, permitiendo que estas les transmitan sus propiedades. Polimorfismo: Consigue que un mismo mensaje pueda actuar sobre diferentes tipos de objetos y comportarse de modo distinto, por ejemplo cuando se obtienen nuevas clases a partir de una ya existente, mediante esta derivación de clases o herencia. Mensaje: Son la comunicación entre los objetos, sin los mensajes, los objetos tendrían que actuar solos y no podríamos hacer productivo el uso de la programación.
  • 18. 19 Tipos de datos Los tipos de datos primitivos contienen un solo valor e incluyen: Enteros: Estos tipos son byte, short, int y long, que guardan el signo valor, estos representan un número y no pueden representar elementos fraccionarios. byte mi dato1=1; short midato2=100; int midato3=10000; long midato4= 1000000000; Número en coma flotante: Estos son float y double y pueden almacenar números en coma flotante y con signo, esto quiere decir que nos permiten representar números decimales. Todas las literales de coma flotante son del tipo doublé salvo que se especifique lo contrario, por eso si se intenta asignar un literal en coma flotante a una variable de tipo float el compilador nos dará un error. El tipo carácter: Estos son de tipo char, que almacena la representación de los caracteres (letras o números), un carácter esta almacenado en 16 bits, y sigue un estándar que es el Unicode. El tipo booleano: Este solo guarda dos valores verdadero (true) o falso (false), y no ocurre en otros lenguajes que toman los valores 0 y 1. Generalmente su utilización es muy frecuente para determinados flujos de programas. Tipos de datos Rango de valores Descripción Números enteros byte 8-bit complemento a 2 Entero de un byte Short 16-bit complemento a 2 Entero corto int 32-bit complemento a 2 Entero long 64-bit complemento a 2 Entero largo Números reales float 32-bit IEEE 754 Coma flotante de precisión simple double 64-bit IEEE 754 Como flotante de precisión doble Otros tipos char 16-bit carácter Un solo carácter boolean True o false Un valor booleano (verdadero o falso)
  • 19. 20 String Contiene secuencias de puntos de código de 16 bits sin signo ( 2 bytes) que van de un valor de 0 a 65535. Los tipos de datos cadena (String) son secuencias de caracteres que pueden llegar a tener la longitud máxima de 255 . Cada carácter de esta cadena ocupa un byte de memoria . En java las cadenas de caracteres son objetos que se manipulan aunque existan ciertas operaciones como la creación de String. Un String se crea mediante el operador new. String s = new String Los String no se modifican una vez que se les asigna un valor si se le asigna se crea un nuevo objeto String con el nuevo contenido. ´
  • 20. 21 Algoritmo para encontrar el promedio general de un grupo de n alumnos, cada alumno tiene de 1 a 4 materias. Análisis 1.- Leer y comprender el problema Objetivo general: Obtener el promedio general de un grupo de n alumnos. Objetivos secundarios: -Grupo: Número de alumnos -Alumno: Número de materias por alumno Calificación por materia Promedio individual 2.-Acotar el problema Alumno Materias 1 1 <= 4 n
  • 21. 22 3.- Representación matemática ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: contaMat = 1<=totMat? 2 <=totMat? 3 <=totMat? 4<=totMat? calif = 8 + 9 + 10 + 9 sumaCalif= 8+9=17 promInd= sumaCalif/ totMat sumaCalif= 17+10=27 sumaCalif= 27+9=36 promInd= 36/4= 9 contaMat = 1<=totMat? 2 <=totMat? 3 <=totMat? 4<=totMat? calif = 8 + 9 + 10 + 8 sumaCalif= 8+9=17 promInd= sumaCalif/ totMat sumaCalif= 17+10=27 sumaCalif= 27+8=35 acumProm= acumProm+promInd promInd= 35/4= 8.75 promGen= 9 + 8.75 /2= 8.87
  • 22. 23 4.-Interpretación Variables sumaCalif=0 contMat=1 acumProm=0 contaAlum=1 Leer n *** If (totMat >= 1) && (totMat<=4) Si------------------- ir al paso * No----------------- *Leer calif sumaCalif= sumaCalif + calif contaMat= contaMat +1 if (contaMat<= totMat) Si---------------------- ir al paso* ciclo No--------------------- ir al paso ** **promInd=sumaCalif/totMat acumProm= acumProm + promInd contaAlum= contaAlum + 1 if conta alum <= n Si------------------------------ ir al paso *** No----------------------------- ir al paso **** **** promGen= acumProm /n Fin n totMat contaAlum calif sumaCalif contMat promInd acumProm promGen :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  • 23. 24 5.-Algoritmo CPU n=2 totMat=4,4 contaAlum =1,2 calif=8,9,10,9, 8,9,10,8 sumaCalif=8,17,27,36, 8,17,27,35 contMat=1,2,3,4, 1,2,3,4, promInd= 9, 8.75 acumProm=9,17.75 promGen=8.87 sumaCalif=0 contMat=1 acumProm=0 contaAlum=1 1.- Leer n 2.- 3.- If (totMat >= 1) && (totMat<=4) Si------------------- ir al paso 4 No----------------- 4.- Leer calif 5.-sumaCalif= sumaCalif + calif 6.- contaMat= contaMat +1 7.- if (contaMat<= totMat) Si---------------------- ir al paso 4 No--------------------- ir al paso 8 8.- promInd=sumaCalif/totMat 9.-acumProm= acumProm + promInd 10.- contaAlum= contaAlum + 1 11.- if conta alum <= n Si------------------------------ ir al paso 2 No----------------------------- ir al paso 12 12.- promGen= acumProm /n 13.- promGen 14.-Fin
  • 24. 25
  • 26. 27 Tipos de operadores Operadores Aritméticos Existen 5 operadores aritméticos cuyo significado se muestra en esta tabla: Operador Nombre Ejemplo + Suma 3 + 5 - diferencia 3-4 * producto 3*4 / corriente 20/7 % modulo 20%7 EL cociente entre dos enteros da como resultado un entero. Por ejemplo, al dividir 20 entre 7 nos da como resultado 2. El operador módulo da como resultado el resto de la división entera, por ejemplo 20 % 7 da como resultado 6 que es el resto de la división entre 20 y 7. Los operadores lógicos Los operadores lógicos son: -&& AND (el resultado es verdadero si ambas expresiones son verdaderas) -|| OR (el resultado es verdadero si alguna expresión es verdadera) - ! NOT (el resultado invierte la condición de la expulsión) AND y OR trabajan con dos operadores y retoman un valor lógico basados en los denominados tablas de verdad. El operador NOT actúa sobre un operando. Estas tablas de verdad son conocidas y usadas en el contexto de la vida diaria. Las tablas de verdad de los operadores AND, OR y NOT se muestran en la tabla siguiente:
  • 27. 28 El operador lógico AND X y Resultado True True True True False False False True False false false False El operador lógico OR X y Resultado True True True True False True False True True false false False El operador lógico NOT X Resultado True false false true Los operadores AND y OR combinan expresiones relacionales cuyo resultado viene dado por la última columna de sus tablas de verdad. Ejemplo: (a<b) && (b<c) es verdadero si ambos son verdaderos (a<b)|| (b<c) es verdadero si uno de las condiciones lo es
  • 28. 29 Los operadores relacionales Los operadores relacionales son símbolos que se usan para comparar dos valores. Si el resultado de la comparación es correcto la expresión considerada es verdadera, en caso contrario es falsa. Operador Nombre Ejemplo Significado < Menor que a<b a es menor que b > Mayor que a>b a es mayor que b == Igual a a==b a es igual que b != No igual a a!=b a es distinto que b <= Menor que o igual a a<=b a es menor o igual que b >= Mayor que o igual a a>=b a es mayor o igual que b
  • 29. 30 Algoritmo para encontrar el factorial de un número n Análisis a) Leer y entender el problema Objetivo general: Encontrar el factorial de un número entero cualquiera introducido por el usuario del algoritmo Objetivos secundarios: b)Acotar el problema n---------------------------------------------------------- 1 d) Interpretación Variables auxiliar= n-1= 3 factorial= n * auxiliar=12 if auxiliar= 1 si *** no ** **auxiliar= auxiliar -1 factorial = factorial * auxiliar if auxiliar= 1 si *** no ** imprimir factorial n auxiliar factorial ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: c)Representación matemática n=4 Le damos un valor a n fact= 4 * 3 * 2 * 1 fact= 12 fact= 24 fact= 24 ciclo
  • 30. 31 e) Algoritmo CPU n=4 auxiliar=3,2,1 factorial=12,24,24 1.- Inicio 2.- Leer n 3.- auxiliar= n-1 4.- factorial= n * auxiliar 5.- if (auxiliar=1) Si ir al paso 9 No ir al paso 6 6.- auxiliar= auxiliar 1 7.- factorial= factorial * auxiliar 8.- Volver al paso 5 9.- 10.- Fin Pseudocódigo
  • 32. 33 Algoritmo cualitativo para ir desde el lugar donde estoy a la puerta del aula 1.- Inicio 2.- Levantarme 3.- Girar 90 ° a la derecha 4.- Caminar 2 pasos 5.- Girar 90 ° a la izquierda 6.- Avanzar 10 pasos 7.- Girar 90 ° grados a la derecha 8.- Avanzar 2 pasos 9.- Preguntar ¿llegue a la puerta? Si ir al paso 10 No ir al paso 8 10.- Fin