Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Actividad 2 Grupo 4
Actividad 2 Grupo 4
DESARROLLO TEÓRICO
TRAYECTO 2
ESTUDIANTES GRUPO 4:
HUERTA GUILLERMO C.I: 30.319.441
LOZADA MANUEL C.I: 30.250.923
PIRE IRWIN C.I: 30.439.858
RIOS SANTIAGO C.I: 30.093.188
YANEZ GEORGE C.I: 31.125.807
SECCION: 11
TRAYECTO: 1-2
PROFESOR: Rafael Puentes
ÁREA: PROGRAMACIÓN Y ALGORITMICA
Maracaibo, julio de 2021
PRIMRA PARTE (PROGRAMACIÓN MODULAR):
Funciones y Procedimientos: Definición y Declaración:
Declaración
Formato 1
Subrutina nombre ()
Declaración de variables
Inicio
Acciones
Fin subrutina
Formato 2
Subrutina nombre (lista de parámetros formales)
Declaración de variables
Inicio
Acciones
Fin subrutina
Nombre: identificador válido
programa que le invoca. Están separados por comas, y precedidos por las
función
Variables Globales:
Variables Locales:
expresión.
¿Qué es un arreglo?:
hablando del tipo abstracto de datos arreglos, tanto de una (vectores), dos
Vectores:
Recordemos que todos los elementos del vector son forzosamente del
vector.
--- nombre_vector es un identificador que usaremos para referiremos tanto
*Matrices:
que vectores con dos dimensiones. Por lo que los conceptos de acceso,
la forma siguiente:
int a[10][5];
int main()
{
int a[10][5];
int i, j;
for (i=0; i<10; i++)
for (j=0; j<5; j++)
a[i][j] = 0;
return 0;
}
Ejemplo.
Para ilustrar el manejo de matrices, construiremos ahora un programa
que lee de teclado dos matrices de números en coma flotante y muestra por
#include <stdio.h>
#define TALLA 3
int main()
{
float a[TALLA][TALLA], b[TALLA][TALLA];
float s[TALLA][TALLA], p[TALLA][TALLA];
int i, j, k;
/* Lectura de la matriz a */
for (i=0; i<TALLA; i++)
for (j=0; j<TALLA; j++) {
printf ("Elemento (%d, %d): ", i, j);
scanf ("%f", &a[i][j]);
}
/* Lectura de la matriz b */
for (i=0; i<TALLA; i++)
for (j=0; j<TALLA; j++) {
printf ("Elemento (%d, %d): ", i, j);
scanf ("%f", &b[i][j]);
}
/* Calculo de la suma */
for (i=0; i<TALLA; i++)
for (j=0; j<TALLA; j++)
s[i][j] = a[i][j] + b[i][j]
Tablas multidimensionales:
Donde:
int a[10][8][3];
#include <stdio.h>
int main()
{
float b[3][2][4];
int i, j, k;
Ejemplo
#include <stdio.h>
#include <stdlib.h>
#define DIM 10
int main()
{
int tabla_random [DIM][DIM][DIM], a, b, c;
for (a= 0; a< DIM; a++)
for (b= 0; b< DIM; b++)
for (c= 0; c< DIM; c++)
tabla_random[a][b][c] = rand();
Operaciones básicas:
Ingresar
Sumar y Promedio
Mayor y Menor
Buscar y Reemplazar
Ordenar e Invertir
Insertar y Eliminar
Metodos de ordenamiento:
maneras:
ordenación
un disco duro.
caso de coincidencia.
claves) es O(n log n). Los algoritmos más simples son cuadráticos, es
notación O(n).
Métodos de búsqueda
si los datos a ordenar pueden ser accedidos de modo aleatorio o deben ser
Búsqueda secuencial:
conjunto de búsqueda con el valor deseado hasta que éste sea encontrado
Definición:
cadena de caracteres, el ´último de los elementos útiles del vector debe ser
el carácter nulo (código ASCII 0). Según esto, si se quiere declarar una
Funciones asociada:
algunas de ellas:
ocupaba otra (destino). Esta copia es destructiva, o sea, que todos los
segundo.
Un ejemplo:
#include<stdio.h>
#include<string.h>
int main()
char texto1[]="corta";
char texto2[]="mediana";
char texto3[]="larguisima";
strcpy(texto2,texto1);
printf("%s\n",texto2);
strcpy(texto2,texto3);
printf("%s\n",texto2);
getch();
return 0; }
pero hay otra función en la librería <string.h> que copia una cadena (fuente)
en otra (destino) sin destruir ésta, es decir, que copia una cadena detrás de
Un ejemplo:
#include<stdio.h>
#include<string.h>
int main()
strcat(texto1,texto2);
printf("%s\n",texto2);
strcat(texto1,texto3);
printf("%s\n",texto2);
getchar();
return 0;
Un ejemplo:
#include <stdio.h>
#include <string.h>
#include <conio.h>
#define MAXLON 80
int main(void)
{
char a[MAXLON+1];
int longitud;
clrscr();
scanf("%s",&a);
longitud = strlen(a);
getch();
return 0;
Resultado:
resultado de la comparación:
que va detrás.
Un ejemplo:
#include <stdio.h>
#include <string.h>
int main()
int i;
printf( "s1=%s\t", s1 );
printf( "s2=%s\n", s2 );
i = strcmp( s1, s2 );
return 0;
cadenas.
carácter es una letra o dígito, y falso (el valor entero 0) en caso contrario.
contrario.
isblank(carácter): devuelve cierto si carácter es un espacio en blanco o un
tabulador.
contrario.
contrario.
Definición:
las constantes, los tipos de datos y las variables que se usan en el mismo.
el trabajo de programación.
consecutiva en la memoria
QUINTA PARTE (ARCHIVOS):
Concepto:
Es una colección de registros relacionados entre sí con aspectos en
Estructura Y Acceso:
C++ posee una librería denominada fstream que contiene una serie
ifstream descriptor_o_nombre_logico_del_archivo;
Ejemplo:
ifstream archivo;
Apertura de un archivo para escritura: Si lo que se quiere es abrir el archivo
ofstream descriptor_o_nombre_logico_del_archivo;
Ejemplo:
ofstream archivo;
archivos tipo texto almacenan datos como códigos ASCII. Los valores
blanco. Este tipo de archivo se utiliza para almacenar datos o crear salidas
almacenamiento.
salida se utilizan las funciones miembro open y close y los operadores << y
>>.
La función miembro open: permite indicar el nombre físico del archivo al que
Sintaxis:
descriptor.open(“nombre_Fisico_del_archivo”);
Ejemplo:
archivo.open(“datos.txt”);
Si se desea abrir el archivo para agregar datos al final del archivo se utiliza
la siguiente instrucción:
descriptor.open(“nombre_Fisico_del_archivo”,ios::app);
Ejemplo:
archivo.open("datos.txt",ios::app);
La función miembro close: permite cerrar el archivo.
Sintaxis:
descriptor.close();
Ejemplo:
archivo.close();
El operador >>: se utiliza para la lectura de un archivo texto.
Sintaxis:
descriptor >> variable_que_guardará el valor;
Ejemplo:
archivo >> dato;
El operador <<: se utiliza para guardar un dato en un archivo texto.
Sintaxis:
descriptor << variable_o dato_a guardar;
Ejemplo:
Archivo << dato;
Ejercicio Resuelto
a) Realice un programa que permita guardar en un archivo texto la cédula,
nota definitiva y resultado de tres estudiantes.
#include <fstream> // Biblioteca para el manejo de archivos o ficheros
#include <iostream>
using namespace std;
int main()
{
ofstream archout;
archout.open("notas.txt");
if (!archout)
{ cout << " No se puede crear o abrir el archivo "; }
else
{ // Escritura en el archivo
archout << "15.432.152" << " " << 15.75 << " APROBADO" << endl;
archout << "18.547.666" << " " << 8.75 << " PER" << endl;
archout << "18.965.321" << " " << 5.0 << " REPROBADO " << endl;
archout.close();
}
}
b) Realice un programa que permita visualizar por pantalla el contenido del
archivo creado en el ejercicio anterior.
#include <fstream> // Biblioteca para el manejo de ficheros
#include <iostream>
using namespace std;
int main()
{ int i;
ifstream archin;
float nota;
char cadena[30];
archin.open("notas.txt");
if (archin.bad())
{ cout << "No se puede abrir el archivo " << endl; }
else
{ archin >> cadena; // Lectura del primer valor en el archivo
while (!archin.eof()) // mientras no se llegue al fin del archivo
{ cout << cadena << " ";
archin >> nota; // Lectura del siguiente valor en el archivo
cout << nota << " ";
archin >> cadena;
cout << cadena << endl;
archin >> cadena;
}
archin.close();
}
}
REFERENCIA BIBLIOGRÁFICAS
https://paginadec.webcindario.com/old/arreglos-
casificacion.html#:~:text=Los%20arreglos%20se%20pueden%20clasificar,(
matrices)%20o%20m%C3%BAltiples%20dimensiones.