Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lenguajes
Estructurados
Segundo de Bachillerato Técnico en Comercio y
Administración Especialidad Aplicaciones
Informáticas
Informáticas.
Alumn@:
_______________________________________________________________
Ninguna parte de este documento puede ser reproducido por medio alguno,
grabada en sistemas de almacenamiento o transmitido por forma alguna ni por
cualquier procedimiento sin autorización
autorización previa y por escrito del autor.
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
DE LOS PROYECTOS:
1. Los Proyectos deben presentarse en el día y la hora en que han quedado de acuerdo el profesor
y estudiantes.
2. La nota que se obtenga del trabajo grupal será la misma para todos los integrantes que la
conforman, para lo cual se considerara el material de exposición (Papelógrafo, diapositivas, etc.),
informe (computadora) y defensa del mismo.
3. Si un estudiante del grupo faltare (sin justificación) en la fecha señalada para su presentación o
exposición del trabajo, tendrá el 50 % de la calificación que obtenga el grupo.
4. Después de la fecha señalada se receptaran SOLO el informe del trabajo grupal con un plazo
máximo de una semana y con una penalización del 50% sobre la nota que obtenga el grupo.
DE LOS EXÁMENES:
1. No podrá rendir el examen si el estudiante no ha presentado el cuaderno o trabajos pendientes,
por lo cual dicha evaluación llevara un mayor grado de complejidad el día en que lo desarrolle.
2. Se tomaran los exámenes en el día y hora señalados por las autoridades del Centro Educativo
presentando el oficio o derecho correspondiente.
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
CONTENIDO TEMÁTICO.
Competencia. ------------------------------------------------------------------------------- 54
Estructuras --------------------------------------------------------------------------------- 54
Arreglos -------------------------------------------------------------------------------------- 56
Arrays y strings como argumentos de funciones -------------------------------------- 58
Arreglos bidimensionales------------------------------------------------------------------ 60
Array de estructuras. ---------------------------------------------------------------------- 62
Bibliografía---------------------------------------------------------------------------------------------- 64
Computadores, impresoras.
Lenguajes de programación estructurados y de 4ª generación (lenguaje C, C++, Visual Basic)
para realizar aplicaciones amigables al usuario.
Usuarios finales.
Programadores.
Analistas de sistemas.
Técnicos de sistemas.
Clientes.
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
ICONOGRAFÍA.
Icono Significado
Actividad Intraclase.
Investigación.
Nota.
Practicar en el laboratorio.
UNIDAD N° 1: EL SOFTWARE.
SOFTWARE
Competencia.
Competencia.
Salida
Proceso
Entrada
3Para ciertos autores definen del Modelo Lineal – Secuencial que esta etapa sea parte de la
PRUEBA, pero
ero se considera a esta etapa independiente de la misma.
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
que realizar se retrasa en fechas de entrega y el coste es mayor. Por lo tanto esto
produce un fracaso en la industria ya que es reacio a las modificaciones de última
hora.
Por este motivo se puede modificar el modelo en cascada pudiendo pasar de una
etapa a la anterior, pero suele ser difícil ya que hay que rehacer la etapa anterior,
este modelo es el ciclo de vida del salmón. Por lo tanto este es un modelo poco
apropiado para proyectos con fecha de entrega corta, pero su rendimiento puede
mejorar notablemente variando el modelo de la cascada pura.
Errores de Ejecución
Se deben generalmente a operaciones no permitidas como dividir
dividir por cero, leer un
dato no numérico en una variable numérica, exceder un rango de valores
permitidos, etc. Se detectan porque se produce una parada anormal del programa
durante su ejecución.
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
Errores de Lógica
Corresponden a la obtención de resultados que no son correctos y la única manera
de detectarlos es realizando suficientes pruebas del programa. Son los más difíciles
de corregir, no sólo por la dificultad de detectarlos, sino porque se deben a la propia
concepción y diseño del programa.
Errores de Especificación
Es el peor tipo de error y el más difícil de corregir. Se deben a mal diseño del
programa posiblemente por mala comunicación usuario programador y se detectan
cuando ya se ha concluido el diseño e instalación del programa, lo cual puede
implicar repetir gran parte del trabajo realizado
Consiste en describir por escrito a nivel técnico los procedimientos relacionados con
el programa y su modo de uso. También se debe documentar el programa para que
sea más entendible.
Los documentos que se elaboran son el Manual de Usuario y el Manual del Analista.
A los usuarios se les elabora un manual de referencia para que aprendan a utilizar
el programa. Esto se hace a través de capacitaciones y revisión de la documentación
del manual de usuario. El manual del usuario no está escrito a nivel técnico sino al
de los distintos usuarios previstos y explica en detalle cómo usar el programa:
descripción de las tareas que realiza el programa, instrucciones necesarias para su
instalación puesta en marcha y funcionamiento, recomendaciones de uso, menús
de opciones, método de entrada y salida de datos, mensajes de error, recuperación
de errores, etc. Y a los operadores también por si se presentan mensajes de error,
sepan cómo responder a ellos. Además que se encargan de darle soporte técnico al
programa.
A los programadores a través del manual del analista para que recuerden aspectos
de la elaboración del programa o en caso que otras personas puedan actualizarlo o
modificarlo (darle mantenimiento) y no son necesariamente las personas que lo
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
A los analistas de sistemas que son las personas que deberán proporcionar toda la
información al programador. Estos se encargan de hacer una
una investigación previa
de cómo realizar el programa y documentar con las herramientas necesarias para
que el programador pueda desarrollar el sistema en algún lenguaje de
programación adecuado.
Objetos de Un Programa.
resultado.
Tipo de dato.
Operación de Es el modo de darle
asignación. valores a una variable.
Instrucción. Son órdenes. a) Instrucciones de
inicio/fin
b) Instrucciones de
asignación
c) Instrucciones de lectura
(entrada)
d) Instrucciones de escritura
(salir)
e) Instrucciones de
Lenguaje de Programación.
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
- La ejecución
ución de un programa en lenguaje de alto nivel, requiere de una traducción del
mismo al lenguaje de la computadora donde va a ser ejecutado.
- Una sentencia en un lenguaje de alto nivel da lugar, al ser traducida, a varias
instrucciones en lenguaje entendible
entendib por el computador.
- Utilizan notaciones cercanas a las usadas por las personas en un determinado ámbito.
- Se suelen incluir instrucciones potentes de uso frecuente que son ofrecidas por el
lenguaje de programación.
Generaciones de Lenguajes.
1. Lenguajes dee máquina
2. Lenguajes ensambladores
- Cobol - RPG.
Lenguajes de Simulación en general.
- SmallTalk
Lenguajes Interrogativos.
- Prolog. - Base.
Lenguajes de Inteligencia Artificial.
- LISP. - Prolog.
1. Investigar en grupo de 2 personas sobre cada uno de los lenguajes de alto nivel
mostrados en la lista,
lista, considerando: características, creador(es), ejemplos de código
imágenes de programas compilados, ventajas y desventajas.
Se calificará:
ificará: Informe, Diapositivas,
Diaposit defensa oral y defensa escrita grupal.
Intérpretes y compiladores.
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).
Compilador.
Es un programa que traduce un programa escrito en un lenguaje de alto nivel, por
ejemplo C++, en un programa en lenguaje de máquina que la computadora es capaz
de entender y ejecutar directamente. Ejemplo:
- Pascal - Ada
- Cobol - C, C++
- Fortran
El compilador, informa al usuario de la presencia de errores en el programa fuente,
pasándose
dose a crear el programa objeto cuando está libre de errores. El código objeto
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
Intérprete.
Es el que permite que un programa fuente escrito en un lenguaje vaya
traduciéndose y ejecutándose directamente sentencia a sentencia por la
computadora. Convierte uno por uno los enunciados del código fuente fu a código
objeto antes de ser ejecutados, esto involucra tres pasos en su operación:
operación
Las direcciones de los datos no presentan problemas, puesto que pueden ser
convertidos fácilmente a direcciones binarias:
4 = 100 6 = 110
5 = 101 7 = 111
1. 0010000000000100
2. 0010010000000101
3. 0010001100000110
4. 0010001000000111
1. LOAD A
2. MULT B
3. ADD C
4. STORE X
Luego que se crearon los lenguajes de alto nivel,, las instrucciones se escribían en
forma más entendible para el programador. El ejemplo anterior podría ser como lo
siguiente usando C++:
X=A*B+C
1. Conocimiento.
Conocimiento
1.1. ¿Qué es un programa informático?
1.2. Defina: ¿Qué es el ciclo de vida de una aplicación informática?
1.3. Defina ¿Qué es un lenguaje de programación?
2. Comprensión
Comprensión.
2.1. ¿Qué se debe considerar para que un programa informático sea cómodo y
seguro de usar?
2.2. Explicar. ¿Por qué es importante aplicar una secuencia ordenada el ciclo de vida
de una aplicación informática?
2.3. Explicar: ¿En qué consiste la ingeniería del Software?
2.4. Explique ¿En qué consiste el manual de usuario y el manual de analista?
3. Análisis.
Competencia.
El Algoritmo.
Ejemplos de Algoritmos.
1. Para calcular la nómina de unos empleados se utilizan las horas trabajadas y el salario
por hora. Ambos datos se multiplican y se obtiene el salario bruto. A ese salario bruto se
le restan las deducciones y se obtiene el salario neto.
Algoritmo:
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
10 Inicio
20 Ingresar las horas trabajadas
30 Ingresar el salario por hora
40 Multiplicar las horas trabajadas por el salario por hora.
50 Obtengo el salario bruto
60 Resto al salario bruto las deducciones y obtengo salario
neto.
70 Fin
2. En una empresa de ventas, cada vendedor tiene su salario particular. Adicional, se le
otorga un 10% de las ventas que realice en la quincena (una comisión). Cada quincena su
cheque incluye su salario más la comisión que se ganó por sus ventas.
Algoritmo
5. Media <--
< (a + b + c + d) / 4
6. Escribir (producto, suma,
media)
7. Fin
Son una herramienta que Del ejercicio anterior, se puede
favorece la programación representar así:
estructurada y reúne
características gráficas propias
Diagramas N- S (Nassi-
de diagramas de flujo y
Schneiderman o de
lingüísticas propias de
Chapin)
pseudocódigos. Constan de
una serie de cajas contiguas
que se leerán siempre de
arriba
arriba-abajo
1. Presentar un informe escrito referente a los tipos de estructuras del diagrama N-S.
N
considere la representación de la estructura secuencial, selectiva simple, selectiva
doble, selectivas múltiples, repetitivas.
Se calificara: informe y defensa individual expositiva o escrita.
2. Los datos que residen en la memoria pueden cambiar o permanecer con el mismo
valor durante la ejecución del programa ¿Cuál de los siguientes términos
término se refieren
a los datos que se establece al inicio y permanecen sin cambio durante la ejecución
del programa? A) Variable, B) Constante, C) Operador, D) Procedimiento.
Técnicas de programación
Programación convencional.
Fue el comienzo de la programación. Es la realización de programa sin seguir un
método de programación riguroso los problemas son:
son
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
Programación estructurada
La programación estructurada es una técnica que consiste en olvidarse del lenguaje
y el ordenador hasta encontrarnos en el último nivel. Uno de los objetivos de esta
programación es la minimización de errores humanos.
Programación modular
Los problemas complejos se pueden resolver más eficazmente cuando se dividen en
sub-problemas que sean mas fáciles de solucionar que el original este método se
conoce como divide y vencerás y consiste en dividir un problema complejo en otros
más simples con autonomía propia. La descomposición del problema original en sus
problemas más simples y así sucesivamente se llama diseño descendente. A cada
subprograma se le llama módulo y se codifica con pila y ejecuta por separado.
Existe un módulo llamado módulo raíz o módulo principal que relaciona a todos los
demás. Cada módulo se prueba por separado y cuando todos funcionan se prueba
todo el conjunto.
Programación
ogramación orientada a objetos.
Parte de la programación en el sentido de realizar una división del problema en
partes
rtes más pequeñas relacionadas entre sí. Pero introduce un nuevo concepto que
es el de objeto como un conjunto de datos en los procedimientos que se pueden
realizar con dichos datos. Estos objetos se pueden construir partiendo de otros
Protección de la información.
procedimiento Junto con unos niveles de acceso a
Encapsulamiento de los datos y su procedimiento.
la información proporcionan protección a la información contenida en el objeto.
Rápido desarrollo. La posibilidad de volver a usar objetos ya definidos permite que
el desarrollo de programas se realice con rapidez
mantenimiento: En el caso de una modificación o mejora de una aplicación
Fácil mantenimiento:
desarrollada con objetos las características de la programación orientada a objetos
permite que se realice
realice con gran facilidad porque se reduce a modificar los
componentes de algunos objetos o a crear nuevos objetos aprovechando los ya
existentes.
1. Mediante el uso de ejemplos explique: ¿Qué diferencias hay entre el uso de las
técnica de programación convencional, estructurada, modular y Orientado a
Objetos?
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
1. Conocimiento.
Conocimiento
1.1. Defina: ¿Qué es un Algoritmo?
1.2. Defina: ¿Qué es la programación?
2. Comprensión
Comprensión.
2.1. Dentro de las ventajas de la programación orientado a objetos esta: Protección de
información Explique este enunciado.
la información.
3. Análisis.
3.1. Los lenguajes de programación tienen reglas que establecen la manera en cómo
se deben nombrar las contantes y variables ¿Cuál de las siguientes reglas cree
Ud. que se aplican al nombrar a las constantes y variables?
i) Los nombres
nombres de las variables y constantes no deben llevar el mismo nombre
de alguna palabra reservada en un lenguaje de programación.
ii) Los nombres no deben empezar con un digito.
iii) Los nombres no deben empezar con una letra.
Competencia.
Por esta razón ANSI (American National Standars Institute, por sus siglas en
inglés), estableció un comité en 1983 para crear una definición no ambigua del
lenguaje C e independiente de la máquina que pudiera utilizarse en todos los tipos
de C.
- Quick C - Borland C
- C++ - Borland C++
Turbo C Microsoft C
-Intérpretes -Compiladores
Actualmente, debido a sus características, puede ser utilizado para todo tipo de
programas.
¿Qué es el Lenguaje C?
El lenguaje de programación C está caracterizado por ser de uso general, con una
sintaxis sumamente compacta y de alta portabilidad.
La descripción del lenguaje se realiza siguiendo las normas del ANSI C, por
p lo tanto,
todo lo expresado será utilizable con cualquier compilador que se adopte; sin
embargo en algunos casos particulares se utilizaron funciones Compilador ó
Sistema Operativo-dependientes,
dependientes, explicitándose en estos casos la singularidad de
las mismas.
Anatomía de un programa en C.
#include <stdio.h>
stdio.h>
main()
return 0;
1. Ingresa
resa el código de este ejemplo, realizar su ejecución y presentar un informe
Contestando las siguientes preguntas:
a) ¿Sobre qué trata el ejercicio?
b) ¿Qué dificultades obtuvo al momento de ejecutar el código?
c) ¿Qué aparece luego de ejecutar el código sin errores?
d) ¿Qué factores debe considerar para programar en C++?
Encabezamiento
Las líneas anteriores a la función main() () se denominan ENCABEZAMIENTO
(HEADER) y son informaciones que se le suministran al Compilador.
La primera línea del programa está compuesta por una directiva: " #include " que
implica la orden de leer un archivo de texto especificado en el nombre que sigue a la
misma (<stdio.h>)>) y reemplazar esta línea por el contenido de dicho archivo.
En este archivo están incluidas declaraciones de las funciones luego llamadas por
el programa (por ejemplo printf() () ) necesarias para que el compilador las procese.
Por ahora no nos preocupemos por el contenido del archivo ya que más adelante, en
el capítulo de funciones, analizaremos exhaustivamente dichas declaraciones.
Nótese que la directiva "#include" no es una sentencia de programa sino una orden
de que se copie literalmente un archivo de texto en el lugar en que ella está
ubicada, por lo que no es necesario terminarla con ";".
La secuencia \n que aparece al final del mensaje es la notación que emplea C para
el caracter "nueva línea" que hace avanzar al cursor a la posición extrema izquierda
de la línea siguiente. Más adelante analizaremos otras secuencias de escape
habituales.
Cada sentencia de programa queda finalizada por el terminador "; ", el que indica al
compilador el fin de la misma. Esto es necesario ya que, sentencias complejas
pueden llegar a tener más de un renglón, y habrá que avisarle al compilador donde
termina.
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
Comentarios
La inclusión de comentarios en un programa es una saludable práctica, como lo
reconocerá cualquiera que haya tratado de leer un listado hecho por otro
programador ó por sí mismo, varios meses atrás. Para el compilador, los
comentarios son inexistentes, por lo que no generan lineas de código, permitiendo
abundar en ellos tanto como se desee.
#include <stdio.h>
main()
/* este otro
es mucho
más largo
que el anterior */
return 0;
scanf("%s",nombre);
printf("¿Cuántos años tienes?\n");
scanf("%i",&edad);
edad=edad*365;
gotoxy(5,10);
printf("%s, has vivido %i dias",nombre,edad);
gotoxy(40,22);
printf("Pulsa cualquier tecla para terminar...");
getch();
}
3. /*Programa que saca el promedio de 3 números*/
#include<stdio.h>
#include<conio.h>
void main()
clrscr();
gotoxy(28,11);
cout<<"¡ P E L I G R O ! ";
sound(250);
delay(600);
sound(80);
delay(600);
delay(600);
nosound();
return 0;
}
1. Conocimiento.
Conocimiento
1.1. Defina. ¿Qué es el lenguaje C?
1.2. ¿Cómo inicio el lenguaje C?
1.3. ¿Cuál fue el objetivo principal por lo cual se haya creado el lenguaje C?
2. Comprensión
Comprensión.
2.1. Mencione los elementos con que cuenta la estructura del código en C y realizar
un ejemplo.
2.2. ¿Cómo se compila el programa?
2.3. ¿Cómo ejecutamos
ejecutamo un programa?
2.4. ¿Cómo creamos un archivo?
3. Análisis - Síntesis.
Síntesis
3.1. En un programa en C, ¿qué significa main()?
3.2. ¿Qué función desempeña <conio.h>en el programa?
3.3. ¿Para qué sirven la llave abierta y la llave cerrada{}
4. Aplicación.
4.1. Diseñe un programa en C que permitapermita mostrar los datos personales de una
persona.
4.2. Realizar un panel referente al tema “Mis
“ primeras experiencia en el uso del lenguaje
C++ Siga las siguientes pautas:
de programación C++”.
a. Presentar a los miembros del panel.
b. Formular preguntas por cada estudiante.
estudian
c. Responder a la pregunta planteada por uno de los integrantes.
d. Continuar el dialogo
e. Plantear otras preguntas pos parte del coordinador.
f. Resumir brevemente el contenido expuesto.
4.3. Elabore una ficha de causas y consecuencias referente al uso del programa
Borland C++ enfatizando los errores que le han aparecido en el transcurso de la
codificación.
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
Competencia.
Desarrolla software
re de diferentes categorías para codificarlos en lenguaje C++ de
una manera ágil, ordenada y con pulcritud.
Variables y Constantes.
Si yo deseara imprimir los resultados de multiplicar un número fijo por otro que
adopta valores entre 0 y 9, 9 laa forma normal de programar esto sería crear una
CONSTANTE para el primer número y un par de VARIABLES para el segundo y
para el resultado del producto.
oducto. Una variable,
variable en realidad, no es más que un nombre
para identificar una (o varias) posiciones de memoria
memoria donde el programa guarda los
distintos valores de una misma entidad. Un programa debe DEFINIR a todas to las
variables que utilizará,, antes de comenzar a usarlas, a fin de indicarle al
compilador de que tipo serán, y por lo tanto cuanta memoria debe destinar
destina para
albergar a cada una
na de ellas. Veamos el EJEMPLO:
EJEMPLO
#include <stdio.h>
main()
{
int multiplicador; /* defino multiplicador como un entero */
int multiplicando; /* defino multiplicando como un entero */
int resultado; /* defino resultado como un entero */
multiplicador = 1000 ; /* les asigno valores */
multiplicando = 2 ;
resultado = multiplicando * multiplicador ;
printf("Resultad = %d\n", resultado);/*
printf("Resultado /* muestro el resultado */
return 0;
}
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
En las primeras líneas de texto dentro de main() () defino mis variables como
números enteros , es decir del tipo "int"
" seguido de un identificador
ntificador (nombre) de la
misma.. Es conveniente darle a los identificadores de las variables, nombres que
tengan un significado que luego permita una fácil lectura del programa. El lenguaje
C es sensible al tipo de letra usado;
usado; así tomará como variables distintas
dis a una
llamada "variable",, de otra escrita como "VARIABLE". Es una convención entre los
programadores de C escribir los nombres de las variables y las funciones con
minúsculas, reservando las mayúsculas para las constantes.
Vemos en las dos líneas subsiguientes a la definición de las variables, que puedo ya
asignarles valores (1000
00 y 2) y luego efectuar el cálculo de la variable "resultado".
" Si
prestamos ahora atención a la función printf(), (), ésta nos mostrará la forma de
visualizar el valor de una variable. Insertada en el texto a mostrar, aparece una
secuencia de control de impresión
impre "%d"" que indica, que en el lugar que ella ocupa,
deberá ponerse el contenido de la variable (que aparece luego de cerradas las
comillas que marcan la finalización del texto , y separada del mismo por una coma)
expresado como un número entero decimal. Así, si compilamos y corremos el
programa, obtendremos una salida:
Inicialización de variables
Las variables del mismo tipo pueden definirse mediante una definición múltiple
m
separándolas mediante ",
" " a saber:
Int
nt multiplicador, multiplicando, resultado;
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
#include <stdio.h>
main()
{
int multiplicador=1000 , multiplicando=2 ;
printf("Resultado = %d\n",
%d n", multiplicando * multiplicador);
return 0;
}
Tipos de variables
Variables Del Tipo Entero
En el ejemplo anterior definimos a las variables como enteros (int). Si se quisiera un
alcance menor al de int, podría definirse "short int " ó simplemente
simplemen "short", aunque
por lo general, los compiladores modernos asignan a este tipo el mismo alcance que
"int".
(un byte de 8 bits) Es común entonces que las variables que vayan a alojar
caracteres sean definidas como:
char c ;
Las variables del tipo caractér también pueden ser inicializadas en su definición,
por ejemplo es válido escribir:
char c = 97;
Para que c contenga el valor ASCII de la letra "a", sin embargo esto resulta algo
engorroso, ya que obliga a recordar dichos códigos. Existe una manera más directa
de asignar un caractér a una variable; la siguiente inicialización es idéntica a la
char c = 'a' ;
Con el fin de tener acceso a los mismos es que aparecen ciertas secuencias de
escape convencionales. Las mismas están listadas en la siguiente tabla y su uso es
idéntico al de los caracteres normales, así para resolver el caso de una asignación
de "nueva línea " se escribirá:
hexadecimal)
%d Muestra decimal
%o Muestra en octal
%x Muestra entro hexadecimal (minúsculas)
%X Muestra entro hexadecimal (mayúscula)
%f Notación científica (10E20)
%c Carácter
%s Modificador de cadena (string)
1. Explique: ¿Cuáles son las funciones que posee la librería Math.h en C++?
Considere: Nombre de la función, uso, sintaxis y ejemplo. Se calificará informe y
Operadores.
Estamos diciéndole al programa, por medio del operador +, que compute la suma
del valor de dos variables, y una vez realizado esto asigne el resultado a otra
variable var1. Esta última operación (asignación) se indica mediante
median otro operador,
el signo =.
El lenguaje C tiene una amplia variedad de operadores, y todos ellos caen dentro de
6 categorías, a saber: aritméticos , relacionales, lógicos, incremento y decremento,
manejo de bits y asignación. Todos ellos se irán describiendo
describiendo en los párrafos
subsiguientes.
Operadores Aritmeticos.
SIMBOLO DESCRIPCION EJEMPLO ORDEN DE EVALUACION
+ SUMA a+b 3
- RESTA a-b 3
* MULTIPLICACION a*b 2
/ DIVISION a/b 2
% MODULO a%b 2
- SIGNO -a 2
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
Operadores relacionales
SIMBOLO DESCRIPCION EJEMPLO ORDEN DE EVALUACION
< menor que (a < b) 5
> mayor que (a >b) 5
<= menor o igual que (a < = b) 5
>= mayor o igual que ( a >>= b ) 5
== igual que ( a = = b) 6
!= distinto que ( a != b) 6
Operadores de relación.
SIMBOLO DESCRIPCION EJEMPLO ORDEN DE EVALUACION
Operadores de asignación
SIMBOLO DESCRIPCION EJEMPLO ORDEN DE EVALUACION
= igual a a=b 13
op= pseudocodigo a += b 13
=?: asig.condicional a = (c>b)?d:e 12
{
sentencia 1 ;
sentencia 2 ;
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
.............sentencia n;
}
Este conjunto se comportará sintácticamente como una sentencia simple y la llave
de cierre del bloque NO debe ir seguida de punto y coma .
#include <iostream
iostream.h>
main()
{
Cout<< “Hola mundo”;
return 0;
Proposición If-Else.
Esta proposición sirve para ejecutar ciertas sentencias de programa,
programa si una
expresión resulta CIERTA ú otro grupo de sentencias, si aquella resulta FALSA.
if(expresión)
sentencia ;
ó
if(expresión) sentencia ;
Cuando la sentencia que sigue al IF es única, las dos formas de escritura
expresadas arriba son equivalentes. La sentencia sólo se ejecutará si el resultado de
"expresión"
n" es distinto de cero (CIERTO),
(CIERTO), en caso contrario el programa salteará
dicha sentencia , realizando la siguiente
sig en su flujo.
En casos más complejos que los anteriores, la proposición IF puede estar seguida
por un bloque de sentencias:
if(expresión)
{
Sentencia 1;
Sentencia 2;
…
}
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
if(expresión)
{
sentencia 1 ;
sentencia 2 ;
Proposición Switch.
El SWITCH es una forma sencilla de evitar largos,
largos, tediosos y confusos anidamientos
de ELSE-IF .
#include <stdio.h>
<stdio.h
main()
{
int c ;
printf("\nMENU
nMENU :") ;
printf("\n n A = ADICIONAR A LA LISTA ") ;
printf("\n n B = BORRAR DE LA LISTA ") ;
printf("\n n O = ORDENAR LA LISTA ") ;
printf("\n n I = IMPRIMIR LA LISTA ") ;
printf("\n\nESCRIBA
nESCRIBA SU SELECCION , Y LUEGO <<ENTER>> : ") ;
if( (c = getchar()) != '\n'' )
{
if( c == 'A')
printf("
printf("\nUD. SELECCIONO AGREGAR") ;
else
if( c == 'B')
printf("
printf("\nUD. SELECCIONO BORRAR") ;
else
if( c == 'O' )
printf("
printf("\nUD. SELECCIONO ORDENAR") ;
else
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
if( c == 'I' )
printf("
printf("\nUD. SELECCIONO IMPRIMIR") ;
else
printf("
printf("\n\a\aUD.
aUD. APRETO UN CARACTER ILEGAL" ) ;
}
else
printf("\n¡
n¡ UD. NO HA SELECCIONADO NADA !" ) ;
}
Como es fácil de ver,, cuando las opciones son muchas, el texto comienza a hacerse
difícil de entender y engorroso de escribir.
#include <stdio.h>
#include <conio.h>
main()
{
int c ;
printf("\nMENU
nMENU :") ;
printf("\n n A = ADICIONAR A LA LISTA ") ;
printf("\n n B = BORRAR DE LA LISTA ") ;
printf("\n n O = ORDENAR LA LISTA ") ;
printf("\n n I = IMPRIMIR LA LISTA ") ;
printf("\n\nESCRIBA
nESCRIBA SU SELECCION , Y LUEGO <<ENTER>> : ") ;
c = getchar() ;
switch (c)
{
case 'A' :
printf("
printf("\nUD. SELECCIONO AGREGAR") ;
break ;
case 'B' :
printf("
printf("\nUD. SELECCIONO BORRAR") ;
break ;
case 'O' :
printf("
ntf("\nUD. SELECCIONO ORDENAR") ;
break ;
case 'I' :
printf("
printf("\nUD. SELECCIONO IMPRIMIR") ;
break ;
case '\n':
n':
printf("
printf("\n¡ UD. NO HA SELECCIONADO NADA !" ) ;
break ;
default :
printf("
printf("\n\a\aUD. APRETO UN CARACTER ILEGAL" ) ;
break ;
}
}
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
La iteración while
El WHILE es una de las tres iteraciones posibles en C.. Su sintaxis podría
expresarse de la siguiente forma:
while(expresión) {
proposición 1 ;
La iteración do - while
Su sintaxis será :
do {
Proposición 1 ;
Proposición 2 ;
...............
} while (expresión) ;
Expresado en palabras, esto significa: ejecute las proposiciones , luego repita la
ejecución mientras la expresión dé un resultado CIERTO . La diferencia
fundamental entre esta iteración y la anterior es que el DO-WHILE
DO se ejecuta
siempre
re AL MENOS una vez, sea cual sea el resultado de expresión.
Iteración for
El FOR es simplemente una manera abreviada de expresar un WHILE , veamos su
sintaxis :
La sentencia break
El BREAK, ya brevemente descrito
descrito con el SWITCH , sirve también para terminar
loops producidos por WHILE , DO-WHILE
DO WHILE y FOR antes que se cumpla la condición
normal de terminación . En el EJEMPLO siguiente vemos su uso
us para terminar un
WHILE indeterminado.
#include <stdio.h>
#include <conio.h>
main()
{
char c ;
printf("ESTE ES UN LOOP INDEFINIDO ") ;
while(1) {
Funciones.
Una Función es una parte del código independiente del programa que se llama
dentro de él, es importante considerar que C a diferencia de otros lenguajes de
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
Tipo_de_valor_retorno
de_valor_retorno nombreFunción(lista de argumentos)
argumentos
{
declaracion de variables locales a la función
codigo ejecutable
return ( expresión ) // optativo
}
Las
as variables de nuestras funciones son locales es decir que solamente viven
cuando se esta ejecutando la llamada a la función; el código ejecutable son las
#include <stdio.h>
float mi_funcion(int i, double j ); /*DECLARACION*/
main()
{
float k ;
int p ;
double z ;
k = mi_funcion( p, z ); /* LLAMADA a la función */
} /* fin de la función main() */
1. Escribir un programa que introduzca una serie de enteros y que los pase una a la
vez a la función Par () que determina si el entero es par. Esta función deberá tomar
un argumento entero y regresar en su nombre 1 si el entero es par o 0 si no lo es.
2. Elaborar
borar una función que reciba un dato de tipo char, que debe devolver un
numero:
0 si es una letra mayúscula.
1 si es una letra minúscula.
2 si es una letra digito.
3 si es un carácter especial.
En un programa leer una serie de caracteres hasta hasta ingresar unu “*”, que serán
enviados a la función, luego utilizar el valor devuelto de la función para indicar el
tipo de carácter.
3. Realizar un programa que lea dos fechas cualquiera con el formato año/mes/día,
para calcular en una función el número de días que existe existe entre las dos fechas leídas
Escribir un programa que calcule e imprima las cuentas por estacionamiento de cada
cliente que ayer estacionaron sus automóviles en este garaje, para lo cual se deberá
introducir las horas de estacionamiento
estacionamiento para cada uno de los clientes.
El programa deberá imprimir los resultados en un formato tabular nítido y deberá
calcular e imprimir el total de los ingresos del dia de ayer. Por ejemplo, la salida
deberá aparecer en el formato siguiente:
10. Elabore una función recursiva que reciba un numero entero positivo o negativo y lo
imprima digito a digito en líneas diferentes. Por ejemplo si la función recibe el
numero: -240,
240, debe imprimir lo siguiente:
-
#include <stdio.h>
Void main()
{
int n = 2;
imprimir (n);
printf (“\n”);
(“
}
Void imprimir (int n)
{
If (n!=0){
Printf(“A %d: “, n);
Imprimir(n
Imprimir(n-1);
Printf(“B %d: “, n);
Imprimir(n
Imprimir(n-1);
Printf(“C %d: “, n);
Imprimir(n
Imprimir(n-1);
Printf(“D %d: “, n);
Imprimir(n
Imprimir(n-1);
}
Printf(“X %d: “, n);
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
# include <iostream.h>
main()
{
int arm = 2;
float foot = 1000.0;
char lookers = 2;
Variables globales
Hasta ahora hemos diferenciado a las variable segun su "tipo" (int, char double,
etc), el cual se refería, en última instancia, a la cantidad de bytes que la
conformaban. Veremos ahora que hay otra diferenciación de las mismas, de
acuerdo a la clase de memoria en la que residen.
Son accesibles a todas las funciones que estén declaradas en el mismo, por lo que
cualquiera de ellas podrá actuar sobre el valor de las mismas. Por ejemplo:
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
#include <stdio.h>
double una_funcion(void);
double variable_global ;
main()
{
double i ;
printf("%f", variable_global ); /* se imprimirá 0 */
i = una_funcion() ;
printf("%f", i ); /* se imprimirá 1 */
printf("%f", variable_global ); /* se imprimirá 1 */
variable_global += 1 ;
printf("%f", variable_global ); /* se imprimirá 2 */
return 0 ;
}
double una_funcion(void)
Variables locales
A diferencia de las anteriores, las variables definidas DENTRO de una función, son
denominadas VARIABLES LOCALES a la misma, a veces se las denomina también
como AUTOMATICAS, ya que son creadas y destruidas automáticamente por la
llamada y el retorno de una función, respectivamente.
1. Conocimiento.
Conocimiento
1.1. ¿Qué son los tipos de datos?
1.2. ¿Cuál es la forma general de la sentencia if?
1.3. ¿Qué es un bucle?
1.4. ¿Qué es una función?
2. Comprensión
Comprensión.
2.1. ¿Cuáles son los tipo de datos básicos que soporta C ?
2.2. ¿Cómo se declaran las variables?
2.3. ¿Cuando se utiliza switch?
2.4. ¿Cuál es la sintaxis general de la sentencia for?
2.5. Especifique la forma general de una función.
2.6. ¿Para qué se
2.7. utiliza la sentencia return?
3. Análisis.
3.1. ¿Cuál es la diferencia entre las variables locales y las variables globales?
3.2. Enumere
numere los operadores lógicos.
3.3. Enumere cinco palabras reservadas.
3.4. Nombre 3 diferencias entre while y do-while.
do
4. Síntesis - Aplicación.
Aplicación
Mediante el uso de funciones:
4.1. Elaborar un programa que determine si un número es par o impar.
4.2. Implementa un programa que resuelva una regla de tres y codifíquelo.
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
4.3. Elabora un programa que realice la división de dos números que tengan
decimales.
4.4. Elabora un programa que devuelva el residuo de una división.
4.5. Elabora un programa que resuelva operaciones aritméticas básicas mientras el
usuario deseé ejecutar el programa.
4.6. Elabora un programa que presente la tabla de multiplicar que el usuario deseé.
4.7. Diseñe un programa que permita ingresar un carácter por teclado y finalizar el
programa cuando se haya ingresado todas las vocales.
4.8. Elabore una ficha de causas y consecuencias referente al uso del programa
Borland C++ enfatizando los nuevos errores que le han aparecido en el
transcurso de la codificación.
5. Valoración.
5.1. Elabore una mesa redonda referente al tema: “Programar en Borland C++.
Ventajas y dificultades”. Siga las siguientes pautas:
Competencia.
Estructuras
struct nombre_de_la_estructura{
tipo nombre_variable;
nombr
tipo nombre_variable;
tipo nombre_variable;
.
.
.
}variables_tipo_nombre_de_la_estructura;
Donde
onde nombre_de_la_estructura o bien
variables_tipo_nombre_de_la_variables_estructura pueden omitirse pero no ambos.
Veamos un ejemplo:
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
struct Agenda{
genda{
char nombre[30];
char direccion[20];
char ciudad[15];
int edad;
} Actor;
Agenda es el nombre de la estructura; nombre, dirección, ciudad y edad son los
campos o elementos de la estructura y actor es la variable declarada de ese tipo.
variable_estructura.nombre_elemento
printf("%d",actor.edad);
De la misma forma podemos utilizar gets (función que leé una cadena desde el
teclado) para obtener un valor para actor, domicilio como se muestra aquí.
gets(actor.domicilio);
Las
as variables tipo estructura son útiles para crear unidades de información de
diferentes tipos lógicamente relacionada entre sí. Tal es el ejemplo de los datos de
una agenda (enen una variable guardas su nombre, dirección, número telefónico, etc.)
etc
o de los datos
atos de un elemento de la tabla periódica (en cada variable guardas su
nombre, símbolo, número atómico, etc.).
etc
#include <stdio.h>
#include <conio.h>
struct Persona
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
{
char nombre[30];
char direccion[20];
char ciudad[15];
int edad;
}Actor;
void main(void)
{
struct Persona Estudiante;
Arreglos
Arreglos Unidimensionales
La forma general para definir un arreglo de sólo una dimensión es la siguiente:
Tipo_de_dato
ipo_de_dato nombre_variable[tamaño]
Tipo_de_dato
ipo_de_dato se refiere al tipo de dato de cada elemento del arreglo y tamaño es la
cantidad de elementos agrupados en la misma variable.
Por ejemplo:
int var1[10] ;
char nombre[50] ;
var1[5] = 40 ;
contador = var1[3] + 7 ;
if(var1[0] >>= 37)
..................
#include <stdio.h>
#include <conio.h>
void main(void)
{
int A[3]= {10, 20, 30};
int i=0;
}
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
Ambas maneras son equivalentes. Sin embargo hay,, en el lenguaje C , una forma
más compacta de declararlos :
Los arrays,, como todos los otros tipos de variables, pueden ser pasados como
argumentos a las funciones. Veamos esquemáticamente como sería la sintaxis:
main()
{
float numeros[10] = { 1.1 , 2.2 , 3.0 } ;
char palabra[] = " Lenguaje C " ;
double c ;
c = funcion_1( numeros , palabra )
}
1. Diseñe un programa que permita ingresar 20 números en un vector del los cuales
solo los múltiplos de 5 se almacenan en otro vector. Mostrar los números ingresados
y los múltiplos de 5.
2. Ingrese dos vectores de igual dimensión para que estos sean sumados.
3. Cree un vector tipo entero de 10 elementos que permita ingresar los 9 primeros
dígitos de la cedula de identidad en los 9 primeros casilleros y calcule el ultimo
digito mediante la siguiente
sigui demostración:
Sea el siguiente numero de cedula: 131048163-1
131048163 procedemos a buscar el ultimo
digito:
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
Arreglos bidimensionales
int matriz[3][4] ;
Columnas 0 1 2 3
Filas 0 [0][0] [0][1] [0][2] [0][3]
1 [1][0] [1][1] [1][2] [1][3]
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
6. Diseñe una
na matriz identidad de NXN guiándose mediante la siguiente grafica:
8. Diseñe un software
software que permita leer una matriz MxN, debe cumplir la condición que
M debe contener hasta 100 elemento y N 200 elementos.
El programa debe ordenar la matriz de tal manera que todos los caracteres deben
almacenarse al comienzo de la matriz.
matriz Imprima la matriz leída y ordenada.
9.
Array de estructuras.
typedef struct {
char material[50] ;
int existencia ;
double costo_unitario ;
} Item ;
Item stock [100];
[100]
Hemos definido aquí un array de 100 elementos, donde cada uno de ellos es una
estructura del tipo Item compuesta por tres variables, un int , un double y un
string ó array de 50 caracteres.
1. Conocimiento.
Conocimiento
1.1. ¿Qué es un arreglo?
1.2. ¿Qué es una estructura?
2. Comprensión
Comprensión.
2.1. ¿Qué relación posee las estructuras y los arreglos?
2.2. ¿Cuál es la forma de declararación de un arreglo?
2.3. De un ejemplo de inicialización de arreglos sin tamaño.
2.4. Explique: ¿Para qué se utilizan los arreglos?
2.5. ¿Qué relación tiente los arreglos y el conjunto ordenado de caracteres?
3. Análisis.
3.1. ¿Cómo se trabaja con estructuras?
3.2. ¿Cuál es la diferencia entre arreglos unidimensionales y arreglos
multidimensionales?
4. Síntesis - Aplicación.
Aplicación
4.1. Elabore una función que muestre el nombre del usuario al revés.
4.2. Elabore un programa que guarde los datos de una agenda con capacidad para
15 direcciones diferentes.
4.3. Implemente un programa que sume dos matrices.
4.4. Elabore una ficha de causas y consecuencias referente al uso del programa
Borland C++ enfatizando los nuevos errores que le han aparecido en el
transcurso de la codificación.
5. Valoración.
5.1. Elabore una mesa redonda referente al tema: “Programando
“Programando estructuras estáticas
dificultades”. Siga las siguientes pautas:
en C++. Ventajas y dificultades”.
a. Presentar a los participantes de la mesa.
b. Señalar las normas de desarrollo del evento.
c. Realizar las exposiciones con la participación de cada estudiante.
d. Resumir el contenido expuesto por el moderador.
e. Inicia el foro.
f. Formular conclusiones.
Material exclusivo para los alumnos del Centro Educativo “Wenceslao Rijavec”
BIBLIOGRAFÍA