Documente Academic
Documente Profesional
Documente Cultură
Ingeniería en Computación
Programación Estructurada
M en ISC Irene Aguilar Juárez
Contenido
Guión de uso, mapa curricular
Referencias Bibliográficas
06/12/2018
Guión de uso
Este material está formado por más de 80 diapositivas que cubren las 5
unidades de competencia que el plan de estudios específica para la Unidad
de Aprendizaje Programación Estructurada:
1. Identificar las fases de la metodología de programación estructurada para
la solución de problemas.
2. Aplicar la programación estructurada en la solución de problemas
utilizando diagramas de flujo y pseudocódigo.
3. Utilizar arreglos unidimensionales y bidimensionales para el
almacenamiento de datos en la solución de problemas.
4.Usar las técnicas de programación modular en el desarrollo de programas
informáticos
5. Manejo de registros para almacenar y manipular información en el
desarrollo de programas informáticos
De acuerdo a la secuencia propuesta en el plan de estudios de dicha Unidad de
Aprendizaje las unidades de competencias 2 y 3 se pueden abordar
simultáneamente. En este material es posible acceder a las diversas unidades
de acuerdo a las necesidades del docente por medio de la sección de
contenidos la cual nos vincula a la sección deseada.
Unidad de Competencias 1
Conceptos básicos de Programación
.
Programar
La realización de una serie de instrucciones que
interactuarán tanto con el hardware de nuestro
computador, como con otras aplicaciones y/o el
usuario que las maneje.
En aspectos más simples aún, al programar en
la mayoría de los casos lo que hacemos queda
tan reducido como a preparar una serie de
instrucciones y operaciones que nos
permitan hacer una recolección de
datos, operar con esos datos de alguna
forma y luego presentar una serie de
resultados producto de esas operaciones.
En la ciencia de la computación y la
programación los algoritmos son más
importantes que los lenguajes de
programación y los ordenadores, que se
convierten así en meros medios para alcanzar el
fin, efectuar la tarea para la cual está diseñado el
algoritmo: la resolución del problema.
Recomendaciones para programar
Paciencia, mucha paciencia.
Perseverancia
Mirar las situaciones desde distintos puntos
Pensar lógica y básicamente
Ser estructurado:
Conocimientos matemáticos:
Ser curioso y tener disposición a resolver
problemas:
Definición de Lenguaje de Programación
El lenguaje de programación tiene la
capacidad de especificar, de forma precisa,
cuáles son los datos que debe trabajar un
equipo informático, de qué modo deben
ser conservados, procesados o
transferidos y qué instrucciones debe
poner en marcha la computadora ante
ciertas circunstancias.
Para definir un lenguaje de programación es
necesario especificar:
Conjunto de símbolos y palabras claves
utilizables
Reglas gramaticales para construir sentencias
(instrucciones, ordenes )
sintácticas y semánticamente correctas
◦ Sintaxis: conjunto de normas que determinan
cómo escribir las sentencias del lenguaje
◦ Semántica: Interpretación de las sentencias. Indica
el significado de las mismas
Problemas Un problema existe cuando hay tres
elementos, cada uno claramente definido:
Restricciones o
pautas respecto
de métodos, “Problema" puede formalizarse
Una situación
actividades,
inicial. como la terna ordenada de la forma
tipos de
operaciones, P = (I, O, C ).
etc. I: inicio (comprensión del problema)
O: producción (ejecución de un plan)
C: valoración (contrastación o
evaluación)
Una situación final u
objetivo a alcanzar.
Metodología Para la Solución de
Problemas por medio de computadoras
Etapas mínimas para resolver problemas
Solución del problema
Dada entonces una situación problemática en
particular, el objetivo radica en establecer cómo
se la puede caracterizar, con el propósito de
intentar modelizarla, cómo se la puede definir en
términos de problemas y cómo, encontrada la
metodología de la resolución específica, se llega
al modelo
“Resolver problemas" equivale a incorporar
modos de búsqueda para la satisfacción de
situaciones particularmente comprendidas,
las cuales pueden corresponder a la vida
cotidiana o a problemas que no tengan,
directamente, que ver con ésta.
Tipos de Problemas
Problemas NO
Problemas Decidibles:
Intratables: Problemas
que se resuelven por Son problemas que no
algoritmos con complejidad son factibles obtener su
superpolinómica como por solución. Aquí
ejemplo la complejidad distinguimos dos
exponencial. Estos
problemas a pesar de llevar subgrupos.
mucho tiempo para su • Problemas NO Computables
resolución, son computables. • Problemas Fuertemente No
Computables
Programa
Etapa de Compilación
IDE (Entorno Integral de desarrollo)
Aplicar la programación
estructurada en la solución
de problemas utilizando
lenguaje informal y
diagramas de flujo
Unidad de Competencia 2
Un algoritmo es la secuencia lógica de
pasos que se sigue en la solución de un
problema determinado.
+ Ambigüedad -
Diagramas de flujo
Símbolos de DF en Raptor
Otros símbolos para los Diagrama de Flujo
Condicionales Simple (dos opciones )
Condicionales Múltiple (más de dos opciones )
Ciclo while () { } ciclo do{ } while( )
Utilizar los elementos
básicos de un lenguaje de
programación
estructurado para la
codificación de
algoritmos y / o
diagramas de flujo
Unidad de Competencias 3
El lenguaje C tiene varias bibliotecas estándar de funciones
y estructuras de datos especiales para realizar distintos
tipos de tareas
stdio
Escribe un caracter en el
putc(c, f) int stdio.h int putc(int c, FILE *f); putc('*',demo);
archivo f
Escribe un caracter en el
putchar(c) int stdio.h int putchar(int c); dispositivo de salida putchar('B');
estandar
Mueve el puntero al
rewind (f) void stdio.h void rewind(FILE *f); rewind(fx);
principio del archivo f
printf("producto %d y %d es %d \n",x,y,x*y);
Código Formato
%c Caracter
%d Entero Decimal
Real (double o float),
%e
notacion cientifica.
%f Coma flotante
%s Cadena de caracteres
%x Hexadecimal sin signo
getc(f) int stdio.h int getc(FILE *f); Lee un carácter del archivo f
printf(“%f “,Meters);
getchar();
getchar();
}
Utilizar arreglos
unidimensionales y
bidimensionales para el
almacenamiento de
datos en la solución de
problemas
ARREGLOS
Los arreglos son una colección de variables del
mismo tipo que se referencian utilizando un
nombre común. Un arreglo consta de posiciones
de memoria contigua. La dirección más baja
corresponde al primer elemento y la más alta al
último. Un arreglo puede tener una o varias
dimensiones. Para acceder a un elemento en
particular de un arreglo se usa un índice.
Arreglo unidimensional
“Es una colección finita, homogénea y ordenada de
elementos”.
Análisis:
•Como trabajaremos con promedios, nuestro vector
debe ser tipo float.
main() {
int t, i, num [3][4]; //declaración
for(t=0; t<3; t ++) // recorre filas
for(i=0; i<4; i ++) //recorre columnas
num[t][i]=(t*4)+i*1; // asignación de datos
Unidad de Competencia 4
¿Qué es una función?
int
char
bool
float
double
Ventajas de usar funciones:
◦ Detección rápida de posibles errores.
◦ Reutilización de código.
◦ Resolución de problemas mas fácil (divide y vencerás).
void muestraMensaje(void);
int sumaNumeros(int numUno, int numDos);
float promedio(float datos[10], int cantidad);
void mueveDatos(float array[5][5],int columna, int
renglon);
#include<stdio.h>
Declaración de funciones
int leeEntero(char mensaje[]);
int calculaPotencia(int base, int exponente);
void muestraPotencia(int potencia);
Continúa….
Obsérvese que las variables numBase, numExpo y
numPot guardan los valores retornados por las funciones.
main(){
int numBase,numExpo,numPot;
numBase=leeEntero("Dame la base: ");
numExpo=leeEntero("Dame el exponente: "); Invocación de funciones
numPot=calculaPotencia(numBase,numExpo);
muestraPotencia(numPot);
getchar();
getchar();
}
Se podría decir que hay 3 acciones en el
manejo de funciones:
Unidad de Competencias 5
Las estructuras son colecciones de variables
relacionadas bajo un nombre. Las estructuras
pueden contener variables de muchos tipos
diferentes de datos (a diferencia de los
arreglos que contienen únicamente elementos
de un mismo tipo de datos)
Definición de una struct
Las variables declaradas dentro de las llaves de la definición de
estructura son los miembros de la estructura.
Los miembros de la misma estructura deben tener nombres
únicos mientras que dos estructuras diferentes pueden tener
miembros con el mismo nombre
struct Estudiante {
int id[6];
Miembros de la estructura char name [50];
char gender;
int age;
};
Estudiante stud[ 5];
struct Estudiante {
int id[6];
char name [50];
char gender;
int age;
}
struct Estudiante {
int id[6];
char name [50];
char gender;
int age;
}
Estudiante ejemploE;
ejemploE={ {3,4,5,2}, “Juan”, ‘M’, 18 };
Acceso a un miembro de la estructura
Para tener acceso a miembros de estructuras utilizamos el operador punto. El
operador punto se utiliza colocando el nombre de la variable de tipo estructura
seguido de un punto y seguido del nombre del miembro de la estructura
struct Estudiante {
int id[6];
char name [50];
char gender;
int age;
}
Estudiante ejemploE;
ejemploE={ {3,4,5,2}, “Juan”, ‘M’, 18 };