Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. [email protected].

50
Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. [email protected]

Transcript of Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. [email protected].

Page 1: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Elaborado por: Lic. Janneth Antonieta Lazarte Pé[email protected]

Page 2: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Computadora Dato Tipos de datos Identificadores Variables, Constantes Operadores, Expresiones Ejercicios

Page 3: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Una computadora es una máquina electrónica digital capaz de procesar información y producir datos de salida para lo cual requiere de ciertos datos de entrada, esta compuesta por dos elementos fundamentales:

Software. Hardware

Hardware: es la parte físicade la computadora, esaquello que podemos ver ytocar Software: es la parte lógicade la computadora

Page 4: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Dispositivos de entrada/salida

Memoria Auxiliar

CPU

Unidad Aritmética-lógica

Unidad de Control

Memoria Principal

Page 5: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Numéricos (enteros, reales)

Simples Alfanuméricos (string)

Lógicos (verdad o falso)

Tipos de

Datos Arreglos (Vectores, Matrices)

Estructurados Registros

Archivos

Apuntadores

Los datos son los objetos de información sobre los que actúa un programa.

Un dato puede ser un simple carácter como 'a', un valor entero tal como 35, un número real tal como 2.345 o una cadena tal como "algoritmia". 

Todos los datos tienen un tipo asociado con ellos

Page 6: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Identificador: es un nombre que puede darse a una variable, a una constante y en general a cualquier elemento de un programa que necesite nombrarse, sirve para identificar una posición en la memoria de la computadora.

Ejemplo NombreNum_hrsCalif2

Page 7: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Una Variable es una localización en la memoria principal que almacena un dato que puede cambiar a lo largo de la ejecución del programa. Una variable tiene asociada dos cosas fundamentales: un identificador y un tipo de dato

Ejemplo variable enteraVariable real

Edad 27

Descuento 23.57

Se denominan constantes a todos aquellos valores que no cambian durante la ejecución de un programa.

Constantes enteras 12, 20300, 15, etc.Constantes reales 3.1416, 2345.456, etc.Constantes de carácter 'a', 'B', ';', '<', '+', etc.Constantes de cadena "Hola", “programación", etc.Constantes lógicas verdadero, falso

Page 8: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.Ejemplo:

a+(b + 3)/c

Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican las expresiones en:

Aritméticas Relaciónales Lógicas

Page 9: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Los Operandos son valores constantes o variables

Los Operadores son elementos que relacionan de forma diferente los valores de una o mas variables y/o constantes. Es decir, los operadores nos permiten manipular valores

Operador Significado

+ Suma- Resta

* Multiplicación

/ División

ModResiduo de división entera

^ Exponenciación

Operador

Significado> mayor

>=mayor o igual que

< menor<=

menor o igual que

igual a<> diferente de

Operador Significado

no (not) negación

y (and) conjunción

o (or) disyunción

Operadores Aritméticos Operadores Relacionales

Operadores Lógicos

Page 10: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Tablas de Verdad de los operadores Not, And, Or

Operador Prioridad

( ) No es operador

^ Exponenciación

*, /, Mod Div Multiplicación División Residuo

+, - Suma Resta

>,>=,<,<=,,<>

Mayor, mayor o igual, menor, menor o igual, igual a, diferente de

not, and, or Negación, conjunción, disyunción

p qp and

qV V V

V F F

F V F

F F F

p q p or q

V V V

V F V

F V V

F F F

p not p

V F

F V

Page 11: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Expresar las siguientes condiciones como expresiones lógicas:

a) B es mayor que 2.b) M es menor ó igual que 5 pero mayor que 25.c) P es igual a 6 ó mayor que Q.d) N es menor que 50.e) M es mayor que A, B y C.f) Z esta en el intervalo de 4 a 100.g) T es igual a 2, 3 ó 4.

Evaluar las siguientes expresiones:

4 + 5 * (10 - 6) / 2 + 3 ^ 4 =

8 + 3 * (25 - (2 + 4)) =

Sea: a = 10, b = 12, c = 13, d =10

 ((a > b)or(a < c)) and ((a = c) or (a > = b)) =

((a > = b) or (a < d)) and (( a > = d) and (c > d)) =

not (a = c) and (c > b) =

Page 12: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

a.  B > 2 b.  ( M <= 5 ) y ( M > 25 ) c.  ( P = 6 ) o ( P > Q ) d.  N < 50 e.  ( M > A ) y ( M > B ) y ( M > C ) f.  ( Z >= 4 ) y ( Z <= 100 ) g. ( T = 2 ) o ( T = 3 ) o ( T= 4)

= 95 = 65

= F = F = V

Evaluar las siguientes expresiones:

Page 13: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

La instrucción de asignación se utiliza para asignar valores a variables o, lo que es igual, cambiar el valor almacenado en la posición de memoria de una variable.

La operación de asignación se denota con el símbolo

El formato de la instrucción de asignación es: A 5 significa que a la variable A se le asigna el valor 5

Page 14: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

1. Cuales son los valores de A,B y C después de la ejecución de las siguientes operaciones?

A 3 B 4 C A + 2 * 8 C C + B B C - A A B * C

Page 15: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

• programaprograma

F1: Fase de Resolución del ProblemaF2: Fase de Implementación en la Computadora

Page 16: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.
Page 17: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

-Herramientas

de Programación

Análisis del Problema

Verificación Manual del Algoritmo

Diseño delAlgoritmo

Resolución del

Problema

- Definición del Problema

- Datos de Entrada- Datos de Salida

- Hacer para- Hacer mientras- Repetir hasta

- DFD-

Pseudocódigo

- Chapin

Page 18: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

El objetivo de esta fase es ayudar al programador a comprender la naturaleza del problema, para lo cual éste requiere el máximo de su imaginación y creatividad. Para esto se debe identificar claramente que tipo de información se necesita producir, y luego aquellos elementos dados en el problema que pueden ser útiles para obtener la solución.

  Ejemplo: Leer dos números y calcular su suma.  Análisis del Problema

 Variables de entrada A : número real B : número real

 Variables de salida S : suma de los números A y B, número real

Page 19: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

En la etapa de Análisis se determina QUE hará el programa, mientras que en la etapa de Diseño se determina COMO hará el programa la tarea solicitada.

 

Page 20: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Un Algoritmo es un conjunto ordenado y finito de pasos o instrucciones que conducen a la solución de un problema

Características de un Algoritmo Preciso – indicar el orden de realización Definido – no debe permitir dobles interpretaciones, no ambiguo Finito – debe tener un número finito de instrucciones, terminar General – soportar la mayoría de las variantes Efectivo – ser capaz de resolver el problema planteado

Tipos de AlgoritmosCualitativosCuantitativos

Page 21: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.

Ejemplo: Algoritmo para cocinar un huevo duro. Inicio

P1. Llenar la olla con aguaP2. Encender el fuego de la cocinaP3. Poner la olla al fuegoP4. Esperar hasta que hierva el aguaP5. Introducir el huevo en la ollaP6. Esperar 10 minutosP7. Apagar el fuegoP8. Vaciar el aguaP9. Sacar el huevo de la olla

Fin

Page 22: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos.

Ejemplo: Algoritmo para sumar dos números.

InicioP1. Leer (A,B)P2. C A + BP3. Escribir ( C )

Fin

Page 23: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Las herramientas utilizadas comúnmente para diseñar algoritmos son:

◦ Diagramas de Flujo

◦ Pseudocódigo

◦ Diagrama Estructurado (Nassi-Schneiderman)

Page 24: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Es la representación grafica de un algoritmo

Esta representación grafica se da cuando varios símbolos se relacionan entre si mediante líneas que indican el orden en que se deben ejecutar los procesos

Proceso

VF

Leer

Proceso

Proceso

Escribir

Fin

Decisión

Inicio

Page 25: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Representa el INICIO “C” y el FINAL “fin” del de un programa

Representa la ENTRADA/SALIDA de datos desde o hacia cualquier periférico de entrada o salida

Representa PROCESO, se utiliza para realizar cualquier tipo de operación que pueda originar cambios de valores en las variables, pueden ser operaciones aritméticas, de transferencia, etc.

Representa DECISION, se utiliza para indicar operaciones lógicas o de comparación entre datos, dependiendo del resultado cual de los caminos alternativos a seguir.

CONECTOR, se utiliza para enlazar dos partes cualesquiera de un diagrama de flujo en la misma página

Page 26: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

CONECTOR, se utiliza para enlazar dos partes cualesquiera de un diagrama de flujo en diferentes páginas.

LINEAS DE FLUJO, indican el sentido de ejecución de las operaciones. (flujo de la información)

LINEA CONECTORA, se utiliza para unir dos símbolos

Se utiliza para realizar llamadas a subprogramas

IMPRESORA, se utiliza para enviar datos a la impresora

PANTALLA, se utiliza para mostrar los resultados por pantalla

Page 27: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Símbolo utilizado para representar una decisión múltiple.

Dependiendo del valor de la expresión se sigue una de las ramas o caminos alternativos.

v1 v2 vn

Expresión óExpresión ó VariableVariable

Acción 1Acción 1 Acción 2Acción 2 Acción NAcción N

Page 28: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Usar solamente líneas de flujo horizontales y/o verticales.

Evitar el cruce de líneas Usar conectores solo cuando sea necesario. No deben quedar líneas de flujo sin conectar Se deben trazar los símbolos de manera que se

puedan leer de arriba hacia abajo y de izquierda a derecha.

Page 29: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado

Mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa

Page 30: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

EspañolInicioFinLeerEscrbirSi-entonces-sinoDesdeMientrasRepetir – hasta

InglesBeginEndReadWriteIf - Then- ElseForWhileRepeat-Until

Page 31: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Identación

Si (x < 5) Entonces y n *x

Sino y n/5

Fin-si

Sin Identación

Si (x < 5) Entonces y n *x Sinoy n/5 Fin-si

Page 32: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

El diagrama estructurado N-S también conocido como diagrama de chapín es como un diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas.

Las acciones sucesivas se pueden escribir en cajas sucesivas y como en los diagramas de flujo

Page 33: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Estructura secuencial

Estructura Condicional

Si – Entonces – Sino

(If –Then-Else)

Estructura

Según sea

(Case)

Condición V

Acciones

F

Acciones

Expresión

Accio

nes

23

4Otros

Accio

nes

Accio

nes

Acciones

Acciones

1

Page 34: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Estructura desde (For)Desde <contador>

Acciones

Vi a Vf (Paso p)

Mientras <condición>

Acciones

Repetir hasta <cond>

Acciones

Estructura Mientras (While)

Estructura Repetir – Hasta (Repeat - Until)

Page 35: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Programación Estructurada es un conjunto de técnicas para desarrollar programas fáciles de escribir, verificar, leer y mantener

Razones por las que se utiliza la programación estructurada

◦ Permite una fácil comprensión del programa◦ Permite ahorrar el número de instrucciones del programa◦ Permite una fácil modificación de las instrucciones del programa◦ Permite un fácil mantenimiento del programa

Page 36: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Estas estructuras se clasifican de acuerdo con su complejidad en:

- Asignación- Entrada- Salida

- Simples (If-Then)

- Dobles (If-Then-Else)- Múltiples (Case)

- Para/Desde (For)

- Mientras (While)

- Repetir Hasta (Repeat- Until)

Secuenciales

Cíclicas oRepetitivas

Condicionales

EstructuraAlgorítmicas

Page 37: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia

Una estructura secuencial se representa de la siguiente forma:

Inicio

Accion1 Accion2 . . AccionN

Fin

Page 38: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

CondiciónCondición

Ejecuta una determinada acción cuando se cumple una determinada condición. La selección if – then (si – entonces) evalúa la condición y si es verdadera ejecuta la acción o las acciones de lo contrario no hará nada

 

Acción AAcción A

Acción BAcción B

sisi (Condición) (Condición) entoncesentonces Acción AAcción A Acción BAcción Bfin_sifin_si

VVFF

Page 39: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

CondiciónCondición

Permite elegir entre dos opciones posibles en función del cumplimiento o no de una determinada condición. Si la condición es verdadera, se ejecuta la acción A -o conjunto de acciones- y si es falsa, se ejecuta la acción 1 –o conjunto de acciones.

 

Acción AAcción A

Acción BAcción B

SiSi (Condición) (Condición) EntoncesEntonces Acción AAcción A Acción BAcción B SinoSino Acción 1Acción 1 Acción 2Acción 2fin_sifin_si

Acción 1Acción 1

Acción 2Acción 2

VVFF

Page 40: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

CondiciónCondición

Permite elegir entre dos opciones posibles en función del cumplimiento o no de una determinada condición. Si la condición es verdadera, se ejecuta la acción A -o conjunto de acciones- y si es falsa, se ejecuta la acción 1 –o conjunto de acciones.

 

Acción AAcción A

Acción BAcción B

SiSi (Condición) (Condición) EntoncesEntonces Acción AAcción A Acción BAcción B SinoSino Acción 1Acción 1 Acción 2Acción 2fin_sifin_si

Acción 1Acción 1

Acción 2Acción 2

VVFF

Page 41: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

VariableVariable

La estructura de selección múltiple evaluará una expresión que podrá tomar n valores distintos 1, 2, 3, 4, …..n. Según que elija uno de estos valores en la condición, se realizará una de las n acciones.

 

……………….. Acción NAcción NAcción 1Acción 1 Acción 2Acción 2= op1= op1 = op2= op2 = op N= op N

según_seasegún_sea variable variable hacerhacer op1: acción1op1: acción1 op2: acción2op2: acción2 .. .. opn: acción Nopn: acción N sinosino: acciónX: acciónXfin_segúnfin_según

Page 42: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

  

Page 43: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

  

PseudocódigoPseudocódigo   InicioInicio

Leer A, BLeer A, BLeer swLeer swsegún_seasegún_sea sw sw hacerhacer1: c 1: c A + B A + B Mostrar cMostrar c2: c 2: c A – B A – B Mostrar cMostrar c3: c 3: c A * B A * B Mostrar cMostrar c4: 4: sisi B <> 0 B <> 0 entoncesentonces

C C A / B A / BMostrar CMostrar C

si_nosi_no Mostrar “b debe ser Mostrar “b debe ser distinto de cero”distinto de cero” fin_sifin_sisi_nosi_no: Mostrar “valor : Mostrar “valor ingresado debe estar ingresado debe estar entre 1 y 4”entre 1 y 4”fin_segúnfin_según

FinFin

Page 44: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

i

var var vi , vf, inc vi , vf, inc

AccionesAcciones

Para Para var var vi vi hastahasta vf [inc/dec] valor vf [inc/dec] valor hacerhaceracción1acción1acción2acción2

fin_parafin_para

Page 45: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

EjemploEjemplo Mostrar los N primeros números naturales. Mostrar los N primeros números naturales.  Diagrama de FlujoDiagrama de Flujo

PseudocódigoPseudocódigo  InicioInicio

Leer NLeer Nparapara i i 1 1 hastahasta N N hacerhacer

Mostrar iMostrar ifin_parafin_para

FinFin

Page 46: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Símbolo utilizado para representar una estructura repetitiva.

Mientras la condición se cumpla realizar las acciones

CONDICIÓNCONDICIÓN

AccionesAcciones

i

CondiciónCondición

Acción AAcción A

Acción BAcción B

VV

FF

VV

FF

Page 47: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Ejemplo Mostrar los N primeros números naturales.

PseudocódigoPseudocódigo  InicioInicio

Leer NLeer Ni i 1 1mientrasmientras i <= N i <= N hacerhacer

Mostrar iMostrar ii i i + 1 i + 1

fin_mientrasfin_mientrasFinFin

Page 48: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Símbolo utilizado para representar una estructura repetitiva.

Repetir las acciones hasta que la condición se cumpla

CONDICIÓNCONDICIÓN

AccionesAcciones

CondiciónCondición

Acción AAcción A

Acción BAcción B

VV

FF

FF

VV

Page 49: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.

Ejemplo Mostrar los N primeros números naturales.

PseudocódigoPseudocódigo  InicioInicio

repetirrepetirLeer NLeer N

hasta_quehasta_que (N > 0) (N > 0)i i 1 1repetirrepetir

Mostrar iMostrar ii i i + 1 i + 1

hasta_quehasta_que (i > N) (i > N)FinFin

Page 50: Elaborado por: Lic. Janneth Antonieta Lazarte Pérez. janlazarte@usalesiana.edu.bo.