martes, 4 de noviembre de 2008

ALGORITMOS

ALGORITMOS



En matematicas, ciencias de la computacion, y disciplinas relacionadas, un algoritmo (del latín, dixit algorithmus y éste a su vez del matemático persa al-Jwarizmi) es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema. Dado un estado inicial y una entrada, a través de pasos sucesivos y bien definidos se llega a un estado final, obteniendo una solución. Los algoritmos son objeto de estudio de la algoritmia.


INFORMATICA
La informática proviene de la unión de dos palabras que "información" y "automática". Es la ciencia o conjuntos de conocimiento científicos que permiten el tratamiento automático de la información por medio de ordenadores.


INFORMACION

Es un conjunto organizado de datos procesados, la reunión de estos datos forman un grupo de instrucciones la cuales son enviadas al ordenador.


ORDENADOR

Es una maquina compuesta de una serie de circuitos electrónicos que es capaz de recoger unos datos de entrada. Operarlos y dar un resultado.


· Gran velocidad de información

· Gran potencia de calculo de aritmético

· Capacidad para memorizar programas y datos necesarios para resolver cualquier problema.

· Capacidad de comunicación con las personas y otras maquinas.

· Posibilidad de tratamiento de datos en tiempo real.

· Actúa sin intervención de un operador humano.
REPRESENTACION DE LA INFORMACION
La información se almacena dentro de ella de forma codificada, que nos permite comprimir y estructurar los datos . El código utilizado en las computadoras es el código binario el cual es representado mediante 0 y 1, es el que almacena y trasmite la información.

La capacidad mínima de in formación es el BIT (Binary digit), un byte equivale a 8 bits de memoria.
ESTRUCTURA DEL ORDENADOR

La estructura del ordenador esta compuesta por cinco unidades principales:


· Unida de entrada

Es por donde se ingresan los datos al computador. Ejemplo: teclado, scanner, unidad de disco.


· Unidad de salida

Es por donde salen o se visualizan los datos del computador. Ejemplo: monitor, impresora, plotter, unidad de disco.


· Memoria

Memoria principal o central en esta se encuentra la memeria RAM que solo funciona mientras se le este proporcionando energia y la memoria ROM que es una memoria de solo lectura, no se le puede efectuar ninguna modificación.

Memoria auxiliar o secundaria


· Unidad aritmética lógica (ALU)

Es la que ofrece operadores aritméticos y operadores lógicos para los cálculos que son realizados en el ordenador.


· Unidad de control (UC)

La unidad de control es la que como su nombre lo dice controla y dirige el funcionamiento del ordenador.
CLASIFICACION DE LOS ORDENADORES
En función de uso son:

· General: Es gestión administrativa y cálculos científicos o técnicas.
· Especifico: son los video juegos, robot, misil, control grafico.

En función de potencia:

· Súper computadores

· Microcomputadoras (Mainframes)

· Mini computadoras

· Estaciones de trabajo

· Computadores personales

· Nano computadoras

· Cálculos programables o bolsillo.



LENGUAJES DE PROGRAMACION

FORTRAN


Es un lenguaje de programacion informatica, de alto nivel y propósito genera, ha sido ampliamente adoptado por la comunidad científica para escribir aplicaciones de cálculos intensivos. La inclusión en el lenguaje de la aritmética de numeros complejos amplió la gama de aplicaciones para las cuales el lenguaje se adapta especialmente; muchas técnicas de compilación de lenguajes se han implementado para mejorar la calidad del código generado por los compiladores de Fortran.


El lenguaje fue diseñado teniendo en cuenta que los programas serían escritos en tarjetas perforadas de 80 columnas. Así por ejemplo, las líneas debían ser numeradas y la única alteración posible en el orden de ejecución era producida con la instrucción goto. Estas características han evolucionado de versión en versión. Las actuales contienen subprogramas, recursión y una variada gama de estructuras de control.




COBOL



El lenguaje COBOL (acronimo de COmmon Business -Oriented Language, Lenguaje Común Orientado a Negocios) fue creado en el año 1960 con el objetivo de crear un lenguaje de programación universal que pudiera ser usado en cualquier ordenador, ya que en los años 1960 existían numerosos modelos de ordenadores incompatibles entre sí, y que estuviera orientado principalmente a los negocios, es decir, a la llamada informática de gestión.




LISP




Lisp es el segundo lenguaje de programación, después de Fortran, de alto nivel. Lisp es de tipo declarativo y fue creado en 1958 por John McCarthy y sus colaboradores en el MIT.

El elemento fundamental en Lisp es la lista, en el sentido más amplio del término, pues tanto los datos como los programas son listas. De ahí viene su nombre, pues Lisp es un acrónimo de "LIStProcessing".


Las listas en LISP están delimitadas por paréntesis. De aquí viene el chiste del significado de LISP: "LostInStupidParentheses" que aunque con buen humor es completamente ficticio.
Algunas de las funciones predefinidas de Lisp tienen símbolos familiares (+ para la suma, * para el producto), pero otras son más exóticas, especialmente dos que sirven precisamente para manipular listas, descomponiéndolas en sus componentes. Sus nombres ("car" y "cdr") son un poco extraños(1), reliquias de tiempos pasados y de la estructura de los ordenadores de segunda generación, "car" devuelve la cabeza de una lista y "cdr" su cola o resto.

PASCAL

Blaise Pascal (Clermont-Ferrand, Auvernia, Francia, 19 de junio de 1623 - París, 19 de agosto de 1662), matemático, físico y filósofo religioso francés. Considerado el padre de las computadoras junto con Charles Babbage. Sus contribuciones a las ciencias naturales y aplicadas incluyen la invención y construcción de calculadoras mecánicas, estudios precursores de la teoría matemática de probabilidad, investigaciones sobre los fluidos y la aclaración de conceptos tales como la presión y el vacío. Después de una experiencia religiosa profunda en 1654, Pascal abandonó las matemáticas y la física para dedicarse a la filosofía y a la teología, publicando en este periodo sus dos obras más conocidas: Las Lettres provinciales (Cartas provinciales) y Pensées (Pensamientos).




PROLOG



Prolog, proveniente del francés Programation et Logique, es un lenguaje de programación lógico e interpretado, bastante popular en el medio de investigación en Inteligencia Artificial.

Se trata de un lenguaje de programación ideado a principios de los años 70 en la universidad de Aix-Marseille por los profesores Alain Colmerauer y Phillipe Roussel. Inicialmente se trataba de un lenguaje totalmente interpretado hasta que, a mediados de los 70, David H.D. Warren desarrolló un compilador capaz de traducir Prolog en un conjunto de instrucciones de una máquina abstracta denominada Warren Abstract Machine, o abreviadamente, WAM. Desde entonces Prolog es un lenguaje semi-interpretado.
Prolog se enmarca en el
paradigma de los lenguajes lógicos, lo que lo diferencia enormemente de otros lenguajes más populares tales como Fortran, Pascal, C, Java.


SMALL TALK



Smalltalk es un sistema informático que permite realizar tareas de computación mediante la interacción con un entorno de objetos virtuales. Metafóricamente, se puede considerar que un Smalltalk es un mundo virtual donde viven objetos que se comunican mediante el envío de mensajes.


Un sistema Smalltalk esta compuesto por:


Máquina virtual
Imagen virtual que contiene todos los objetos del sistema
Lenguaje de programación (también conocido como Smalltalk)
Biblioteca de Objetos reusables
Opcionalmente un
entorno de desarrollo que funciona como un sistema en tiempo de ejecución

OBJECT PASCAL

Object Pascal es una evolución del lenguaje de programación Pascal, con inclusión de elementos pertenecientes al paradigma de la programación orientada a objetos.
Algunos de los compiladores que soportan este lenguaje son:
Delphi
Free Pascal
Kylix




DELPHI



Delphi es un entorno de desarrollo de software diseñado para la programación de propósito general con énfasis en la programación visual. En Delphi se utiliza como lenguaje de programación una versión moderna de Pascal llamada Object Pascal. Es producido comercialmente por la empresa estadounidense CodeGear, adquirida en Mayo de 2008 por Embarcadero Technologies, una empresa del grupo Thoma Cressey Bravo, en una suma que ronda los 30 millones de dólares. En sus diferentes variantes, permite producir archivos ejecutables para Windows, Linux y la plataforma .NET.
CodeGear ha sido escindida de la empresa
Borland, donde Delphi se creó originalmente, tras un proceso que pretendía en principio la venta del departamento de herramientas para desarrollo




JAVA

Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.
Las
aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.
La implementación original y de referencia del
compilador, la máquina virtual y las librerías de clases de Java fueron desarrollados por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java Community Process, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre.
Entre noviembre de
2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de sus tecnologías Java bajo la licencia GNU GPL, de acuerdo con las especificaciones del Java Community Process, de tal forma que prácticamente todo el Java de Sun es ahora software libre (aunque la biblioteca de clases de Sun que se requiere para ejecutar los programas Java todavía no es software libre).

VISUAL BASIC



Visual Basic es un lenguaje de programación desarrollado por Alan Cooper para Microsoft. El lenguaje de programación es un dialecto de BASIC, con importantes añadidos. Su primera versión fue presentada en 1991 con la intención de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico que facilitara la creación de interfaces gráficas y en cierta medida también la programación misma. En 2001 Microsoft propone abandonar el desarrollo basado en la API Win32 y pasar a trabajar sobre un framework o marco común de librerías independiente de la version del sistema operativo, .NET Framework, a través de Visual Basic .NET (y otros lenguajes como C Sharp (C#) de fácil transición de código entre ellos) que presenta serias incompatibilidades con el código Visual Basic existente.
Visual Basic constituye un IDE (entorno de desarrollo integrado o en inglés Integrated Development Enviroment) que ha sido empaquetado como un programa de aplicación, es decir, consiste en un editor de código (programa donde se escribe el código fuente), un depurador (programa que corrige errores en el código fuente para que pueda ser bien compilado), un compilador (programa que traduce el código fuente a lenguaje de máquina), y un constructor de interfaz gráfica o GUI (es una forma de programar en la que no es necesario escribir el código para la parte gráfica del programa, sino que se puede hacer de forma visual).

VISUAL FOXPRO


Visual FoxPro es un lenguaje de programación orientado a objetos y procedural, un Sistema Gestor de Bases de datos o Database Management System (DBMS), y desde la versión 7.0, un Sistema administrador de bases de datos relacionales, producido por Microsoft.
Características [editar]
Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, tablet PC o para la Web.
Entre sus características se pueden enumerar:
Capacidades poderosas y muy Veloces para el manejo de datos nativos y remotos.
Flexibilidad para crear todo tipo de soluciones de bases de datos.
Lenguaje de Programación Orientado a objetos.
Utilización de Sentencias
SQL en forma nativa.
Poderoso manejo de vistas y cursores y control completo de estructuras relacionales.
Su propio gestor de base de datos incorporado. Sin embargo, también puede conectarse con servidores de base de datos, tales como
Oracle, Microsoft SQL Server o MySQL.
Cuenta con un motor de generación de informes renovado y muy flexible para soluciones más robustas.
Desde la versión 9.0, amplio soporte de
XML, tanto como fuente de datos (por ej., servicios Web basados en XML) como por generar reports en formato XLM.
Desde la versión 7.0, soporte de la tecnología IntelliSense de Microsoft
La última versión liberada es la 9.0.
Se planeo inicialmente la salida de una nueva versión llamada 'Sedna', la cual pretendía ser un poderoso y completo lenguaje interactuando aun más con VisualStudio.net, SQLServer2005, SQLExpress2005 y Office12 teniendo a su vez soporte para Windows Vista. Posteriormente se supo que no habrá una próxima versión (
Mensaje a la comunidad VFP). Microsoft ha cancelado su desarrollo y lanzó lo que han hecho hasta ahora como add-ons en conjunto con el service pack 2 ambos por el momento en versión Beta (SP2 y "Sedna" - Beta). Igualmente, según las políticas de soporte de Microsoft, éste continuara dando soporte al producto hasta el año 2015.
Hay un movimiento que está haciendo presión para que Microsoft continúe, o deje el Visual FoxPro como código abierto para que otra gente pueda seguir evolucionándolo.
La versión 9.0 de Visual FoxPro cuenta con el
SP1 y el (más reciente) SP2 (en inglés) en los que hay algunas nuevas características y especialmente brindan estabilidad al producto




ORACLE

Oracle es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), fabricado por Oracle Corporation.
Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:

Soporte de transacciones.
Estabilidad.
Escalabilidad.
Soporte
multiplataforma.
Ha sido criticada por algunos especialistas la seguridad de la plataforma, y las políticas de suministro de parches de seguridad, modificadas a comienzos de 2005 y que incrementan el nivel de exposición de los usuarios. En los parches de actualización provistos durante el primer semestre de 2005 fueron corregidas 22 vulnerabilidades públicamente conocidas, algunas de ellas con una antigüedad de más de 2 años.
Aunque su dominio en el mercado de servidores empresariales ha sido casi total hasta hace poco, recientemente sufre la competencia del
Microsoft SQL Server de Microsoft y de la oferta de otros RDBMS con licencia libre como PostgreSQL, MySql o Firebird. Las últimas versiones de Oracle han sido certificadas para poder trabajar bajo Linux


VISUAL BASIC.NET

Visual Basic .NET (VB.NET) es un lenguaje de programación orientado a objetos que se puede considerar una evolución de Visual Basic implementada sobre el framework .NET. Su introducción resultó muy controvertida, ya que debido a cambios significativos en el lenguaje VB.NET no es compatible hacia atrás con Visual Basic, cosa que causó gran división en la comunidad de desarrolladores de Visual Basic.
La gran mayoría de programadores de VB.NET utilizan el entorno de programación
Microsoft Visual Studio .Net en alguna de sus versiones (Visual Studio .NET, Visual Studio .NET 2003 o Visual Studio .NET 2005), aunque existen otras alternativas, como SharpDevelop (que además es libre).
Como pasa con todos los lenguajes de programación basados en .NET, los programas escritos en VB.NET requieren el Framework .NET para ejecutarse.


SQL


El Lenguaje de consulta estructurado (SQL [/esekuˈele/ en español, /ɛskjuːˈɛl / o /ˈsiːkwəl/, en inglés] Structured Query Language ) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones sobre las mismas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo lanzar consultas con el fin de recuperar -de una forma sencilla- información de interés de una base de datos, así como también hacer cambios sobre la misma. Es un lenguaje de cuarta generación (4GL).



C++

Es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.
Posteriormente se añadieron facilidades
programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje multiparadigma.
Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT (enlace externo).
Una particularidad del C++ es la posibilidad de redefinir los operadores (sobrecarga de operadores), y de poder crear nuevos tipos que se comporten como tipos fundamentales.
C++ está considerado por muchos como el lenguaje más potente, debido a que permite trabajar tanto a alto como a bajo nivel, sin embargo es a su vez uno de los que menos automatismos trae, con lo que obliga a usar librerías de terceros, como por ejemplo Boost (enlace externo)
El nombre C++ fue propuesto por
Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C.


TIPOS DE DATOS Y OPERADORES


Para que una computadora tenga una razón de ser se hace necesario la programación de las mismas, es decir, realizar software que permita el ingreso de datos para ser transformados en información. Los datos que se ingresan a una computadora pueden ser:

v DATOS NUMERICOS

Están representados por dos tipos principales:

• ENTEROS: Representan los números que no poseen componente fraccionario y pueden ser tanto positivos como negativos.
• REALES: Representan todos los números que poseen componente fraccionario y también pueden ser positivos o negativos.

v DATOS LOGICOS

Este tipo de dato solo puede tomar uno de dos valores, verdadero o falso.

v DATOS TIPO CARÁCTER

Representan datos alfanuméricos que pueden ser una cadena de caracteres, que es una sucesión de caracteres numéricos, letras, símbolos, etc. Esta cadena inicia y termina con apostrofes o comillas dependiendo del lenguaje que se este utilizando.

CARÁCTER: Contiene solo un carácter y también se incluyen las comillas para su asignación.


VARIABLES Y COSTANTES

Una variable es un espacio reservado para contener calores que pueden cambiar durante el desarrollo del algoritmo. Los tipos de variables (numéricos, carácter, lógicas) determina como se manipulara la información contenida en ellas.
“una variable se ha definido de un cierto tipo solo puede tener valor de ese tipo”.

Una constante es un espacio reservado para contener valores que no cambian a lo largo del algoritmo.

Las variables locales son aquellas que afectan únicamente al subprograma y las variables globales afectan a un programa en todo su contexto.

Existen una serie de reglas para definir variables y constantes, entre ellas están:

v Normalmente deben iniciar con una letra.
v No deben contener símbolos ni signos de puntuación.
v No deben contener espacios en blanco.


OPERADORES

Los operadores nos permiten trabajar con las variables y las costantes. Dentro de las cuales tenemos los siguientes:

v OPERADORES ARITMETICOS

• Potencia – ( )
• Producto – (*)
• División - (/)
• Residuo del división – (mod)
• Suma – (+)
• Resta – (-)

v OPERADORES ALFANUMERICOS

• Concatenación – (+)
‘PO’ + ‘LI’ = POLI

v OPERADORES RELACIONALES

• Igual – (=)
• Menor que – (<) • Menor o igual que – (<=) • Mayor que – (>)
• Mayor o igual que – (>=)


v OPERADORES LOGICOS

• Negación - (NOT)
• Conjunción – (AND)
• Disyunción – (OR)

v OPERADORES PARENTESIS

El paréntesis permite alterar el orden en que se realizan las diferentes operaciones.

ORDEN DE EVALUACION DE LOS OPERADORES

Paréntesis.
Cambio de signo.
Potencias.
Productos y divisiones.
Sumas y restas.
Concatenación.
Relacionales.
Negación.
Conjunción.
Disyunción.


EJERCICIOS DE LOGICA

LOS DEPORTISTAS

Ana, Beatriz y carmen. Una es tenista, otra gimnasta y otra nadadora. La gimnasta, la más baja de las tres es soltera. Ana que es la suegra de Beatriz es más alta que la tenista. ¿Qué deporte practica cada una?

SOLUCION

Ana --------- nadadora
Beatriz ------ tenista
Carmen ---- gimnasta

EL ASCENSOR

Cuatro jugadores de rugby entran en un ascensor que puede transportar un máximo 380 kilos para que no suene la alarma que detendrá el ascensor por exceso de carga, tiene usted que calcular su peso total con gran rapidez, pero cuanto pesa cada jugador, e aquí los datos:

· Pablo es quien pesa mas, si cada uno de los otros pesara tanto como el la alarma detendría el ascensor.
· Carlos es el mas ligero, el ascensor podría subir a cinco como el.
· Renato pesa 14 kilos menos que pablo y solo 6 kilos menos que Jesús.
· Jesús pesa 17 kilos mas que Carlos,
· Los pesos de pablo y de Carlos son múltiplos de 5.

SOLUCION

Peso máximo 380 kilos

Pablo-----------100 kilos
Carlos --------- 75 kilos
Renato ------- 86 kilos
Jesús ---------- 92 kilos

EL NUMERO

Buscamos un número de 6 cifras con las siguientes condiciones:

· Ninguna cifra es impar.
· La primera es 1/3 de la quinta 1 ½ de la tercera.
· La segunda es la menor de todas.
· La última es la diferencia entre la cuarta y la quinta.

SOLUCION

204862



EJERCICIOS

Realizar un algoritmo que ingrese dos números y determine cual de los es mayor.


algoritmo mayor_v1;
var
a, b: entero;
inicio
escriba(“por favor entre un numero”);
lea (a);
escriba(“por favor entre el segundo numero”);
lea(b);
si(a=b)
escriba(“los números son iguales”);
si_no si (a>b)
escriba(“el mayor es:”, a);
si_no
escriba(“el mayor es:”, b);
fin_si
fin_si
fin


Determinar cual es el cuadrado de un determinado número.

algoritmo cuadrado;
var
a, c: entero;
inicio
escriba(“por favor ingrese un numero”);
lea(a);
c=a*a;
escriba(“el cuadrado es:”, c);
fin

Elaborar un programa que permita determinar si un número es positivo o negativo.

algoritmo positivo;
var
x: entero;
inicio
escriba(“por favor ingrese un numero”);
lea(x);
si(x>0)
escriba(“el numero es positivo”);
si_no
escriba(“el numero es negativo”);
fin_si
fin

Desarrollar un programa que permita ingresar una cantidad en metros y la convierta a centímetros, kilómetros, pies y pulgadas.

algoritmo conversión;
var
metros, centímetros, kilómetros, pies, pulgadas: entero;
inicio
escriba(“por favor ingrese una cantidad en metros”);
lea(metros);
centímetros=metros*100;
escriba(“la conversión a centímetros es:”, centímetros);
kilómetros=metros/1000;
escriba(“la conversión a kilómetros es:”, kilómetros);
pies=metros*3.28;
escriba(“la conversión a pies es:”, pies);
pulgadas=metros*39.37;
escriba(“la conversión a pulgadas es:”, pulgadas);
fin

Realizar un programa que permita leer una determinada temperatura en grados centígrados y la convierta a Fahrenheit.

algoritmo temperatura;
var
centígrados, °F: entero;
inicio
escriba(“por favor ingrese una cantidad en centígrados”);
lea(centígrados);
°F = centígrados * 1.8 + 32;
escriba(“la conversión a Fahrenheit es:”, °F);
fin

una persona es apta para prestar el servicio milita obligatorio cuando es mayor de 18 y menor de 25 años, de nacionalidad colombiana y genero masculino. Realiza un programa que permita determinar si una persona es apta o no para prestar el servicio militar.

algoritmo servicio _ militar;
var
edad: entero;
sexo, nacionalidad: carácter;
inicio
escriba(“por favor ingrese la edad”);
lea(edad);
escriba(“por favor ingrese el sexo”);
lea(sexo);
escriba(“por favor ingrese la nacionalidad”);
lea(nacionalidad);
si(edad>18 y edad<25)
si(sexo=masculino)
si(nacionalidad=colombiano)
escriba(“es apto”);
si_no
escriba(“no es apto”);
fin_si
fin_si
fin_si
fin
Elabore un programa teniendo como dato de entrada el radio y la altura de un cilindro. Calcule el área total y volumen.

algoritmo cilindro;
var
r, h, V, A: entero;
inicio
escriba(“por favor ingrese el radio”);
lea(r);
escriba(“por favor ingrese la altura”);
lea(h);
A = 3.14 * r * h;
escriba(“el área del cilindro es:”, A);
V = 3.14 *r2 * h;
escriba(“el volumen del cilindro es:”, V);
fin

Una persona realiza un préstamo de un banco por una año y desea saber cuanto pagara de interés al terminar el préstamo, si se sabe que el banco le cobrara una tasa de 1.8% mensual. Realice un programa que calcule este monto.

algoritmo préstamo;
var
préstamo, int, monto: entero;
inicio
escriba(“ingrese el valor del préstamo”);
lea(préstamo);
int = préstamo * 0.018;
monto = int * 12;
escriba(“el monto total de intereses es:”. monto);
fin

una empresa desea conocer el monto de comisión correspondiente a una venta realizada por un vendedor bajo las siguientes condiciones si la venta es menor a 1000000 se le otorga el 3% de comisión, si es de 1000000 o mas el vendedor recibe el 5% de comisión.

algoritmo comisión;
var
venta, comisión: entero;
inicio
escriba(“ingreses el valor de la venta”);
lea(venta);
si (venta < 1000000)
comisión = venta * 0.03;
escriba(“la comisión es:”, comisión);
si_no
comisión = venta * 0.05;
escriba(“la comisión es:”, comisión);
fin_si
fin

Desarrollar un diagrama que permita con dos números simular una calculadora (suma, resta, multiplicación y división). Se debe leer los números y la operación a realizar.

algoritmo calculadora;
var
X, Y, S, R, M, D: entero;
operación: carácter;
inicio
escriba(“por favor ingrese el primer numero”);
lea(X);
escriba(“por favor ingrese el segundo numero”);
lea(Y);
escriba(“por favor ingrese la operación”);
lea(operación);
si (operación = suma)
S = X+ Y;
escriba(“la suma es:” S);
si_no si (operación = resta)
R = X - Y;
escriba(“la resta es:” R);
si_no si (operación = multiplicación)
M = X * Y;
escriba(“la multiplicación es:” M);
si_no si (operación = división)
D = X / Y;
escriba(“la división es:”, D);
fin_si
fin_si
fin_si
fin_si
fin

Dado un valor de X calcular el valor de Y según la siguiente función: Y=f(X)

· 3X + 36, si X<=11.
· X2 – 10, si 11< X <= 33.
· X + 6, si 33< X <= 64.
· 0, para los demás valores de X.

algoritmo función;
var
X, Y: entero;
inicio
escriba(“ingrese el valor de X”);
lea(X);
si (X<=11)
Y = 3X +36;
si_no si (11 Y = X2 + 10;
si_no si (33 < X < 64)
Y = X + 6;
si_no
Y = 0;
fin_si
fin_si
fin_si
escriba(“el valor de Y es:” Y);
fin

Realizar un algoritmo que permita leer 20 temperatura (°C) diferentes durante un día, se debe indicar cual fue la temperatura promedio.

algoritmo temperatura_promedio;
var
temp, tempt, k, prom: entero;
inicio
tempt = 0;
para (k = 1 hasta 20) hacer
escriba(“ingrese la temperatura”);
lea(temp);
tempt = tempt + temp;
fin_para
prom = tempt / k;
escriba (“la temperatura promedio es:”, prom);
fin

Realizar un algoritmo que ingrese un numero y muestra la de determinado numero.

algoritmo tabla;
var
num, k, tabla: entero;
inicio
escriba(“ingrese el numero que desea conocer la tabla”);
lea(num);
para (k=1 hasta 9) hacer
tabla= num * k;
escriba(k, “*”, num, “=”, tabla);
fin_para
fin

Realizar un algoritmo que permita calcular de las tablas de multiplicar (1 al 9).

algoritmo tabla1;
var
k, j, tabla: entero;
inicio
para (k=1 hasta 9) hacer
para (j =1 hasta 9) hacer
tabla= k * j;
escriba(k, “*”, j, “=”, tabla);
fin_para
fin_para
fin

Realizar un algoritmo que calcule el factorial (factorial = n!) de determinado numero.

algoritmo factorial;
var
num, k, fact: entero;
inicio
fact = 1;
escriba(“ingrese el numero que desea conocer el factorial”);
lea(num);
para (k=1 hasta num) hacer
fact = fact * k;
fin_para
escriba (“el factorial es:”, fact);
fin

Dado un tiempo en segundos calcular los segundos restantes que le correspondan para convertirse en minutos.

algoritmo segundos;
var
seg, min, f, s1: entero;
inicio
escriba (“ingrese el valor en segundos”);
lea (seg);
si (seg < 60)
f = seg – 60;
escriba(“lo que le falta es :”, f);
si_no
min = seg / 60;
s1 = seg mod 60;
f = 60 – s1;
escriba (“los minutos son :”, min);
escriba (“lo que le falta es:”, f);
fin_si
fin

Calcular mediante un algoritmo repetitivo la suma de los n primeros números naturales.

algoritmo suma;
var
num, k, suma: entero;
inicio
suma = 0;
escriba(“ingrese el numero hasta que desea sumar”);
lea(num);
para (K = 1 hasta num) hacer
suma = suma + k;
fin_para
escriba(“el resultado es:”, suma);
fin


Realizar un algoritmo que permita pedir 50 números naturales y determine e imprima cuantos son pares, impares, positivos y negativos.

algoritmo naturales;
var
k, num: entero;
inicio
para (k =1 hasta 50) hacer
escriba(“ingrese numero”);
lea(num);
si (num mod 2 = 0)
escriba (“el numero es par”);
si_no
escriba (“el numero es impar”);
fin_si
si (num > 0 )
escriba (“el numero es positivo”);
si_no
escriba (“el numero es negativo”);
fin_si
fin_para
fin

Determine cual es la diferencia entre:

CONTADOR Y ACUMULADOR

La diferencia es que el contador incrementa o decrementa un valor constante y el acumulador incrementa o decrementa un valor variable.

CICLO PARA Y CICLO MIENTRAS

En el para se conoce la cantidad de veces que se ejecuta la acción y en el mientras se ejecuta mientras se cumpla una determinada condición.

CICLO MIENTRAS Y CICLO REPITA

En el ciclo mientras se ejecuta mientras se cumpla una determinada condición, esta condición se evalúa al inicio del ciclo y el repita se evalúa la condición al final del ciclo permitiendo que el bucle se ejecute por lo menos una vez.
CONDICIONAL Y CICLO

En el condicional se realiza las instrucciones una vez y en el ciclo se ejecuta las acciones varias veces.

Realice los siguientes ejercicios:

Los cubos de Nicomaco. Considere la siguiente propiedad descubierta por Nicomaco de Gerasa: sumando el primer impar, se obtiene el primer cubo. Sumando los dos siguiente se obtiene el segundo cubo. Sumando los tres siguientes, se obtiene el tercer cubo y asi sucesivamente, es decir:


1 = 13
3 + 5 = 23 = 8
7 + 9 + 11 = 33 = 27
13 + 15 + 17 + 19 = 43 = 64

Elabore un algoritmo que dado un numero n entero positivo, imprima n primeros cubos utilizando esta propiedad.

1. algoritmo nicomaco;
2. var
3. impar, suma, n, num, var, crece: entero;
4. inicio
5. sumas = 0;
6. num=1;
7. var = n – 1;
8. para(variable var, hasta var > 0; disminuya 1 )
9. num= num + var;
10. impar= (2 (num -1))+1;
11. fin_para
12. para (crece = 1 hasta n) hacer
13. sumas = sumas + impar;
14. escriba(impar, “+”);
15. impar = impar +2;
16. fin_para
17. escriba (“=”, sumas);
18. fin



La serie fibonacci es un ejercicio interesante, el cual se construye a partir de los dos primeros números que son 0 y 1, a partir de ahí se construye la serie ejemplo: 0,1; 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55….
Desarrolle un algoritmo que permita, calcular n números de esta serie.

1. algoritmo fibonacci;
2. var
3. a, b, c, k, num: entero;
4. inicio
5. a = 0, b = 1, c = 0;
6. escriba(“ingrese numero a calcular”);
7. lea (num);
8. para ( k = 0 hasta num ) hacer
9. c = a + b;
10. a = b;
11. b = c;
12. fin_para
13. escriba (“el valor de la serie es:”, c);
14. fin