Está en la página 1de 17

UnADM

Fundamentos de Programación

Unidad 2 – Introducción al lenguaje C


Video-asesoría #2
TEMAS A TRATAR EN LA VIDEO ASESORÍA 2:
Inicio
Presentación de la Unidad 2 – Introducción a lenguaje C
Competencia específica y logros de la Unidad 2, estructura
Desarrollo
Historia del lenguaje C
Actividad 1
Actividad 2
Actividad 3
Actividad Evidencia de Aprendizaje
Referencias
Parte final
Dudas generales y comentarios
Tiempo aproximado : a lo más 50 minutos
Competencia específica
Utilizar el lenguaje de programación C para implementar algoritmos
secuenciales que permitan resolver problemas mediante la aplicación
estructurada de los diversos elementos de programación y la utilización
de estructuras de control selectivas y repetitivas.
Logros
•Identificar los tipos de datos, bibliotecas y funciones empleados en
DevC++
•Identificar los beneficios de los algoritmos secuenciales.
•Codificar un programa en DevC++ declarando las variables y
constantes con base en bibliotecas y funciones para después
compilarlo y ejecutarlo.
•2.1. Componentes de un programa en
lenguaje c •2.5. Bibliotecas y funciones
•2.1.1. Instrucciones •2.5.1. Funciones matemáticas
•2.1.2. Palabras reservadas •2.5.2. Funciones de entrada y
•2.1.3. Estructura general de un salida
programa •2.6. Codificación de algoritmos
•2.2. Tipos de datos •2.7. Estructuras de control
•2.3. Variables y constantes
•2.7.1. Estructuras selectivas
•2.3.1. Identificadores •2.7.2. Estructuras repetitivas
•2.3.2. Declaración e inicialización de •2.7.3. Estructuras anidadas
variables
•2.3.3. Tipos de constantes
•2.3.4. Declaración de constantes
•2.4. Expresiones matemáticas
•2.4.1. Tipos de operadores
•2.4.2. Evaluación de expresiones
Historia del lenguaje C
Desde sus inicios el desarrollo del SO Unix estuvo relacionado con el desarrollo del
lenguaje C el cual se creó para ser portable, simple y no interpretado.
La 1ra. Versión de Unix fue liberada el 3 de noviembre de 1971. Esta versión fue
escrita en lenguaje ensamblador lo cual favorecía un acceso directo al hardware. La
segunda versión de Unix e incluía entre otras cosas el compilador C. La tercera
versión fue liberada en febrero de 1973 incluyó el espulgador de C y las
características del SO.
Unix demando un lenguaje de programación de alto nivel.
Cuando se liberó la versión 4 de Unix el SO estaba reescrito totalmente en C y
exponía al mundo un SO, un lenguaje y documentación.

Dennis Ritchie y Ken Thompson


Actividad : INSTALAR EL IDE para programar en C
dependiendo de su SO
SO: WIN,
LINUX(UBUNTU),
MAC(Unix)

Revisar las notas enviadas a su correo y disponibles en el aula


Actividad 1: Foro Tipos de datos, bibliotecas y funciones
en Dev C.
Datos: Información que se suministra a la comp. para guardarla en un
determinado formato (en c: char, float, int, double, etc).

Variables: Espacios de memoria para guardar datos que pueden cambiar


durante la ejecución del programa. (nombres permitidos por el lenguaje:
identificadores). Ámbito de una variable.

Constantes: (1) Constantes simbólicas definidas por directivas de


preprocesador (#define PI 3.14) que definen símbolos, o (2) constantes
definidas por el lenguaje (como palabras reservadas o símbolos ‘\n’ o EOF
o ‘\0’ ó INT_MAX, INT_MIN, CHAR_MAX, FILE) (Ritchie & Kerniham, p. 15,
p. 86).
Biblioteca estándar. Conjunto extensivo de funciones para realizar la
entrada y salida, la administración de memoria, la manipulación de
cadenas y tareas semejante. (Ritchie & Kerniham, p. 265). Ejemplos
stdio.h (scanf, printf), math.h (atof(x), sin(x), cos(x),
pow(x,n)), string.h (strcat(s1,s2), strlen(s)).

Diagramas de flujo y pseudocódigo. Instrumentos propicios para crear


un algoritmo y analizarlo previo a la codificación en un lenguaje de
programación.

Compilación de un programa. Crear en archivo fuente en el IDE y uar


los botones ó en el shell:
$cc act2.c
$./a.out
Ejemplo de pseudocódigo: función nuevalineam(L,m)
Actividad 2: Tipos de datos, bibliotecas y funciones
en Dev C Del 02 al 22 agosto de 2022 – 100
La etimología de la palabra algoritmo o algebra es
árabe, prefijo al-, y se remonta al matemático persa Al-
Juarismi(finales del siglo VII y principios del siglo VIII,
originario de Juarismi, Asia Central).

Un algoritmo es un concepto abstracto lógico-matemático, similar a una idealización


de una máquina (electro-mecánica por ejemplo) o un proceso.

Un algoritmo es un procedimiento para realizar una tarea particular, un problema


general bien especificado. Es la idea detrás de cualquier programa. Un algoritmo
es una prescripción exacta del orden determinado en que se debe ejecutar un
sistema de operaciones para resolver todas las instancias de un problema dado
(Skiena). Ejemplo el algoritmo de la función nuevalineam(L,m).
Actividad 2: Tipos de datos, bibliotecas y funciones
en Dev C Del 02 al 22 agosto de 2022 – 100
Un algoritmo secuencial es un algoritmo que al ejecutarlo sigue un orden lógico
secuencial y/o iterativo paso a paso hasta el resultado y esencialmente no realiza
llamadas en paralelo.
Paso1, Paso2,Paso2,Paso2,Paso2,Paso3,Paso4,Paso4,…,PasoFinal

Los algoritmos recursivos contienen llamadas a ellos mismos con instancias mas
pequeñas hasta terminar la invocaciones y dar el resultado. F(F(L,m),m’)

Los algoritmos paralelos ejecutan acciones en forma síncrona. Realizan múltiples


operaciones en un mismo tiempo.
[Paso1,Paso2,Paso2,Paso2,Paso2],[Paso3,Paso4],[Paso4,…
,PasoFinal]
Actividad 2: Tipos de datos, bibliotecas y funciones
en Dev C

= EN
PSEUDO
CODIGO

Ejemplo de diagramas que no son de flujo y diagrama de flujo: punto clave


la maquina.
Actividad 3 Aplicación de las estructuras de control Del
02 al 22 agosto de 2022 :
Problema1 : Dadas fracciones a/b, c/d, calcular la fracción producto e/f. Indicar
numerador y denominador.

ESTE PROGRAMA PUEDE SER EL “HOLA MUNDO” en C!!!!


Actividad 3 Aplicación de las estructuras de control Del
02 al 22 agosto de 2022 :
Problema2: Sacar el mínimo y ordenar arreglos de bibliografía con a lo más 5
entradas bibliográficas. Ordenar con respecto al año. Idea: ordenar en la lectura
con un intercambio -swap para no necesitar un algoritmo de ordenación.

https://github.com/f6m/ProgrammingProblems
EA programación en Dev C : Del 02 al 22 agosto de
2022 – 100. #include <stdio.h>
int main(){
Evidencia programación en Dev C: Citas int r=1,i=0;
int d,m,ao;
Embajada EU. El programa deberá solicitar al /* Ciclo se ejecuta mientras la respuesta
usuario día, mes y año en el cual realizará su del usuario no cambia */
solicitud, a dicha fecha le sumará 548 días, while(r != EOF)
{
dando como resultado la fecha exacta de su printf("Introduce el dia de la
próxima cita al consulado. cita %i \n",i);
El programa deberá ejecutarse las veces que el scanf("%i",&d);
printf("Introduce el mes de la
usuario desee. cita %i \n",i);
Sugerencias: día, mes y año en struct solicitud{ int scanf("%i",&m);
día; int mes[12]; int año;} printf("Introduce el año de
Sugerencias: Sumar 548 a días, considerar y caracterizar años publicación del libro %i \n",i);
“bisiestos”, considerar el cambio de mes al sumar los días. scanf("%i",&a);
Proporcionar la fecha de la cita. }
MENU PERMANENTE HASTA PRECIONAR UNA TECLA }
BIBLIOGRAFÍA

Skiena S. S. (2008). The Algorithm Design Manual, Second Edition, Springer-


Verlag, London.

Ritchie D. M., Kerniham B. W. (1991) E lenguaje de programación C, 2da. Edición,


Pearson Educación, Impreso en México. Disponible en
http://www.tecnica1lomas.com.ar/tutoriales/lenguaje_C.pdf
Programas en C:
f6m. (2019). My solutions to the classic R&K C book (Version 1.0.1) [Computer
software]. https://github.com/f6m/RnK-Libro

f6m. (2019). Programming problems (Version 1.0.1) [Computer software].


https://github.com/f6m/ProgrammingProblems
Gracias por su atención

También podría gustarte