Вы находитесь на странице: 1из 17

Tema 5: Iniciacin a la programacin

Tema 5

Profesor Antonio Morente

Iniciacin a la
programacin

En el mbito informtico , adems de poder utilizar una de las aplicaciones disponibles


en el mercado, cada una de ellas pensada por sus creadores para realizar determinadas
tareas, tambin es posible disear y crear aplicaciones propias. Para ello, es necesario
emplear un lenguaje de programacin y tener conocimientos, necesarios para crear
el programa

Tema 5: Iniciacin a la programacin

Profesor Antonio Morente

CONCEPTO DE ALGORITMO
Introduccin
La computadora no solamente es esa mquina que puede ejecutar
programas que tiene previamente cargados, como un procesador de textos.
Adems de jugar, escribir o comunicarnos tambin podemos disear
soluciones a medida de problemas especficos que se nos presenten.
A las soluciones creadas utilizando una computadora se les conoce
como programas y no son mas que una serie de instrucciones ordenadas,
expresadas en un lenguaje especfico (llamado lenguaje de programacin)
que debe realizar la computadora para llegar a un resultado, con un grupo de
datos especficos.

Supongamos que tenemos el siguiente problema: Repartir entre 2 chicos una bolsa de
caramelos (suponemos que inicialmente la bolsa tiene ms de 2 caramelos).
Este problema describe un cierto trabajo.
Este trabajo debe realizarlo una mquina.
Llamamos mquina a un aparato capaz de comprender el enunciado y ejecutar el trabajo.
Sin embargo una mquina no puede realizar un trabajo si no cuenta con los recursos necesarios,
por ejemplo, la bolsa de caramelos.
El conjunto de los objetos necesarios para la ejecucin de un algoritmo se denomina ambiente.
Por lo tanto el ambiente de un trabajo es especfico para ese trabajo. Adems, para ejecutar un
trabajo, se debe realizar una secuencia de acciones.
Entonces, un problema es resuelto a travs de una serie de acciones que respetan una
secuencia y que modifican el ambiente hasta la solucin del problema
Tomado el problema anterior, puede escribirse el siguiente algoritmo:
Repetir
Tomar caramelo de la bolsa
Darlo a nio
Hasta que la bolsa contenga menos de cuatro caramelos.
Los objetos son: caramelos , Nio
Y la accin: Tomar de la bolsa
Y adems hay una condicin dentro de una estructura. Esta estructura repetir-hasta que, hace que
la mquina evale si hay menos de 4 caramelos en la bolsa antes de retirarlos.
Esto es un Algoritmo.
Un algoritmo es una secuencia ordenada de acciones (llamadas acciones primitivas) que pueden ser
ejecutadas por una mquina y que dan la solucin a un problema dado.
Decimos que una accin es primitiva cuando no puede descomponerse en otras acciones.

Tema 5: Iniciacin a la programacin

Profesor Antonio Morente

Veamos otro ejemplo:


Las acciones primitivas sern: LEER y ESCRIBIR
Los objetos son los dos nmeros: Puedo guardarlos en A y B, y otro objeto para guardar la suma
(S) . Necesito que una mquina calcule la suma de dos nmeros, y que me la muestre.
Entonces, tendremos el siguiente algoritmo:
LEER A;
LEER B;
S <- A + B;
ESCRIBIR S;

Caracterstica de un algoritmo
Cuando se habla de disear soluciones utilizando una
computadora, pueden disearse buenas soluciones o malas soluciones.
Qu caractersticas debe tener un algoritmo para transformarse en una
buena solucin?

Debe ser finito: Es decir, debe terminar en alguna parte. El


nmero de instrucciones debe ser limitado.

Legible: Fcil de leer y de entender

Modificable:
dificultades.

Debe ser eficiente: Para ello debe cumplir con los requisitos de
rapidez y economa.

Modular: Siempre que sea posible, debe poder dividirse en


subprogramas para su mejor solucin. (DIVIDE Y VENCERAS)

Debe

permitir

la

actualizacin

sin

grandes

Algoritmo y programa
Antes dijimos que un algoritmo es una serie ordenada de pasos
que se realizan para llegar a una solucin. Qu relacin tiene con un
programa?
Podemos decir que un programa es un algoritmo expresado en un lenguaje que tanto la
computadora como el programador puedan entender.

Organigramas y Pseudocdigo
Pseudocdigo: Es una notacin mediante la cual podemos escribir la solucin a un
problema dado en forma de algoritmo utilizando palabras y frases del lenguaje natural aunque
sujetas a determinadas reglas impuestas. Nosotros utilizaremos el programa PseInt para compilar
estos algoritmos.
Organigramas: Representan grficamente paso a paso todas las instrucciones del
programa a codificar reflejando la secuencia lgica de las operaciones necesarias para la
resolucin del problema. Muestra grficamente el algoritmo del programa.

Tema 5: Iniciacin a la programacin

Profesor Antonio Morente

Ejemplo: Realizar el pseudocdigo y ordinograma de un algoritmo que permita pedir 2


nmeros por teclado y muestre la suma de ellos.

PROCESO Sumar
DEFINIR num1, num2,suma
como NUMERO
ESCRIBIR Introduzca un
nmero:;
LEER nmero1;
ESCRIBIR Introduzca otro
nmero:;
LEER nmero2;
suma nmero1 + nmero2 ;
ESCRIBIR Resultado:, suma;
FIN PROCESO

Ejemplo: El pseudocdigo y ordinograma de un algoritmo que solicita un nmero por


teclado al usuario e informa de si el nmero introducido es negativo (menor que cero) o no.
NOTA: Las palabras reservadas deben aparecer en maysculas, as que las marcaremos en
negrita para identificarlas claramente.

PROCESO DetectarNegativo
DEFINIR nmero como
NUMERO
ESCRIBIR Introduzca un
nmero entero;
LEER nmero;
SI nmero < 0 ENTONCES
ESCRIBIR Es negativo;
SI NO
ESCRIBIR No es
negativo;
FIN SI
FIN PROCESO

Tema 5: Iniciacin a la programacin

Profesor Antonio Morente

LENGUAJES DE PROGRAMACIN
INTRODUCCIN: INTRPRETES Y COMPILADORES

El software se divide en tres grandes grupos:


1. Programas de aplicacin
2. Lenguajes de programacin
3. Sistemas operativos
Los lenguajes de programacin hay en gran cantidad, algunos han evolucionado a lo largo del tiempo y
son usados en el transcurso de muchos aos, mientras que otros han sido operativos durante un
perodo ms o menos largo y actualmente no se usan. Dada esta gran variedad de lenguajes, aqu no
se pretende dar una visin completa, sino una clasificacin en diversos tipos y concretar alguno.
Respecto al ms recomendado para el aprendizaje, el Pascal
En general un lenguaje es un mtodo conveniente y sencillo de describir las secuencias de acciones
necesarias para ejecutar una tarea concreta. Pero este proceso se puede realizar de muchas maneras
distintas, por lo que habr que disponer de clasificaciones. Una muy importante es hacer dos grupos
en base a su funcionamiento, esto es considerarlos como intrpretes y compiladores, segn se
describe seguidamente.
Un lenguaje se dice que es un intrprete, por ejemplo los BASIC primitivos, cuando
para ejecutar un programa el lenguaje ha de leer y traducir al lenguaje especfico de la mquina
las instrucciones una por una. Como es lgico el proceso se vuelve ms lento, por ejemplo si
una operacin est dentro de la estructura conocida como ciclo y este se repite 100 veces, el
lenguaje tiene que traducirlo 100 veces al cdigo de la mquina. No todo son desventajas,
pues la parte buena de este tipo de lenguajes es que los errores se pueden corregir al
momento y seguir facilmente la ejecucin del programa, por lo cual son idneos para aprender
a programar, proceso en el que da lo mismo la lentitud.
Por contra un lenguaje se dice que es compilado cuando el programa entero se
traduce mediante el compilador de dicho lenguaje al lenguaje mquina (0's y 1's)
correspondiente y el resultado se almacena de manera permanente en un archivo. De esta
forma el programa se ejecutar de forma mucho ms rpida que con un intrprete, sobre todo
si hay estructuras que se repiten, caso de los ciclos. La principal desventaja es cuando se
produce un error, que muchas veces se detecta en el momento de la ejecucin, y la correccin
no se puede hacer de inmediato sino que hay que realizar todo el proceso de compilado desde
el principio. Un ejemplo tpico de lenguaje de este tipo el C++.

Tema 5: Iniciacin a la programacin

Profesor Antonio Morente

TIPOS DE LENGUAJES
Aparte de la clasificacin vista previamente en compiladores e intrpretes, los lenguajes de
programacin se clasifican en base a otros aspectos, de manera general en tres grandes grupos,

Lenguaje mquina (0 y 1)

Lenguajes de Bajo nivel: Ensamblador

Lenguajes de Alto Nivel

El lenguaje mquina, es un lenguaje de programacin en el mbito de la CPU, por lo tanto


usando ceros y unos, lenguaje muy difcil y propenso a errores.
Lenguajes de Bajo Nivel incluye los relacionados ntimamente con la arquitectura de la
mquina, por lo que generalmente son especficos de una unidad central de procesamiento (CPU) y no
son vlidos para otra diferente. El otro ms conocido dentro de esta categora es el Ensamblador,
que utiliza ordenes(instrucciones) a escala sencilla, y por lo tanto evita las secuencias de ceros y unos.
An as es bastante complicado y no es recomendable para usuarios sin amplios conocimientos. En
conclusin, un lenguaje de bajo nivel est orientado hacia la resolucin de una determinada mquina.
.

A diferencia de los del grupo anterior, un lenguaje de alto nivel es independiente del
microprocesador del ordenador que lo soporta, as por ejemplo un programa escrito en lenguaje C, se
puede compilar sin modificar para cualquier mquina, y en principio funcionar sin ningn problema.
Esto implica dos ventajas principales, una es que la persona que desarrolla los programas no ha de
saber nada acerca del ordenador en que se ejecutar el programa, la otra es que los programas son
portables, es decir el mismo programa (en teora) ha de funcionar sobre distintos tipos de ordenadores.

Entre los lenguajes de alto nivel cabe destacar los siguientes: JAVA ,BASIC, FORTRAN,
MODULA 2, Pascal, ADA, C, C ++, LOGO ,LISP, PROLOG, Smalltalk

Tema 5: Iniciacin a la programacin

Profesor Antonio Morente

APRENDER A PROGRAMAR:
PSEUDOCODIGO
INTRODUCCIN

Para que una computadora pueda interpretar el problema, un algoritmo debe ser escrito en un
lenguaje de computacin (C, Pascal, Visual Basic, Java, etc.). Sin embargo, esto lo podemos hacer
cuando ya sabemos qu decir y cmo decirlo.
En el transcurso de esta asignatura, trabajaremos con una forma de lenguaje denominada
pseudocdigo.
La prctica la realizaremos con un software llamado PseInt (Pseudo Intrprete), que fue
desarollado por Pablo Novara, un estudiante de laUniversidad Nacional del Litoral.
Para bajar el software, e instalarlo en lacomputadora: http://pseint.sourceforge.net/
El ambiente (Conjunto de objetos) de un programa se modifica, a travs de instrucciones y
operaciones.
Entonces, bsicamente en un algoritmo tendremos:
Datos
Instrucciones
Operaciones.

TIPOS DE DATOS Y DEFINIR VARIABLES


Los datos deben ser de un determinado tipo. Un dato puede ser un simple carcter, tal como b o
un valor entero tal como 35. Entonces, tendremos los siguientes tipos:

Numricos: Son nmeros con los cuales podemos hacer operaciones aritmticas. Por
ejemplo: 34, 7.89; 899876 . Dentro de los datos numricos hay distintas categoras:
Enteros Cortos (Integer)
Enteros Largo (Long)
De punto flotante Simple (Single)
De punto flotante Doble (Double)

Alfanumricos (tambin llamados cadenas o strings): Son letras y nmeros. Pueden ser
palabras o conjunto de palabras o nmeros teniendo en cuenta que si se consideran
alfanumricos no tendrn valor.
Ejemplos:Uriarte 789; Escuela de Educacin Tcnica N 7
Lgicos (o booleanos): Son muy simples: guardan el valor Verdadero o el valor Falso.
Pueden ser muy tiles para almacenar ciertos datos, como por ejemplo el estado de un libro en
una biblioteca. En este caso podra ser prestado o no prestado... esto es, el valor prestado
puede ser falso o verdadero.

Un vector, array, arreglo o alineacin es un conjunto o agrupacin de variables del mismo


tipo cuyo acceso se realiza por ndices. Ejemplo: Alumno(1) (si es unidimencional); Clase (0,3)
(si es bidimencional)

Tema 5: Iniciacin a la programacin

Profesor Antonio Morente

Una VARIABLE es un objeto cuyo valor puede variar,


y que posee adems los siguientes atributos: Un nombre
que lo designa (o identificador)
Un tipo
Un rango mximo y mnimo (o sea, los
valores que puede almacenar)
Instrucciones bsicas de PSEINT
La instruccin de lectura (LEER) consiste en recibir desde un dispositivo de entrada (el teclado, el ratn, un
archivo) un valor, y guardarlo en una variable. Ejemplo:
LEER numero1;
La instruccin de escritura (ESCRIBIR) consiste en mandar por un dispositivo de salida (monitor, impresora,
archivo) un resultado o mensaje. Ejemplo:
ESCRIBIR numero1;
ESCRIBIR El resultado es:,numero1; //Escribe la frase entre comillas y el valor de la variable numero1

Variables: Supongamos que se tiene que calcular la superficie de determinado tringulo: El


algoritmo puede ser:
A<-30;
B<-20 ;
Sup <-(A*B)/2;
ESCRIBIR sup;
Esto sirve para un tringulo de 20 cm de altura y 30 de base. Si queremos que nuestro algoritmo
sirva para todos los tringulos, no podramos dar valores para A y B hasta que se ponga en
marcha el programa. En ese caso, sera:
LEER A;
LEER B;
Sup<-(A*B)/2;
ESCRIBIR sup;
De esta manera los valores A y B cambian segn el tringulo. A estos objetos (A y B) se los
llama variables.

DEFINIR VARIABLES

DEFINIR una variable es crearla, informar a la mquina que existe y que tiene un tipo
determinado. El ordenador reservar la cantidad de memoria necesaria para esa variable.
Cuando se crea una variable se debe especificar su nombre y su tipo.
En el programa PSEINT las variables se declaran:
DEFINIR nombre_variable COMO NUMERO
DEFINIR nombre_variable COMO LOGICO
DEFINIR nombre_variable COMO CARACTER
Los vectores o arrays se declaran:
Dimension nombre_variable(tamao);
//Unidimencional
Dimension nombre_variable(tamao,tamao); //Bidimencional

CONSTANTES

Adems, podemos encontrarnos con distintos elementos que no cambian su valor a lo largo de
todo el algoritmo. Ejemplo:En la frmula de permetro del crculo,

Tema 5: Iniciacin a la programacin

Profesor Antonio Morente

Per <- pi* d; (d es el dimetro)


Pi no cambia su valor, por lo tanto es una constante.
Ejemplo de programa
Proceso Saludo
DEFINIR nom,apelli COMO CARACTER
DEFINIR edad COMO NUMERO
ESCRIBIR Cual es tu nombre?;
LEER nom;
ESCRIBIR Cual es tu apellido?;
LEER apelli;
ESCRIBIR Cual es tu edad?;
LEER edad;
ESCRIBIR Encantada de conocerte , nom, apelli, edad;
FINProceso

EXPRESIONES ARITMETICAS, RELACIONALES Y LGICAS


Las expresiones son combinaciones de constantes, variables, smbolos de operacin,
parntesis y nombres de funciones especiales. Por ejemplo: a+(b + 3)/c

EXPRESIONES ARITMTICAS
Sirven para realizar operaciones matemticas entre las variables y constantes
+
*
/
Mod
^

Suma
Resta
Multiplicacin
Divisin
Mdulo (resto de la divisin entera)
Potencia

Expresin
7/2
12 mod 7
4+2*5
3 + 5 * (10 - (2 + 4))

Resultado
3.5
5
14
23

Prioridad de los Operadores Aritmticos


Todas las expresiones entre parntesis se evalan primero. Las expresiones con
parntesis anidados se evalan de dentro a fuera, el parntesis mas interno se
evala primero.
Dentro de una misma expresin los operadores se evalan en el siguiente orden.
1. ^ (potencia), raz
2. *, /, mod (Multiplicacin, divisin, modulo).
3. +, - (Suma y resta).
4. Los operadores en una misma expresin con igual nivel de
prioridad se evalan de izquierda a derecha.

Tema 5: Iniciacin a la programacin

Profesor Antonio Morente

Funciones aritmticas

Funcin

Significado

RC(X)

Raz Cuadrada de X

ABS(X)

Valor Absoluto de X

LN(X)

Logaritmo Natural de X

EXP(X)

Funcin Exponencial de X

SEN(X)

Seno de X

COS(X)

Coseno de X

ATAN(X)

Arcotangente de X

TRUNC(X)

Parte entera de X

REDON(X)

Entero ms cercano a X

AZAR(X)

Nmero aleatorio menor a X

EXPRESIONES RELACIONALES
Se utilizan para establecer una relacin entre dos valores. Compara estos valores entre si
y esta comparacin produce un resultado de certeza o falsedad (verdadero o falso).
Estas son:
>
(Mayor que)
<
(Menor que)
>=
(Mayor o igual que)
<=
(Menor o igual que)
<>
(Diferente)
=
(Igual)
Ejemplos: Si a = 10 b = 20 c = 30
a+b>c
a-b<c

Solucin: Falso
Solucin: Verdadero

Lo que no se puede hacer:


a<b<c
debe expresarse: a>b y b>c

EXPRESIONES LGICAS
Estos operadores se utilizan para establecer relaciones entre valores lgicos, y pueden ser el
resultado de una expresin de relacin.
And
Or
Not
Xor

(Y)
(O)
(Negacin)
(O excluyente)

SENTENCIA DE SELECCIN
Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en base al
resultado de esta comparacin, se siga un curso de accin dentrodel programa. Cabe mencionar que
la comparacin se puede hacer conra otra variable o contra una constante, segn se necesite.

Tema 5: Iniciacin a la programacin

Profesor Antonio Morente

SIMPLES
Las estructuras condicionales simples se les conoce como Tomas de decisin. Estas tomas de
decisin tienen la siguiente forma:
Si <condicin> entonces
Accin
Accin
Accin
FINSI
Esto significa que no hay un sino... la accin se hace solo en un caso.

DOBLES
Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en funcin
del cumplimiento o no de una determinada condicin. Se representa de la siguiente forma:
Si <condicin> entonces
Accin(es) 1
sino
Accin(es) 2
FINSI

SELECCIN ANIDADAS
Las estructuras de comparacin mltiples, son tomas de decisin especializadas que permiten
comparar una variable contra distintos posibles resultados, ejecutando para cada caso una serie de
instrucciones especificas. La forma comn es la siguiente:
Si <condicin> ENTONCES
Accin(es)
SINO
SI <condicin> ENTONCES
Accin(es)
SINO
Accin(es)
FINSI
FINSI

MULTIPLES
Ahora bien... Qu ocurre si tenemos que realizar el siguiente algoritmo? Leer un nmero del 1 al 7 y
ESCRIBIR a qu da de la semana corresponde (Un simple algoritmo de redaccin de fecha)... Lo
podriamos resolver con sentencias de seleccin anidadas una dentro de otra (explicadas
anteriormente), pero esta opcin se puede sustituir por una forma ms eficiente como la seleccin
multiple
La nueva estructura funciona, entonces, tomando el valor de la variable como un
selector automtico.

Tema 5: Iniciacin a la programacin

Profesor Antonio Morente

LEER z;
SEGUN z HACER
1: acciones;
2, 3, 4: acciones;
5: Acciones;
De otro modo
Mas acciones;
Finsegn
El problema expuesto al principio quedara
resuelto de la siguiente manera
PROCESO Dias
DEFINIR X COMO NUMERO
LEER X;
Segn X hacer
1: ESCRIBIR DOMINGO;
2: ESCRIBIR LUNES;
3: ESCRIBIR MARTES;
4: ESCRIBIR MIRCOLES;
5: ESCRIBIR JUEVES;
6: ESCRIBIR VIERNES;
7: ESCRIBIR SBADO;
DE OTRO MODO
ESCRIBIR ERROR;
Finsegn
FinProceso
Recomendacin: Cuanto trabajamos con estructuras, conviene utilizar la
tabulacin y colocar ms a la izquierda las instrucciones que estn ms adentro.
Esto contribuye a hacer ms legible el algoritmo y encontrar ms fcilmente los
errores.

Ejemplos resueltos
Un hombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidad
que tiene en inversin en el banco. El decidir reinvertir los intereses siempre y cuando estos
excedan a $500, y en ese caso desea saber cuanto dinero tendr finalmente en su cuenta.
PROCESO Interes
DEFINIR int, cap, capf COMO NUMERO
LEER int, cap;
int <- cap * int;
Si int > 500 ENTONCES
capf <- cap + int;
FINSI
ESCRIBIR capf;
FINPROCESO
Determinar si un alumno aprueba o suspende un curso, sabiendo que aprobara si su
promedio de tres calificaciones es mayor o igual a 5; reprueba en caso contrario.
PROCESO Notas
DEFINIR calif1, calif2, calif3, prom COMO NUMERO
LEER calif1, calif2, calif3;
prom <- (calif1 + calif2 + calif3)/3;
SI prom >= 5 ENTONCES
Escribir "alumno aprobado";
SINO
Escribir "alumno suspenso";
FINSI

Tema 5: Iniciacin a la programacin

Profesor Antonio Morente

FINPROCESO

SENTENCIA DE ITERACIN
Este tipo de estructuras que permiten reiterar una serie de instrucciones se llaman ciclos o
Bucles. Hay varios casos de bucles.

BUCLE PARA (NMERO DE VECES)


Son aquellos en que el nmero de repeticiones se conoce antes de iniciarse el algoritmo.
En general, la estructura es:
Para contador <- inicio hasta fin Hacer
Accion1;
Accion2;
. ....
AccionN ;
Finpara
Donde:
contador es la variable que cuenta el nmero de veces que se incrementa el ciclo
inicio: de donde empieza
fin: en qu nmero termina.
Contadores: son variables especiales que cuentan algo... un evento, un nmero
de veces, etc.
Ejercicio Resuelto
Calcular el promedio de un alumno que tiene 7 calificaciones en la materia
de Algoritmo.
Proceso notas
Definir sum, calif, prom como numero
Para c 1 hasta 7 hacer
LEER calif;
Sum = sum + calif;
Finpara
prom sum /7;
ESCRIBIR prom;
FinProceso

BUCLE MIENTRAS-QUE (CONDICIN)


Sin embargo, puede darse el caso de que no sepa cuantas veces tendremos que realizar las
acciones. En estos casos, la cantidad de veces que se cumplan las acciones estar dada por alguna
condicin (ejemplos):
Procesar las notas hasta que se ingrese un 1.
Procesar los datos hasta que no haya ms en el archivo.
Mientras haya facturas, sumarlas....
y muchas ms

La estructura es:

Tema 5: Iniciacin a la programacin

Profesor Antonio Morente

Mientras <condicin> hacer


Accion1;
Accion2;
. .....
AccionN ;
Finmientras
EJEMPLOS RESUELTOS
Supongamos que deben sumarse una serie de valores positivos. Se
ESCRIBIRA el resultado cuando se ingrese un nmero menor o igual a
cero, PERO POR EL MOMENTO, NO SE CUNTOS NMEROS SE INGRESAN.

Proceso SUMA2
Definir x, suma como numero
Leer x;
Mientras x > 0 hacer
Suma <- suma + x;
Leer x;
FinMientras
Escribir suma;
FinProceso

BUCLE REPETIR- HASTA (HASTA UNA CONDICION)


Esta estructura permite realizar el proceso al menos una vez, ya que la condicin se
evala al final del proceso, mientras que en el MIENTRAS puede ser que nunca llegue a entrar si la
condicin no se cumple desde un principio.
La forma de esta estructura es la siguiente:
Repetir
Accion1;
Accion2;
..
AccionN ;
Hasta que <condicin>
EJERCICIO RESUELTO
Supongamos que se desea sumar los importes de las facturas emitidas durante el
da (suponemos que al menos se vendi un artculo).
Proceso suma3
Definir suma, importe como numero
REPETIR
LEER importe;
Suma <- suma + importe;
HASTA QUE importe < 0
ESCRIBIR suma;
FINProceso

Tema 5: Iniciacin a la programacin

Profesor Antonio Morente

EJERCICIOS
TEORA
1) Qu es un organigrama?
2) Diferencia entre compilador e intrprete.
3) Caractersticas de un algoritmo
4) Ventajas de un lenguaje de alto nivel con uno de bajo nivel. Pon ejemplos de cada uno
5) Tipos de datos que puede contener un algoritmo.
6) Que es un algoritmo?Y un programa?
7) Diferencia entre el bucle REPETIR-HASTA, MIENTRAS-QUE y PARA
8) Tipos de sentencias de SELECCIN

ALGORITMOS CON OPERACIONES BSICAS


9) Introduce un nmero por teclado y devuelve el doble.
10) Dado dos nmeros que el usuario muestre la suma, resta, multiplicacin, divisin y la raz de uno de
los nmeros.
11) Supongamos que un individuo desea invertir su capital (pedir por teclado) en un banco y desea
saber cuanto dinero ganar despus de un mes si el banco paga a razn de 2% mensual.
12) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto
deber pagar finalmente por su compra. Pide por teclado el precio del articulo
13) Un maestro desea saber que porcentaje de nios y que porcentaje de nias hay en un grupo de
estudiantes. Pide por teclado el numero de alumnos y muestra su porcentaje.
14) Leer un nmero y escribir el valor absoluto del mismo. Utiliza la frmula ABS(numero)
15) Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior.
16) Todos los lunes, mircoles y viernes, una persona corre la misma ruta y cronometra los tiempos
obtenidos. Determinar el tiempo promedio que la persona tarda en recorrer la ruta en una semana
cualquiera. Pide por teclado los tiempos de cada uno de los tres das.

ALGORITMOS CON SENTENCIAS DE SELECCIN


17) Leer dos nmeros por teclado e imprimir el menor de los 2.
18) Modifica el anterior ejercicio para que lea tres nmeros por teclado e imprimir el mayor de los 3.
19) Introduce dos nmeros por teclado. Devuelve el resultado de la divisin y comprueba con el
operador MOD si la divisin es exacta o no.

Tema 5: Iniciacin a la programacin

Profesor Antonio Morente

20) En un supermercado se hace una promocin, mediante la cual el cliente obtiene un descuento
dependiendo de un nmero que se escoge al azar. Si el nmero escogido es menor que 74 el
descuento es del 15% sobre el total de la compra, si es mayor o igual a 74 el descuento es del 20%.
Obtener cuanto dinero se le descuenta.
21) El gobierno desea reforestar los bosques. Si la superficie del terreno excede a 1 milln de metros
cuadrados, entonces decidir sembrar de la sig. manera:
Porcentaje de la superficie del bosque Tipo de rbol
70% pino
20% eucalipto
10% cedro
Si la superficie del terreno es menor o igual a un milln de metros cuadrados, entonces decidir
sembrar de la sig. manera:
Porcentaje de la superficie del bosque Tipo de rbol
50% pino
30% eucalipto
20% cedro
El gobierno desea saber el nmero de pinos, eucaliptos y cedros que tendr que sembrar en el
bosque, si se sabe que en 10 metros cuadrados caben 8 pinos, en 15 metros cuadrados caben 15
eucaliptos y en 18 metros cuadrados caben 10 cedros. Pide por teclado en mumero de metros
cuadrados que se quieren reforestar.
22) En un juego de preguntas a las que se responde Si o No gana quien responda correctamente las
tres preguntas. Si se responde mal a cualquiera de ellas ya no se pregunta la siguiente y termina el
juego. Las preguntas son: (Utiliza variables booleanas y el conector AND). Puedes cambiar las
preguntas.
1. Colon descubri Amrica?
2. La independencia de Mxico fue en el ao 1810?
3. The Doors fue un grupo de rock Americano?
23) (Seleccin mltiple) Se leen los nmeros A, B, y OP, se pide realizare las operaciones de acuerdo al
codigo de operacin op, de la siguiente manera:
si op = 1 entonces A+B;
si op = 2 entonces A-B;
si op = 3 entonces a*b;
si op = 4 entonces a/b
24) (Seleccin mltiple) Realizar un algoritmo que al ingresar un nmero, me devuelva el mes
correspondiente.

ALGORITMOS CON SENTENCIAS DE ITERACIN


25) (Bucle Para)Imprimir 10 nmeros a partir del 22.
26) (Bucle Para)Leer 5 nmeros y obtener su doble.
27) (Bucle Para)Leer 10 nmeros e imprimir solamente los nmeros positivos.
28) (Bucle Para)Modifica el ejercicio 27 para que te devuelva la misma lista de nmeros pero en orden
contrario al almacenado (desde el ltimo al primero)

Tema 5: Iniciacin a la programacin

Profesor Antonio Morente

29) (Bucle Para)Leer 20 nmeros e imprimir cuantos son positivos, cuantos negativos y cuantos
neutros.
30) (Bucle Para)Calcular e imprimir la tabla de multiplicar de un nmero cualquiera. Imprimir el
multiplicando, el multiplicador y el producto.
31) (Bucle Mientras-que)Determinar cuantos hombres y cuantas mujeres se encuentran en un grupo de
n (pide por teclado) personas, suponiendo que los datos son extrados alumno por alumno.
32) (Bucle Mientras-que)Obtener el promedio de calificaciones de un grupo de n alumnos.
33) (Bucle Mientras-que)Encontrar el mayor valor de un conjunto de n nmeros dados.
34) (Bucle Repetir-hasta) Realizar un algoritmo que calcule el factorial de un nmero dado.
35) (Bucle Repetir-hasta)Calcular la suma siguiente: 100 + 98 + 96 + 94 + . . . + 0 en este orden

ALGORITMOS GENERALES
36) Pedir la edad al usuario y mostrar por pantalla si es menor o mayor de edad. (Se considera un error
meter un nmero negativo)
37) Pedir un nmero al usuario y mostrarle de qu da de la semana se trata. (En otro caso se mostrar
un mensaje de error, y no volver).
38) Hacer el 37 pero si introduce un nmero menor de 1 o mayor de 12, volver a pedir dicho valor
39) Generar una lista del 1 al 10
40) Generar una lista del 2 al 20 de dos en dos
41) Generar una lista de potencias de 2, desde el 2 hasta el 256 (2,4,8,16...)
42) Almacena 10 nmeros en un vector e imprime los que ocupen las posiciones impares.
43) Generar una cuenta atrs desde el nmero que introduzca el usuario hasta el 0 inclusive y acabar
mostrando Booom! (Si mete un negativo sera error)
44) Como el 42 pero si mete un negativo, hacemos que cuente tambin hacia el 0 (-4,-3,-2,-1,0,booom)
45) Que el usuario vaya introduciendo nmeros mientras no acierte un nmero que tu elijas de
antemano
46) Igual que el 44, pero que al final le digas el nmero de intentos
47) Igual que el 45, pero que segn el nmero de intentos le muestres un mensaje diferente si lo ha
hecho de 0 a 3 intentos, de 4 a 6 o de 7 en adelante
48) Igual que el 46, pero en lugar de elegir t el nmero, que lo elija aleatoriamente el ordenador de 0 a
10 (mira la documentacin en la web o la ayuda del programa para hacerlo, no es tan difcil)

Вам также может понравиться