<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4192074434402499382</id><updated>2012-01-07T10:16:16.384-08:00</updated><title type='text'>Logica Computacional</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-7582577049363671937</id><published>2007-09-24T20:36:00.000-07:00</published><updated>2008-09-11T09:37:41.077-07:00</updated><title type='text'>Practica 10: Ejercicios con Arreglos unidimensionales.</title><content type='html'>Materia: Lógica Computacional.&lt;br /&gt;Profesor: Lic. Salomón Aquino.&lt;br /&gt;&lt;br /&gt;I. Objetivo. Al finalizar la práctica el estudiante será capaz de: &lt;br /&gt;• Definir estructuras de datos y arreglos.&lt;br /&gt;• Utilizar arreglos en una dimensión para resolver problemas.&lt;br /&gt;II.  Introducción Teórica.&lt;br /&gt;Los Arreglos (Vectores o Array)&lt;br /&gt;Un array (lista o tabla9 es una secuencia de datos del mismo tipo. Los datos se llaman elementos del array y se numeran consecutivamente 0, 1, 2, 3, ,, etc. Estos números se denominan valores índice o subíndice del array. El tipo de elementos almacenados en el array pueden ser cualquier tipo de dato de C, incluyendo estructuras definidas por el usuario.&lt;br /&gt;Entonces, podemos entender los arrays (también conocidos como arreglos o formaciones) como variables que contienen diferentes tipos de datos homogéneos. Se puede acceder a cada elemento de datos individual de la variable mediante un subíndice, o índice. En los lenguajes C y C++, un array no se corresponde con un tipo de dato estándar; en su lugar, se trata de un tipo agregado que se obtiene a partir de otros tipos de datos. Es posible tener un array de cualquier cosa: caracteres, enteros, números en coma flotante, arrays, etc. &lt;br /&gt;Un array se declara de modo similar a otros tipos de datos, excepto que se debe indicar al compilador el tamaño o longitud del array. Para indicar al compilador el tamaño o longitud del array se debe hacer seguir al nombre, el tamaño encerrado entre corchetes.&lt;br /&gt;Los arrays tienen cuatro propiedades básicas:&lt;br /&gt;• Los elementos individuales de datos  de un array se denominan elementos.&lt;br /&gt;• Todos los elementos  deben ser del mismo tipo de dato.&lt;br /&gt;• Todos los elementos se almacenan en posiciones contiguas de la memoria de la computadora y el subíndice (o índice) del primer elemento es cero.&lt;br /&gt;• El nombre de un array es un valor constante que representa la dirección del primer elemento del array.&lt;br /&gt;Para acceder a un elemento especifico del array, se utiliza el nombre de éste seguido por uno o más “índices” (donde cada uno representa una dimensión del arreglo o array) encerrado entre corchetes. Supongamos que tenemos un arreglo unidimensional llamado X con un tamaño  de “n” elementos, su esquema grafico es el  siguiente:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_pMJVbjY_KV4/RviDIR8hfyI/AAAAAAAAAJ4/Ke3ME9EiTWs/s1600-h/vector.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_pMJVbjY_KV4/RviDIR8hfyI/AAAAAAAAAJ4/Ke3ME9EiTWs/s320/vector.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5113981555158646562" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Como puede verse  en el esquema, aunque el arreglo es de “n” elementos, en realidad tienen “n-1” elementos porque comienzan a enumerarse desde cero.&lt;br /&gt;En términos generales para definir un array se especifica el tipo de almacenamiento (atributo opcional), el tipo de datos, el identificador y entre corchetes el tamaño del arreglo. Abajo se muestra algunos ejemplos de definición de arreglos:&lt;br /&gt;&lt;br /&gt;a) int num[100];                       (un array de 100 enteros)&lt;br /&gt;b) char apellido[25];                (un array de 25 caracteres)&lt;br /&gt;c) float prom[30];                     (un array de 30 coma flotante)&lt;br /&gt;d) char contrasena[16];           (un array de 16 caracteres)&lt;br /&gt;&lt;br /&gt;La necesidad de definir arrays en función de constantes&lt;br /&gt;A veces es conveniente definir el tamaño de un array en términos de una constante, en lugar de estar especificando una cantidad entera fija. Esto se realiza por facilidad de mantenimiento.  Por ejemplo, suponga que tenemos un programa (con 350 líneas de código) donde se halle un array de 20 items, y a lo largo del programa se hace referencia unas 12 veces al arreglo, y supongamos también que se necesita cambiar el tamaño del arreglo.  Sin usar la constante se tendría que revisar todo el programa  para localizar las líneas de código y efectuar el cambio al nuevo tamaño, en cambio con el uso de constantes sólo se le cambia el tamaño a la misma y el problema esta resuelto.  La definición de un array a través de una constante se muestra en el siguiente ejemplo:&lt;br /&gt;# include stdio.h&gt;&lt;br /&gt;# include stdlib.h&gt;&lt;br /&gt;/* Definición de la constante */&lt;br /&gt;#define tamano 20&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;/* Utilización de la constante para definir la dimensión del arreglo */&lt;br /&gt;    int promedios[tamano];&lt;br /&gt;/* Leer valores utilizando la variable i como contador dentro del ciclo FOR y ++i como acumulador*/&lt;br /&gt;for (i=0; i &lt; tamano; ++i)&lt;br /&gt;    scanf(“%d”,&amp;promedios[i]);&lt;br /&gt;.....&lt;br /&gt;.....&lt;br /&gt;}&lt;br /&gt;La utilización de constantes definidas garantiza que las siguientes referencias al array no sobrepasen el tamaño definido para el mismo.&lt;br /&gt;C no comprueba que los índices del array están dentro del rango definido.&lt;br /&gt;&lt;br /&gt;Inicialización de arreglos&lt;br /&gt;En ciertas circunstancias puede ser necesario darle valores iniciales a los arreglos, para ello basta con colocar entre llaves el conjunto de valores deseados separados por comas y en el orden requerido. A continuación se muestran algunos ejemplos:&lt;br /&gt;a) int cant[6]={12,-3,0,15,8};&lt;br /&gt;b) double DesvTipica[8]={0.23, 3.1416, -0.5, 2.16789, -56.78, 25, 0.15, -14 };&lt;br /&gt;c) char meses[12]={‘E’, ‘F’, ‘M’, ‘A’, ‘M’, ‘J’, ‘J’, ‘A’, ‘S’, ‘O’, ‘N’, ‘D’};&lt;br /&gt;&lt;br /&gt;Para el caso del arreglo “cant” es como tener:&lt;br /&gt;Cant[0]=12&lt;br /&gt;Cant[1]= -3&lt;br /&gt;Cant[2]=0&lt;br /&gt;Cant[3]=15&lt;br /&gt;Cant[4]=8&lt;br /&gt;&lt;br /&gt;Cuando los elementos del arreglo no tienen asignados valores iniciales explícitos, éstos son puestos a cero, a continuación tenemos un ejemplo:&lt;br /&gt;int edades[8]={25,13,18};&lt;br /&gt;&lt;br /&gt;El resultado de la asignación seria el siguiente:&lt;br /&gt;Edades[0]=25;&lt;br /&gt;Edades[1]=13;&lt;br /&gt;Edades[2]=18;&lt;br /&gt;Edades[3]=0;&lt;br /&gt;Edades[4]=0;&lt;br /&gt;Edades[5]=0;&lt;br /&gt;Edades[6]=0;&lt;br /&gt;Edades[7]=0;&lt;br /&gt;&lt;br /&gt;Este método de inicializar arrays mediante valores constantes después de su definición, es adecuado cuando el número de elementos del arreglo es pequeño.&lt;br /&gt;Una nota interesante en cuanto a la inicialización de arreglos, es que el tamaño no necesita ser indicado explícitamente. Con los arrays numéricos el tamaño será fijado igual al número de valores incluidos. En cuanto a las cadenas, el tamaño se fijará igual al número de caracteres del string o cadena mas uno (el carácter nulo “\0”).&lt;br /&gt;C puede dejar los corchetes vacíos, sólo cuando se asignan valores al array, tal como&lt;br /&gt;int cuenta[ ] = { 15, 25, -45 , 0 , 50 };&lt;br /&gt;char c[ ] = { ‘L’, ‘u’, ‘i’, ‘s’ };  /* declara un array de 4 elementos */&lt;br /&gt;El compilador asigna automáticamente cinco elementos a cuenta.&lt;br /&gt;Otros ejemplos:&lt;br /&gt;a) Int porcent[ ]={8, 6, 10, -15, 23};&lt;br /&gt;b) Char mes[ ]=”octubre”;&lt;br /&gt;que vienen siendo equivalente a:&lt;br /&gt;&lt;br /&gt;Porcent[0]=8;&lt;br /&gt;porcent[1]=6;&lt;br /&gt;porcent[2]=10;&lt;br /&gt;porcent[3]= -15;&lt;br /&gt;porcent[4]=23;&lt;br /&gt;&lt;br /&gt;mes[0]=‘o’;&lt;br /&gt;mes[1]=‘c’; &lt;br /&gt;mes[2]=‘t’; &lt;br /&gt;mes[3]=‘u’; &lt;br /&gt;mes[4]=‘b’; &lt;br /&gt;mes[5]=‘r’; &lt;br /&gt;mes[6]=‘e’; &lt;br /&gt;mes[7]=‘\0’&lt;br /&gt;&lt;br /&gt;Ejemplo 1: &lt;br /&gt;Elabore un programa que permita leer una lista de números en un arreglo, calcule la suma, promedio, cuadrado , cubo y desviación estándar de los mismos:&lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt;#include conio.h&gt;&lt;br /&gt;#include math.h&gt;&lt;br /&gt;#define tam 4&lt;br /&gt;/* programa para calcular la suma, promedio, cuadrado, cubo y desviación&lt;br /&gt; estandar de una serie de números */&lt;br /&gt;main ( )&lt;br /&gt;{&lt;br /&gt; double vector[tam],cuadrado, cubo;&lt;br /&gt; float prom, desv,suma=0;&lt;br /&gt; int i, j;&lt;br /&gt;&lt;br /&gt; system("cls" );&lt;br /&gt; printf ("PROGRAMA PARA CALCULAR \n");&lt;br /&gt;            printf(" PROMEDIO, SUMA, CUADRADO, CUBO Y DESV. EST.\n\n") ;&lt;br /&gt; //Captura de valores y suma de los mismos&lt;br /&gt; for(i = 0 ; i &lt; tam ; ++i)&lt;br /&gt; {&lt;br /&gt;   printf ("num [%d] = " , i) ;&lt;br /&gt;   scanf ("%lf" , &amp;vector[i]) ;&lt;br /&gt;   suma+=  vector[i] ;&lt;br /&gt; }&lt;br /&gt; prom = suma / tam ;&lt;br /&gt; printf (" \n El promedio de los numeros es: %4.2f\n ", prom) ;&lt;br /&gt; //Calculo e impresión de cuadrado, cubo y desviación estandar&lt;br /&gt; printf(" \n \n NUMERO CUADRADO CUBO DESV. EST.\n");&lt;br /&gt; for( i = 0 ; i &lt; tam ; ++i )&lt;br /&gt; {&lt;br /&gt;   cuadrado = vector[i] * vector[i] ;&lt;br /&gt;   cubo = pow (vector[i], 3) ;&lt;br /&gt;   desv = vector [i] - prom ;&lt;br /&gt;   printf ("%.2lf", vector[i] ) ;&lt;br /&gt;   printf (" \t%.2lf", cuadrado) ;&lt;br /&gt;   printf (" \t%.2lf", cubo) ;&lt;br /&gt;   printf (" \t%.2f\n", desv) ;&lt;br /&gt; }&lt;br /&gt; system("pause");&lt;br /&gt; return(0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Nota que los valores fueron declarados de tipo double no enteros, por el tamaño de los valores que se generan en los cálculos. &lt;br /&gt;&lt;br /&gt;Ejemplo 2:&lt;br /&gt;El siguiente programa lee 5 valores de teclado y los guarda en un arreglo a.  Luego los escribe.&lt;br /&gt;&lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt; main()&lt;br /&gt;{&lt;br /&gt;   int a[5],i,num;&lt;br /&gt;      for(i=0; i&lt;5;i++){&lt;br /&gt;              printf("Digite el numero:\n");&lt;br /&gt;              scanf("%d",&amp;num);&lt;br /&gt;              a[i]=num;&lt;br /&gt;              }&lt;br /&gt;&lt;br /&gt;        printf("\nEscribiendo el arreglo con los datos leidos:\n\n");&lt;br /&gt;          for(i=0; i&lt;5;i++){&lt;br /&gt;       printf("a[%d]= %d\n\n",i,a[i]);&lt;br /&gt;          }&lt;br /&gt;  system("pause");&lt;br /&gt;  return 0;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;Ejemplo 3:&lt;br /&gt;El siguiente programa, pide 5 numeros y calcula los cubos de ellos, los cuales son guardados en un arreglo y son desplegados.&lt;br /&gt;&lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt;#include math.h&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt; int i;&lt;br /&gt;    double a[5], num;&lt;br /&gt; for (i=0; i&lt;5; i++)&lt;br /&gt;       {&lt;br /&gt;   printf("\n Digite numero:");&lt;br /&gt;   scanf("%lf", &amp;num);&lt;br /&gt;   a[i]=num;&lt;br /&gt;      }&lt;br /&gt;      printf("_________________________________________\n");&lt;br /&gt;      printf("Los cubos de los numeros leidos son:\n");&lt;br /&gt;    for (i=0; i&lt;5; i++){&lt;br /&gt;        a[i]=pow(a[i],3);&lt;br /&gt;  printf("%.0lf\n",a[i]);&lt;br /&gt;    }&lt;br /&gt;    printf("\n");&lt;br /&gt; system("pause");&lt;br /&gt;    return 0;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;EJERCICIOS:&lt;br /&gt;&lt;br /&gt;Ejercicio 1:&lt;br /&gt;Digite, compile y ejecute el siguiente programa. &lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;int a,b=0;&lt;br /&gt;int c[10]={1,2,3,4,5,6,7,8,9,0};&lt;br /&gt;for (a=0;a&lt;10;++a)&lt;br /&gt;  if ((c[a]%2)==0) b+=c[a];&lt;br /&gt;printf("%d\n",b);&lt;br /&gt;system(“pause”);  &lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;¿Qué hace el programa? __________________________________________&lt;br /&gt;_______________________________________________________________&lt;br /&gt;Cuál es la salida?  _______&lt;br /&gt;&lt;br /&gt;Ejercicio 2:&lt;br /&gt;Digite, compile y ejecute el siguiente programa. &lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;int a,b=0;&lt;br /&gt;int c[10]={1,2,3,4,5,6,7,8,9,0};&lt;br /&gt;for (a=0;a&lt;10;++a)&lt;br /&gt;  if ((a%2)==0)b+=c[a];&lt;br /&gt;printf("%d\n",b);&lt;br /&gt;system(“pause”);  &lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;¿Qué hace el programa? __________________________________________&lt;br /&gt;_______________________________________________________________&lt;br /&gt;Cuál es la salida?  _______&lt;br /&gt;¿En qué se diferencia del ejemplo anterior? ____________________________&lt;br /&gt;_______________________________________________________________&lt;br /&gt;Ejercicio 3&lt;br /&gt;Elabore un programa que sume los primeros 25 números enteros guardados en un vector. Se desea imprimir la lista de números y al final la suma de los mismos.&lt;br /&gt;Ejercicio 4&lt;br /&gt;Generar e imprimir un vector de 10 números enteros y encontrar el mayor de ellos. Desplegar el resultado.&lt;br /&gt;Ejercicio 5&lt;br /&gt;Dadas dos listas A y B de igual número de elementos, se desea generar  e imprimir una lista C conteniendo las sumas:  A[i] + B[i] = C[i]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-7582577049363671937?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/7582577049363671937/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=7582577049363671937' title='25 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/7582577049363671937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/7582577049363671937'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/09/practica-10-ejercicios-con-arreglos.html' title='Practica 10: Ejercicios con Arreglos unidimensionales.'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_pMJVbjY_KV4/RviDIR8hfyI/AAAAAAAAAJ4/Ke3ME9EiTWs/s72-c/vector.jpg' height='72' width='72'/><thr:total>25</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-8857698762385664028</id><published>2007-09-23T22:25:00.000-07:00</published><updated>2008-09-11T09:37:23.511-07:00</updated><title type='text'>Clase 10: Estructuras de datos y arreglos.</title><content type='html'>Materia: Lógica Computacional&lt;br /&gt;Profesor: Lic. Salomón Aquino.&lt;br /&gt;Objetivos de la clase:&lt;br /&gt;Al final de la clase los alumnos y alumnas serán capaces de:&lt;br /&gt;Asimilar los conceptos generales de estructuras de datos y arreglos.&lt;br /&gt;Resolver problemas usando arreglos en una dimensión (vectores). &lt;br /&gt;&lt;br /&gt;&lt;object type="application/x-shockwave-flash" data="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=116640&amp;doc=clase-10-estructuras-de-datos-y-arreglos4203" width="425" height="348"&gt;&lt;param name="movie" value="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=116640&amp;doc=clase-10-estructuras-de-datos-y-arreglos4203" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Introducción:&lt;br /&gt;Todas las variables que se han considerado hasta ahora son de tipo simple. Una variable de tipo simple consiste de una sola caja de memoria y sólo puede contener un valor cada vez.&lt;br /&gt;Una variable de tipo estructurado consiste en toda una colección de casillas de memoria.&lt;br /&gt;Los tipos de datos estudiados: entero, real, alfabético son considerados como datos de tipo simple, puesto que una variable que se define con alguno de estos tipos sólo puede almacenar un valor a la vez, es decir, existe una relación de uno a uno entre la variable y el número de elementos (valores) que es capaz de almacenar. &lt;br /&gt;En cambio un dato de tipo estructurado, como el arreglo, puede almacenar más de un elemento (valor) a la vez, con la condición de que todos los elementos deben ser del mismo tipo, es decir, que se puede tener un conjunto de datos enteros, reales, etc.&lt;br /&gt;Estructuras de datos:&lt;br /&gt;Estructura de Datos  es una colección de datos que se caracterizan por su organización  y las operaciones que se definen en ella.&lt;br /&gt;Los datos de tipo estándar pueden ser organizados en diferentes estructuras de datos: estáticas y dinámicas.&lt;br /&gt;Estructura de Datos estáticas:&lt;br /&gt;Son aquellas en las que el espacio ocupado en memoria se define en tiempo de compilación y no puede ser modificado durante la ejecución del programa.&lt;br /&gt;Corresponden a este tipo los arrays y registros&lt;br /&gt;Estructuras de Datos Dinámicas:&lt;br /&gt;Son aquellas en las que el espacio ocupado en memoria puede ser modificado en tiempo de ejecución. &lt;br /&gt;Corresponden a este tipo las listas, árboles y grafos . &lt;br /&gt;Estas estructuras no son soportadas en todos los lenguajes.&lt;br /&gt;La elección de la estructura de datos idónea dependerá de la naturaleza del problema a resolver y, en menor medida, del lenguaje. &lt;br /&gt;Las estructuras de datos tienen en común que un identificador, nombre, puede representar a múltiples datos individuales.&lt;br /&gt;Arreglos o Arrays:&lt;br /&gt;Un arreglo (array) es una colección de datos del mismo tipo, que se almacenan en posiciones consecutivas de memoria y reciben un nombre común. Para referirse a un determinado elemento de un array se deberá utilizar un índice, que especifique su posición relativa en el array.     &lt;br /&gt;Un arreglo es una colección finita, homogénea y ordenada de elementos.&lt;br /&gt;Finita:Todo arreglo tiene un límite; es decir,debe determinarse cuál será el número máximo de elementos que podrán formar parte del arreglo.&lt;br /&gt;Homogénea: Todos los elementos del arreglo deben ser del mismo tipo.&lt;br /&gt;Ordenada: Se puede determinar cuál es el primer elemento, el segundo, el tercero,.... y el n-ésimo elmento.&lt;br /&gt;Los arreglos se clasifican de acuerdo con el número de dimensiones que tienen. Así se tienen los:&lt;br /&gt;Unidimensionales   (vectores)&lt;br /&gt;Bidimensionales (tablas o matrices)&lt;br /&gt;Multidimensionales  (tres o más dimensiones) &lt;br /&gt;&lt;br /&gt;Tipos de arreglos:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_pMJVbjY_KV4/RvdLbR8hfwI/AAAAAAAAAJo/k5IyXLqUspE/s1600-h/arrays.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_pMJVbjY_KV4/RvdLbR8hfwI/AAAAAAAAAJo/k5IyXLqUspE/s320/arrays.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5113638833948294914" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Arreglos unidimensionales:&lt;br /&gt;Están formados por un conjunto de elementos de un mismo tipo de datos que se almacenan bajo un mismo nombre, y se diferencian por la posición que tiene cada elemento dentro del arreglo de datos.dentro del arreglo, los programas especifican el nombre de éste y el número del elemento, colocándolo dentro de corchetes, como en calificación[3].&lt;br /&gt;Al declarar un arreglo, se debe inicializar sus elementos antes de utilizarlos.&lt;br /&gt;Para declarar un arreglo tiene que indicar su tipo, un nombre único y la cantidad de elementos que va a contener. Por ejemplo, las siguientes instrucciones declaran tres arreglos distintos:&lt;br /&gt;Float costo_partes[50];&lt;br /&gt;Int edad_empleados[100];&lt;br /&gt;Float precios_acciones[25];&lt;br /&gt;&lt;br /&gt;Ejemplo de arreglo unidimensional:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_pMJVbjY_KV4/RvdLtB8hfxI/AAAAAAAAAJw/EweroeN-sKo/s1600-h/arrayuni.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_pMJVbjY_KV4/RvdLtB8hfxI/AAAAAAAAAJw/EweroeN-sKo/s320/arrayuni.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5113639138890972946" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Para acceder a valores específicos del arreglo, use un valor de índice que apunte al elemento deseado. Por ejemplo,  para acceder al primer elemento del arreglo calificaciones debe utilizar el valor de índice 0 (calificaciones[0]). &lt;br /&gt;Los programas en C++ siempre indizan el primer elemento de un arreglo con 0 y el último con un valor menor en una unidad al tamaño del arreglo.&lt;br /&gt;Inicialización y asignación de valores:&lt;br /&gt;Como se decía anteriormente, antes de utilizar un arreglo es necesario inicializarlo:&lt;br /&gt;Para inicializar todos los elementos de una vez, se colocan dentro de una estructura for que va del primer elemento al último que contiene el arreglo.&lt;br /&gt;Para asignar un valor a un elemento del arreglo se hace por ejemplo:&lt;br /&gt;           Calificaciones[0] &lt;- 100;&lt;br /&gt;Cuando se usan arreglos, una operación común es usar una variable índice para acceder a los elementos de un arreglo. Suponiendo que la variable índice I contiene el valor 3, la siguiente instrucción asigna el valor 400 a valores[3]:&lt;br /&gt;           valores[I]  &lt;-   400;&lt;br /&gt;Partes de un arreglo:&lt;br /&gt;Los componentes. Hacen referencia a los elementos que forman el arreglo, es decir, a los valores que se almacenan en cada una de las casillas del mismo.&lt;br /&gt;Los índices. Permiten hacer referencia a los componentes del arreglo en forma individual, especifican cuántos elementos tendrá el arreglo y además, de qué modo podrán accesarse esos componentes.&lt;br /&gt;Operaciones con vectores:&lt;br /&gt;Las operaciones que se pueden realizar con vectores durante el proceso de resolución de un problema son:&lt;br /&gt;Lectura/ escritura&lt;br /&gt;Asignación&lt;br /&gt;Actualización ( inserción, eliminación, modificación)&lt;br /&gt;Recorrido (acceso secuencial)&lt;br /&gt;Ordenación&lt;br /&gt;Búsqueda&lt;br /&gt;&lt;br /&gt;Lectura y escritura de vectores:&lt;br /&gt;Lectura&lt;br /&gt;El proceso de lectura de un arreglo consiste en leer y asignar un valor a cada uno de sus elementos. Normalmente se realizan con estructuras repetitivas, aunque pueden usarse estructuras selectivas.&lt;br /&gt;Usamos los índices para recorrer los elementos del arreglo:&lt;br /&gt;            desde i = 1 hasta 70 hacer&lt;br /&gt;                   leer ( arre[i])&lt;br /&gt;             fin_desde&lt;br /&gt;Escritura:&lt;br /&gt;Es similar al caso de lectura, sólo que en vez de leer el componente del arreglo, lo escribimos. &lt;br /&gt;              leer (N)&lt;br /&gt;             desde i = 1 hasta N hacer&lt;br /&gt;                   escribir  (arre[i])&lt;br /&gt;             fin_desde&lt;br /&gt;Asignación e Inicialización de vectores:&lt;br /&gt;Asignación:&lt;br /&gt;No es posible asignar directamente un valor a todo el arreglo; sino que se debe asignar el valor deseado en cada componente. Con una estructura repetitiva se puede asignar un valor a todos los elementos  del vector.&lt;br /&gt;Por ejemplo:&lt;br /&gt;               arre[1] &lt;- 120     (asignación de un valor constante único a una casilla del vector)&lt;br /&gt;               arre[3] &lt;-  arre[1] / 4   (asignar una operación)&lt;br /&gt;Se puede asignar un valor constante a todos los elementos del vector:               &lt;br /&gt;           desde i = 1 hasta 5 hacer&lt;br /&gt;                   arre[i]  &lt;-  3&lt;br /&gt;            fin_desde&lt;br /&gt;O bien&lt;br /&gt;          arre &lt;-  3    (con arre del tipo arreglo)&lt;br /&gt;Inicialización&lt;br /&gt;Para inicializar con cero todos los elementos del arreglo:&lt;br /&gt;           desde i = 1 hasta 70 hacer&lt;br /&gt;                   arre[i] &lt;-  0&lt;br /&gt;           fin_desde&lt;br /&gt;Acceso secuencial y Actualización de vectores:&lt;br /&gt;Acceso Secuencial.  (Recorrido)&lt;br /&gt;El acceso a los elementos de un vector puede ser para leer en él o para escribir (visualizar su contenido).&lt;br /&gt;Recorrido del vector es la acción de efectuar una acción general sobre todos los elementos de ese vector.&lt;br /&gt;Actualización.&lt;br /&gt;Incluye añadir (insertar), borrar o modificar algunos de los ya existentes. Se debe tener en cuenta si el arreglo está o no ordenado.&lt;br /&gt;Añadir datos a un vector consiste en agregar un nuevo elemento al final del vector, siempre que haya espacio en memoria.&lt;br /&gt;Fin de la clase.&lt;br /&gt;Gracias por asistir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-8857698762385664028?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/8857698762385664028/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=8857698762385664028' title='7 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/8857698762385664028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/8857698762385664028'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/09/clase-10-estructuras-de-datos-y.html' title='Clase 10: Estructuras de datos y arreglos.'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_pMJVbjY_KV4/RvdLbR8hfwI/AAAAAAAAAJo/k5IyXLqUspE/s72-c/arrays.JPG' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-1134578285303147971</id><published>2007-09-17T19:59:00.000-07:00</published><updated>2008-09-11T09:36:53.481-07:00</updated><title type='text'>Practica 9: Ejercicios con While y Do While.</title><content type='html'>Materia: Lógica Computacional.&lt;br /&gt;Profesor: Lic. Salomón Aquino.&lt;br /&gt;&lt;br /&gt;Objetivos.  Al finalizar la práctica los estudiantes  serán capaces de: &lt;br /&gt;• Resolver Problemas usando estructuras While Y Do While&lt;br /&gt;• Aplicar el concepto de centinelas y banderas con estructuras While y Do While.&lt;br /&gt;&lt;br /&gt;Estructura Mientras (While)&lt;br /&gt;Al igual que el bucle for, el bucle While es un bucle de precondición. Esto significa que el programa evalúa la condición antes de entrar en la instrucción o instrucciones del cuerpo del bucle. Como consecuencia de esto, los bucles de precondición se pueden ejecutar desde cero hasta varias veces.&lt;br /&gt;La sentencia while se utiliza para generar bucles repetidamente, hasta que la condición deje de ser verdadera.&lt;br /&gt;Sintaxis:&lt;br /&gt; while ( [condición] ) {&lt;br /&gt; Sentencias;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Como en todas las estructuras que hemos visto, si se cuenta con una sola sentencia de repetición, no es necesario escribir las llaves.&lt;br /&gt;Estructura  Repetir   (Do While)&lt;br /&gt;La sentencia do – while se utiliza para especificar un bucle condicional que se ejecuta al menos una vez. Esta situación se suele dar en algunas circunstancias en las que se ha de tener la seguridad de que una determinada acción se ejecutará una o varias veces, pero al menos una vez.&lt;br /&gt;Cuando se construye un bucle usando while, la evaluación de la condición para la continuación del bucle se realiza al comienzo de cada pasada.  Sin embargo, a veces es deseable disponer de un bucle en el que se realice el examen al final de cada pasada.&lt;br /&gt;Con esta sentencia se controla la condición al final del bucle. Si ésta se cumple, el programa vuelve a ejecutar las sentencias del bucle.&lt;br /&gt;     La única diferencia entre las sentencias while y do...while es que con la segunda el cuerpo del bucle se ejecutará por lo menos una vez.&lt;br /&gt;Sintaxis:&lt;br /&gt;do {&lt;br /&gt;      sentencia1;.......&lt;br /&gt;      sentenciaN;&lt;br /&gt;} while ([evaluación]);&lt;br /&gt;&lt;br /&gt;Ejemplo 1&lt;br /&gt; Elabore un programa en lenguaje C para calcular el promedio de una lista de x números.&lt;br /&gt;Solucion en WHILE:&lt;br /&gt;&lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt;main ( )&lt;br /&gt;{&lt;br /&gt; int n , contar=1;&lt;br /&gt; float x , promedio , suma=0;&lt;br /&gt; printf ("Cuantos números desea leer?: ");&lt;br /&gt; scanf ("%d",&amp;n);&lt;br /&gt; while (contar &lt;= n) {&lt;br /&gt;  printf ("x= ");&lt;br /&gt;  scanf ("%f",&amp;x);&lt;br /&gt;  suma +=x;&lt;br /&gt;  ++contar;&lt;br /&gt; }&lt;br /&gt; promedio=suma/n;&lt;br /&gt; printf ("\nEl promedio es: %.2f\n",promedio);&lt;br /&gt;&lt;br /&gt;system(“pause”);&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Solucion en DO-WHILE&lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt;main ( )&lt;br /&gt;{&lt;br /&gt; int n, contar = 1;&lt;br /&gt; float x, promedio, suma = 0;&lt;br /&gt; printf ("Cuantos numeros?: ");&lt;br /&gt; scanf ("%d",&amp;n);&lt;br /&gt; do {&lt;br /&gt;  printf("x=  ");&lt;br /&gt;  scanf ("%f", &amp;x);&lt;br /&gt;  suma +=x;&lt;br /&gt;  ++contar;&lt;br /&gt; } while (contar &lt;= n);&lt;br /&gt; promedio = suma/n;&lt;br /&gt; printf ("\nEl promedio es: %.2f\n",promedio);&lt;br /&gt; system(“pause”);  &lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ejemplo 3 : Uso de centinelas&lt;br /&gt;En el ejemplo se introducen notas mientras que ésta sea distinta de centinela, al final imprime cuántas notas se ingresaron, su suma y un mensaje de final.  Nota se ha declarado de tipo entero.&lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt; main()&lt;br /&gt; {&lt;br /&gt; const int centinela = -1;&lt;br /&gt; int nota,suma=0;&lt;br /&gt; int cuenta =0;&lt;br /&gt; printf("Introduzca primera nota:\n");&lt;br /&gt; scanf("%d",&amp;nota);&lt;br /&gt; while (nota != centinela)&lt;br /&gt; {&lt;br /&gt;  cuenta++;&lt;br /&gt;  suma+= nota;&lt;br /&gt;  printf("Introduzca la siguiente nota:\n");&lt;br /&gt;  scanf("%d",&amp;nota);&lt;br /&gt;  }&lt;br /&gt;  printf("la suma es: %d\n",suma);&lt;br /&gt;  printf("la cuenta fue: %d\n", cuenta);&lt;br /&gt;  puts("final");&lt;br /&gt;system(“pause”);&lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;Ejemplo 4: Uso de centinelas.&lt;br /&gt;Elabore un programa para solicitar el nombre, apellido, edad y la nota promedio de 5  estudiantes de un curso de computación, el programa debe realizar la petición de los datos hasta que se hallan completado los datos.&lt;br /&gt;Solución:&lt;br /&gt;#include stdio.h&gt; &lt;br /&gt;#include conio.h&gt; &lt;br /&gt;#include stdlib.h&gt; &lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;    int op,edad;&lt;br /&gt; float nota;&lt;br /&gt; char nombre[20], apellido[20];&lt;br /&gt; op=1;&lt;br /&gt; while (op&lt;=5)&lt;br /&gt;  {&lt;br /&gt;         system("cls");&lt;br /&gt;         if(op==5)&lt;br /&gt;         {&lt;br /&gt;             printf("\n\n\t");                  &lt;br /&gt;             printf("ESTE ES EL ULTIMO ALUMNO");&lt;br /&gt;         }&lt;br /&gt;         printf("\n\n\t");                  &lt;br /&gt;         printf("REGISTRO DE ALUMNO # %d",op);&lt;br /&gt;         printf("\n\n\t\t");                  &lt;br /&gt;         printf ("Nombre: ");&lt;br /&gt;      scanf ("%s",nombre);&lt;br /&gt;         printf("\n\n\t\t");                  &lt;br /&gt;         printf  ("Escriba su Apellido: ");&lt;br /&gt;   scanf ("%s",apellido);&lt;br /&gt;         printf("\n\n\t\t");                  &lt;br /&gt;         printf  ("Escriba su Edad: ");&lt;br /&gt;   scanf ("%d",&amp;edad);&lt;br /&gt;         printf("\n\n\t\t");                  &lt;br /&gt;   printf  ("Escriba su Nota Promedio: ");&lt;br /&gt;   scanf ("%f",&amp;nota);&lt;br /&gt;   ++op;&lt;br /&gt;  }&lt;br /&gt;      system("cls");&lt;br /&gt;         printf("\n\n\n\t");                  &lt;br /&gt; printf ("\nE L  P R O G R A M A  H A  T E R M I N A D O\n");&lt;br /&gt;    system("pause"); &lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;Nota: Este ejemplo aplica el uso de tabuladores para ordenar la información&lt;br /&gt;Ejemplo 5: Uso de banderas.&lt;br /&gt;El siguiente programa utiliza un juego de adivinación de un número, indicando las veces que se necesitan para encontrar el valor de 77.  Note el uso de la instrucción continue que provoca que se ignoren todas las instrucciones que siguen a dicha instrucción.&lt;br /&gt;La instrucción while (!iadivinado) indica que mientras sea verdadero que entre al bucle, esto es porque la variable iadivinado se inicializó a FALSO. Esta variable es la bandera del programa, en el momento en que el usuario digite el número 77, la bandera cambia a verdadero y la condición del bucle deja de ser verdadera y se sale.&lt;br /&gt;Observa también que se definieron dos constantes para que la comparación sea numérica, ya que decimos que verdadero vale 1 y falso vale cero, al escribir por ejemplo, la palabra VERDADERO, en realidad, lo que toma la variable es el valor de 1.&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;stdlib.h&gt;&lt;br /&gt;#define VERDADERO 1&lt;br /&gt;#define FALSO 0&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;            int inumero_correcto,iadivinado;&lt;br /&gt; int ivalor_introducido,inumero_intentos;&lt;br /&gt; inumero_correcto=77;&lt;br /&gt;         iadivinado=FALSO;&lt;br /&gt;         inumero_intentos=0;&lt;br /&gt;         while (!iadivinado){&lt;br /&gt;   printf("por favor, introduzca el numero de la suerte:");&lt;br /&gt;   scanf("%d", &amp;ivalor_introducido);&lt;br /&gt;   inumero_intentos++;&lt;br /&gt;   if(ivalor_introducido== inumero_correcto)&lt;br /&gt;    iadivinado=VERDADERO;&lt;br /&gt;   else&lt;br /&gt;    continue;&lt;br /&gt;printf ("¡Usted ha necesitado %d intentos para adivinarlo!\n",  inumero_intentos);&lt;br /&gt;   }&lt;br /&gt;   system("pause");&lt;br /&gt;   return 0;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;EJERCICIOS:&lt;br /&gt;Ejercicio 1:&lt;br /&gt; Escriba un programa que calcule el resultado de todos los números del uno al cien (1+2+3+4......).&lt;br /&gt;Ejercicio 2:&lt;br /&gt; Escriba un programa que genere las tablas de multiplicar del 1 al 10.&lt;br /&gt;Ejercicio 3:&lt;br /&gt;Haga un programa que pida el número de alumnos de una clase y luego debe permitir ingresar los nombres de dichos alumnos.&lt;br /&gt;Ejercicio 4:&lt;br /&gt;Una compañía de seguros tiene contratados a n vendedores. Cada uno hace tres ventas a la semana. Su política de pagos es que un vendedor recibe un sueldo base y un 10% extra por comisiones de sus ventas.&lt;br /&gt;El gerente de la compañía desea saber cuánto dinero obtendrá en la semana cada vendedor por concepto de comisiones y cuánto tomando en cuenta su sueldo base y sus comisiones&lt;br /&gt;Ejercicio 5:&lt;br /&gt; Haga un programa usando bucle do-While, que pida números y luego calcule la media de esos números. El usuario debe introducir los datos hasta que escriba –1 para finalizar la lectura.&lt;br /&gt;&lt;br /&gt;Ejercicio 6:&lt;br /&gt; Escriba un programa usando banderas para imprimir y sumar los términos de la serie 2,5,7,10,12,15....50.  Nota que a la serie se le suma 2 y a veces 3. (Puedes auxiliarte del algoritmo visto en clase teórica)&lt;br /&gt;Ejercicio 7:&lt;br /&gt; Elabora el programa que escriba los números del 1 al 100 excepto el número 25. Utiliza la función continue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-1134578285303147971?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/1134578285303147971/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=1134578285303147971' title='14 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/1134578285303147971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/1134578285303147971'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/09/practica-9-ejercicios-con-while-y-do.html' title='Practica 9: Ejercicios con While y Do While.'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-4353707624183592501</id><published>2007-09-16T21:38:00.000-07:00</published><updated>2008-09-11T09:36:36.584-07:00</updated><title type='text'>Clase 9: Estructura Mientras y Repetir.</title><content type='html'>Materia: Lógica Computacional&lt;br /&gt;Profesor: Lic. Salomón Aquino.&lt;br /&gt;Objetivos de la clase:&lt;br /&gt;• Al final de la clase los alumnos y alumnas serán capaces de:&lt;br /&gt;1) Aplicar las estructuras mientras y repetir, en la solución de problemas. &lt;br /&gt;2) Entender y aplicar el uso de centinelas y banderas.&lt;br /&gt;&lt;br /&gt;Estructura Mientras (While):&lt;br /&gt;• Se llama Mientras a la estructura algorítmica que se ejecuta mientras la condición evaluada resulte verdadera.&lt;br /&gt;• Se evalúa la expresión booleana y, si es cierta, se ejecuta la instrucción especificada, llamada el cuerpo del bucle. Entonces se vuelve a evaluar la expresión booleana, y si todavía es cierta se ejecuta de nuevo el cuerpo. Este proceso de evaluación de la expresión booleana y ejecución del cuerpo se repite mientras la expresión sea cierta. Cuando se hace falsa, finaliza la repetición.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_pMJVbjY_KV4/Ru4FXRrYCzI/AAAAAAAAAIw/bhb-QYN336s/s1600-h/estwhile.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_pMJVbjY_KV4/Ru4FXRrYCzI/AAAAAAAAAIw/bhb-QYN336s/s320/estwhile.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5111028524552555314" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Estructura repetir (repeat o Do While)&lt;br /&gt;• Se llama Repetir a la estructura algorítmica que se ejecuta un número definido de veces hasta que la condición se torna verdadera.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_pMJVbjY_KV4/Ru4F2BrYC0I/AAAAAAAAAI4/JPE2oW0F4Mg/s1600-h/estrepeat.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_pMJVbjY_KV4/Ru4F2BrYC0I/AAAAAAAAAI4/JPE2oW0F4Mg/s320/estrepeat.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5111029052833532738" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Representación en pseudocodigo:&lt;br /&gt;• Mientras:&lt;br /&gt;Mientras &lt;condición&gt;&lt;br /&gt;     Acciones&lt;br /&gt;Fin_mientras &lt;br /&gt;• Repetir:&lt;br /&gt;Repetir  &lt;br /&gt;       Acciones&lt;br /&gt;Hasta que &lt;condición&gt; &lt;br /&gt;EJEMPLO:&lt;br /&gt;Calcular la suma de los cuadrados de los primeros 100 números enteros y escribir el resultado. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_pMJVbjY_KV4/Ru4GLRrYC1I/AAAAAAAAAJA/zmFy5pTg_gw/s1600-h/mientras2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_pMJVbjY_KV4/Ru4GLRrYC1I/AAAAAAAAAJA/zmFy5pTg_gw/s320/mientras2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5111029417905752914" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Solución estructura Repetir:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_pMJVbjY_KV4/Ru4HlhrYC2I/AAAAAAAAAJI/Z3k150Soj7E/s1600-h/repeat1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_pMJVbjY_KV4/Ru4HlhrYC2I/AAAAAAAAAJI/Z3k150Soj7E/s320/repeat1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5111030968388946786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_pMJVbjY_KV4/Ru4HqhrYC3I/AAAAAAAAAJQ/pgvHu_Oq2AQ/s1600-h/repeat2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_pMJVbjY_KV4/Ru4HqhrYC3I/AAAAAAAAAJQ/pgvHu_Oq2AQ/s320/repeat2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5111031054288292722" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Centinelas:&lt;br /&gt;• En un ciclo While controlado por tarea, la condición de While especifica que el cuerpo del ciclo debe continuar ejecutándose mientras la tarea no haya sido completada.&lt;br /&gt;• En un ciclo controlado por centinela el usuario puede suspender la introducción de datos cuando lo desee, introduciendo una señal adecuada llamada centinela.&lt;br /&gt;• Un ciclo Repetir controlado por centinela es cuando el usuario digita una letra para salir como por ejemplo S o N para indicar si desea continuar o no.  El bucle debe repetirse hasta que la respuesta del usuario sea “n” o “N”.&lt;br /&gt;• Cuando una decisión toma los valores de –1 o algún posible valor que no esté dentro del rango válido  en un momento determinado, se le denomina centinela y su función primordial es detener el proceso de entrada de datos en una corrida de programa.&lt;br /&gt;• Por ejemplo, si se tienen las calificaciones de un test (comprendida entre 0 y 100); un valor centinela en esta lista puede ser –999, ya que nunca será una calificación válida y cuando aparezca este valor se terminará de ejecutar el bucle.&lt;br /&gt;• Si la lista de datos son números positivos, un valor centinela puede ser un número negativo.&lt;br /&gt;• Los centinelas solamente pueden usarse con las estructuras Mientras y Repetir, no con estructuras Desde/Para &lt;br /&gt;Ejemplo de centinelas:&lt;br /&gt;• Suponga que debemos obtener la suma de los gastos que hicimos en nuestro último viaje, pero no sabemos exactamente cuántos fueron.&lt;br /&gt;Si definimos gasto1, gasto2, gasto3, ....,  -1  donde &lt;br /&gt;gastoi: real       es el gasto número i    y&lt;br /&gt;sumgas: real   es el acumulador de gastos efectuados.&lt;br /&gt;-1 es el centinela de fin de datos.&lt;br /&gt;• Algoritmo:&lt;br /&gt;Inicio&lt;br /&gt; Sumgas  &lt;--0&lt;br /&gt; Leer (gasto)&lt;br /&gt; Mientras gasto &lt;&gt; -1 hacer&lt;br /&gt;  Sumgas &lt;-- sumgas + gasto&lt;br /&gt;  Leer (gasto)&lt;br /&gt; Fin_mientras&lt;br /&gt; Escribir (sumgas) &lt;br /&gt;Fin&lt;br /&gt;Banderas:&lt;br /&gt;• Conocidas también como interruptores, switch, flags o conmutadores, son variables que pueden tomar solamente dos valores durante la ejecución del programa, los cuales pueden ser 0 ó 1, o bien los valores booleanos True o False.&lt;br /&gt;• Se les suele llamar interruptores porque cuando toman los valores 0 ó 1 están simulando un interruptor abierto/cerrado o encendido/apagado.&lt;br /&gt;Ejemplo de banderas:&lt;br /&gt;• Ejemplo 1: Leer un número entero N y calcular el resultado de la siguiente serie:  1 – 1/2+ 1/3 – 1/4 +.... +/- 1/N.&lt;br /&gt;• Algoritmo:&lt;br /&gt;Inicio&lt;br /&gt; Serie &lt;-- 0&lt;br /&gt; I &lt;-- 1 &lt;br /&gt; Leer (N)&lt;br /&gt; Band &lt;-- “T”&lt;br /&gt; Mientras I &lt;= N hacer&lt;br /&gt;  Si band = “T” entonces&lt;br /&gt;   Serie &lt;--serie + (1/I)&lt;br /&gt;   Band &lt;-- “F”&lt;br /&gt;  Sino&lt;br /&gt;   Serie &lt;--  serie – (1/I)&lt;br /&gt;   Band &lt;-- “T”&lt;br /&gt;  Fin_si&lt;br /&gt;  I &lt;-- I + 1&lt;br /&gt; Fin_mientras&lt;br /&gt; Escribir (serie)&lt;br /&gt;Fin&lt;br /&gt;Fin de la clase.&lt;br /&gt;Gracias por asistir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-4353707624183592501?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/4353707624183592501/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=4353707624183592501' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/4353707624183592501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/4353707624183592501'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/09/clase-9-estructura-mientras-y-repetir.html' title='Clase 9: Estructura Mientras y Repetir.'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_pMJVbjY_KV4/Ru4FXRrYCzI/AAAAAAAAAIw/bhb-QYN336s/s72-c/estwhile.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-6007269719904557516</id><published>2007-09-10T21:56:00.000-07:00</published><updated>2008-09-11T09:35:53.807-07:00</updated><title type='text'>Practica 8: Ejercicios con Estructura FOR.</title><content type='html'>Materia: Lógica Computacional.&lt;br /&gt;Profesor: Lic. Salomón Aquino.&lt;br /&gt;&lt;br /&gt;Objetivos.  Al finalizar la práctica los estudiantes  serán capaces de: &lt;br /&gt;• Resolver Problemas usando estructuras desde con contadores y acumuladores.&lt;br /&gt;&lt;br /&gt;Repetición:  El bucle For.&lt;br /&gt;Es el bucle más adecuado para implementar bucles controlados por contador que son bucles en los que un conjunto de sentencias se ejecutan una vez por cada valor de un rango especificado.&lt;br /&gt; Es quizá la más frecuente estructura usada para crear ciclos en C.  Esta sentencia incluye una expresión que especifica el valor inicial de un índice, otra expresión que determina cuándo se continúa o no el bucle y una tercera expresión que permite que el índice se modifique al final de cada pasada.&lt;br /&gt;De forma general el ciclo FOR se representaría así:&lt;br /&gt;&lt;br /&gt;for ( [valor inicial]; [valor final]; [incremento o decremento])&lt;br /&gt; sentencia;&lt;br /&gt; &lt;br /&gt; Y en el caso que el ciclo FOR esté compuesto por más de una línea de sentencias se escribiría así:&lt;br /&gt;  for ([valor inicial]; [valor final]; [incremento o decremento])&lt;br /&gt;   { &lt;br /&gt;    sentencia 1;&lt;br /&gt;    sentencia 2;&lt;br /&gt;    sentencia N;&lt;br /&gt;   }&lt;br /&gt;     La inicialización indica una variable (variable de control) que condiciona la repetición del bucle. Si hay más, van separadas por comas:&lt;br /&gt;&lt;br /&gt; for (a=1,b=100;a!=b;a++,b- -){&lt;br /&gt;Normalmente se utilizan los bucles For siempre que exista un número necesario y predefinido de iteraciones.&lt;br /&gt;Ejemplo 1:&lt;br /&gt; El siguiente ejemplo muestra como utilizar el for para mostrar un listado de números del 1 al 15.&lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt;main ()&lt;br /&gt;{&lt;br /&gt; int i;&lt;br /&gt; printf ("Numeros del 1 al 15\n\n\n");&lt;br /&gt; for (i=1;i&lt;=15;i++)&lt;br /&gt;  printf ("%d\n",i);&lt;br /&gt; system(“pause”); &lt;br /&gt;      return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Ejemplo 2:&lt;br /&gt;  Escriba un programa que escriba los números del 15 al 1 (descendente).&lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt;main ()&lt;br /&gt;{&lt;br /&gt; int i;&lt;br /&gt; printf ("Numeros del 15 al 1\n\n\n");&lt;br /&gt; for (i=15;i&gt;=1;i--)&lt;br /&gt;  printf ("%d\n",i);&lt;br /&gt;               system(“pause”); &lt;br /&gt;               return 0;&lt;br /&gt;}&lt;br /&gt;Ejemplo 3. El siguiente ejemplo suma los cinco primeros números enteros. &lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt;main ()&lt;br /&gt;{&lt;br /&gt; int isuma,ivalor;&lt;br /&gt; isuma=0;&lt;br /&gt; for (ivalor=1; ivalor&lt;=5; ivalor++)&lt;br /&gt; {     &lt;br /&gt;                                                       isuma+= ivalor;&lt;br /&gt;     printf(“\n%d”,isuma);&lt;br /&gt;              }&lt;br /&gt;Printf(“\n”);&lt;br /&gt;system(“pause”); &lt;br /&gt;return 0; &lt;br /&gt;}&lt;br /&gt;En C++ se podría haber escrito el fragmento de código del for, de la siguiente manera:&lt;br /&gt;For (int ivalor=1; ivalor&lt;=5; ivalor++);&lt;br /&gt;C++ permite declarar e inicializar la variable de control del bucle dentro del bucle for.  Se pueden declarar variables inmediatamente antes de la instrucción que realmente las utiliza.&lt;br /&gt;Los rangos de incremento/ decremento de la variable o expresión de control del bucle pueden ser cualquier valor y no siempre 1,  por ejemplo:&lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt;  main()&lt;br /&gt; {&lt;br /&gt;int n;&lt;br /&gt;for (n=0; n&lt;100; n+=20)&lt;br /&gt; printf("%d \t  %d \n", n, n*n);&lt;br /&gt; system(“pause”); &lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;Otros ejemplos:&lt;br /&gt;1) int c;&lt;br /&gt;for (c=’A’; c&lt;=’Z’; c++)&lt;br /&gt; printf("%c", c);&lt;br /&gt;2)  for (i=9; I&gt;=0; I-=3)&lt;br /&gt; printf("%d", (i*i));&lt;br /&gt;3) for (i=1; i&lt;100; I*=2)&lt;br /&gt; printf("%d", i);&lt;br /&gt;4) # define MAX 25&lt;br /&gt;        int i,j;&lt;br /&gt;        for (i=0, j=MAX; i&lt;=j; i++,j--)&lt;br /&gt; printf("%d", (i+2*j));&lt;br /&gt;5) double p;&lt;br /&gt;        for (p=0.75; p&lt;=5; p+=0.25)&lt;br /&gt;          printf(“la respuesta es: %.21f”,p);&lt;br /&gt;6) double x;&lt;br /&gt;        for (x=pow(y,3.0); x&gt;2.0; x=sqrt(x))&lt;br /&gt;           printf(“x vale %.5e”,x);&lt;br /&gt;Naturalmente, cuando la variable de control no es de tipo int, se tendrán menos garantías de precisión.&lt;br /&gt;Se debe tener cuidado con el uso de las condiciones del bucle For, ya que debemos estar seguros de que en algún momento el bucle terminará y no que seguirá ejecutándose infinitamente. Por eso no es recomendable modificar la condición de incremento como parte de las instrucciones del cuerpo del ciclo, o se corre el riesgo de que se vuelva infinito. &lt;br /&gt;&lt;br /&gt;Para abortar un bucle infinito se presiona CTRL + C &lt;br /&gt;&lt;br /&gt; La sentencia Continue hace que la ejecución de un bucle vuelva a la cabecera del bucle.&lt;br /&gt;Ejemplo:&lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt;int main()&lt;br /&gt; {&lt;br /&gt;int clave,i;&lt;br /&gt;puts ("introduzca -9 para finalizar");&lt;br /&gt;clave =1;&lt;br /&gt;for (i=0; i&lt;8; i++){&lt;br /&gt; if (clave== -9) continue;&lt;br /&gt; scanf("%d", &amp;clave);&lt;br /&gt; printf("clave %d\n",clave);&lt;br /&gt; }&lt;br /&gt;printf("valores finales i=%d clave=%d", i,clave);&lt;br /&gt;system(“pause”);&lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;Ejemplo 6&lt;br /&gt;El siguiente ejemplo nos pide una cadena de 10 caracteres y nos muestra dicha cadena en forma invertida.&lt;br /&gt;&lt;br /&gt;/* Uso de la sentencia FOR. */&lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt;#define ctam_array 10&lt;br /&gt;&lt;br /&gt;int main ()&lt;br /&gt;{&lt;br /&gt; int idespl;&lt;br /&gt; char carray[ctam_array];&lt;br /&gt; printf("Escriba una palabra de 10 espacios:\n");&lt;br /&gt; for (idespl=0; idespl&lt;ctam_array; idespl++)&lt;br /&gt;  carray[idespl]=getchar();&lt;br /&gt;  for (idespl=ctam_array -1; idespl&gt;=0;idespl--)&lt;br /&gt;   putchar(carray[idespl]);&lt;br /&gt;   printf("\n");&lt;br /&gt;            system("pause");&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;EJERCICIOS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Desarrolla los siguientes programas:&lt;br /&gt;1. Escriba un programa que pida N números y nos diga cuál es el mayor y cuál es el menor y la posición en que fueron leidos cada uno.&lt;br /&gt;2. Escriba un programa que pida las notas y nombres de cinco alumnos y calcule el promedio general.&lt;br /&gt;3. Escriba un programa que presente en pantalla la tabla de multiplicar entre 1 y 10, requerida por el usuario.&lt;br /&gt;4. Escribir un programa que visualice un triángulo isósceles de 10 filas, como se muestra a continuación:&lt;br /&gt;*&lt;br /&gt;**&lt;br /&gt;***&lt;br /&gt;****&lt;br /&gt;*****&lt;br /&gt;******&lt;br /&gt;*******&lt;br /&gt;********&lt;br /&gt;*********&lt;br /&gt;**********&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-6007269719904557516?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/6007269719904557516/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=6007269719904557516' title='19 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/6007269719904557516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/6007269719904557516'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/09/practica-8-ejercicios-con-estructura.html' title='Practica 8: Ejercicios con Estructura FOR.'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-7712883664873714620</id><published>2007-09-09T22:29:00.000-07:00</published><updated>2008-09-11T09:35:36.564-07:00</updated><title type='text'>Clase 8: Estructuras repetitivas e iterativas.</title><content type='html'>Materia: Lógica Computacional&lt;br /&gt;Profesor: Lic. Salomón Aquino.&lt;br /&gt;Objetivos de la clase:&lt;br /&gt;Al final de la clase los alumnos y alumnas serán capaces de:&lt;br /&gt;Identificar y diferenciar el uso de las estructuras repetitivas e iterativas. &lt;br /&gt;Entender el uso de contadores y acumuladores y aplicarlo en la solución de problemas repetitivos e iterativos.&lt;br /&gt;ESTRUCTURAS REPETITIVAS E ITERATIVAS:&lt;br /&gt;Son operaciones que se deben ejecutar un número repetido de veces.&lt;br /&gt;El conjunto de instrucciones que se ejecuta repetidamente cierto número de veces, se llama Ciclo, Bucle o Lazo.&lt;br /&gt;Iteración es cada una de las diferentes pasadas o ejecuciones de todas las instrucciones contenidas en el bucle.&lt;br /&gt;Fases de un Programa Cíclico:&lt;br /&gt;Entrada de datos e instrucciones previas&lt;br /&gt;Lazo o bucle&lt;br /&gt;Instrucciones finales o resto del proceso&lt;br /&gt;Salida de resultados&lt;br /&gt;&lt;br /&gt;Ejemplo de bucle infinito:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_pMJVbjY_KV4/RuTWzu-SsSI/AAAAAAAAAIQ/u6GxMSvHqHM/s1600-h/bucinf.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_pMJVbjY_KV4/RuTWzu-SsSI/AAAAAAAAAIQ/u6GxMSvHqHM/s320/bucinf.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5108444061615960354" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ejemplo de bucle finito:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_pMJVbjY_KV4/RuTW9e-SsTI/AAAAAAAAAIY/x9ssGwPoI2Y/s1600-h/bucfini.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_pMJVbjY_KV4/RuTW9e-SsTI/AAAAAAAAAIY/x9ssGwPoI2Y/s320/bucfini.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5108444229119684914" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Estructura Desde/Para&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_pMJVbjY_KV4/RuTXSe-SsUI/AAAAAAAAAIg/tEdRh-e7YTU/s1600-h/for1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_pMJVbjY_KV4/RuTXSe-SsUI/AAAAAAAAAIg/tEdRh-e7YTU/s320/for1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5108444589896937794" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Se usa frecuentemente cuando se conoce de antemano el número de veces que se ejecutarán las acciones de un bucle.&lt;br /&gt;A la estructura Desde/Para se le conoce como Repetitiva. Para utilizar esta estructura en algoritmos, debemos hacer uso de contadores y algunas veces de acumuladores, cuyos conceptos se describen a continuación:&lt;br /&gt;Contador y Acumulador:&lt;br /&gt;Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o acción.&lt;br /&gt;La inicialización consiste en asignarle al contador un valor. Se situará antes y fuera del bucle.&lt;br /&gt;Representación:&lt;br /&gt; &lt;nombre del contador&gt;   &lt;nombre del contador&gt; + &lt;valor constante&gt;&lt;br /&gt;Si en vez de incremento es decremento se coloca un menos en lugar del más.&lt;br /&gt;Ejemplo:       i = i + 1&lt;br /&gt;Acumulador: Es una variable que suma sobre sí misma un conjunto de valores para de esta manera tener la suma de todos ellos en una sola variable.&lt;br /&gt;La diferencia entre un contador y un acumulador es que mientras el primero va aumentando de uno en uno, el acumulador va aumentando en una cantidad variable.&lt;br /&gt;Representación:   &lt;Nombre del acumulador&gt;  &lt;nombre del acumulador&gt; + &lt;valor variable&gt;&lt;br /&gt;Ejemplo de contador y acumulador:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_pMJVbjY_KV4/RuTYBO-SsVI/AAAAAAAAAIo/KYmfMhLwe10/s1600-h/mientras1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_pMJVbjY_KV4/RuTYBO-SsVI/AAAAAAAAAIo/KYmfMhLwe10/s320/mientras1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5108445393055822162" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Fin de la clase.&lt;br /&gt;Gracias por asistir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-7712883664873714620?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/7712883664873714620/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=7712883664873714620' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/7712883664873714620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/7712883664873714620'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/09/clase-8-estructuras-repetitivas-e.html' title='Clase 8: Estructuras repetitivas e iterativas.'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_pMJVbjY_KV4/RuTWzu-SsSI/AAAAAAAAAIQ/u6GxMSvHqHM/s72-c/bucinf.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-5977670198919519346</id><published>2007-09-03T22:22:00.000-07:00</published><updated>2008-09-11T09:35:16.327-07:00</updated><title type='text'>Solucion a ejercicios</title><content type='html'>Ejercicio 1:&lt;br /&gt;&lt;br /&gt;#include iostream.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;float venta, comision;&lt;br /&gt;printf("introduzca la cantidad vendida: ");&lt;br /&gt;scanf("%f",&amp;venta);&lt;br /&gt;printf("\n");&lt;br /&gt;if ((venta&gt;=2000 &amp;&amp; venta &lt;=10000))&lt;br /&gt;   comision = venta*0.07;&lt;br /&gt;else&lt;br /&gt;   if (venta&gt;10000 &amp;&amp; venta &lt;=20000)&lt;br /&gt;       comision = venta * 0.1;&lt;br /&gt;   else&lt;br /&gt;      if (venta&gt;20000)&lt;br /&gt;         comision = venta *0.15;&lt;br /&gt;      else&lt;br /&gt;         printf("valor menor de 2000\n");&lt;br /&gt;printf("la comision es: %.2f \n",comision);&lt;br /&gt;      system("PAUSE");&lt;br /&gt;      return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ejercicio 2:&lt;br /&gt;&lt;br /&gt;#include iostream.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;int a,b;&lt;br /&gt;printf("introduzca el valor de a: ");&lt;br /&gt;scanf("%f",&amp;a);&lt;br /&gt;printf("\n");&lt;br /&gt;printf("introduzca el valor de b: ");&lt;br /&gt;scanf("%f",&amp;b);&lt;br /&gt;printf("\n");&lt;br /&gt;if (a==b)&lt;br /&gt;   printf(" a = b \n");&lt;br /&gt;else&lt;br /&gt;   {&lt;br /&gt;   printf(" no son iguales \n");&lt;br /&gt;   if (a &gt; b)&lt;br /&gt;      printf("a &gt; b \n");&lt;br /&gt;    else&lt;br /&gt;      printf("a &lt; b \n");&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      system("PAUSE");&lt;br /&gt;      return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ejercicio 4:&lt;br /&gt;&lt;br /&gt;#include iostream.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;float a, b, r;&lt;br /&gt;int opc=0;&lt;br /&gt;char ch;&lt;br /&gt;printf("introduzca el valor de a: ");&lt;br /&gt;scanf("%f",&amp;a);&lt;br /&gt;printf("\n");&lt;br /&gt;printf("introduzca el valor de b: ");&lt;br /&gt;scanf("%f",&amp;b);&lt;br /&gt;printf("\n");&lt;br /&gt;&lt;br /&gt;printf( "Elige el numero en el menu:\n\n" );&lt;br /&gt;printf( "1 - Sumar\n" );&lt;br /&gt;printf( "2 - Restar\n" );&lt;br /&gt;printf( "3 - Multiplicar\n" );&lt;br /&gt;printf( "4 - Dividir\n" );&lt;br /&gt;fflush(stdin);&lt;br /&gt;//opc= getchar();&lt;br /&gt;//printf("opc = %d \n",opc);&lt;br /&gt;ch = getchar();&lt;br /&gt;&lt;br /&gt;switch (ch) {&lt;br /&gt;  case ('1'):&lt;br /&gt;        r = a+b;&lt;br /&gt;        break;&lt;br /&gt;  case ('2'):&lt;br /&gt;        r = a - b;&lt;br /&gt;        break;&lt;br /&gt;  case ('3'):&lt;br /&gt;        r = a * b;&lt;br /&gt;        break;&lt;br /&gt;  case ('4'):&lt;br /&gt;   r = a / b;&lt;br /&gt;        break;&lt;br /&gt;  default:&lt;br /&gt;   printf("La opcion No. %c no esta definida\n", ch);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;printf("el resultado es : %f \n",r);&lt;br /&gt;      system("PAUSE");&lt;br /&gt;      return 0;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-5977670198919519346?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/5977670198919519346/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=5977670198919519346' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/5977670198919519346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/5977670198919519346'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/09/solucion-ejercicios.html' title='Solucion a ejercicios'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-1002121023968214647</id><published>2007-08-27T22:07:00.000-07:00</published><updated>2008-09-11T09:34:28.906-07:00</updated><title type='text'>Practica 7: Ejercicios de estructuras selectivas compuestas y multiples.</title><content type='html'>Materia: Lógica Computacional.&lt;br /&gt;Profesor: Lic. Salomón Aquino.&lt;br /&gt;&lt;br /&gt;OBJETIVOS&lt;br /&gt;Al finalizar la práctica, los estudiantes serán capaces de:&lt;br /&gt;• Resolver Problemas con estructuras de selección Compuesta  y Múltiple.&lt;br /&gt;&lt;br /&gt;II. Introducción Teórica.&lt;br /&gt;Hasta este punto hemos trabajado con sentencias IF que implementan decisiones que implican una o dos alternativas. En esta práctica se mostrará como se puede utilizar la sentencia IF para implementar decisiones que impliquen varias alternativas.&lt;br /&gt;Estructuras Selectivas Compuestas.&lt;br /&gt;Se identifican porque para solucionarlos se necesita establecer más de una condición. Por lo general dentro de este grupo están incluidos los ifs anidados, en los cuales dentro de un if se encuentra otro y dentro de este hay otro, y así sucesivamente.&lt;br /&gt;&lt;br /&gt;Una sentencia IF es anidada cuando la sentencia de la rama verdadera o la rama falsa, es a su vez una sentencia IF.  A este tipo de estructura se le conoce como selectiva compuesta o multi-alternativa.&lt;br /&gt;Ejemplo.  Si resolvemos el problema de la práctica anterior para saber si un número es positivo, negativo o nulo usando selección compuesta, el módulo sería el siguiente:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_pMJVbjY_KV4/RtOuId6ULVI/AAAAAAAAAIA/sKp2RuaF42Y/s1600-h/if.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_pMJVbjY_KV4/RtOuId6ULVI/AAAAAAAAAIA/sKp2RuaF42Y/s320/if.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5103614263232310610" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Es recomendable utilizar sangrías para diferenciar un if de otro y se deben utilizar con cuidado para evitar posibles ambigüedades. &lt;br /&gt;&lt;br /&gt;Ejemplo 1:&lt;br /&gt;Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto  se consideran horas extras y que éstas se pagan al doble de una hora normal cuando no exceden de 8;  si las horas extras exceden de 8 se pagan las primeras 8 al  doble de lo que se paga por una hora normal y el resto al triple.&lt;br /&gt;&lt;br /&gt;La solucion es la siguiente:&lt;br /&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;stdlib.h&gt;&lt;br /&gt;int main ( )&lt;br /&gt;{&lt;br /&gt;   float ht,ph,he,het,phe,pt;&lt;br /&gt;   printf("\nIntroduzca la horas trabajadas: ");&lt;br /&gt;   scanf("%f",&amp;ht);&lt;br /&gt;   printf("\n");&lt;br /&gt;   printf("\nIntroduzca el precio por hora: ");&lt;br /&gt;   scanf("%f",&amp;ph);&lt;br /&gt;   printf("\n");&lt;br /&gt;   if (ht &gt; 40)&lt;br /&gt;   {&lt;br /&gt;      he = ht - 40;&lt;br /&gt;      if (he &gt; 8)&lt;br /&gt;      {&lt;br /&gt;         het = he -8;&lt;br /&gt;         phe = ph * 2 * 8 + ph * 3 * het;&lt;br /&gt;      }&lt;br /&gt;      else  phe = ph * 2 * he;&lt;br /&gt;      pt = ph * 40 + phe;&lt;br /&gt;    }&lt;br /&gt;    else&lt;br /&gt;        pt = ph * ht;&lt;br /&gt;printf("El salario a pagar es %f \n", pt);&lt;br /&gt;system("pause"); &lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ejemplo 2:&lt;br /&gt;Se desea agregar una letra para representar la calificación de los alumnos, las calificaciones son notas entre 1 y 10; use los siguientes parámetros: A para calificaciones mayores o iguales a 9, B para calificaciones mayores o iguales a 8, C para calificaciones mayores o iguales a 7, D para calificaciones mayores o iguales a 6, F para todas las demás calificaciones.&lt;br /&gt;#include&lt;stdio.h&gt;&lt;br /&gt;&lt;#include stdlib.h&gt;&lt;br /&gt;main ( )&lt;br /&gt;{&lt;br /&gt;   int nota;&lt;br /&gt;   printf ("Escriba la nota obtenida (valores enteros entre 1-10): ");&lt;br /&gt;   scanf ("%d",&amp;nota);&lt;br /&gt;   if (nota&gt;=9)&lt;br /&gt; printf ("\nEl concepto en base a su nota es A");&lt;br /&gt;   else&lt;br /&gt; if (nota&gt;=8)&lt;br /&gt;  printf ("\nEl concepto en base a su nota es B");&lt;br /&gt; else&lt;br /&gt;  if (nota&gt;=7)&lt;br /&gt;   printf ("\nEl concepto en base a su nota es C");&lt;br /&gt;  else&lt;br /&gt;   if (nota&gt;=6)&lt;br /&gt;    printf ("\nEl concepto en base a su nota es D");&lt;br /&gt;   else&lt;br /&gt;    printf ("\nEl concepto en base a su nota es F");&lt;br /&gt;&lt;br /&gt;   printf ("\nEl programa ha terminado\n\n");&lt;br /&gt;system(“pause”); &lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Ejemplo 3.  Calcular el mayor de tres números enteros.&lt;br /&gt;#include&lt;stdio.h&gt;&lt;br /&gt;#include &lt;stdlib.h&gt;&lt;br /&gt;int main ( )&lt;br /&gt;{&lt;br /&gt;   int a, b, c, mayor;&lt;br /&gt;   printf ("\nIntroduzca tres enteros: ");&lt;br /&gt;   scanf ("%d %d %d",&amp;a, &amp;b, &amp;c);&lt;br /&gt;   if (a &gt; b)&lt;br /&gt; if (a &gt; c)  mayor = a;&lt;br /&gt;    else mayor =c;&lt;br /&gt;  else&lt;br /&gt; if (b &gt; c )  mayor  = b;&lt;br /&gt; else     mayor = c;&lt;br /&gt;  printf (“El mayor es %d \n”, mayor);&lt;br /&gt;system(“pause”); &lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;Estructuras Selectivas Múltiples:&lt;br /&gt;Este tipo de estructuras permiten hacer la selección entre dos o más alternativas. Siempre se realiza una evaluación lógica que es la llave de entrada al ciclo selectivo.&lt;br /&gt;La sentencia que se utiliza para este fin es Switch, que ejecuta una de las alternativas (la que cumpla la condición) siempre y cuando el resultado de la evaluación lógica sea verdadero.&lt;br /&gt;La sentencia switch es especialmente útil cuando la selección se base en el valor de una variable simple o de una expresión simple denominada expresión de control o selector. &lt;br /&gt;El valor de esta expresión puede ser de tipo int o char, pero no de tipo float ni double o string.&lt;br /&gt;Cada posible respuesta es un valor único, constante y diferente de los otros. Además debe ser del mismo tipo que la evaluación lógica.&lt;br /&gt;Si se quiere considerar un proceso para un resultado falso utilizamos la instrucción Default, que es el valor por omisión.  Dado que cada uno de los casos puede contener varias expresiones debemos indicarle al compilador que el caso ha terminado y que debe salir del ciclo de selección, para este fin utilizamos la instrucción break. Esta hace que siga la ejecución en la siguiente sentencia al switch.&lt;br /&gt;El ciclo Switch debe estar agrupado entre llaves, la llave para abrir ( { ) se escribe después de la evaluación lógica y la llave para cerrar ( } ), se escribe después del último caso.&lt;br /&gt;switch ( [Evaluación Lógica] )&lt;br /&gt;   {&lt;br /&gt; case ( [  posible respuesta 1 ] ) :&lt;br /&gt;  Expresión(es);&lt;br /&gt;  break;&lt;br /&gt; case ( [ posible respuesta n ] ) :&lt;br /&gt;  Expresión(es);&lt;br /&gt;  break;&lt;br /&gt; default:&lt;br /&gt;  Expresión(es);&lt;br /&gt;  break;&lt;br /&gt;   }&lt;br /&gt;Si el valor selector no está listado en ninguna etiqueta case, no se ejecutará ninguna de las opciones a menos que se especifique una acción por defecto (omisión). Aunque esta etiqueta default es opcional, se recomienda su uso a menos que se esté absolutamente seguro de que todos los valores del selector estén incluidos en las posibles respuestas del case.&lt;br /&gt;&lt;br /&gt;Ejemplo 4:&lt;br /&gt;Escriba un programa tal que al escribir el número de mes muestre el nombre completo del mes (hecho para el primer semestre).&lt;br /&gt;&lt;br /&gt;#include&lt;stdio.h&gt;&lt;br /&gt;#include &lt;stdlib.h&gt;&lt;br /&gt;main ( )&lt;br /&gt;{&lt;br /&gt;  int mes;&lt;br /&gt;  printf ("Escriba el número del mes (primer semestre): ");&lt;br /&gt;  scanf ("%d",&amp;mes);&lt;br /&gt;  switch (mes)  {&lt;br /&gt;     case (1):&lt;br /&gt; printf ("Enero");&lt;br /&gt; break;&lt;br /&gt;     case (2):&lt;br /&gt; printf ("Febrero");&lt;br /&gt; break;&lt;br /&gt;     case (3):&lt;br /&gt; printf ("Marzo");&lt;br /&gt; break;&lt;br /&gt;     case (4):&lt;br /&gt; printf ("Abril");&lt;br /&gt; break;&lt;br /&gt;    case (5):&lt;br /&gt; printf ("Mayo");&lt;br /&gt; break;&lt;br /&gt;    case (6):&lt;br /&gt; printf ("Junio");&lt;br /&gt; break;&lt;br /&gt;    default:&lt;br /&gt;   printf ("Escribio un numero mayor de seis, recuerde solo primer semestre");&lt;br /&gt; break;&lt;br /&gt;   }&lt;br /&gt;   printf ("\n\n\nFin del Programa \n");&lt;br /&gt;   system(“pause”); return 0;&lt;br /&gt;}&lt;br /&gt;Caso particular de Case&lt;br /&gt;Está permitido tener varias expresiones case en una alternativa dada dentro de la sentencia switch. &lt;br /&gt;Ejemplo 4:&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;stdlib.h&gt;&lt;br /&gt; main()&lt;br /&gt; {&lt;br /&gt; int c;&lt;br /&gt;  printf("Digite el valor de c:\n");&lt;br /&gt;  scanf("%d",&amp;c);&lt;br /&gt;  switch ( c ) {&lt;br /&gt; case (0) : case (1) : case (2): case (3) : case (4) :&lt;br /&gt;   printf("esta entre 1 y 4\n");&lt;br /&gt;   break;&lt;br /&gt; case (5) : case (6) : case (7): case (8) : case (9) :&lt;br /&gt;  printf("esta entre 5 y 9\n");&lt;br /&gt;  break;&lt;br /&gt;default:&lt;br /&gt;  printf("no esta ahi \n");&lt;br /&gt;}&lt;br /&gt;system(“pause”); &lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;La sentencia switch es útil cuando se quieren elaborar menús para que el usuario seleccione opciones. Un menú de un restaurante presenta una lista de alternativas para que un cliente elija entre sus diferentes opciones. Un menú en un programa de computadora hace la misma función: presentar una lista de alternativas en la pantalla para que el usuario elija una de ellas.&lt;br /&gt;Expresiones condicionales:  EL OPERADOR  ?  :&lt;br /&gt;Las sentencias de selección (if y switch) consideradas hasta ahora, son similares a las sentencias previstas en otros lenguajes, tales como Pascal y Fortran 90. C tiene un tercer mecanismo de selección, una expresión que produce uno de dos valores, resultado de una expresión lógica o booleana (también denominada condición). Este mecanismo se denomina expresión condicional. Una expresión condicional tiene el formato C ? A  : B   y es realmente una operación ternaria (tres operandos) en el que C, A y B son los tres operandos y ? : es el operador.&lt;br /&gt;Sintaxis:                 condición  ?    expresión1  :   expresión2 &lt;br /&gt;Ejemplo:  Recuerdas los ejercicios que hicimos en la práctica 2?&lt;br /&gt;#include stdio.h&gt;&lt;br /&gt;#include stdlib.h&gt;&lt;br /&gt; #include conio.h&gt;&lt;br /&gt; main()&lt;br /&gt; {&lt;br /&gt; int a,b,c;&lt;br /&gt; a=3;&lt;br /&gt; b=8;&lt;br /&gt; c=10;&lt;br /&gt; (a&gt;3 &amp;&amp; (b==4 || a + b&lt;=c)) ? printf("verdadero\n") : printf("falso\n");&lt;br /&gt; system(“pause”); &lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;COMPARACIÓN DE LAS SENTENCIAS IF-ELSE IF Y SWITCH.&lt;br /&gt;Se necesita saber si un determinado carácter car es una vocal.&lt;br /&gt;Solución  if-else if&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include&lt;stdlib.h&gt;&lt;br /&gt;  main()&lt;br /&gt; {&lt;br /&gt; char car;&lt;br /&gt; printf("Digite el caracter:\n");&lt;br /&gt; car=getchar();&lt;br /&gt; if ((car=='a')||(car=='A'))&lt;br /&gt;  printf("%c es una vocal\n", car);&lt;br /&gt; else if ((car=='e')||(car=='E'))&lt;br /&gt;  printf("%c es una vocal\n", car);&lt;br /&gt; else if ((car=='i')||(car=='I'))&lt;br /&gt;  printf("%c es una vocal\n", car);&lt;br /&gt; else if ((car=='o')||(car=='O'))&lt;br /&gt;  printf("%c es una vocal\n", car);&lt;br /&gt; else if ((car=='u')||(car=='U'))&lt;br /&gt;  printf("%c es una vocal\n", car);&lt;br /&gt;  else&lt;br /&gt;  printf("%c no es una vocal\n", car);&lt;br /&gt; system(“pause”); &lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Solución con SWITCH.&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include&lt;stdlib.h&gt;&lt;br /&gt;  main()&lt;br /&gt; {&lt;br /&gt; char car;&lt;br /&gt; printf("Digite el caracter:\n");&lt;br /&gt; car=getchar();&lt;br /&gt; switch (car) {&lt;br /&gt;  case ('a'): case ('A'):&lt;br /&gt;  case ('e'): case ('E'):&lt;br /&gt;  case ('i'): case ('I'):&lt;br /&gt;  case ('o'): case ('O'):&lt;br /&gt;  case ('u'): case ('U'):&lt;br /&gt;  printf("%c es una vocal\n", car);&lt;br /&gt;  break;&lt;br /&gt;  default:&lt;br /&gt;   printf("%c no es una vocal\n", car);&lt;br /&gt;  }&lt;br /&gt; system(“pause”);&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;III. Ejercicios&lt;br /&gt;1. La empresa Milagrito S.A. tiene la siguiente tabla de parámetros para pagar las comisiones de sus ejecutivos de ventas: &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_pMJVbjY_KV4/RtOuZN6ULWI/AAAAAAAAAII/vtEB6YiU9aM/s1600-h/ejersel2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_pMJVbjY_KV4/RtOuZN6ULWI/AAAAAAAAAII/vtEB6YiU9aM/s320/ejersel2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5103614550995119458" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Escriba un programa que al introducir la cantidad vendida por el ejecutivo de ventas, calcule de cuánto será su comisión.&lt;br /&gt;2. En base al valor de dos números enteros, determine si estos son: &lt;br /&gt;A. Iguales.&lt;br /&gt;B. No iguales.&lt;br /&gt;C. El primero es mayor que el segundo.&lt;br /&gt;D. El segundo es mayor que el primero.&lt;br /&gt;E. El primero es mayor o igual que el segundo.&lt;br /&gt;F. El segundo es mayor o igual que el primero.&lt;br /&gt;3.  Un restaurante, desea dar a conocer a sus clientes el plato que se ha preparado para cada uno de los tiempos de comida desayuno, almuerzo y cena. El restaurante prepara un plato único para cada uno de los tiempos.  Cuando el cliente seleccione entre los tiempos de comida (desayuno, almuerzo o cena) se debe desplegar el detalle de este.   &lt;br /&gt;Ejemplo: &lt;br /&gt;Seleccione su tiempo de Comida: desayuno&lt;br /&gt;Detalle&lt;br /&gt;Plátanos, Frijoles, Queso, Crema, Pan y Café.&lt;br /&gt;4: Elabore un programa que pida dos números y que permita mostrar un menú con las cuatro operaciones básicas, donde el usuario pueda seleccionar la operación que desea realizar (basta con que seleccione el número).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-1002121023968214647?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/1002121023968214647/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=1002121023968214647' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/1002121023968214647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/1002121023968214647'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/08/practica-7-ejercicios-de-estructuras.html' title='Practica 7: Ejercicios de estructuras selectivas compuestas y multiples.'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_pMJVbjY_KV4/RtOuId6ULVI/AAAAAAAAAIA/sKp2RuaF42Y/s72-c/if.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-7012630621771706921</id><published>2007-08-26T20:29:00.000-07:00</published><updated>2008-09-11T09:34:08.293-07:00</updated><title type='text'>Clase 7: Decisiones compuestas y múltiples.</title><content type='html'>Materia: Lógica Computacional&lt;br /&gt;Profesor: Lic. Salomón Aquino.&lt;br /&gt;Objetivos de la clase:&lt;br /&gt;Al final de la clase los alumnos y alumnas serán capaces de:&lt;br /&gt;1. Comprender las estructuras selectivas  múltiples y compuestas y resolver problemas usando dichas estructuras. &lt;br /&gt;2. Elaborar algoritmos, flujogramas y Diagramas N-S para dichas estructuras.&lt;br /&gt;&lt;br /&gt;&lt;object type="application/x-shockwave-flash" data="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=98143&amp;doc=clase-7-decisiones-compuestas-y-multiples635" width="425" height="348"&gt;&lt;param name="movie" value="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=98143&amp;doc=clase-7-decisiones-compuestas-y-multiples635" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;ESTRUCTURAS SELECTIVAS COMPUESTAS:&lt;br /&gt;• En la solución de problemas encontramos numerosos casos en los que luego de tomar una decisión y marcar el camino correspondiente a seguir, es necesario tomar otra decisión. Dicho proceso puede repetirse numerosas veces.&lt;br /&gt;• En aquellos problemas en donde un bloque condicional incluye otro bloque condicional se dice que un bloque está anidado dentro del otro.&lt;br /&gt;• Diagrama y pseudocódigo:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_pMJVbjY_KV4/RtJFw96ULRI/AAAAAAAAAHg/28VZ2NYLXqs/s1600-h/compuesta.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_pMJVbjY_KV4/RtJFw96ULRI/AAAAAAAAAHg/28VZ2NYLXqs/s320/compuesta.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5103218035319385362" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;• Ejemplo 1:&lt;br /&gt;• Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto  se consideran horas extras y que éstas se pagan al doble de una hora normal cuando no exceden de 8;  si las horas extras exceden de 8 se pagan las primeras 8 al  doble de lo que se paga por una hora normal y el resto al triple.&lt;br /&gt;&lt;br /&gt;• ht = horas trabajadas  het = horas extras que exceden de 8&lt;br /&gt;• ph = pago por hora            phe = pago por horas extras&lt;br /&gt;• he = horas extras           pt = pago que recibe el trabajador&lt;br /&gt;Solución del ejemplo 1:&lt;br /&gt;&lt;br /&gt;Algoritmo en pseudocodigo:&lt;br /&gt;Inicio&lt;br /&gt; Leer (ht, ph)&lt;br /&gt; Si ht &gt;40 entonces&lt;br /&gt;     He = ht – 40&lt;br /&gt;     Si he &gt; 8 entonces&lt;br /&gt;  Het = he – 8&lt;br /&gt;  Phe = ph * 2 * 8 + ph * 3 * het&lt;br /&gt;     Sino&lt;br /&gt;  Phe = ph * 2 * he&lt;br /&gt;      Fin_si&lt;br /&gt;      Pt = ph * 40 + phe&lt;br /&gt; Sino&lt;br /&gt;      Pt = ph * ht&lt;br /&gt; Fin_si&lt;br /&gt; Escribir (pt)&lt;br /&gt;Fin&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_pMJVbjY_KV4/RtJGCd6ULSI/AAAAAAAAAHo/7hcm5f9PAFk/s1600-h/comp1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_pMJVbjY_KV4/RtJGCd6ULSI/AAAAAAAAAHo/7hcm5f9PAFk/s320/comp1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5103218335967096098" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ESTRUCTURAS SELECTIVAS MÚLTIPLES. &lt;br /&gt;• Con frecuencia es necesario que existan más de dos elecciones posibles. Este problema se podría resolver por estructuras selectivas simples o dobles, anidadas o en cascada, pero si el número de alternativas es grande puede plantear serios problemas de escritura y de legibilidad.&lt;br /&gt;• Usando la estructura de decisión múltiple se evaluará una expresión que podrá tomar n valores distintos, 1, 2 , 3, ....,n  y según que elija uno de estos valores en la condición, se realizará una de las n acciones o lo que es igual, el flujo del algoritmo seguirá sólo un determinado camino entre los n posibles.&lt;br /&gt;• Esta estructura se representa por un selector el cual si toma el valor 1 ejecutará la acción 1, si toma el valor 2 ejecutará la acción 2, si toma el valor N realizará la acción N.&lt;br /&gt;Ejemplo de selección múltiple:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_pMJVbjY_KV4/RtJGcN6ULTI/AAAAAAAAAHw/PCbDq4v3ZK0/s1600-h/multiple1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_pMJVbjY_KV4/RtJGcN6ULTI/AAAAAAAAAHw/PCbDq4v3ZK0/s320/multiple1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5103218778348727602" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Solución en diagrama N-S y pseudocodigo:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_pMJVbjY_KV4/RtJGzN6ULUI/AAAAAAAAAH4/O6svs6VLGFg/s1600-h/multiple11.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_pMJVbjY_KV4/RtJGzN6ULUI/AAAAAAAAAH4/O6svs6VLGFg/s320/multiple11.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5103219173485718850" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Fin de la clase.&lt;br /&gt;Gracias por asistir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-7012630621771706921?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/7012630621771706921/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=7012630621771706921' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/7012630621771706921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/7012630621771706921'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/08/clase-7-decisiones-compuestas-y.html' title='Clase 7: Decisiones compuestas y múltiples.'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_pMJVbjY_KV4/RtJFw96ULRI/AAAAAAAAAHg/28VZ2NYLXqs/s72-c/compuesta.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-7130991169369284887</id><published>2007-08-13T16:08:00.000-07:00</published><updated>2008-09-11T09:33:44.416-07:00</updated><title type='text'>Practica 6: Ejercicios de estructuras selectivas simples y dobles.</title><content type='html'>Materia: Lógica Computacional.&lt;br /&gt;Profesor: Lic. Salomón Aquino.&lt;br /&gt;OBJETIVOS&lt;br /&gt;Al finalizar la práctica, los estudiantes serán capaces de:&lt;br /&gt;• Identificar las estructuras de selección simple (If) y doble (If-else) en la solución de problemas &lt;br /&gt;• Escribir programas en lenguaje C con estructuras selectivas simples y dobles.&lt;br /&gt;&lt;br /&gt;INTRODUCCIÓN TEÓRICA.&lt;br /&gt;Estructuras Selectivas.&lt;br /&gt;La solución de problemas selectivos involucra una serie de acciones en las que la ejecución de alguna dependerá de que se cumplan una o varias condiciones.&lt;br /&gt;Estas estructuras se identifican porque en la fase de solución del problema existe algún punto en el cual es necesario establecer una pregunta, para decidir si ciertas acciones deben realizarse o no.&lt;br /&gt;La Sentencia IF&lt;br /&gt;En C la estructura de control de selección principal es una sentencia IF. La sentencia IF tiene dos formatos o alternativas posibles. El formato más sencillo tiene la sintaxis siguiente:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_pMJVbjY_KV4/RsDlKjRzAQI/AAAAAAAAAG4/1pddppAnTGM/s1600-h/selectiva1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_pMJVbjY_KV4/RsDlKjRzAQI/AAAAAAAAAG4/1pddppAnTGM/s320/selectiva1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5098326747614740738" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Supongamos por ejemplo, que tenemos el caso de que los alumnos cuya calificación  sea mayor o igual que 6 tienen nota suficiente para aprobar el curso.  El enunciado seria el siguiente en pseudocódigo:&lt;br /&gt;Si nota del estudiante mayor o igual que 6&lt;br /&gt; Escriba  “APROBADO”&lt;br /&gt;&lt;br /&gt; Lo que la estructura de selección hace es evaluar la expresión “nota del estudiante es mayor o igual que 6”.  Si el resultado de esta evaluación es Verdadero, entonces se imprime “APROBADO” pero si el resultado de la evaluación es Falso; se ignora la impresión y ejecuta la línea que sigue después de la decisión.&lt;br /&gt; Para una mayor comprensión se presenta el flujograma de la decisión anterior:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_pMJVbjY_KV4/RsDlXjRzARI/AAAAAAAAAHA/GcTU_wz1O8w/s1600-h/selectiva2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_pMJVbjY_KV4/RsDlXjRzARI/AAAAAAAAAHA/GcTU_wz1O8w/s320/selectiva2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5098326970953040146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;En este caso, nos estamos refiriendo a una estructura de selección simple ya que no se ejecuta ninguna acción en el caso que la condición sea falsa.&lt;br /&gt;Si en el ejemplo cambiáramos la condición y dijéramos que si la nota no es mayor o igual a  6 entonces escribir “alumno reprobado”, en este caso nos estamos refiriendo a una estructura de selección doble, ya que existen las dos opciones: que la condición sea verdadera, o que sea falsa.&lt;br /&gt;&lt;br /&gt;Sintaxis en lenguaje C&lt;br /&gt;Para la estructura selectiva simple:&lt;br /&gt;If  ( [condición] )&lt;br /&gt; [ïnstrucción];&lt;br /&gt;Cuando las instrucciones que se van a imprimir al cumplirse la condición son varias, utilizamos llaves para indicar que corresponden a esa estructura.&lt;br /&gt;   If ( [condición] )&lt;br /&gt;     {    &lt;br /&gt;    [instruccion1];&lt;br /&gt;    [instruccion2];&lt;br /&gt;      }&lt;br /&gt;Para la estructura selectiva doble, agregamos la palabra else para indicar el grupo de instrucciones cuando la condición es falsa. &lt;br /&gt;   If  ( [condición] )&lt;br /&gt;     {    &lt;br /&gt;    [instruccion1];&lt;br /&gt;    [instruccion2];&lt;br /&gt;  /* acción que se realiza si la expresión lógica es verdadera*/    &lt;br /&gt;}&lt;br /&gt;    else&lt;br /&gt;     {    &lt;br /&gt;    [instruccion1];&lt;br /&gt;    [instruccion2];&lt;br /&gt;  /* acción que se ejecuta si la expresión lógica es falsa */ &lt;br /&gt;      }  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;EJERCICIOS RESUELTOS&lt;br /&gt;1) Codificando el ejemplo anterior, tenemos el siguiente programa:&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;stdlib.h&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;  float nota;&lt;br /&gt;  printf(“introduzca la nota:\n”);&lt;br /&gt;  scanf(“%f”, &amp;nota);&lt;br /&gt;  if (nota &gt;=6.0)&lt;br /&gt;             printf(“aprobado\n”);&lt;br /&gt;system(“pause”); &lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;2)  Ejemplo  Selectivo doble&lt;br /&gt; Tomaremos como base el ejemplo de la nota, pero felicitando a los que aprueben y con un mensaje de aviso a los que reprueben.&lt;br /&gt;En este ejemplo podrás notar que se agregaron llaves ya que son dos mensajes los que se tuvieron que  desplegar.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_pMJVbjY_KV4/RsDllTRzASI/AAAAAAAAAHI/28p9o-WcaL8/s1600-h/selectiva3.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_pMJVbjY_KV4/RsDllTRzASI/AAAAAAAAAHI/28p9o-WcaL8/s320/selectiva3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5098327207176241442" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ejemplo 3.   Otra versión del ejemplo anterior:&lt;br /&gt;En base al parámetro de 6.0 como nota para poder aprobar el curso, escriba APROBADO si el alumno cumple con la nota mínima o si ésta es mayor, pero deberá escribir REPROBADO si la nota es menor.&lt;br /&gt;&lt;br /&gt;#include&lt;stdio.h&gt;&lt;br /&gt;#include&lt;stdlib.h&gt;&lt;br /&gt;main ( )&lt;br /&gt;{&lt;br /&gt; float nota;&lt;br /&gt; char nombre[30];&lt;br /&gt; printf("Escriba su nombre: ");&lt;br /&gt; scanf("%s",nombre);&lt;br /&gt; printf("\nEscriba su nota: ");&lt;br /&gt; scanf("%f",&amp;nota);&lt;br /&gt; if (nota &gt;= 6)&lt;br /&gt; {&lt;br /&gt;  printf ("%s, nos complace informarle que usted ",nombre);&lt;br /&gt;  printf ("\n ha APROBADO el curso con una nota de %.2f",nota);&lt;br /&gt;  printf ("\ny puede inscribirse en el modulo siguiente.");&lt;br /&gt;  }&lt;br /&gt;  else&lt;br /&gt;  {&lt;br /&gt;  printf ("%s, lamentamos informarle",nombre);&lt;br /&gt;  printf ("\nque usted ha REPROBADO el curso con una nota de %.2f",nota);&lt;br /&gt;      }&lt;br /&gt; printf ("\n\n\n fin del programa \n\n");&lt;br /&gt;    system(“pause”);   &lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;Observa las nuevas instrucciones que se han agregado.&lt;br /&gt;Ejemplo 4.  &lt;br /&gt;Dados dos números enteros, se desea determinar si el primero es divisible por el segundo, si es cierto desplegar “es divisible” y si no lo es, desplegar “no es divisible”.&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include&lt;stdlib.h&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;   int n,d;&lt;br /&gt;   printf(“Introduzca dos enteros: “);&lt;br /&gt;   scanf(“%d  %d”, &amp;n, &amp;d);&lt;br /&gt;   if (n%d ==0)&lt;br /&gt;              printf(“%d es divisible por %d\n”,n,d);&lt;br /&gt;   else&lt;br /&gt;              printf(“%d no es divisible por %d\n”,n,d);&lt;br /&gt;    system(“pause”);&lt;br /&gt;   return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Si al ejecutar el programa introducimos 36 y 5, 36 no es divisible por 5 ya que se obtiene un residuo de 1 (n%d ==0 es falsa, entonces se ejecuta la cláusula else).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;EJERCICIOS:&lt;br /&gt;Elabora programa en Dev-C++ para los ejercicios siguientes:&lt;br /&gt;1) Dado un número introducido por el usuario, indicar si éste es positivo, negativo o nulo. Resuélvelo usando estructura selectiva simple.&lt;br /&gt;2) Calcular el mayor de dos números leídos del teclado y visualizarlo en pantalla.  Utiliza la forma if – else.&lt;br /&gt;3) Escriba un programa que pida un número y a continuación escriba si es par o impar usando la instrucción mod.&lt;br /&gt;4) Calcular el promedio de calificaciones de un alumno. Las dos primeras notas valen 30% cada una y la tercera 40%. Si el promedio es mayor o igual a 7 imprimirá aprobado, de lo contrario dirá reprobado. Si el promedio es igual a 10, dirá alumno excelente. Se desea imprimir el nombre del alumno, código de la materia y el promedio obtenido.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-7130991169369284887?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/7130991169369284887/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=7130991169369284887' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/7130991169369284887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/7130991169369284887'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/08/practica-6-ejercicios-de-estructuras.html' title='Practica 6: Ejercicios de estructuras selectivas simples y dobles.'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_pMJVbjY_KV4/RsDlKjRzAQI/AAAAAAAAAG4/1pddppAnTGM/s72-c/selectiva1.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-6685378159621307399</id><published>2007-08-12T22:20:00.000-07:00</published><updated>2008-09-11T09:33:11.885-07:00</updated><title type='text'>Clase 6: Decisiones Simples y Dobles.</title><content type='html'>Materia: Lógica Computacional&lt;br /&gt;Profesor: Lic. Salomón Aquino.&lt;br /&gt;&lt;br /&gt;&lt;object type="application/x-shockwave-flash" data="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=91347&amp;doc=clase-6-decisiones-simples-y-dobles635" width="425" height="348"&gt;&lt;param name="movie" value="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=91347&amp;doc=clase-6-decisiones-simples-y-dobles635" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Objetivos de la clase:&lt;br /&gt;• Al final de la clase los alumnos y alumnas serán capaces de:&lt;br /&gt;– Comprender las estructuras selectivas  y resolver problemas usando dichas estructuras. &lt;br /&gt;– Elaborar algoritmos, flujogramas y Diagramas N-S para estructuras selectivas simples y dobles.&lt;br /&gt;&lt;br /&gt;Estructuras Selectivas:&lt;br /&gt;• Estas estructuras se identifican porque en la fase de solución del problema existe algún punto en el cual es necesario establecer una pregunta, para decidir si ciertas acciones deben realizarse o no.&lt;br /&gt;• Las condiciones se especifican usando expresiones lógicas. La representación de una estructura selectiva se hace con palabras en pseudocódigo (if – then – else o en español si – entonces - sino) y en flujograma con una figura geométrica en forma de rombo.&lt;br /&gt;• Las estructuras selectivas o alternativas se clasifican en:&lt;br /&gt;– Simples&lt;br /&gt;– Dobles&lt;br /&gt;– Compuestas&lt;br /&gt;– Múltiples&lt;br /&gt;Estructuras selectivas simples:&lt;br /&gt;• Se identifican porque están compuestos únicamente de una condición. &lt;br /&gt;• La estructura  si – entonces evalúa la condición y en tal caso: Si la condición es verdadera, entonces ejecuta la acción Si (o acciones si son varias). Si la condición es falsa, entonces no se hace nada.&lt;br /&gt;Representación de decisión simple:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_pMJVbjY_KV4/Rr_r3jRzALI/AAAAAAAAAGQ/OM0V3Sy7vE0/s1600-h/decsimple.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_pMJVbjY_KV4/Rr_r3jRzALI/AAAAAAAAAGQ/OM0V3Sy7vE0/s320/decsimple.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5098052642801909938" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ejemplo 1. Construir un algoritmo tal, que dado como dato la calificación de un alumno en un examen, escriba “Aprobado” en caso que esa calificación fuese mayor que 6.&lt;br /&gt;• Entradas: calificación&lt;br /&gt;• Datos adicionales:   un alumno aprueba si la calificación es mayor que 6&lt;br /&gt;• Variables:&lt;br /&gt;• Cal  =  calificación&lt;br /&gt;• Algoritmo:&lt;br /&gt;Inicio&lt;br /&gt; Leer (cal)&lt;br /&gt; Si cal &gt; 6 entonces&lt;br /&gt;  Escribir (“aprobado”)&lt;br /&gt; Fin_si&lt;br /&gt;Fin&lt;br /&gt;&lt;br /&gt;Solución Ejemplo 1:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_pMJVbjY_KV4/Rr_sbzRzAMI/AAAAAAAAAGY/72pBjrLca0E/s1600-h/ej1decs.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_pMJVbjY_KV4/Rr_sbzRzAMI/AAAAAAAAAGY/72pBjrLca0E/s320/ej1decs.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5098053265572167874" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ejemplo 2 :Dado como dato el sueldo de un trabajador, aplíquele un aumento del 15% si su sueldo es inferior a $1000. Imprima en este caso, el nuevo sueldo del trabajador.&lt;br /&gt;• Salidas:   nuevo sueldo.   Entradas: sueldo del trabajador&lt;br /&gt;• Datos adicionales:  &lt;br /&gt;• Si sueldo es inferior a $1000 entonces aplicar aumento&lt;br /&gt;• aumento = sueldo * 0.15    y     Nuevo sueldo = sueldo + aumento&lt;br /&gt;• Variables:&lt;br /&gt;• Sue  = sueldo&lt;br /&gt;• Aum = aumento&lt;br /&gt;• Nsue = nuevo sueldo&lt;br /&gt;• Algoritmo:&lt;br /&gt;Inicio&lt;br /&gt; Leer (Sue)&lt;br /&gt; Si Sue &lt; 1000 entonces&lt;br /&gt;  Aum   &lt;--  Sue * 0.15&lt;br /&gt;  Nsue &lt;--  Sue + Aum&lt;br /&gt;  Escribir (Nsue) &lt;br /&gt; Fin_si&lt;br /&gt;Fin&lt;br /&gt;Estructuras de Selección Doble:&lt;br /&gt;• Son estructuras lógicas que permiten controlar la ejecución de varias acciones y se utilizan cuando se tienen dos opciones de acción, por la naturaleza de estas se debe ejecutar una o la otra, pero no ambas a la vez, es decir, son mutuamente excluyentes.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_pMJVbjY_KV4/Rr_tCzRzANI/AAAAAAAAAGg/1TZ_obNRVFY/s1600-h/desdoble.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_pMJVbjY_KV4/Rr_tCzRzANI/AAAAAAAAAGg/1TZ_obNRVFY/s320/desdoble.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5098053935587066066" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ejemplo 3: Dado como dato la calificación de un alumno en un examen, escriba “aprobado” si su calificación es mayor que 8 y “Reprobado” en caso contrario.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_pMJVbjY_KV4/Rr_teTRzAOI/AAAAAAAAAGo/ONZLPBsVn-4/s1600-h/ej3decd.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_pMJVbjY_KV4/Rr_teTRzAOI/AAAAAAAAAGo/ONZLPBsVn-4/s320/ej3decd.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5098054408033468642" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ejemplo 4: Dado como dato el sueldo de un trabajador, aplicar un aumento del 15% si su sueldo es inferior a $1000 y 12% en caso contrario, luego imprimir el nuevo sueldo del trabajador.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_pMJVbjY_KV4/Rr_tnjRzAPI/AAAAAAAAAGw/GPRaTI-Ujp0/s1600-h/ej4decd.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_pMJVbjY_KV4/Rr_tnjRzAPI/AAAAAAAAAGw/GPRaTI-Ujp0/s320/ej4decd.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5098054566947258610" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Fin de la clase.&lt;br /&gt;Gracias por asistir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-6685378159621307399?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/6685378159621307399/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=6685378159621307399' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/6685378159621307399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/6685378159621307399'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/08/clase-6-decisiones-simples-y-dobles.html' title='Clase 6: Decisiones Simples y Dobles.'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_pMJVbjY_KV4/Rr_r3jRzALI/AAAAAAAAAGQ/OM0V3Sy7vE0/s72-c/decsimple.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-7153249489941661305</id><published>2007-07-30T20:12:00.000-07:00</published><updated>2008-08-18T10:05:29.893-07:00</updated><title type='text'>Practica 5 Ejercicios de estructuras secuenciales</title><content type='html'>Materia: Lógica Computacional.&lt;br /&gt;Profesor: Lic. Salomón Aquino&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. Leer el sueldo de tres empleados y aplicarles un aumento del 10, 12 y 15% respectivamente. Desplegar el resultado.&lt;br /&gt;&lt;br /&gt;2. Escribir un programa que calcule el salario de un trabajador de la manera siguiente. El trabajador cobra un precio fijo por hora y se le descuento el 10% en concepto de impuesto sobre la renta. El programa debe pedir el nombre del trabajador, las horas trabajadas y el precio que cobra por hora. Como salida debe imprimir el sueldo bruto, el descuento de renta y el salario a pagar.&lt;br /&gt;&lt;br /&gt;3. Programa que pida el precio de un artículo y calcule su valor aplicándole un 13% de IVA.&lt;br /&gt;&lt;br /&gt;4. Dada una medida de tiempo expresada en horas, minutos y segundos con valores arbitrarios, elabore un programa que transforme dicha medida en una expresión correcta. Por ejemplo, dada la medida 3h 118m 195s, el programa deberá obtener como resultado 5h 1m 15s.&lt;br /&gt;&lt;br /&gt;5. Escriba un programa que calcule el área de un triángulo rectángulo, dada la altura y la base.&lt;br /&gt;&lt;br /&gt;6. Elabore un programa que realice la conversión de cm. a pulgadas.&lt;br /&gt;Donde 1cm = 0.39737 pulgadas.&lt;br /&gt;Por lo tanto, el usuario proporcionara el dato de N cm. y el programa dirá a cuantas pulgadas es equivalente. &lt;br /&gt;&lt;br /&gt;7. Elabore un programa que realice la conversión de pulgadas a cm.&lt;br /&gt;Donde 1 cm. = 0.39737 pulgadas.&lt;br /&gt;Por lo tanto, el usuario proporcionara el dato de N pulgadas y el programa dirá a cuantos centímetros equivale. &lt;br /&gt;&lt;br /&gt;8. Elabore un programa que realice la conversión de metros a pies &lt;br /&gt;Donde 1 m = 3.2808 pies.&lt;br /&gt;Por lo tanto, el usuario proporcionara el dato de N m y el programa dirá a cuantos pies equivale. &lt;br /&gt;&lt;br /&gt;9. Elabore un programa que realice la conversión de pies a metros &lt;br /&gt;Donde 1 m = 3.2808 pies.&lt;br /&gt;Por lo tanto, el usuario proporcionara el dato de N pies y el programa dirá a cuantos metros equivale. &lt;br /&gt;&lt;br /&gt;10. Elabore un programa que realice la conversión de kilogramos a libras &lt;br /&gt;Donde 1 Kg. = 2.2046 libras.&lt;br /&gt;Por lo tanto, el usuario proporcionara el dato de N Kg. y el programa dirá a cuantas libras equivale. &lt;br /&gt;&lt;br /&gt;11. Elabore un programa que realice la conversión de libras a kilogramos &lt;br /&gt;Donde 1 Kg. = 2.2046 libras.&lt;br /&gt;Por lo tanto, el usuario proporcionara el dato de N libras y el programa dirá a cuantos kilogramos equivale.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-7153249489941661305?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/7153249489941661305/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=7153249489941661305' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/7153249489941661305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/7153249489941661305'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/07/practica-5-ejercicios-de-estructuras.html' title='Practica 5 Ejercicios de estructuras secuenciales'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-6634738124975139184</id><published>2007-07-29T20:51:00.000-07:00</published><updated>2008-08-18T10:03:20.193-07:00</updated><title type='text'>Clase 5 Entrada y Salida Estándar.</title><content type='html'>Materia: Lógica Computacional&lt;br /&gt;Profesor: Lic. Salomón Aquino.&lt;br /&gt;Objetivos de la clase:&lt;br /&gt;• Al final de la clase los alumnos y alumnas serán capaces de:&lt;br /&gt;• Comprender la sintaxis de las funciones printf() y scanf().&lt;br /&gt;• Utilizar correctamente las funciones printf() y scanf().&lt;br /&gt;&lt;br /&gt;La función printf()&lt;br /&gt;• La función printf permite escribir una lista de datos con un formato preestablecido. Acepta diferentes tipos de argumentos: carácter, valor numérico entero o real o cadena de caracteres, y los escribe según un formato especificado sobre la salida estándar. La forma de la función printf  es:&lt;br /&gt;•  printf ("formato", arg1, arg2, ..., argn);&lt;br /&gt;• donde argi pueden ser constantes, variables o expresiones, y “formato” es una serie de caracteres en la cual se pueden encontrar dos tipos de datos: un mensaje o texto a escribir literalmente, y los símbolos especificadores del formato con el cual se van a escribir las variables dadas como argumentos.&lt;br /&gt;• Por ejemplo:    printf ("Esto es un mensaje\n");&lt;br /&gt;• Escribe la cadena Esto es un mensaje seguida de un salto de línea (debido al \n)&lt;br /&gt;&lt;br /&gt;Ejemplo de printf()&lt;br /&gt;#include &amp;lt stdio.h &amp;gt&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;int i; char letra; float f; char string[10]="hola";&lt;br /&gt;i = 1; letra='a'; f = 3.15;&lt;br /&gt;/* \n en el printf hace que salte de linea */&lt;br /&gt;printf(" El numero entero es %d\n", i);&lt;br /&gt;printf(" El numero real es %f\n",f);&lt;br /&gt;printf(" La letras es %c\n", letra);&lt;br /&gt;printf(" El string es %s\n",string);&lt;br /&gt;system(“pause”);return 0;&lt;br /&gt;}&lt;br /&gt;Especificadores de formato:&lt;br /&gt;• Los especificadores de formato deben ir precedidos del signo %. Algunos de ellos son:&lt;br /&gt;•  %c carácter (char)&lt;br /&gt;•  %d número entero (int)&lt;br /&gt;•  %ld número entero (long)&lt;br /&gt;•  %f número real (float)&lt;br /&gt;•  %lf número real (double)&lt;br /&gt;•  %s cadena de caracteres&lt;br /&gt;&lt;br /&gt;• Por cada argumento a imprimir debe existir un especificador de formato, que indica el formato en el cual se va a mostrar el dato. Por ejemplo, siendo letra una variable de tipo char con el valor ‘A’, la instrucción&lt;br /&gt; printf (“El código ASCII de %c es %d”, letra, letra);&lt;br /&gt; escribirá:&lt;br /&gt; El código ASCII de A es 65&lt;br /&gt;&lt;br /&gt;Otros ejemplos de printf:&lt;br /&gt;•  printf (“\nEl cuadrado de %f vale %f”, x, x*x);&lt;br /&gt;•  printf (“\nLa edad de %s es %d años”, “Juan”, edad);&lt;br /&gt;•  printf (“\nSeno (%lf) = %lf\n”, x, sin(x));&lt;br /&gt;&lt;br /&gt;• La función printf puede emplearse sin argumentos, en cuyo caso sólo se imprimen los caracteres presentes en la cadena de formato.&lt;br /&gt;&lt;br /&gt;Caracteres opcionales:&lt;br /&gt;• Entre el símbolo "%" y el carácter que especifica la notación a emplear se pueden insertar ciertos caracteres opcionales. Son los siguientes:&lt;br /&gt;&lt;br /&gt;– El signo (-) para que el dato se ajuste por la izquierda, en lugar de hacerlo por la derecha, que es lo establecido por defecto.&lt;br /&gt;– Un número que indica la longitud mínima en caracteres que tiene el campo donde se mostrará el dato. Los espacios hacen de caracteres de relleno.&lt;br /&gt;– Un punto decimal (.) seguido de una cifra que indica el número de dígitos tras el punto decimal de un dato real o el número mínimo de dígitos para un entero o el número máximo de caracteres de una cadena que serán impresos&lt;br /&gt;&lt;br /&gt;Ejemplo de caracteres opcionales:&lt;br /&gt;• %8d  imprime un número decimal (int) alineado por la derecha y en un campo de al menos ocho caracteres.&lt;br /&gt;&lt;br /&gt;• %-25s imprime una cadena de caracteres alineada por la izquierda y asegurando una longitud mínima de 25 caracteres (reserva al menos 25 espacios, si la longitud del valor a visualizar es mayor de 25 se visualizan todos). &lt;br /&gt;&lt;br /&gt;• %.6f  imprime un número real (float) con un máximo de 6 cifras significativas en la parte fraccionaria.&lt;br /&gt;&lt;br /&gt;La función scanf()&lt;br /&gt;• La función scanf permite leer valores desde la entrada estándar y almacenarlos en las variables que se especifican como argumentos. Éstas deben ir normalmente precedidas por el símbolo &amp;. La sintaxis es:&lt;br /&gt; scanf ("formato", arg1, arg2, ..., argn);&lt;br /&gt;• donde debe haber tantos especificadores en la cadena de “formato” como variables en la lista de argumentos. Por ejemplo,&lt;br /&gt;   int n;&lt;br /&gt;   double x;&lt;br /&gt;   scanf ("%d%lf", &amp;n, &amp;x); &lt;br /&gt;• para leer un valor de tipo int y otro de tipo double. Los valores se introducirán desde la entrada estándar separándolos por espacios o retornos de carro. En la cadena de formato aparecen especificadores de formato (los mismos que ya se han visto) pero nunca deben aparecer caracteres ordinarios.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt stdio.h &amp;gt&lt;br /&gt;main() {&lt;br /&gt;int i; char c; float f; char string[10];&lt;br /&gt;printf("Introduce la letra: "); scanf("%c",&amp;c);&lt;br /&gt;printf(" Introduce el  numero entero: ");  scanf("%d",&amp;i);&lt;br /&gt;printf("Introduce el  numero real: "); scanf("%f",&amp;f);&lt;br /&gt;printf("Introduce el string: "); scanf("%s",&amp;string);&lt;br /&gt;printf("Los valores introducidos son: %c %d %f %s \n",c,i,f,string);&lt;br /&gt;system(“pause”);return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Ejemplo de uso de printf() y scanf()&lt;br /&gt;Como ejemplo del uso de printf y scanf, sea un programa que lee dos números del teclado y calcula e imprime la suma de ambos:&lt;br /&gt; /* Programa que lee dos números y los suma */&lt;br /&gt; #include &amp;lt stdio.h &amp;gt&lt;br /&gt; void main (void)&lt;br /&gt; {&lt;br /&gt;    int a, b, suma;&lt;br /&gt;    printf ("\nIntroduzca a y b: ");&lt;br /&gt;    scanf ("%d%d", &amp;a, &amp;b);&lt;br /&gt;    printf ("\n a vale: %d; b vale %d", a, b);&lt;br /&gt;    suma = a + b;&lt;br /&gt;    printf ("\n\nLa suma de a y b vale: %d\n", suma);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;Fin de la clase.&lt;br /&gt;Gracias por asistir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-6634738124975139184?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/6634738124975139184/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=6634738124975139184' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/6634738124975139184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/6634738124975139184'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/07/clase-5-entrada-y-salida-estndar.html' title='Clase 5 Entrada y Salida Estándar.'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-4947510912379703798</id><published>2007-07-23T18:35:00.000-07:00</published><updated>2008-08-18T10:04:22.785-07:00</updated><title type='text'>Practica 4: Ejercicios de programas basicos en lenguaje C</title><content type='html'>Profesor: Lic. Salomon Aquino&lt;br /&gt;Materia: Logica Computacional&lt;br /&gt;&lt;br /&gt;Escriba los siguientes ejemplo de programas en C en el compilador Devcpp:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ejemplo 1&lt;/span&gt;&lt;br /&gt;Primer programa en lenguaje C:&lt;br /&gt;&lt;br /&gt;/* Mi primer programa completo en Lenguage C.&lt;br /&gt;  Imprime un texto en pantalla. */&lt;br /&gt;&lt;br /&gt;#include &amp;lt stdio.h &amp;gt&lt;br /&gt;#include &amp;lt stdlib.h &amp;gt&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt; printf(“Hola mundo!!\n”);&lt;br /&gt;    system("pause");&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Modifique el programa para que en vez de Hola Mundo aparezca tu nombre, por ejemplo: Hola Salomon Aquino.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ejemplo 2&lt;/span&gt;&lt;br /&gt;Segundo  programa en lenguaje C:&lt;br /&gt;&lt;br /&gt;#include &amp;lt stdio.h &amp;gt&lt;br /&gt;#include &amp;lt stdlib.h &amp;gt&lt;br /&gt;#include &amp;lt conio.h &amp;gt&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;int a, b, c, suma;&lt;br /&gt;a=6;&lt;br /&gt;b=4;&lt;br /&gt;c=17;&lt;br /&gt;suma = a + b + c;&lt;br /&gt;printf ("\n La suma es : %d ", suma);&lt;br /&gt;printf("\n");&lt;br /&gt;system("pause");&lt;br /&gt;return 0;&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;ahora vamos a modificar el programa para que solicite los valores de a, b y c y estos se introduzcan por el teclado, el programa quedaria de la siguiente manera:&lt;br /&gt;&lt;br /&gt;#include &amp;lt stdio.h &amp;gt&lt;br /&gt;#include &amp;lt stdlib.h &amp;gt&lt;br /&gt;#include &amp;lt conio.h &amp;gt&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;int a, b, c, suma;&lt;br /&gt;&lt;br /&gt;printf("Introduzca el valor de a : ");&lt;br /&gt;scanf("%d", &amp;a);&lt;br /&gt;printf("\n");&lt;br /&gt;&lt;br /&gt;printf("Introduzca el valor de b : ");&lt;br /&gt;scanf("%d", &amp;b);&lt;br /&gt;printf("\n");&lt;br /&gt;&lt;br /&gt;printf("Introduzca el valor de c : ");&lt;br /&gt;scanf("%d", &amp;c);&lt;br /&gt;printf("\n");&lt;br /&gt;&lt;br /&gt;suma = a + b + c;&lt;br /&gt;printf ("\n La suma es : %d ", suma);&lt;br /&gt;printf("\n");&lt;br /&gt;system("pause");&lt;br /&gt;return 0;&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ejemplo 3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;/* Este ejemplo muestra el uso de variables tipo char y tipo int */&lt;br /&gt;#include &amp;lt stdio.h &amp;gt&lt;br /&gt;#include &amp;lt stdlib.h &amp;gt&lt;br /&gt;#include &amp;lt conio.h &amp;gt&lt;br /&gt;&lt;br /&gt;main ( )&lt;br /&gt;{&lt;br /&gt;  char nombre[30];&lt;br /&gt;  int edad;&lt;br /&gt;  printf ("Escriba su nombre:  ");&lt;br /&gt;  scanf ("%s", nombre);&lt;br /&gt;  printf ("\n Escriba la edad de %s: ", nombre);&lt;br /&gt;  scanf ("%d", &amp;edad);&lt;br /&gt;  printf("\n");&lt;br /&gt;  printf ("Su nombre es: %s  ", nombre);&lt;br /&gt;  printf("\n");&lt;br /&gt;  printf ("Su edad es: %d ", edad);&lt;br /&gt;  printf ("\n");&lt;br /&gt;  system("pause");&lt;br /&gt;  return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ejemplo 4&lt;/span&gt;&lt;br /&gt;Este programa muestra es uso de variables tipo char.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt stdio.h &amp;gt&lt;br /&gt;#include &amp;lt stdlib.h &amp;gt&lt;br /&gt;&lt;br /&gt;main ( )&lt;br /&gt;{&lt;br /&gt;  char nombre[30] ;&lt;br /&gt;  printf ("Esta es una secuencia de sentencias\n");&lt;br /&gt;  printf("Ahora escriba su nombre (solo su primer nombre): ");&lt;br /&gt;  scanf("%s",nombre);&lt;br /&gt;  printf ("\nMucho gusto %s.",nombre);&lt;br /&gt;  printf ("\nEspero que te estes divirtiendo y aprendiendo el Lenguaje C \n");&lt;br /&gt;  printf("Con mucha dedicacion y esfuerzo saldras bien en tus practicas\n");&lt;br /&gt;  system("pause"); &lt;br /&gt;  return 0;     &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ejemplo 5&lt;/span&gt;&lt;br /&gt;Este ejemplo muestra el uso de variables tipo float, pide 3 salarios y los suma.&lt;br /&gt;&lt;br /&gt;#include &amp;lt stdio.h &amp;gt&lt;br /&gt;#include &amp;lt stdlib.h &amp;gt&lt;br /&gt;#include &amp;lt conio.h &amp;gt&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;float salario1, salario2, salario3, suma;&lt;br /&gt;&lt;br /&gt;printf("Introduzca el valor de salario1 : ");&lt;br /&gt;scanf("%f", &amp;salario1);&lt;br /&gt;printf("\n");&lt;br /&gt;&lt;br /&gt;printf("Introduzca el valor de salario2 : ");&lt;br /&gt;scanf("%f", &amp;salario2);&lt;br /&gt;printf("\n");&lt;br /&gt;&lt;br /&gt;printf("Introduzca el valor de salario3 : ");&lt;br /&gt;scanf("%f", &amp;salario3);&lt;br /&gt;printf("\n");&lt;br /&gt;&lt;br /&gt;suma = salario1 + salario2 + salario3;&lt;br /&gt;printf ("\n La suma es : %.2f ", suma);&lt;br /&gt;printf("\n");&lt;br /&gt;system("pause");&lt;br /&gt;return 0;&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ejercicios:&lt;/span&gt;&lt;br /&gt;Escribe un programa en lenguaje C para los siguientes ejercicios:&lt;br /&gt;&lt;br /&gt;1. Escribe un programa que calcule el área de un círculo de cualquier radio.&lt;br /&gt;2. Escribe un programa que lea una cantidad depositada en un banco y que calcule la cantidad final después de aplicarle un 20% de interés.&lt;br /&gt;3. Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.&lt;br /&gt;4. Un alumno desea saber cual será su calificación final en la materia de Lógica Computacional. Dicha calificación se compone de tres exámenes parciales cuya ponderación es de 30%, 30% y 40%&lt;br /&gt;5. Una farmacia aplica al precio de los remedios el 10% de descuento. Hacer un programa que ingresado el costo de los medicamentos calcule el descuento y el precio final&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-4947510912379703798?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/4947510912379703798/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=4947510912379703798' title='8 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/4947510912379703798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/4947510912379703798'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/07/escriba-los-siguientes-ejemplo-de.html' title='Practica 4: Ejercicios de programas basicos en lenguaje C'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-1096155040997861009</id><published>2007-07-22T21:07:00.000-07:00</published><updated>2008-08-18T10:04:32.529-07:00</updated><title type='text'>Clase 4: Estructura de un programa en lenguaje C.</title><content type='html'>Materia: Lógica Computacional&lt;br /&gt;Profesor: Lic. Salomón Aquino.&lt;br /&gt;Objetivos de la clase:&lt;br /&gt;Al final de la clase los alumnos y alumnas serán capaces de:&lt;br /&gt;1. Comprender la estructura de los programas en lenguaje C.&lt;br /&gt;2. Elaborar programas secuenciales usando la estructura de los programas en lenguaje C.&lt;br /&gt;&lt;br /&gt;Primer programa en lenguaje C:&lt;br /&gt;/* Mi primer programa completo en Lenguage C.&lt;br /&gt;  Imprime un texto en pantalla. */&lt;br /&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt; printf(“Hola mundo!!\n”);&lt;br /&gt;    system("pause");&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_pMJVbjY_KV4/RqQsAzRzAEI/AAAAAAAAAFc/jx3tC50Xwv8/s1600-h/primeroC.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_pMJVbjY_KV4/RqQsAzRzAEI/AAAAAAAAAFc/jx3tC50Xwv8/s320/primeroC.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5090241871111979074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Segundo  programa en lenguaje C:&lt;br /&gt;#include&lt;stdio.h&gt;&lt;br /&gt;#include &lt;stdlib.h&gt;&lt;br /&gt;#include&lt;conio.h&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;int a, b, c, suma;&lt;br /&gt;a=6;&lt;br /&gt;b=4;&lt;br /&gt;c=17;&lt;br /&gt;suma = a + b + c;&lt;br /&gt;printf ("\n La suma es : %d ", suma);&lt;br /&gt;printf("\n");&lt;br /&gt;system("pause");&lt;br /&gt;return 0;&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_pMJVbjY_KV4/RqQsNTRzAFI/AAAAAAAAAFk/LRDvRdVDFyU/s1600-h/segundoC.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_pMJVbjY_KV4/RqQsNTRzAFI/AAAAAAAAAFk/LRDvRdVDFyU/s320/segundoC.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5090242085860343890" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Directivas de Librerías:&lt;br /&gt;• En esta sección se escriben aquellas sentencias que proveerán herramientas útiles para desarrollar el programa.  &lt;br /&gt;• Para el caso específico de lenguaje C, en esta sección se escriben los nombres de las galerías de encabezados que serán utilizadas (incluídas).&lt;br /&gt;• Se antecede a cada galería la instrucción #include y seguido de esta se escribe entre signos de menor que y mayor que,  el nombre de la galería.&lt;br /&gt;• Ejemplos de la sección de utilerías son las siguientes:&lt;br /&gt; #include (stdio.h) #include (stdlib.h)&lt;br /&gt; #include (conio.h)  #include (string.h&gt;)&lt;br /&gt; #include (ctype.h)  #include (math.h)&lt;br /&gt; #include (dos.h)&lt;br /&gt;&lt;br /&gt;Nota: En las instrucciones #include, sustituya los parentesis por los simbolos "&lt;" y "&gt;"&lt;br /&gt;&lt;br /&gt;La función main()&lt;br /&gt;• Todos los programas en lenguaje C deben comenzar con la función main().&lt;br /&gt;• Toda función debe retornar un valor, la funcion main() retorna un valor entero, por eso los programas deben terminar con un return 0;&lt;br /&gt;• La función puede declararse como int main() o solo main(), las dos formas son validas.&lt;br /&gt;&lt;br /&gt;Los comentarios:&lt;br /&gt;• Los comentarios son lineas incluidas en un programa que no realizan ninguna accion, solo sirven para agregar explicaciones o documentar el programa.&lt;br /&gt;• Hay dos tipos de comentarios: de una linea y de varias lineas.&lt;br /&gt;• /*       */   Para comentarios cuando ocupan más de una línea de texto. Lo que se escriba entre estos dos símbolos será ignorado por el compilador.&lt;br /&gt;• //  para comentarios en una única línea de texto.&lt;br /&gt;&lt;br /&gt;Declaración de variables:&lt;br /&gt;• C requiere que se declaren las variables que se utilizarán en el desarrollo del programa. Estas se declaran precedidas por un palabra reservada que le indica al compilador el tipo de datos que se almacenará en la variable.  &lt;br /&gt;• &lt;tipo de dato&gt;&lt;nombre de variable&gt; = &lt;valor inicial&gt;&lt;br /&gt;• Se pueden también declarar múltiples variables en la misma línea:&lt;br /&gt;• &lt;tipo_de_dato&gt; &lt;nom_var1&gt;, &lt;nom_var2&gt; .... &lt;nom_varn&gt;&lt;br /&gt;• Así por ejemplo:&lt;br /&gt;• Int longitud; int valor=99;&lt;br /&gt;• Int valor1, valor2;&lt;br /&gt;• float salario, estatura;&lt;br /&gt;&lt;br /&gt;Instrucciones del programa:&lt;br /&gt;• Las instrucciones de un programa en C se encuentran entre las llaves de inicio y fin de la funcion main().&lt;br /&gt;• Todas las instrucciones del programa deben finalizar con un punto y coma (;)&lt;br /&gt;• Ejemplo:   Int edad;&lt;br /&gt;• La funcion printf() se utiliza como instrucción de salida.&lt;br /&gt;• La funcion scanf() se utiliza como instrucción de entrada de datos.&lt;br /&gt;• la instrucción system(“pause”) que es necesaria para que la pantalla se detenga temporalmente cuando corremos el programa, ya que si no ponemos esa instrucción, no veríamos lo que hace el programa porque mostraría rápidamente los resultados.&lt;br /&gt;• Esta instrucción se encuentra en la librería &lt;stdlib.h&gt; que deberá ser declarada en la cabecera del programa.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-1096155040997861009?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/1096155040997861009/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=1096155040997861009' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/1096155040997861009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/1096155040997861009'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/07/clase-4-estructura-de-un-programa-en.html' title='Clase 4: Estructura de un programa en lenguaje C.'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_pMJVbjY_KV4/RqQsAzRzAEI/AAAAAAAAAFc/jx3tC50Xwv8/s72-c/primeroC.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-1975868222106710776</id><published>2007-07-16T21:03:00.000-07:00</published><updated>2008-08-18T10:04:41.875-07:00</updated><title type='text'>Practica 3: ejercicios de diagramas de flujo</title><content type='html'>Materia: Lógica Computacional&lt;br /&gt;Profesor: Lic. Salomón Aquino&lt;br /&gt;&lt;br /&gt;Objetivos: Al final de la clase los alumnos serán capaces de:&lt;br /&gt;1. Comprender las estructuras secuenciales y resolver problemas usando dichas estructuras. &lt;br /&gt;2. Elaborar algoritmos, y flujogramas para estructuras secuenciales.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ESTRUCTURAS BÁSICAS.&lt;/span&gt;&lt;br /&gt;Un problema se puede dividir en acciones elementales o instrucciones, usando un número limitado de estructuras de control (básicas) y sus combinaciones que pueden servir para resolver dicho problema.&lt;br /&gt;Las Estructuras Básicas pueden ser:&lt;br /&gt;Secuenciales: cuando una instrucción del programa sigue a otra.&lt;br /&gt;Selección o decisión: acciones en las que la ejecución de alguna dependerá de que se cumplan una o varias condiciones.&lt;br /&gt;Repetición, Iteración: cuando un proceso se repite en tanto cierta condición sea establecida para finalizar ese proceso.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_pMJVbjY_KV4/Rpw_5kgj0TI/AAAAAAAAAEc/_RktMAhP7JM/s1600-h/estructuras.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_pMJVbjY_KV4/Rpw_5kgj0TI/AAAAAAAAAEc/_RktMAhP7JM/s320/estructuras.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5088011937307152690" /&gt;&lt;/a&gt;&lt;br /&gt;  &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Estructura Secuencial.&lt;/span&gt;&lt;br /&gt;Se caracteriza porque una acción se ejecuta detrás de otra. El flujo del programa coincide con el orden físico en el que se han ido poniendo las instrucciones.&lt;br /&gt;Dentro de este tipo podemos encontrar operaciones de inicio/fin, inicialización de variables, operaciones de asignación, cálculo, sumarización, etc.&lt;br /&gt;Este tipo de estructura se basa en las 5 fases de que consta todo algoritmo o programa:&lt;br /&gt;Definición de variables (Declaración)&lt;br /&gt;Inicialización de variables.&lt;br /&gt;Lectura de datos&lt;br /&gt;Cálculo&lt;br /&gt;Salida&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ejemplo 1.&lt;/span&gt;&lt;br /&gt;Se desea encontrar la longitud y el área de un círculo de radio 5.&lt;br /&gt;Solución.&lt;br /&gt;El objetivo del ejercicio es encontrar la longitud y el área de un círculo con un radio conocido y de valor 5. Las salidas serán entonces la longitud y el área. (Fase 5 del algoritmo)&lt;br /&gt;Sabemos que la longitud de un círculo viene dada por la fórmula 2 * pi * radio y que el área viene dada por pi * radio al cuadrado.  (Fase 4 del algoritmo)&lt;br /&gt;&lt;br /&gt;Si definimos las variables como:   (fase 1 del algoritmo)&lt;br /&gt;L = Longitud    A = área R = radio pi = 3.1416        hagamos el algoritmo:&lt;br /&gt;Inicio&lt;br /&gt; Pi &lt;- 3.1416  (definición de un valor constante)&lt;br /&gt; R &lt;-  5   (radio constante ya que es conocido su valor)&lt;br /&gt; A &lt;- pi * R ^ ²  (asignación del valor del área)&lt;br /&gt; L &lt;- 2 * pi * R  (asignación del valor de la longitud)&lt;br /&gt; Escribir (A, L)  (salida del algoritmo)&lt;br /&gt;Fin&lt;br /&gt;&lt;br /&gt;Representación en Diagrama de Flujo para el ejemplo:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_pMJVbjY_KV4/RpxBAUgj0UI/AAAAAAAAAEk/HkYMNAO7yZQ/s1600-h/ejemplo31.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_pMJVbjY_KV4/RpxBAUgj0UI/AAAAAAAAAEk/HkYMNAO7yZQ/s320/ejemplo31.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5088013152782897474" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;En este ejercicio no existen datos de entrada ya que para calcular el área y la longitud necesitamos únicamente el radio y el valor de Pi los cuales ya son dados en el problema.&lt;br /&gt; &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ejemplo 2&lt;/span&gt;.&lt;br /&gt;Modificar el problema anterior para que sea capaz de calcular el área y la longitud de un círculo de cualquier radio requerido.&lt;br /&gt;&lt;br /&gt;Solución.&lt;br /&gt;El problema es el mismo con la variante de que ahora ya existe un dato de entrada, puesto que el radio puede ser cualquiera y será necesario que el usuario sea quien lo introduzca de teclado. Usando las misma definición de variables tenemos:&lt;br /&gt;Algoritmo:&lt;br /&gt;Inicio&lt;br /&gt; pi &lt;- 3.1416  (fase de inicialización)&lt;br /&gt; Leer (R)  (fase de lectura)&lt;br /&gt; A &lt;- pi * R ^ ² (fase de cálculos)&lt;br /&gt; L &lt;- 2 * pi * R&lt;br /&gt; Escribir ( A, L ) (fase de salida)&lt;br /&gt;Fin&lt;br /&gt;Note que la instrucción de asignación fue cambiada por la instrucción leer.&lt;br /&gt;En el flujograma deberán cambiarse también los símbolos que los representan:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_pMJVbjY_KV4/RpxBg0gj0VI/AAAAAAAAAEs/tgcd1RZMoxM/s1600-h/ejemplo32.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_pMJVbjY_KV4/RpxBg0gj0VI/AAAAAAAAAEs/tgcd1RZMoxM/s320/ejemplo32.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5088013711128645970" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ejemplo 3.&lt;/span&gt;&lt;br /&gt;Leer el sueldo de tres empleados y aplicarles un aumento del 10, 12 y 15% respectivamente. Desplegar el resultado.&lt;br /&gt;Salidas:  Sueldos finales&lt;br /&gt;Entradas:  Salarios de los empleados&lt;br /&gt;Datos adicionales:  aumentos del 10, 12 y 15%&lt;br /&gt;Cálculos:  &lt;br /&gt;Sueldo final = sueldo inicial + aumento&lt;br /&gt;Aumento = sueldo inicial * porcentaje/100&lt;br /&gt;Definición de variables:&lt;br /&gt;Sf1, Sf2, Sf3  = los sueldos finales&lt;br /&gt;S1, S2, S3 =  salarios de los empleados&lt;br /&gt;Aum1, aum2, aum3 = aumentos&lt;br /&gt;&lt;br /&gt;ALGORITMO&lt;br /&gt;   Inicio&lt;br /&gt; Leer (S1,S2,S3)&lt;br /&gt; Aum1 &lt;- S1 * 0.10&lt;br /&gt; Aum2 &lt;- S2 * 0.12&lt;br /&gt; Aum3 &lt;- S3 * 0.15&lt;br /&gt; Sf1 &lt;- S1 + Aum1&lt;br /&gt; Sf2 &lt;- S2 + Aum2&lt;br /&gt; Sf3 &lt;- S3 + Aum3&lt;br /&gt; Escribir (SF1,SF2,SF3)&lt;br /&gt;   Fin&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FLUJOGRAMA:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_pMJVbjY_KV4/RpxBuEgj0WI/AAAAAAAAAE0/7dvKV6SRe3A/s1600-h/ejemplo33.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_pMJVbjY_KV4/RpxBuEgj0WI/AAAAAAAAAE0/7dvKV6SRe3A/s320/ejemplo33.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5088013938761912674" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ejercicios para resolver en la clase:&lt;br /&gt;Para cada ejercicio escriba su algoritmo en pseudocodigo y su flujograma.&lt;br /&gt;1. Escribe un programa que calcule el área de un círculo de cualquier radio.&lt;br /&gt;2. Escribe un programa que lea una cantidad depositada en un banco y que calcule la cantidad final después de aplicarle un 20% de interés.&lt;br /&gt;3. Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.&lt;br /&gt;4. Un alumno desea saber cual será su calificación final en la materia de Lógica Computacional. Dicha calificación se compone de tres exámenes parciales cuya ponderación es de 30%, 30% y 40%&lt;br /&gt;5. Una farmacia aplica al precio de los remedios el 10% de descuento. Hacer un programa que ingresado el costo de los medicamentos calcule el descuento y el precio final&lt;br /&gt;&lt;br /&gt;6. Haga tabla de seguimiento para encontrar los resultados de las variables dadas en el siguiente algoritmo:&lt;br /&gt;Algoritmo Verifica&lt;br /&gt;Entero: x, y, z&lt;br /&gt;Inicio&lt;br /&gt; X &lt;- 40&lt;br /&gt; Y &lt;- 25&lt;br /&gt; Z &lt;- x – y&lt;br /&gt; Y &lt;- X&lt;br /&gt; Escribir ( y, x)&lt;br /&gt; Escribir (z)&lt;br /&gt;Fin.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_pMJVbjY_KV4/RpxCJ0gj0XI/AAAAAAAAAE8/TBOYqaQvr8A/s1600-h/prueba.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_pMJVbjY_KV4/RpxCJ0gj0XI/AAAAAAAAAE8/TBOYqaQvr8A/s320/prueba.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5088014415503282546" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-1975868222106710776?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/1975868222106710776/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=1975868222106710776' title='31 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/1975868222106710776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/1975868222106710776'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/07/practica-3-ejercicios-de-diagramas-de.html' title='Practica 3: ejercicios de diagramas de flujo'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_pMJVbjY_KV4/Rpw_5kgj0TI/AAAAAAAAAEc/_RktMAhP7JM/s72-c/estructuras.JPG' height='72' width='72'/><thr:total>31</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-1413381037028587543</id><published>2007-07-15T16:45:00.000-07:00</published><updated>2008-08-18T10:04:51.026-07:00</updated><title type='text'>Clase 3: Diagramas de Flujo.</title><content type='html'>Materia: Lógica Computacional&lt;br /&gt;Profesor: Lic. Salomón Aquino.&lt;br /&gt;Fecha: 16/07/07&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Objetivos de la clase:&lt;/span&gt;&lt;br /&gt;Al final de la clase los alumnos y alumnas serán capaces de:&lt;br /&gt;1. Comprender y aplicar el concepto de diagrama de flujos.&lt;br /&gt;2. Comprender y aplicar las reglas de construcción de los diagramas de flujos.&lt;br /&gt;3. Elaborar diagramas de flujo.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Los Diagramas de Flujo:&lt;/span&gt;&lt;br /&gt;Son la representación gráfica de la solución algorítmica de un problema.&lt;br /&gt;Para diseñarlos se utilizan determinados símbolos o figuras que representan una acción dentro del procedimiento. &lt;br /&gt;Utilizan unos símbolos normalizados, con los pasos del algoritmo escritos en el símbolo adecuado y los símbolos unidos con flechas, denominadas líneas de flujo, que indican el orden en que los pasos deben ser ejecutados.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Para su elaboración se siguen ciertas reglas:&lt;/span&gt;&lt;br /&gt;Se escribe de arriba hacia abajo y de izquierda a derecha&lt;br /&gt;Siempre se usan flechas verticales u horizontales, jamás curvas&lt;br /&gt;Se debe evitar cruce de flujos &lt;br /&gt;En cada paso se debe expresar una acción concreta&lt;br /&gt;Secuencia de flujo normal en una solución de problema&lt;br /&gt;Tiene un inicio&lt;br /&gt;Una lectura o entrada de datos&lt;br /&gt;El proceso de datos&lt;br /&gt;Una salida de información&lt;br /&gt;Un final&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Simbología para diseñar flujogramas.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_pMJVbjY_KV4/RpqyUUgj0QI/AAAAAAAAAEE/Gx0SlMFokBw/s1600-h/simbolos.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_pMJVbjY_KV4/RpqyUUgj0QI/AAAAAAAAAEE/Gx0SlMFokBw/s320/simbolos.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5087574791240798466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;VENTAJAS DE USAR DIAGRAMAS DE FLUJO&lt;br /&gt;Rápida comprensión de las relaciones&lt;br /&gt;Análisis efectivo de las diferentes secciones del programa&lt;br /&gt;Pueden usarse como modelos de trabajo en el diseño de nuevos programas o sistemas&lt;br /&gt;Comunicación con el usuario&lt;br /&gt;Documentación adecuada de los programas&lt;br /&gt;Codificación eficaz de los programas &lt;br /&gt;Depuración y pruebas ordenadas de  programas&lt;br /&gt;&lt;br /&gt;DESVENTAJAS DE LOS DIAGRAMAS DE FLUJO&lt;br /&gt;Diagramas complejos y detallados suelen ser laboriosos en su planteamiento y diseño&lt;br /&gt;Acciones a seguir tras la salida de un símbolo de decisión, pueden ser difíciles de seguir si existen diferentes caminos&lt;br /&gt;No existen normas fijas para la elaboración de los diagramas de flujo que permitan incluir todos los detalles que el usuario desee introducir.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ejemplo de diagrama de flujo:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_pMJVbjY_KV4/Rpqy6Ugj0RI/AAAAAAAAAEM/ZNJUZ-hZlH8/s1600-h/ejemplo.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_pMJVbjY_KV4/Rpqy6Ugj0RI/AAAAAAAAAEM/ZNJUZ-hZlH8/s320/ejemplo.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5087575444075827474" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ejercicio:&lt;/span&gt;&lt;br /&gt;Indica cuáles de los siguientes diseños son válidos según las reglas de construcción de flujogramas:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_pMJVbjY_KV4/RpqzM0gj0SI/AAAAAAAAAEU/I8ud787Kyns/s1600-h/ejercicios.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_pMJVbjY_KV4/RpqzM0gj0SI/AAAAAAAAAEU/I8ud787Kyns/s320/ejercicios.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5087575761903407394" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-1413381037028587543?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/1413381037028587543/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=1413381037028587543' title='13 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/1413381037028587543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/1413381037028587543'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/07/clase-3-diagramas-de-flujo.html' title='Clase 3: Diagramas de Flujo.'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_pMJVbjY_KV4/RpqyUUgj0QI/AAAAAAAAAEE/Gx0SlMFokBw/s72-c/simbolos.JPG' height='72' width='72'/><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-8504487688522015488</id><published>2007-07-09T20:37:00.000-07:00</published><updated>2008-07-15T07:09:22.150-07:00</updated><title type='text'>Practica 2: Jerarquia de operadores en C++</title><content type='html'>Materia: Logica Computacional&lt;br /&gt;Profesor: Lic. Salomón Aquino&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Objetivos. Al finalizar la práctica los alumnos y alumnas sran capaces de:&lt;br /&gt;&lt;br /&gt;Asimilar y poner en práctica los conceptos de datos y operadores, además conocerá sus tipos. &lt;br /&gt;Resolver expresiones usando la jerarquía de operadores. &lt;br /&gt;Aplicar la jerarquía de operadores (lógicos y aritméticos) propias del Lenguaje C. &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;OPERADORES ARITMÉTICOS.&lt;br /&gt;&lt;br /&gt;Sirven para realizar operaciones aritméticas básicas. Los operadores aritméticos C siguen las reglas algebraicas típicas de jerarquía o prioridad.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp3.blogger.com/_pMJVbjY_KV4/RpMBjvukKuI/AAAAAAAAACk/bdPJacctJVM/s1600-h/aritmeticos+C.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_pMJVbjY_KV4/RpMBjvukKuI/AAAAAAAAACk/bdPJacctJVM/s320/aritmeticos+C.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5085410117850245858" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Los paréntesis se utilizan en las expresiones de C de manera muy similar a como se usan en las expresiones algebraicas, sirven para indicar que la expresión dentro de ellos se debe realizar primero.  Por ejemplo, para multiplicar a por la cantidad b+c escribimos:&lt;br /&gt;&lt;br /&gt; a * (b + c)&lt;br /&gt;&lt;br /&gt;Pow es la función que permite realizar las potencias.  Por ejemplo x=23 se podría presentar en C de las maneras siguientes: x=pow (2 , 3);  o x=2*2*2;&lt;br /&gt;&lt;br /&gt;Las reglas de precedencia o jerarquía de operadores son guías de acción, que le permiten a C calcular expresiones en el orden correcto.  Cuando decimos que una evaluación o cálculo avanza de izquierda a derecha, nos estamos refiriendo a la asociatividad de los operadores.  &lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_pMJVbjY_KV4/RpMCnfukKwI/AAAAAAAAAC0/MFlS__WoRus/s1600-h/precedencia.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_pMJVbjY_KV4/RpMCnfukKwI/AAAAAAAAAC0/MFlS__WoRus/s320/precedencia.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5085411281786383106" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ejemplo 1:&lt;br /&gt;&lt;br /&gt;            El siguiente ejemplo contiene módulo (%), multiplicación, división, adición y sustracción.&lt;br /&gt;&lt;br /&gt;  Algebraicamente:          z= pr mod q + w ÷ / x - y&lt;br /&gt;&lt;br /&gt;  En C:               z   =  p  *  r  %  q  +  w  /  x  –  y;&lt;br /&gt;&lt;br /&gt;1, 2, 4, 3, 5                                                       &lt;br /&gt;&lt;br /&gt;Los números de las operaciones indican el orden en el cual C valorará o calculará  los operadores.  La multiplicación, el módulo y la división, serán evaluadas primero, en un orden de izquierda a derecha (es  decir, se asocian de izquierda a derecha), en vista de que tienen precedencia mayor que la suma y la resta.  La suma y la resta serán calculadas después.  También ellas se evaluarán de izquierda a derecha.&lt;br /&gt;&lt;br /&gt;            No todas las expresiones con varios pares de paréntesis contienen paréntesis anidados.  La expresión  a * ( b + c) + c * (d + e) no contiene paréntesis anidados.  En vez de ello, se dice que estos paréntesis están “en el mismo nivel”.  En ese caso, se calcularán las expresiones del paréntesis primero y en un orden de izquierda a derecha&lt;br /&gt;&lt;br /&gt;Ejemplo 2:&lt;br /&gt;&lt;br /&gt;            Se tiene la siguiente expresión polinómica de segundo grado y=2*5*5+3*5+7, se desea evaluarla y encontrar el resultado.&lt;br /&gt;&lt;br /&gt;Solución:&lt;br /&gt;&lt;br /&gt;Paso 1.     y =  2  *  5  *  5  +  3  *  5  +  7;&lt;br /&gt;            2  *  5  =   10         (Multiplicación más a la izquierda primero)&lt;br /&gt;&lt;br /&gt;Paso 2.     y =  10  *  5  +  3  *  5  +  7;&lt;br /&gt;            10  *  5  =    50  (Multiplicación más a la izquierda)&lt;br /&gt;&lt;br /&gt;Paso 3.     y = 50  +  3  *  5  +  7;&lt;br /&gt;            3  *  5  =   15                       (Multiplicación antes de la suma)&lt;br /&gt;&lt;br /&gt;Paso 4.       y = 50  +  15  +  7;&lt;br /&gt;              50  +  15  =   65                  (Suma más a la izquierda)&lt;br /&gt;&lt;br /&gt;Paso 5.       y = 65   +  7;&lt;br /&gt;              65  +  7  =  72                    (Última operación)&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;Operadores de Igualdad en Lenguaje C.&lt;br /&gt;&lt;br /&gt;  Como ya hemos visto, en Lenguaje C, los operadores algebraicos tienen la misma función, pero cambia la forma en la que se presentan.&lt;br /&gt;&lt;br /&gt;            Los operadores de igualdad no son la excepción y al hablar de estos nos referimos a  igual (=)  y no igual (≠).  El resultado que generan los operadores de igualdad, puede ser un cero (falsa) o uno  (verdadero). &lt;br /&gt;&lt;br /&gt;Tabla de Operadores de Igualdad.&lt;br /&gt;&lt;a href="http://bp1.blogger.com/_pMJVbjY_KV4/RpMGyPukKxI/AAAAAAAAAC8/A6hZrBGxoKE/s1600-h/igualdad.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_pMJVbjY_KV4/RpMGyPukKxI/AAAAAAAAAC8/A6hZrBGxoKE/s320/igualdad.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5085415864516487954" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ejemplo:  &lt;br /&gt;&lt;br /&gt;a = b , se muestra en Lenguaje C de la siguiente manera: a = = b;  &lt;br /&gt;&lt;br /&gt;y a ≠ b , se escribiría así:  a ! = b.&lt;br /&gt;&lt;br /&gt;Operadores Relacionales en  Lenguaje C.&lt;br /&gt;&lt;br /&gt;            Los enunciados ejecutables de C, pueden llevar a cabo ACCIONES (como cálculos o salidas de datos), o tomar DECISIONES (evaluación de dos o más expresiones).  Por ejemplo, podríamos necesitar tomar una decisión en un programa para determinar si la calificación de una persona en un examen es mayor o igual a 7, y si es así, imprimir el mensaje “Felicidades usted pasó”.&lt;br /&gt;&lt;br /&gt;            Los operadores relacionales tienen un mismo nivel de precedencia y se asocian de izquierda a derecha.  En C, una condición puede ser cualquier expresión que genere un valor de verdad falso o verdadero.&lt;br /&gt;&lt;br /&gt;Tabla de Operadores Relacionales.&lt;br /&gt;&lt;a href="http://bp1.blogger.com/_pMJVbjY_KV4/RpMG6PukKyI/AAAAAAAAADE/WzJlFDCH4Qo/s1600-h/relacion.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_pMJVbjY_KV4/RpMG6PukKyI/AAAAAAAAADE/WzJlFDCH4Qo/s320/relacion.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5085416001955441442" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ejemplo&lt;br /&gt;Dados a=1, b=2 y c=3 efectúe la siguiente expresión: 10 *  a  &gt;  c * 10 + b&lt;br /&gt;&lt;br /&gt;Paso I.             10 * 1   &gt; 3 * 10 + 2&lt;br /&gt;&lt;br /&gt;Paso II.                            10     &gt;  30  +  2&lt;br /&gt;&lt;br /&gt;Paso III.                           10     &gt;  32&lt;br /&gt;&lt;br /&gt;Respuesta                           FALSO&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Operadores Lógicos.&lt;br /&gt;&lt;br /&gt;            Se utilizan para evaluar dos o más relaciones, estos operadores son AND, OR y NOT, siempre devuelven como resultado un 0  (falso) o 1 (verdadero).  Se evalúan primero las relaciones y luego se evalúan las operaciones entre sí tomando en cuenta los operadores lógicos.&lt;br /&gt;&lt;br /&gt;El Operador AND.&lt;br /&gt;&lt;br /&gt;Se evalúan primero las expresiones aritméticas, luego las relacionales y lógicas. Con el operador and, para que la respuesta sea verdadera, ambas relaciones deben ser verdaderas, de lo contrario, con una que sea falsa, el resultado de la evaluación es falso.  En C se utiliza &amp;&amp; para representar el operador AND.&lt;br /&gt;&lt;br /&gt;Ejemplo 1: &lt;br /&gt;&lt;br /&gt;3 &gt; 5 and 3 &lt; 10; en Lenguaje C se representa por 3 &gt; 5 &amp;&amp; 3 &lt; 10;&lt;br /&gt;&lt;br /&gt;Para este ejemplo, la primera relación da como resultado FALSO (pues 3 no es mayor que 5) mientras que la segunda relación da como resultado VERDADERO (3 es menor que 10).  El siguiente paso es evaluar los resultados con el operador lógico, en otras palabras FALSO and VERDADERO esta evaluación da como resultado FALSO.  Si el resultado de las dos evaluaciones diera como resultado VERDADERO, entonces el resultado seria VERDADERO.&lt;br /&gt;&lt;br /&gt;Ejemplo 2: &lt;br /&gt;&lt;br /&gt;5 &gt; 2 and 10 ≥ 9; en Lenguaje C se representa por 5 &gt; 2 &amp;&amp; 10 &gt;= 9;&lt;br /&gt;&lt;br /&gt;En esta expresión las dos evaluaciones dan como resultado un valor VERDADERO, por lo que al evaluar VERDADERO and VERDADERO da como resultado VERDADERO.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;El Operador OR.&lt;br /&gt;&lt;br /&gt;            En este caso, al evaluar las expresiones aritméticas y luego las relacionales y lógicas; para que la respuesta sea verdadera, una de las relaciones debe ser VERDADERA, si todas las evaluaciones son FALSAS, el resultado de la evaluación es falso.  En C se utiliza || para representar el  operador OR.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;El Operador NOT.&lt;br /&gt;&lt;br /&gt;            Este operador tiene la función de cambiar el valor de verdad al penúltimo resultado obtenido de evaluar la expresión. Si al final se obtiene not (verdadero), el resultado será FALSO; y si es not (falso), el resultado será VERDADERO. En C se utiliza ! para representar dicho operador.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Ejemplo 1: &lt;br /&gt;&lt;br /&gt;Not(99 &gt;= 50 or 10 &gt; = 75); en Lenguaje C se representa !( 99 &gt;= 50 || 10 &gt;= 75)&lt;br /&gt;&lt;br /&gt;Al evaluar esta expresión, notamos que en la primera parte nos da un verdadero y en la segunda nos da un falso. De verdadero or falso obtenemos verdadero y finalmente not de verdadero nos da como resultado un FALSO.&lt;br /&gt;&lt;br /&gt;Jerarquía general de operadores en Lenguaje C.&lt;br /&gt;&lt;a href="http://bp3.blogger.com/_pMJVbjY_KV4/RpMH_vukK0I/AAAAAAAAADU/5skbUob8Rv0/s1600-h/jerarquia.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_pMJVbjY_KV4/RpMH_vukK0I/AAAAAAAAADU/5skbUob8Rv0/s320/jerarquia.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5085417195956349762" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ASOCIATIVIDAD&lt;br /&gt;&lt;br /&gt;En una expresión tal como  3 * 4 + 5 el compilador realiza primero la multiplicación  - por tener el operador * prioridad más alta -  y luego la suma, por tanto, produce 17. Para forzar un orden en las operaciones se deben utilizar paréntesis.&lt;br /&gt;&lt;br /&gt;3 * (4 + 5)   produce 27, ya que 4 + 5 se realiza en primer lugar. &lt;br /&gt;&lt;br /&gt;La asociatividad determina el orden en que se agrupan los operadores de igual prioridad; es decir, de izquierda a derecha o de derecha a izquierda.  Por ejemplo, &lt;br /&gt;&lt;br /&gt;X – y + z  se agrupa como     ( x – y ) + z&lt;br /&gt;&lt;br /&gt;Ya que – y +, con igual prioridad, tienen asociatividad de izquierda a derecha. Sin embargo, &lt;br /&gt;&lt;br /&gt;x = y = z  se agrupa como   x = ( y = z ) dado que su asociatividad es de derecha a izquierda.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Uso de Paréntesis&lt;br /&gt;&lt;br /&gt;Los paréntesis se pueden utilizar para cambiar el orden usual de evaluación de una expresión determinada por su prioridad y asociatividad. Las subexpresiones entre paréntesis se evalúan en primer lugar según el modo estándar y los resultados se combinan para evaluar la expresión completa. Si los paréntesis están anidados, es decir, un conjunto de paréntesis contenido en otro, se ejecutan en primer lugar los paréntesis más internos.    Por ejemplo, considérese la expresión ( 7 * (10 – 5) % 3 ) * 4 + 9&lt;br /&gt;&lt;br /&gt;La subexpresión (10 – 5) se evalúa primero, produciendo (7 * 5 % 3) * 4 + 9&lt;br /&gt;&lt;br /&gt;A continuación se evalúa de izquierda a derecha la subexpresión (7 * 5 % 3) y obtenemos&lt;br /&gt;&lt;br /&gt;(35 % 3) * 4 + 9  luego &lt;br /&gt;&lt;br /&gt;2 * 4 + 9 donde se realiza la multiplicación y obtenemos 8 + 9 lo que produce un resultado final de 17.&lt;br /&gt;&lt;br /&gt;Ejercicio  1.&lt;br /&gt;&lt;br /&gt;            A continuación se muestran expresiones algebraicas en base a  las cuales usted deberá formular expresiones en C, utilizando los operadores aritméticos y tomando en cuenta la precedencia de operadores aritméticos.&lt;br /&gt;&lt;br /&gt;1.) db+ac÷x+y             3.) d mod c (b + a)                   5.) ax&lt;br /&gt;&lt;br /&gt;2.) x+y ( m) n                4.) x + y + z ( w ÷ a)                 6.) (x + y) dn&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Ejercicio 2:&lt;br /&gt;&lt;br /&gt;Si  x=10, y=5 y z=1 encontrar el resultado de las siguientes expresiones:&lt;br /&gt;&lt;br /&gt;a) x = y  ______           b) z ≥ y  ______            c)  x ≤  y  ________ &lt;br /&gt;&lt;br /&gt;Ejercicio  3:&lt;br /&gt;&lt;br /&gt;Si x=2, y=1, c=4 y d=6 evalúe la expresión y diga el resultado.               &lt;br /&gt;&lt;br /&gt; A) x = y                 _____________       B) c ≠ d   __________&lt;br /&gt;&lt;br /&gt;Ejercicio 4.  Evalúe las expresiones siguientes; use los mismos valores del ejemplo anterior:&lt;br /&gt;&lt;br /&gt;A) ( y + 2 ) * c &gt; = ( d + 1 ) * c   R/ ______________   &lt;br /&gt;&lt;br /&gt;B) ( ( 2 / c ) * ( d / 2 ) ) + 5 &lt; 10   R/ ______________&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;OPERADOR DE ASIGNACIÓN:&lt;br /&gt;&lt;br /&gt;El operador = asigna el valor de la expresión derecha a la variable situada a su izquierda.&lt;br /&gt;&lt;br /&gt;Ej.   Pi = 3.1416&lt;br /&gt;      Raiz2 = 1.4142 &lt;br /&gt;&lt;br /&gt;Este operador es asociativo por la derecha, lo que permite realizar asignaciones múltiples.  Así a = b = c = 45;  equivale a   a= (b = (c = 45));  en otras palabras, a, b y c toman el valor de 45.&lt;br /&gt;&lt;br /&gt;Esta propiedad permite inicializar varias variables con una sola sentencia.&lt;br /&gt;&lt;br /&gt;Int   a, b, c;&lt;br /&gt;A = b = c = 5;&lt;br /&gt;&lt;br /&gt;TABLA DE OPERADORES DE ASIGNACIÓN:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp0.blogger.com/_pMJVbjY_KV4/RpMHA_ukKzI/AAAAAAAAADM/jab0OAXCNXk/s1600-h/asignacion.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_pMJVbjY_KV4/RpMHA_ukKzI/AAAAAAAAADM/jab0OAXCNXk/s320/asignacion.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5085416117919558450" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Operadores de Incrementación y Decrementación&lt;br /&gt;&lt;br /&gt;De las características que incorpora C, una de las más  útiles son los operadores de incremento ++ y decremento -- . Los operadores ++ y --, denominados de incrementación y decrementación, suman o restan 1 a su argumento, respectivamente, cada vez que se aplican a una variable.&lt;br /&gt;&lt;br /&gt;Entonces a++  equivale a    a = a + 1&lt;br /&gt;&lt;br /&gt;Estos operadores tienen la propiedad de que pueden utilizarse como sufijo o prefijo, el resultado de la expresión puede ser distinto, dependiendo del contexto.&lt;br /&gt;&lt;br /&gt;Las sentencias ++n;   y  n++;  tienen el mismo efecto; así como --n;  y n--;&lt;br /&gt;&lt;br /&gt;Sin embargo, cuando se utilizan como expresiones tales como&lt;br /&gt;&lt;br /&gt;m = n++;&lt;br /&gt;&lt;br /&gt;printf(“ n = %d”, n--) ;    el resultado es distinto si se utilizan como prefijo.&lt;br /&gt;&lt;br /&gt;++n produce un valor que es mayor en uno que el de n++, y --n produce un valor que es menor en uno que el valor de n--. Supongamos que&lt;br /&gt;&lt;br /&gt;n = 8;&lt;br /&gt;&lt;br /&gt;m = ++n;  /* incrementa n en 1, dando 9, y lo asigna a m */&lt;br /&gt;&lt;br /&gt;n = 9;&lt;br /&gt;&lt;br /&gt;printf(“ n = %d”, --n); /*decrementa n en 1, dando 8 y lo pasa a printf( )  */&lt;br /&gt;&lt;br /&gt;En este otro ejemplo:&lt;br /&gt;&lt;br /&gt;int a = 1 , b;&lt;br /&gt;&lt;br /&gt;b = a++;                /* b vale 1 y  a vale 2  */&lt;br /&gt;&lt;br /&gt;int a = 1, b;&lt;br /&gt;&lt;br /&gt;b = ++a;               /* b vale 2  y a vale 2  */&lt;br /&gt;&lt;br /&gt;Entonces, si los operadores ++ y --  están  de prefijos, la operación de incremento o decremento se efectúa antes que la operación de asignación; si los operadores están de sufijos, la asignación se efectúa en primer lugar y la incrementación o decrementación a continuación.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-8504487688522015488?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/8504487688522015488/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=8504487688522015488' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/8504487688522015488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/8504487688522015488'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/07/practica-2-jerarquia-de-operadores-en-c.html' title='Practica 2: Jerarquia de operadores en C++'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_pMJVbjY_KV4/RpMBjvukKuI/AAAAAAAAACk/bdPJacctJVM/s72-c/aritmeticos+C.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-6623798674014259109</id><published>2007-07-08T17:00:00.000-07:00</published><updated>2008-07-09T18:27:18.706-07:00</updated><title type='text'>Clase 2: Tipos de datos.</title><content type='html'>Materia: Lógica Computacional&lt;br /&gt;Profesor: Lic. Salomón Aquino.&lt;br /&gt;Fecha: 09/07/07&lt;br /&gt;&lt;br /&gt;Objetivos de la clase:&lt;br /&gt;Al final de la clase los alumnos y alumnas serán capaces de:&lt;br /&gt;1. Comprender y aplicar el concepto de datos&lt;br /&gt;2. Comprender y aplicar lo operadores y conocer sus tipos.&lt;br /&gt;3. Escribir expresiones con diferentes tipos de datos y operadores.&lt;br /&gt;&lt;br /&gt;Conceptos:&lt;br /&gt;DATO. Es la expresión general que describe los objetos con los cuales opera el programa. Por ejemplo, la edad y el domicilio de una persona, forman parte de sus datos.&lt;br /&gt;Los datos se sitúan en objetos llamados variables.&lt;br /&gt;Los tipos son: simples (no estructurados) y compuestos (estructurados). &lt;br /&gt;&lt;br /&gt;Tipos de datos simples:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_pMJVbjY_KV4/RpF-s_ukKoI/AAAAAAAAAB0/gjxoGPPS1Qk/s1600-h/datos+simples.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_pMJVbjY_KV4/RpF-s_ukKoI/AAAAAAAAAB0/gjxoGPPS1Qk/s320/datos+simples.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5084984765764086402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tipos de datos compuestos:&lt;br /&gt; &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_pMJVbjY_KV4/RpF_hvukKpI/AAAAAAAAAB8/6IQjsO74JEw/s1600-h/datos+compuestos.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_pMJVbjY_KV4/RpF_hvukKpI/AAAAAAAAAB8/6IQjsO74JEw/s320/datos+compuestos.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5084985672002185874" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;   &lt;br /&gt;Las Variables:&lt;br /&gt;Las variables son zonas de memoria cuyo contenido cambia durante la fase de procesamiento de información.  Son objetos cuyo valor puede ser modificado a lo largo de la ejecución de un programa.&lt;br /&gt;Las variables llevan un nombre llamado Identificador. Este puede ser una cadena de letras y dígitos, empezando siempre con una letra. Por ejemplo: Pi, curso99, nom_alum, etc.&lt;br /&gt;Los identificadores:&lt;br /&gt;Los Identificadores son palabras creadas por los programadores para dar nombre a los objetos y demás elementos que necesitamos declarar en un programa: variables, constantes, tipos, estructuras de datos, archivos, subprogramas, etc.&lt;br /&gt;En C++ las letras mayúsculas se tratan como diferentes y distintas unas de otras. Por ejemplo, contador, Contador y CONTADOR son tres nombres de identificadores distintos.&lt;br /&gt;Un identificador no puede ser igual a una palabra reservada, y no debe tener el mismo nombre que una función, ya sea definida por el usuario o de la biblioteca de C.&lt;br /&gt;Constantes, operador, expresiones:&lt;br /&gt;Constantes: Son objetos cuyo valor permanece invariable a lo largo de la ejecución de un programa. Una constante es la denominación de un valor concreto, de tal forma que se utiliza su nombre cada vez que se necesita referenciarlo.&lt;br /&gt;Un operador es un símbolo o palabra que significa que se ha de realizar cierta acción entre uno o dos valores que son llamados operandos.&lt;br /&gt;Expresiones. Son representaciones de un cálculo necesario para la obtención de un resultado.&lt;br /&gt;Son un conjunto de operadores y operandos que producen un valor. Por ejemplo:&lt;br /&gt;     Cos (pi * X) + 12.56 * SQR(100)&lt;br /&gt;Tipos de operadores:&lt;br /&gt;Aritméticos (su resultado es un número):    potencia,  * ,  /    , mod,  div,  +  ,  -&lt;br /&gt;Relacionales (su resultado es un valor de verdad): =, &lt;, &gt;, &lt;=, &gt;=, &lt;&gt;&lt;br /&gt;Lógicos o Booleanos (su resultado es un valor de verdad):  not, and, or&lt;br /&gt;Alfanuméricos :         + (concatenación)&lt;br /&gt;Asociativos. El único operador asociativo es el paréntesis ( ) , el cual permite indicar en qué orden deben realizarse las operaciones. Cuando una expresión se encuentra entre paréntesis, indica que las operaciones que están dentro de ellos debe realizarse &lt;br /&gt;Operadores aritméticos:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_pMJVbjY_KV4/RpGATvukKqI/AAAAAAAAACE/OIvDizvqrPE/s1600-h/operadores+aritmeticos.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_pMJVbjY_KV4/RpGATvukKqI/AAAAAAAAACE/OIvDizvqrPE/s320/operadores+aritmeticos.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5084986530995645090" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Operadores de relación:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_pMJVbjY_KV4/RpGA2vukKrI/AAAAAAAAACM/W9DEjzZ8fEc/s1600-h/operadores+relacionales.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_pMJVbjY_KV4/RpGA2vukKrI/AAAAAAAAACM/W9DEjzZ8fEc/s320/operadores+relacionales.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5084987132291066546" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Operadores logicos:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_pMJVbjY_KV4/RpGCIvukKsI/AAAAAAAAACU/Wxt13Z-XXos/s1600-h/operadores+logicos.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_pMJVbjY_KV4/RpGCIvukKsI/AAAAAAAAACU/Wxt13Z-XXos/s320/operadores+logicos.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5084988541040339650" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Funciones predefinidas:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_pMJVbjY_KV4/RpGCRfukKtI/AAAAAAAAACc/NnomRswcpnw/s1600-h/funciones.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_pMJVbjY_KV4/RpGCRfukKtI/AAAAAAAAACc/NnomRswcpnw/s320/funciones.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5084988691364195026" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-6623798674014259109?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/6623798674014259109/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=6623798674014259109' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/6623798674014259109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/6623798674014259109'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/07/clase-2-tipos-de-datos.html' title='Clase 2: Tipos de datos.'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_pMJVbjY_KV4/RpF-s_ukKoI/AAAAAAAAAB0/gjxoGPPS1Qk/s72-c/datos+simples.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-8252716655628865015</id><published>2007-07-02T20:10:00.000-07:00</published><updated>2008-07-07T18:55:05.413-07:00</updated><title type='text'>PRACTICA 1 : LOS ALGORITMOS</title><content type='html'>Profesor: Lic. Salomón Aquino&lt;br /&gt;&lt;br /&gt;Objetivos: Al final de la clase los alumnos y alumnas serán capaces de:&lt;br /&gt;• Comprender y aplicar el concepto de algoritmos..&lt;br /&gt;• Elaborar algoritmos narrados y en pseudocodigo.&lt;br /&gt;&lt;br /&gt;Algoritmo: es una serie de operaciones detalladas a ejecutar paso a paso, que conducen a la resolución de problemas.&lt;br /&gt;Es un conjunto de reglas para resolver determinado problema describiendo de forma lógica su solución.&lt;br /&gt;Cada una de las acciones de que consta un algoritmo es denominada sentencia y éstas deben ser escritas en términos de cierto lenguaje comprensible para el computador, que es el lenguaje de programación.&lt;br /&gt;Para diseñar un algoritmo se debe comenzar por identificar las tareas más importantes para resolver el problema y disponerlas en el orden en que han de ser ejecutadas.&lt;br /&gt;Criterios que debe satisfacer un algoritmo  (características):&lt;br /&gt;1. Entrada. Son cero o más cantidades las cuales son externamente sustituidas.&lt;br /&gt;2. Salida. Al menos una cantidad es producida.&lt;br /&gt;3. Exactitud/precisión. Cada instrucción debe ser clara y sin ambigüedad.&lt;br /&gt;4. Finito. Terminará después de un número finito de pasos.&lt;br /&gt;5. Eficiente. Cada instrucción puede ser verificada por una persona con una prueba manual que satisfaga los requerimientos planteados por el problema.&lt;br /&gt;&lt;br /&gt;Tipos De algoritmos:&lt;br /&gt;a) Algoritmos Narrados.&lt;br /&gt;b) Algoritmos enPseudocódigo &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Algoritmos narrados: Este algoritmo es caracterizado porque  sigue un proceso de ejecución común y lógico, describiendo textualmente paso a paso cada una de las actividades a realizar dentro de una actividad determinada.&lt;br /&gt;&lt;br /&gt;Ejemplo 1  Algoritmo para asistir a clases:&lt;br /&gt;1. Levantarse&lt;br /&gt;2. Bañarse&lt;br /&gt;3. Vestirse&lt;br /&gt;4. Desayunar&lt;br /&gt;5. Cepillarse los dientes&lt;br /&gt;6. Salir de casa&lt;br /&gt;7. Tomar el autobús&lt;br /&gt;8. Llegar a la universidad.&lt;br /&gt;9. Buscar el aula&lt;br /&gt;10. Ubicarse en un asiento&lt;br /&gt;&lt;br /&gt;Ejemplo 2   Receta para hacer huevos picados&lt;br /&gt;1. Se coloca aceite o margarina en la cacerola&lt;br /&gt;2. Se pica cebolla, chile y tomate&lt;br /&gt;3. Se ponen a freír, con un poco de sal&lt;br /&gt;4. Cuando ya están fritos, se echan los huevos&lt;br /&gt;5. Se bate y se deja cocer&lt;br /&gt;6. Se sirve caliente en un plato&lt;br /&gt;&lt;br /&gt;Ejercicios:&lt;br /&gt;Elabore un algoritmo narrado para los casos siguientes:&lt;br /&gt;1. Cambiar un vidrio roto de una ventana&lt;br /&gt;2. Preparar una taza de te&lt;br /&gt;1. Hacer palomitas de maíz&lt;br /&gt;4.  Poner la mesa para la comida&lt;br /&gt;5.  Ir al cine&lt;br /&gt;&lt;br /&gt;Algoritmos en Pseudocódigo&lt;br /&gt;Pseudo = falso.  El pseudo código no es realmente un código sino una imitación y una versión abreviada de instrucciones reales para las computadoras. &lt;br /&gt;Es una técnica para diseño de programas que permite definir las estructuras de datos, las operaciones que se aplicarán a los datos y la lógica que tendrá el programa de computadora para solucionar un determinado problema.&lt;br /&gt;Utiliza un pseudolenguaje muy parecido a nuestro idioma, pero que respeta las directrices y los elementos de los lenguajes de programación.&lt;br /&gt;Se concibió para superar las dos principales desventajas de los flujogramas: lento de crear y difícil de modificar sin un nuevo redibujo.&lt;br /&gt;&lt;br /&gt;Ejemplo 1&lt;br /&gt;Diseñar un algoritmo que lea cuatro variables y calcule e imprima su producto, suma y media aritmética.&lt;br /&gt;inicio&lt;br /&gt;leer (a, b, c, d)&lt;br /&gt;producto &lt;-- (a * b * c * d)&lt;br /&gt;suma  &lt;-- (a + b + c + d)&lt;br /&gt;  media &lt;-- (a + b + c + d) / 4&lt;br /&gt;escribir (producto, suma, media)&lt;br /&gt;fin&lt;br /&gt;&lt;br /&gt;Ejercicios:&lt;br /&gt;1. Escribe un algoritmo que pida tres números y luego escriba el promedio.&lt;br /&gt;2. Escribe un algoritmo que calcule el área de un círculo de cualquier radio.&lt;br /&gt;3. Escribe un algoritmo que lea una cantidad depositada en un banco y que calcule la cantidad final después de aplicarle un 20% de interés.&lt;br /&gt;4. Diseñar un algoritmo que lea un valor en dolares y lo convierta a colones salvadoreños.&lt;br /&gt;5. Leer dos numeros y encontrar la suma del doble del primero mas el cuadrado del segundo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-8252716655628865015?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/8252716655628865015/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=8252716655628865015' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/8252716655628865015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/8252716655628865015'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/07/practica-1-los-algoritmos.html' title='PRACTICA 1 : LOS ALGORITMOS'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4192074434402499382.post-772311433225087979</id><published>2007-07-02T14:02:00.000-07:00</published><updated>2008-06-30T12:19:32.665-07:00</updated><title type='text'>Clase 1: Generalidades de la programación de computadoras. 01/07/08</title><content type='html'>Objetivos de la clase:&lt;br /&gt;• Al final de la clase los alumnos y alumnas serán capaces de:&lt;br /&gt;– Comprender y aplicar los conceptos generales de la programación &lt;br /&gt;– Aplicar el concepto de procesamiento de datos.&lt;br /&gt;– Identificar la diferencia entre lenguajes de alto y bajo nivel.&lt;br /&gt;– Definir y aplicar los conceptos de compiladores e intérpretes&lt;br /&gt;&lt;br /&gt;Estructura de la clase:&lt;br /&gt;• Conceptos básicos de programación.&lt;br /&gt;• Los lenguajes de programación.&lt;br /&gt;&lt;br /&gt;Conceptos básicos de programación:&lt;br /&gt;• PROGRAMACION: Se llama programación a la creación de un programa de computadora&lt;br /&gt;• PROGRAMA: Es un conjunto concreto de instrucciones que la computadora debe seguir para procesar datos y convertirlos en información.&lt;br /&gt;• CARACTERISTICAS DE UN PROGRAMA:&lt;br /&gt;– Debe ser confiable y funcional&lt;br /&gt;– Advertir errores de entrada obvios y comunes&lt;br /&gt;– Documentado adecuadamente&lt;br /&gt;– Ser comprensible&lt;br /&gt;– Codificado en el lenguaje apropiado&lt;br /&gt;Conceptos básicos de programación:&lt;br /&gt;• COMPUTADORA: Maquina electrónica que funciona casi a la velocidad de la luz y es  capaz de procesar datos para convertirlos en información útil al ser humano.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_pMJVbjY_KV4/RolrEfukKcI/AAAAAAAAAAY/MuyWL1X9Pjk/s1600-h/entrada+proceso+salida.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_pMJVbjY_KV4/RolrEfukKcI/AAAAAAAAAAY/MuyWL1X9Pjk/s320/entrada+proceso+salida.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5082711379444771266" /&gt;&lt;/a&gt; &lt;br /&gt;Fig. 1 Procesamiento de datos.&lt;br /&gt;&lt;br /&gt;Lenguajes de programación:&lt;br /&gt;• Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente.&lt;br /&gt;• Un lenguaje de programación permite a un programador especificar de manera precisa: sobre qué datos una computadora debe operar, cómo deben ser estos almacenados y transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Lexico.&lt;br /&gt;Lenguajes de alto y bajo nivel:&lt;br /&gt;• lenguaje de bajo nivel&lt;br /&gt;• Es el tipo de lenguaje que cualquier computadora es capaz de entender. Se dice que los programas escritos en forma de ceros y unos están en lenguaje de máquina, porque esa es la versión del programa que la computadora realmente lee y sigue.&lt;br /&gt;• lenguajes de alto nivel&lt;br /&gt;• Son lenguajes de programación que se asemejan a las lenguas humanas usando palabras y frases fáciles de entender.&lt;br /&gt;• En un lenguaje de bajo nivel cada instrucción corresponde a una acción ejecutable por el ordenador, mientras que en los lenguajes de alto nivel una instrucción suele corresponder a varias acciones.&lt;br /&gt;Ejemplo de Lenguaje de bajo nivel:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_pMJVbjY_KV4/Rolrx_ukKdI/AAAAAAAAAAg/_vZcFgxXGSc/s1600-h/bajo+nivel.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_pMJVbjY_KV4/Rolrx_ukKdI/AAAAAAAAAAg/_vZcFgxXGSc/s320/bajo+nivel.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5082712161128819154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ejemplo de lenguaje de alto nivel:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_pMJVbjY_KV4/RolsEPukKeI/AAAAAAAAAAo/snC7KT0YDMY/s1600-h/alto+nivel.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_pMJVbjY_KV4/RolsEPukKeI/AAAAAAAAAAo/snC7KT0YDMY/s320/alto+nivel.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5082712474661431778" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Interpretes y compiladores:&lt;br /&gt;• Los compiladores, los intérpretes y los ensambladores se encargan de traducir lo que haya escrito en lenguaje de alto nivel (código fuente) y lo convierten a código objeto (casi ejecutable).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_pMJVbjY_KV4/RolsV_ukKfI/AAAAAAAAAAw/M5Ca61BbfIc/s1600-h/compiladores+e+interpretes.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_pMJVbjY_KV4/RolsV_ukKfI/AAAAAAAAAAw/M5Ca61BbfIc/s320/compiladores+e+interpretes.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5082712779604109810" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tarea:&lt;br /&gt;• Investigar sobre las generaciones de los lenguajes de programación.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192074434402499382-772311433225087979?l=logicacomputacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://logicacomputacion.blogspot.com/feeds/772311433225087979/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4192074434402499382&amp;postID=772311433225087979' title='8 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/772311433225087979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4192074434402499382/posts/default/772311433225087979'/><link rel='alternate' type='text/html' href='http://logicacomputacion.blogspot.com/2007/07/clase-1-generalidades-de-la-programacin.html' title='Clase 1: Generalidades de la programación de computadoras. 01/07/08'/><author><name>salomonaquino</name><uri>http://www.blogger.com/profile/01445029186300192105</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_pMJVbjY_KV4/RolrEfukKcI/AAAAAAAAAAY/MuyWL1X9Pjk/s72-c/entrada+proceso+salida.jpg' height='72' width='72'/><thr:total>8</thr:total></entry></feed>
