You are on page 1of 32

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS FACULTAD DE INGENIERIA DE SISTEMAS E INFORMATICA

ALGORITMICA I

PRIMERA SEMANA
INTRODUCCIN
PROFESORA : Mg. Virginia Vera Pomalaza

Temario

Contenido del Curso Algoritmos Representacin de Algoritmos. Programacin de Computadoras Introduccin a lenguaje de programacin. Estructura de un programa de Computadora Compilacin.

Contenido del Curso


INTRODUCCION A LA PROGRAMACION

ALGORITMOS
ESTRUCTURA DE CONTROL

DATOS
ESTRUCTURA DE DATOS

FUNCIONES

APUNTADORES ARREGLOS, REGISTROS ARCHIVOS

Contenido del Curso


Introduccin a la programacin
Estructura de Control > Secuencial > Condicional o Selectiva > Repetitiva o Iterativa

Estructura de Datos
> Arreglos > Vectores > Matrices > Registros > Punteros > Archivos

Metodologa

Teora:

Exposicin de conceptos tericos por parte del profesor. Participacin de los alumnos con respuestas y preguntas a problemas planteados. Presentacin de la practica dirigida por parte del profesor. Desarrollo de la practica, documentacin y presentacin por parte de los alumnos. Implementacin de los ejercicios de la practica dirigida en el computador utilizando un lenguaje de programacin por parte de los alumnos. Gua en el desarrollo de los ejercicios por parte del profesor Evaluacin de los trabajos desarrollados en cada laboratorio.

Practica:

Laboratorio:

Evaluacin

Examen Parcial EP Examen Final EF Promedio de Practicas Calificadas PPC Promedio de Proyecto del Curso. PY Promedio de Laboratorio. PL PPL = (PL1+PL2+PL3 + PY)/4 FINAL = 0.2* EP + 0.4* EF + 0.2* PPL + 0.2*PPC

Bibliografia.

JOYANES AGUILAR, Luis 2003 FUNDAMENTOS DE PROGRAMACIN Algoritmos, Estructura de Datos y Objetos. McGraw-Hill, Madrid, 1004p. JOYANES AGUILAR, Luis y SANCHEZ GARCIA, Lucas. 2006 PROGRAMACION EN C++ Un enfoque prctico. McGraw-Hill, Madrid, 1 SCHILDT, Herbert 1993 Turbo C/C++ 3.1 MANUAL DE REFERENCIA. McGraw-Hill, Madrid, 1028p. STAUGAARD C. Andrew 1998 TECNICAS ESTRUCTURADAS Y ORIENTADAS A OBJETOS Una Introduccin utilizando C++. Prentice Hall, Mxico D. F. 770p. DEITEL H., Deitel P. 2008. C++ Como programar 6 Ed Pearson. Prentice Hall. Mexico. 1112 p. OSWALDO CAIRO. METODOLOGIA DE LA PROGRAMACION (Tomo I y II)

ALGORITMOS
Es un mtodo para resolver un problema a travs de una secuencia de pasos lgicos que lo llevar a cumplir un objetivo solucin. Caractersticas de los algoritmos: Debe ser eficiente e indicar el orden de realizacin de cada paso.

Solucin de un Problema

Escriba el enunciado del problema

Solucin de un Problema

Dibuje un diagrama que represente el problema a resolver

Solucin de un problema

Haga una lista con las suposiciones y aproximaciones involucradas en la solucin del problema

Solucin de un problema

Relacione el problema con otro, o una experiencia similar

Solucin de un problema

Escriba un algoritmo

Solucin de un problema

Examine y evale la respuesta para ver si tiene sentido

Definicin de Algoritmo

Mtodo que se realiza paso a paso, a fin de solucionar un problema en un nmero finito de pasos.

CARACTERISTICAS DE LOS ALGORITMOS


Todo algoritmo debe cumplir las siguientes caractersticas:

Debe ser Preciso; Esto es, debe especificar sin ambigedad el orden en que se deben ejecutar las instrucciones.

Debe estar Definido; Esto es, cada vez que se ejecute bajo las mismas condiciones, la secuencia de ejecucin deber ser la misma proporcionndonos el mismo resultado.

Debe ser Finito; Esto es, siempre que sea adecuado se realizarn un nmero finito de instrucciones, en un tiempo finito y

requiriendo una cantidad finita de esfuerzo.

Representacin de Algoritmos

Redactar la secuencia de pasos.


Lenguaje natural.

Diagrama de Nassi-Schneiderman (N-S)


Los diagramas N-S constan de una serie de cajas, que comienzan con un primer rectngulo que se va rellenando de arriba-abajo. Al igual que el diagrama de flujo, el diagrama N-S tambin es un medio de presentacin visual y grfica del flujo de datos

Diagramas de Flujo
Es un esquema para representar grficamente un algoritmo. Se basan en la utilizacin de diversos smbolos para representar operaciones especficas. Se les llama diagramas de flujo porque los smbolos utilizados se conectan por medio de flechas para indicar la secuencia de operacin.

Pseudocdigo
El pseudocdigo es un forma de representar un algoritmo, mediante sentencias similares al lenguaje natural, pero con una precisin mayor.

Representacin de Algoritmos
Redactar la secuencia de pasos.Lenguaje natural.
Ejemplo Disear un algoritmo para calcular el rea y el permetro de un rectngulo. Para desarrollar este problema es necesario conocer las frmulas para obtener tanto el rea como el permetro de un rectngulo. 1. Sea b = base y h = altura 2. Datos de entrada: b y h (base y altura) 3. Procesos: a. rea = b * h b. Permetro = 2 * (b + h) 4. Datos de salida: rea y permetro

Representacin de Algoritmos
Diagrama de Nassi-Schneiderman (N-S)
Los diagramas N-S constan de una serie de cajas, que comienzan con un primer rectngulo que se va rellenando de arriba-abajo. Al igual que el diagrama de flujo, el diagrama N-S tambin es un medio de presentacin visual y grfica del flujo de datos Ejemplo: Se desea un algoritmo para obtener el valor absoluto de un nmero

Representacin de Algoritmos

Diagramas de Flujo
Es un esquema para representar

grficamente un algoritmo. Se basan


en la utilizacin de diversos smbolos para representar operaciones especficas. Se les llama diagramas de flujo porque los smbolos utilizados se conectan por medio de flechas para indicar la secuencia de operacin

Representacin de Algoritmos

Pseudocdigo El pseudocdigo describe un

INICIO Entero Suma Entero N Hacer 0 0

algoritmo utilizando una


mezcla de frases en lenguaje comn, instrucciones de programacin y palabras clave que definen las estructuras bsicas. Su objetivo es permitir que el programador se centre en los aspectos lgicos de la solucin a un problema.

N
Suma

N+1
Suma + N

Mientras ( N <> 50) Escribe (Suma)

FIN

Importancia Algoritmo/Mquina

El estudio de los algoritmos y las mquinas (computadores) forman la columna vertebral de las Ciencias de la Computacin

Algoritmos en el Computador

PROBLEMA

Algoritmos +
Estructuras de datos

PROGRAMA

PROGRAMACION DE COMPUTADORAS
Para elaborar programa de computadora que solucionen determinados problemas hay que desarrollar los siguientes pasos.
1.

ANALIZAR EL PROBLEMA. DEFINIR EL ALGORITMO Representarlo CODIFICARLO EN UN LENGUAJE DE PROGRAMACION Editarlo EJECUTARLO Interpretar c Compilar

2.

3.

4.

Introduccin a lenguaje de programacin.

Un lenguaje de programacin es un lenguaje que puede ser utilizado para controlar el comportamiento de una mquina, particularmente una computadora. Consiste en un conjunto de reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos, respectivamente.

Estructura de un programa de Computadora C++


Debe contener cualquier nmero de directrices para el compilador. Todo programa debe contener una funcin llamada main( ) donde el

programa comienza a ejecutarse.

Posteriormente llaves { que indican el cuerpo de est funcin principal, definiendo el principio y final } de un programa.

Dentro de las llaves se encuentran las declaraciones, definiciones, instrucciones, expresiones, sentencias, y funciones de programa a ejecutar.

Adems de la funcin main(), consta generalmente de otras funciones que definen rutinas con una funcin especfica en el programa.

Estructura de un programa de Computadora C++


#include<iostream.h> #include<dos.h> #include<conio.h> #include<stdio.h> main() { clrscr(); gotoxy(10,12); cout<<"Este programa contiene la estructura \n"; printf("Este programa contiene la estructura \n"); getch();

INTERPRETAR
Se ejecutan directamente las acciones que

implique una instruccin del lenguaje.


Informalmente diramos que el interprete

entiende las instrucciones que va leyendo.

COMPILAR
Compilacin es el proceso por el cual se traducen programas en cdigo fuente a programas en cdigo objeto. El programa que realiza esta traduccin se llama compilador. El archivo de cdigo objeto que se obtiene con la compilacin est representado normalmente en cdigo de mquina.

COMPILAR

FIN
http://luda.uam.mx/curso1/Introduccion%20a%20la%20Programacion/algoritmo.htm

You might also like