PROGRAMADOR

PROGRAMADOR
EL FUTURO

miércoles, 12 de mayo de 2010

estructuras repetitivas: (FOR)

FOR:
Maneja de manera automática todos los detalles de la repetición definida donde se utiliza una variable de control para contar el número de repeticiones, ya que ésta se incrementa según se especifique, cada vez que se ejecuta el grupo de instrucciones. Cuando el valor de la variable indica que se ha ejecutado el numero correcto de repeticiones, se termina el ciclo y la computadora continua ejecutando el enunciado siguiente al de la estructura de repetición.

Si en el cuerpo del for existe mas de un enunciado, se requerirán llaves para definir el cuerpo del ciclo.

Las tres expresiones del for son opcionales, si se omite la expresión2 C supondrá que la condición es verdadera, creando por lo tanto un ciclo infinito. Si se omite la expresión1, es porque la variable de control se inicializó en otra parte. Si se omite la expresión3, es porque es incremento se calcula mediante enunciados for, o si no se requiere de ningún incremento.

EJEMPLO:Realizar un algoritmo que permita hallar la suma de los 10 primeros números enteros positivos, y su promedio.

var
entero: c , suma
real: prom
inicio
suma = 0
desde c = 1 hasta 10 inc 1 hacer
suma = suma + c
fin_desde
prom = suma/10
escribir(‘La suma es : ’,suma)
escribir(‘El promedio es : ’,prom)
fin

RONNY COMENTANDO EL BLOG

Definición de lenguajes algorítmicos

Lenguaje de Diagrama de Flujo.- Es aquel que se vale de diversos símbolos para representar las ideas o acciones a desarrollar. Es útil para organizar las acciones o pasos de un algoritmo pero requiere de etapas posteriores para implementarse en un sistema de cómputo.

Lwnguaje de Pseudocódigo: La definición de datos se da por supuesta, sobre todo en las variables sencillas, si se emplea formaciones: pilas, colas, vectores o registros, se pueden definir en la cabecera del algoritmo, y naturalmente cuando empleemos el pseudocódigo para definir estructuras de datos, esta parte la desarrollaremos adecuadamente.

EJEMPLOS:
1. Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programa
que lea el valor correspondiente a una distancia en millas marinas y las escriba
expresadas en metros. Sabiendo que 1 milla marina equivale a 1852 metros.


Pseudocódigo
PROGRAMA: Millas_y_metros
MÓDULO: Principal
INICIO
DATOS:
CONSTANTES
MILL_METR Numérico Entero = 1852
VARIABLES
Dmillas Numérico Entero
Dmetros Numérico Entero
ALGORITMO:
Escribir “Distancia en millas: ”
Leer Dmillas
Dmetros = Dmillas * MILL_METR
Escribir “Distancia en metros:”, Dmetros
FIN

EN Diagrama de Fujo lo explicare en la clase.

martes, 11 de mayo de 2010

ALGORITMOS BASICO Y CONCEPTOS

Definición

Un problema es un conjunto de cuestiones que se plantean para ser resueltas.

En Informática: se busca la solución utilizando computadoras, mediante un programa (buscando el mejor resultado en tiempo y forma).

Planteo

QUE me están pidiendo;

CÓMO resolverlo;

CON QUÉ, expresar la supuesta solución (recursos, herramientas...).

Dicho de otro modo, responde al siguiente orden de planteo:

1) ESTRATÉGICO

2) LÓGICO

3) HERRAMENTAL

Enunciado

Debe estar dado en forma completa, correcta y sin ambigüedades. El problema tiene una naturaleza, su particularidad, y debo reconocerla para saber si puedo enfrentarlo, para ello se sugiere tener en cuenta:

a) CONOCIMIENTO

b) HABILIDAD

c) EXPERIENCIA

es decir:

- conocer los elementos, propiedades, leyes, teoría;

- poseer cualidades que me permitan alcanzar la solución, creatividad;

- toma de decisiones, naturaleza que me de mayor seguridad y garantía de resolución.

Debo sentirme en condiciones de responder, ya que no entiendo lo que no conozco.

Sugerencias ante un planteo

(Pautas que me permiten adquirir una metodología, un orden que me acerca a la solución);

1) Necesito poder captar datos importantes. Existen datos secundarios; no agregarlos;

2) Reconocer relaciones entre datos; hacer explícito el dato que está oculto en una relación de datos, en el planteo, de acuerdo a la naturaleza del problema;

3) Profundizar en los detalles; en la práctica se aconseja leer 3 veces el problema;

4) Dividir el problema en sub problemas; si es de complejidad importante se reduce la misma, obteniendo una mejor performance.-Tener en cuenta que la complejidad está dada por la cantidad de procesos que se realizan;

5) Aplicar la experiencia en problemas similares.

-Para tener una orientación no tengo que olvidar el orden; el planteo estratégico.

El paso siguiente consiste en construir la propuesta de solución:

datos de ---------> procesamiento de ---(generan)---> información, entrada datos (algoritmo) datos de salida

Los sistemas de procesamiento de la información

Para los informáticos, datos e información no son sinónimos. Datos se refiere a la representación de algún hecho, concepto o entidad real, en cambio, información implica datos procesados y organizados.

Un sistema en general se define como un conjunto de componentes conectados e interactivos, que tiene un propósito y una unidad total. En consecuencia, sistema de procesamiento de información es un sistema que transforma datos brutos en información organizada, significativa y útil.

El conjunto de instrucciones que especifican la secuencia de operaciones a realizar para resolver un sistema específico o clase de problema se denomina algoritmo. En otras palabras, un algoritmo es una fórmula para la resolución de un problema.

Un programa se escribe en un lenguaje de programación y a la actividad de expresar un algoritmo en forma de programa se le denomina programación. Un programa consta de una secuencia de instrucciones, cada una de las cuales especifica las operaciones que debe realizar la computadora.

La resolución de problemas exige al menos los siguientes pasos:

1.- Definición o análisis del problema

2.- Diseño del algoritmo (Secuencia ordenada de pasos que conducen a la solución).

3.- Transformación del algoritmo en un programa (Fase de codificación).

4.- Ejecución y validación del programa.

CONCEPTO DE ALGORITMO

Para ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemático.Los algoritmos son más importantes que los lenguajes de programación o las computadoras. Un lenguaje de programación es tan sólo un medio para expresar el algoritmo, y una computadora es sólo un procesador para ejecutarlo.

Definición

Un algoritmo es un conjunto de tareas o pasos en una cantidad finita que se ejecutan en un orden determinado, y para determinada situación inicial se resuelve el problema en un tiempo finito.

Situación ---------> algoritmo ----------> solución inicial

Características que debe cumplir

1)Debe ser correcto ; responder a lo que me piden y resolver el problema;

2) Eficiente en cuanto a recursos y tiempo;

3) Claro;

4) Flexible; poder adaptarse a pequeños cambios de lógica;

5) Preciso ; e indicar el orden de realización de cada paso;

6) Estar definido: si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez;

7) Ser finito: , se debe terminar el algún momento; debe tener un número finito de pasos;

8) Fiable ó confiable ; estar acorde a lo anterior en cuanto a propuesta de solución.

La definición de un algoritmo debe describir tres partes: entrada, proceso y salida.

COMPONENTES DE UNA COMPUTADORA

Hardware es el conjunto de componentes físicos de una computadora, y software es el conjunto de programas que controlan el funcionamiento de una computadora.

El hardware de una computadora se compone de:

_ La Unidad Central de Procesos: es el conjunto de circuitos electrónicos capaces de ejecutar algunos cálculos sencillos. La potencia de una computadora depende completamente de la velocidad y fiabilidad de la CPU.

_ Memoria Central: La información procesada por la CPU se almacena normalmente en la memoria central hasta que se terminan los cálculos. Los programas de computadora también se almacenan en la memoria central.

_ Dispositivos de almacenamiento secundario (memoria auxiliar): Diferentes dispositivos tales como discos y cintas magnéticas se utilizan para almacenar grandes cantidades de información.

Para ser procesados por la CPU, los datos se almacenan en dispositivos de almacenamiento secundario y luego deben llevarse a la memoria central.

_ Periférico o dispositivos de entrada / salida: Permiten al usuario comunicarse con la computadora.

LOS LENGUAJES DE PROGRAMACIÓN

El procesador debe ser capaz de interpretar el algoritmo, lo que significa:

- comprender las instrucciones de cada paso;

- realizar las operaciones correspondientes.

Semántica: Significado, interpretación de lo que la sintaxis está expresando.

Sintaxis: Combinación entre cierta simbología o signos, y palabras clave (que no sean ambiguas).

Los principales tipos de lenguajes utilizados en la actualidad son tres:

Lenguaje máquina;

Lenguaje de bajo nivel (ensamblador);

Lenguaje de alto nivel.

Instrucciones a la computadora

El término instrucción (operación realizable) se suele referir a los lenguajes máquina y bajo nivel, reservando el término sentencia o proposición para los lenguajes de alto nivel.

Las instrucciones básicas y comunes a todos los lenguajes de programación se pueden condensar en cuatro grupos:

Instrucciones de entrada / salida: instrucciones de transferencia de información entre dispositivos periféricos y la memoria central;

Instrucciones aritméticas / lógicas: instrucciones que ejecutan operaciones aritméticas y lógicas;

Instrucciones selectivas: instrucciones que permiten la selección de tareas alternativas en función de los resultados de diferentes expresiones condicionales;

Instrucciones repetitivas: Instrucciones que permiten la repetición de secuencias de instrucciones un número determinado o indeterminado de veces.

El que se lleve a cabo una instrucción se denomina ejecución

Lenguaje máquina

Son aquellos que están escritos en lenguajes directamente inteligibles por la máquina, ya que sus instrucciones son cadenas binarias que especifican una operación, y las posiciones (dirección) de memoria implicadas en la operación se denominan instrucciones de máquina o código máquina.

Las ventajas de programar en lenguaje máquina es la posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traducción posterior, lo que supone una velocidad de ejecución superior a cualquier otro lenguaje de programación.

Los inconvenientes que hacen que este lenguaje no sea recomendado son: dificultad y lentitud en la codificación, poca fiabilidad, dificultad grande de verificar y poner a punto los programas, y que los programas sólo son ejecutables en el mismo procesador.

Lenguaje de bajo nivel

Es el ensamblador. También depende de la máquina en particular. Las instrucciones en este lenguaje se conocen como nemotécnicos .Requiere una fase de traducción al lenguaje máquina.

El programa original escrito en lenguaje ensamblador se denomina programa fuente , y el traducido en lenguaje máquina se conoce como programa objeto .

No se debe confundir el programa ensamblador (assembler), encargado de efectuar la traducción a lenguaje máquina del programa fuente escrito, con el lenguaje ensamblador (assembly lenguaje), lenguaje de programación con una estructura y gramática definidas. Los lenguajes ensambladores presentan una ventaja frente a los lenguajes de máquina por su mayor facilidad de codificación y su velocidad de cálculo.

Los inconvenientes son su dependencia total de la máquina, lo que impide ejecutar un programa en diferentes máquinas; y la formación de los programadores, ya que exige no sólo las técnicas de programación sino también el conocimiento interior de la máquina.

Lenguaje de alto nivel

Es independiente de la máquina, las instrucciones del programa de la computadora no dependen del diseño del hardware. En consecuencia, los programas escritos en este lenguaje son portables o transportables.

Ventajas:

-El tiempo de formación de los programadores es relativamente corto comparado con otros lenguajes;

-La escritura de programas se basa en reglas sintácticas similares a los lenguajes humanos;

-Las modificaciones y puestas a punto de los programas son mas fáciles;

-Reducción del coste de los programas;

-Transportabilidad.

Inconvenientes:

-Incremento del tiempo de puesta a punto, al necesitarse traducciones del programa fuente para conseguir el programa definitivo;

-No se aprovechan los recursos internos de la máquina, que se explotan mucho mejor en lenguajes máquina y ensambladores;

-Aumento de la ocupación de la memoria;

-El tiempo de ejecución de los programas es mucho mayor.

Cada lenguaje de programación está diseñado bajo un paradigma o como combinación de componentes de mas de un paradigma

LOS CARNALES DE CHIMBOTE PROGRAMANDO

SALUDOS A TODOS LOS VISITANTES A ESTA BLOG ACA NOSOTROS LOS CARNALES SOMOS ESTUDIANTE DE INGENIERIA DE SISTEMA INDICANDO LAS HERRAMIENTAS BASICAS PARA EL CURSO DE FUNDAMENTOS DE PROGRAMACION EL CUAL LES AYUDARA EN PRIMER CICLO O EN CUALQUIER CURSO QUE LLEVE