Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Docente:
Ing. Alexis Rocha Haro, MGTI
Ingeniero en Sistemas Computacionales
Magíster en Gerencia de Tecnologías de la Información
Email: arocha@upse.edu.ec
alefroch22@hotmail.com
La Libertad, Santa Elena, Ecuador
Fundamentos y Lenguaje C
Bibliografía
Bibliografía Básica:
Joyanes Aguilar Luis (2008). Fundamentos de
Programación: Algoritmos, Estructuras de Datos y
Objetos (4ta. Edición) Madrid. Editorial: McGraw Hill.
Páginas: 45 – 81.
Bibliografía Recomendada:
Corona Nakamura María Adriana, Ancona Valdez María
de los Ángeles (2011). Diseño de algoritmos y su
codificación en lenguaje C (1era. Edición) México.
Editorial: McGraw Hill. Páginas: 27 – 127, 285 – 290.
Cairó Battistutti Osvaldo (2006). Fundamentos de
Programación: Piensa en C (1era. Edición) México.
Editorial: PEARSON Educación. Páginas: 49 – 84, 89 –
128.
¿Qué se quiere aprender al finalizar el Capítulo 3?
CONTENIDOS
3.1. Análisis del Problema, Diseño del
Algoritmo, Resolución del Problema.
3.2. Representación del Algoritmo.
3.3. Estructuras Algorítmicas.
3.4. Ejercicios de Aplicación.
3.5. Evaluación de la Unidad.
Análisis del Problema, Diseño del
Algoritmo, Resolución del Problema
RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN
Existen 3 fases para la identificación y resolución de
problemas:
Fase de Identificación (qué nos plantean).
Fase de Resolución del Problema.
Fase de Implementación (realización) en un lenguaje de
programación.
3.1. Análisis del Problema, Diseño del Algoritmo, Resolución del Problema
Análisis del Problema:
Se debe tener una idea clara sobre lo que se solicita y
determinar los datos necesarios para conseguirlo,
definiendo datos de entrada y salida, para ello es
conveniente responder a las siguientes preguntas:
¿Qué entradas se requieren (tipo y cantidad)?: Datos de
Entrada (DE)
¿Qué método produce la salida deseada?: Modelo
Matemático (MM)
¿Cuál es la salida deseada (tipo y cantidad)?: Datos de
Salida (DS)
Diseño del Algoritmo:
Un algoritmo puede ser definido como la secuencia
ordenada de pasos, sin ambigüedades, que conducen a la
resolución de un problema dado y expresado en lenguaje
natural, todo algoritmo debe ser:
Especificaciones de Salida:
¿Cuáles son los datos de salida?
¿Cuántos datos de salida se producirán?
¿Qué formato y precisión tendrán los resultados?
Representación del Algoritmo
ALGORITMO
Es una serie de operaciones detalladas y no ambiguas, a ejecutar
paso a paso y que conducen a la resolución de un problema.
Los Algoritmos pueden representarse gráficamente empleando
diferentes formas y/o técnicas, de esta manera, son fácilmente
comprensibles, también los algoritmos son más universales, pues no
dependen de un lenguaje de programación específico.
Los métodos más usados para representar un algoritmo son:
Diagramas de Flujo de Datos (DFD)
Diagramas de N-S (Nassi - Schneidermann)
Lenguaje de Especificaciones de Algoritmos
Pseudocódigo
Lenguaje natural (español)
Fórmulas Matemáticas
ENTRADA (Lectura)
Consiste en recibir un valor (dato) desde un dispositivo de entrada
(teclado). Ej.: Leer(a); Leer(b);
SALIDA (Escritura)
Consiste en enviar por un dispositivo de salida (monitor o impresora),
un resultado o mensaje. Ej.:
Escribir(“El resultado es: ”); Escribir(R);
Escribir(“El resultado es: ”, R);
ASIGNACIÓN (Proceso)
Consiste en el paso de valores o resultados a una zona de memoria (RAM),
dicha zona será reconocida con el nombre de la variable que recibe el
valor, la asignación se clasifica de la siguiente forma:
Simples: Consiste en pasar un valor constante a una variable (a=15)
Contador: Consiste en usarla como un verificador del número de veces
que se realiza un proceso (a = a + 1)
Acumulador: Consiste en usarla como un sumador en un proceso (a = a +
b)
De trabajo: Donde se puede recibir el resultado de una operación
matemática que involucre una o muchas variables (a=c+b*2/4)
Estructuras Condicionales, Selectivas o
Alternativas
SENTENCIA IF
Simples
La sentencia If realiza una condición o pregunta, si la condición se
cumple, se ejecuta uno o varios procesos por Verdadero, caso
contrario no ejecuta nada por Falso.
Dobles
La sentencia If realiza una condición o pregunta, puede ejecutar un
proceso por Verdadero u otro proceso por Falso.
NOTA: La sentencia If valida la pregunta por Verdadero.
BUCLES ANIDADOS
Un Bucle es un proceso o sentencia que se repite N veces, anidado significa
que está un bucle dentro de otro.
Ejemplo:
Puede darse el caso de que una sentencia esté dentro de una misma clase de
sentencia; así como también, una sentencia esté dentro de otra sentencia
diferente.
SENTENCIA WHILE (MIENTRAS)
La Sentencia While primero realiza una pregunta o condición, si
ésta se cumple (es Verdadera) entra a realizar un bucle repetitivo,
finaliza cuando la condición o pregunta es Falso.
Sintaxis:
while(condición)
{
sentencias;
…
sentencias;
}
SENTENCIA DO WHILE (HACER MIENTRAS)
La Sentencia Do While primero realiza uno o varios procesos, luego
realiza una pregunta o condición, si ésta se cumple (es Verdadera)
entra a realizar un bucle repetitivo, finaliza cuando la condición o
pregunta es Falso.
Sintaxis:
do
{
sentencias;
…
sentencias;
}while(condición);
SENTENCIA FOR (PARA)
La sentencia For es la más completa de las estructuras de control,
tiene a su vez, los siguientes parámetros:
Sintaxis:
for( valor_inicial; condición o pregunta; incremento o decremento )
{
sentencias;
}
Ejercicios de Aplicación 1
1) Realice un programa que ingrese 2 números por teclado y presente su número mayor.
2) Realizar un programa que ingrese un número y presente en pantalla si es PAR o
IMPAR.
3) Realice un programa que ingrese un número y calcule su raíz cuadrada.
4) Elabore un flujograma en el ingrese 3 números, se debe obtener la suma y promedio,
cuando presente los resultados debe presentar «La Suma es: » y «El Promedio es: ».
5) Ingrese 2 números por teclado, presente por pantalla y realice el producto de ambos
números, finalice cuando ingrese el número 9999.
6) Ingresar un número entre 1 al 7, de acuerdo al número ingresado presente por
pantalla el día de la semana.
7) Realizar un programa que lea un número comprendido entre 1 y 5, presente por
pantalla la vocal A, E, I, O, U, en función del número leído. El programa debe avisar al
usuario en caso de que el valor introducido no esté en el intervalo (1 al 5).
8) Elabore un programa que lea una letra del abecedario y presente al usuario si se
trata de una vocal o no.
9) Escriba un programa que permita ingresar un número cualquiera e indique si el mismo
es positivo, negativo o 0 (cero).
10) Ingrese un número comprendido entre 0 y 7, de acuerdo a su ingreso calcule y
presente en pantalla su respectivo binario en sistema octal.