SlideShare una empresa de Scribd logo
1 de 15
PROGRAMACIÓN DE
COMPUTADORAS
Licenciatura en Sistemas – Estamos por iniciar
Pongan sus nombres en el meet, apaguen sus micrófonos y cámaras… 8:10 iniciamos por ser la clase 1. Pueden ir
saludando por el chat
Equipo docente: Jorge Golfieri, y Nicolás Perez
Mails: jgolfieri@hotmail.com y nperez_dcao_smn@outlook.com
Facebook: https://www.facebook.com/groups/171510736842353
Git: https://github.com/UNLASistemasProgramacion/Programacion-de-Computadoras
E-mail: programacion.sistemas.unla@gmail.com
Instagram: https://www.instagram.com/nico_perez_unla/
Slack: https://join.slack.com/t/unlaprogramac-sq03771/shared_invite/zt-15vhrezlc-D11ywd~Pe35Ro32OskeiNg
PROGRAMACIÓN DE
COMPUTADORAS
Licenciatura en Sistemas – Presentación - UNIDAD 1: Printf – Scanf - Operadores
Equipo docente: Jorge Golfieri, y Nicolás Perez
Mails: jgolfieri@hotmail.com y nperez_dcao_smn@outlook.com
Facebook: https://www.facebook.com/groups/171510736842353
Git: https://github.com/UNLASistemasProgramacion/Programacion-de-Computadoras
E-mail: programacion.sistemas.unla@gmail.com
Instagram: https://www.instagram.com/nico_perez_unla/
U1:BIENVENIDOS A SISTEMAS
Primer año
Programación de Computadoras C
Organización de Computadoras
Arquitectura de Computadoras
Matemática 1
Matemática 2
Expresión de Problemas y Algoritmos
Introducción al Pensamiento Científico
Segundo año
Ingeniería de Software 1
Introducción a las Bases de Datos
Algoritmos y Estructuras de Datos C++
Orientación a Objetos 1 JAVA
Seminario de Lenguajes Python
Introducción a los Sistemas Operativos
Matemática 3
Probabilidad y Estadística
Tercer año
Programación Concurrente Python
Ingeniería de Software 2
Orientación a Objetos 2 JAVA
Sistemas y organizaciones
Bases de Datos 1
Proyecto de Software
2 Niveles de Ingles + PPP
Tercer año
Conceptos y Paradigmas de Lenguajes de Programación
Redes y comunicaciones
Cuarto año
Ingeniería de Software 3
Bases de Datos 2
Fundamentos de Teoría de la Computación
Sistemas Operativos
Desarrollo de software en Sistemas Distribuidos
Matemática Discreta
Optativa Área Arquitectura, Sistemas Operativos y Redes
Optativa Área Algoritmos y Lenguajes
Quinto año
Política y Gestión Tecnológicas
Aspectos Legales y Profesionales de la Informática
Nuevos Escenarios
Optativa Área Ingeniería de Software y Bases de Datos
Seminario de Trabajo Final
Además de dos seminarios y otro nivel de ingles
licsistemas@unla.edu.ar
Mail de Juan Manuel, el asistente de la
carrera
U1:BIENVENIDOS A PROGRAMACIÓN DE
COMPUTADORAS
Unidad 1:
Resolución de problemas. Fase de resolución del problema: Análisis del
Problema, Diseño del Algoritmo. Verificación de algoritmos. Fase de
Implementación. Prueba de escritorio. Conceptos de compiladores e
intérpretes. Lenguajes de programación. Lenguaje C. Tipo de datos en C.
Constantes y Variables. Operadores y expresiones. Problemas:
implementación y testeo.
Unidad 2:
Estructuras de control: bifurcación y selección (if, switch). Funciones:
tipos de parámetros y retorno; argumentos y valores de retorno.
Problemas: implementación y testeo.
Unidad 3:
Estructuras de control: iteración (for, while, do while). Problemas:
implementación y testeo. Algoritmos de búsqueda: secuencial y binaria.
Entrada / Salida desde consola. Nociones de recursividad. Problemas:
implementación y testeo.
Unidad 4:
Tipos de datos compuestos. Arreglos unidimensionales y
bidimensionales. Cadenas: Concepto de cadena, Inicialización, lectura,
funciones de cadena , conversión de cadenas a números y viceversa.
Algoritmos de ordenación: burbuja, selección e inserción. Problemas:
implementación y testeo.
Unidad 5:
Tipos definidos por el usuario (estructuras/registros). Declaración de tipos y
variables del tipo en C. Typedef. Array de estructuras. Problemas:
implementación y testeo.
Unidad 6:
Punteros. Concepto. Tipos de punteros. Punteros como argumentos de
funciones. Manejo dinámico de memoria (malloc, free). Estructuras
dinámicas. Problemas: implementación y testeo.
Unidad 7:
Tipos de Datos Abstractos (TDA). Definción e implementación en C.
Aplicaciones.
Unidad 8:
Estructuras dinámicas lineales de datos. Lista simple y doble enlazada. Pila.
Cola. Doble cola. Implementación con TDA y aplicaciones. Recursividad y
estructuras recursivas. Problemas: implementación y testeo.
U1:BIENVENIDOS A PROGRAMACIÓN DE
COMPUTADORAS
¿Qué era la programación?
¿Qué era un algoritmo?
La programación hace referencia al efecto de programar, es
decir, de organizar una secuencia de pasos ordenados a
seguir para hacer cierta cosa. Este término puede utilizarse
muchos contextos, por ejemplo: “Vamos a programar una
salida para este fin de semana largo” o “La programación de
ese canal de televisión está bien lograda”.
Los programas informáticos suelen seguir algoritmos, que
son el conjunto de instrucciones que se encuentran
organizadas y relacionadas entre sí de cierta manera y que
permiten llegar a la solución de un problema, y que a su vez
contienen módulos más pequeños que le aportan detalles
más finos. Todo esto a escala de gran complejidad forma
parte de la programación informática que permite trabajar
al software de los equipos de computación y la cual suele
llevada a cabo por técnicos o ingenieros en sistemas.
¿Cómo se escribe un algoritmo?
El ordenador sólo entiende un lenguaje conocido como código
binario o código máquina, consistente en ceros y unos. Es decir, sólo
utiliza 0 y 1 para codificar cualquier acción.
Los lenguajes más próximos a la arquitectura hardware se denominan
lenguajes de bajo nivel y los que se encuentran más cercanos a los
programadores y usuarios se denominan lenguajes de alto nivel.
U1:BIENVENIDOS A PROGRAMACIÓN DE
COMPUTADORAS
U1:PRIMEROS PASOS - PRINTF
• #include <stdio.h>
• #include <stdlib.h>
• int main()
• {
• printf("Bienvenidos a programacion de Computadorasnnn");
• printf("Utilizando lenguaje C");
• return 0;
• }
U1:PRIMEROS PASOS - PRINTF
• #include <stdio.h>
• #include <stdlib.h>
• int main()
• {
• printf("Bienvenidos a programacion de Computadorasn");
• printf("Utilizando lenguaje C"); //nico
• //El n nos permite dejar tantos renglones como se nos antoje
• //el “//” nos sirve para escribir comentarios que nos ayudan a leer el código
• /*/El * / nos sirve para comenzar comentarios
• en varios renglones, hasta tener el simbolo -----> */
• return 0; //return 0 lo usaremos para indicar que termina el programa
• }
U1:PRIMEROS PASOS - PRINTF
• #include <stdio.h>
• #include <stdlib.h>
• //Programa que nos pregunta la edad
• int main()
• {
• printf(“Ingrese su edad por favor: ");
• //El printf muchas veces lo usaremos para darle ordenes al operador
• // de la pc, para que ingrese por teclado.
• return 0;
• }
UI: TIPOS DE DATOS EN C
Int main(){
//Declaro las variables
int a; float b;
double d,e,f;
char g;
return 0;}
UI: DEL PSEUDO-CODIGO A C
#include <stdio.h>
#include <stdlib.h>
int main(){ //inicio del algoritmo
int edad1, edad2;
float promEdad;
printf (“Ingrese la edad nro1 n”);
scanf(“%d”, &edad1);
printf (“Ingrese la edad nro2 n”);
scanf(“%d”, &edad2);
promEdad = (edad1+ edad2)/2;
printf(“El promedio es: %f”, promEdad);
return 0; //fin algoritmo
Inicio algoritmo
numero edad1, edad2, promEdad
escribir(“Ingrese la edad nro 1”);
leer(edad1);
escribir(“Ingrese la edad nro 2”);
leer(edad2);
promEdad = (edad1+edad2)/2;
escribir(“El promedio es: “, promEdad);
Fin Algoritmo
UI: DEL SEUDO-CODIGO A C
Ejemplos que mas usaremos:
int n;
printf("Introduce un numero: ");
scanf("%d",&n);
char m;
printf("Introduce un caracter: ");
scanf("%c",&m);
// Notese la ausencia de &
char cad[20];
printf("Introduce una palabra: ");
scanf("%s",cad);
Float numero;
printf("Introduce un numero con coma: ");
scanf("%f",&numero);
Vemos entonces que traducir del
seudocódigo a C es muy simple, lo mas
complejo de entender será el cambio de
LEER(x) a scanf(…).
El scanf tiene la siguiente estructura:
scanf(“%mascaraDeDato”, &dato);
La mascara dependerá del tipo de dato que
queremos cuargar. Por ejemplo si queremos
guardar un entero (int), debemos usar la
mascara “%d”.
UI: DEL SEUDO-CODIGO A C
Ejemplo 1: Pedir por pantalla, edad, apellido y altura,
guardarlos en variables. Mostrar lo que se ingreso.
U1:BIENVENIDOS A PROGRAMACIÓN DE
COMPUTADORAS
¿Qué necesito para esta primer clase?
Instalar el CodeBlocks, pueden consultar de donde y cómo desde este video:
https://www.youtube.com/watch?v=VQUHdA25FZo
¿Qué debo hacer antes de la segunda clase?
Les pedimos que resuelvan los primeros 5 ejercicios de este powerpoint (Siguiente diapositiva)
¿Donde puedo consultar mas ejemplos y dudas?
https://www.youtube.com/watch?v=l5__z2EKSLY&t=2s
UI: DEL SEUDO-CODIGO A C
Ejercicio 1: Pedir por pantalla 2 números y sumarlos. Mostrar el
resultado.
Ejercicio 2: Pedir por pantalla 2 números y dividirlos, mostrar el
resultado.
Ejercicio 3: Pedir por pantalla nombre, apellido, edad, altura y
genero de una persona, mostrar los datos por pantalla.
Ejercicio 4: Explicar que muestra por pantalla cada línea.
int a = 1;
int b = 2;
printf("Que muestra: %d n" , 3==5);
printf("Que muestra: %d n" , 3<=5);
printf("Que muestra: %d n" , -3<=-5);
printf("Que muestra: %d n" , (3<=5)&&(3==3));
printf("Que muestra: %d n" , (a<=b)||(b==4));
printf("Que muestra: %d n" , (a<=b)||(b==4));
printf("Que muestra: %d n" , (8 % 3));
Ejercicio 5: Mostrar el resultado de (a==b)&&((3<b)||(b<a) ), a y b
son ingresados por el usuario.

Más contenido relacionado

Similar a clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx

Manual programación lenguaje c
Manual programación lenguaje cManual programación lenguaje c
Manual programación lenguaje c
kikeMerck
 
Conceptos básicos
Conceptos básicosConceptos básicos
Conceptos básicos
pablo
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
Jalil Segura
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
Jalil Segura
 

Similar a clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx (20)

Manual programación lenguaje c
Manual programación lenguaje cManual programación lenguaje c
Manual programación lenguaje c
 
Practicas bloque 1
Practicas bloque 1Practicas bloque 1
Practicas bloque 1
 
Programación c++forcsma
Programación c++forcsmaProgramación c++forcsma
Programación c++forcsma
 
Clase 1 - Programación.pptx
Clase 1 - Programación.pptxClase 1 - Programación.pptx
Clase 1 - Programación.pptx
 
Ciclo de vida de un programa
Ciclo de vida de un programaCiclo de vida de un programa
Ciclo de vida de un programa
 
Conceptos basicos algoritmos
Conceptos basicos algoritmosConceptos basicos algoritmos
Conceptos basicos algoritmos
 
Introducción a la informática
Introducción a la informáticaIntroducción a la informática
Introducción a la informática
 
Conceptos básicos
Conceptos básicosConceptos básicos
Conceptos básicos
 
lenguaje c.ppt
lenguaje c.pptlenguaje c.ppt
lenguaje c.ppt
 
Introducción al curso de C.docx
Introducción al curso de C.docxIntroducción al curso de C.docx
Introducción al curso de C.docx
 
El mundo del lenguaje c++
El mundo del lenguaje c++El mundo del lenguaje c++
El mundo del lenguaje c++
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
 
TRABAJO FINAL PROGRAMACIÓN.pdf
TRABAJO FINAL PROGRAMACIÓN.pdfTRABAJO FINAL PROGRAMACIÓN.pdf
TRABAJO FINAL PROGRAMACIÓN.pdf
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadora
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadora
 
Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Lenguajes de programación parte i.4
Lenguajes de programación parte i.4
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 

Último

UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
refrielectriccarlyz
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
SalomeRunco
 
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
samuelsan933
 

Último (20)

Balance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoBalance materia y energia procesos de Secado
Balance materia y energia procesos de Secado
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo Limache
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
3er Informe Laboratorio Quimica General (2) (1).pdf
3er Informe Laboratorio Quimica General  (2) (1).pdf3er Informe Laboratorio Quimica General  (2) (1).pdf
3er Informe Laboratorio Quimica General (2) (1).pdf
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
 
Mecatronica Automotriz .pdf
Mecatronica Automotriz              .pdfMecatronica Automotriz              .pdf
Mecatronica Automotriz .pdf
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjdS06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
S06_s2+-+Centro.pdf qiieiejanahshsjsnndjd
 
8 mejores máquinas virtuales para Windows.pdf
8 mejores máquinas virtuales para Windows.pdf8 mejores máquinas virtuales para Windows.pdf
8 mejores máquinas virtuales para Windows.pdf
 
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdfUNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
UNIDAD 3 ENSAYOS DESTRUCTIVOS Y NO DESTRUCTIVOS – NORMATIVA ASTM.pdf
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
 
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
S3-OXIDOS-HIDROXIDOS-CARBONATOS (mineralogia)
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 
portafolio final manco 2 1816827 portafolio de evidencias
portafolio final manco 2 1816827 portafolio de evidenciasportafolio final manco 2 1816827 portafolio de evidencias
portafolio final manco 2 1816827 portafolio de evidencias
 
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdfGUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
GUIA DE SEGURIDAD PARA VENTILACION DE MINAS-POSITIVA.pdf
 
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptx
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptxESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptx
ESTUDIO DE TRAFICO PARA EL DISEÑO DE TIPOS DE VIAS.pptx
 

clase-Unidad1 y Unidad2-Pseudo-Print-Scanf-IF (1).pptx

  • 1. PROGRAMACIÓN DE COMPUTADORAS Licenciatura en Sistemas – Estamos por iniciar Pongan sus nombres en el meet, apaguen sus micrófonos y cámaras… 8:10 iniciamos por ser la clase 1. Pueden ir saludando por el chat Equipo docente: Jorge Golfieri, y Nicolás Perez Mails: jgolfieri@hotmail.com y nperez_dcao_smn@outlook.com Facebook: https://www.facebook.com/groups/171510736842353 Git: https://github.com/UNLASistemasProgramacion/Programacion-de-Computadoras E-mail: programacion.sistemas.unla@gmail.com Instagram: https://www.instagram.com/nico_perez_unla/ Slack: https://join.slack.com/t/unlaprogramac-sq03771/shared_invite/zt-15vhrezlc-D11ywd~Pe35Ro32OskeiNg
  • 2. PROGRAMACIÓN DE COMPUTADORAS Licenciatura en Sistemas – Presentación - UNIDAD 1: Printf – Scanf - Operadores Equipo docente: Jorge Golfieri, y Nicolás Perez Mails: jgolfieri@hotmail.com y nperez_dcao_smn@outlook.com Facebook: https://www.facebook.com/groups/171510736842353 Git: https://github.com/UNLASistemasProgramacion/Programacion-de-Computadoras E-mail: programacion.sistemas.unla@gmail.com Instagram: https://www.instagram.com/nico_perez_unla/
  • 3. U1:BIENVENIDOS A SISTEMAS Primer año Programación de Computadoras C Organización de Computadoras Arquitectura de Computadoras Matemática 1 Matemática 2 Expresión de Problemas y Algoritmos Introducción al Pensamiento Científico Segundo año Ingeniería de Software 1 Introducción a las Bases de Datos Algoritmos y Estructuras de Datos C++ Orientación a Objetos 1 JAVA Seminario de Lenguajes Python Introducción a los Sistemas Operativos Matemática 3 Probabilidad y Estadística Tercer año Programación Concurrente Python Ingeniería de Software 2 Orientación a Objetos 2 JAVA Sistemas y organizaciones Bases de Datos 1 Proyecto de Software 2 Niveles de Ingles + PPP Tercer año Conceptos y Paradigmas de Lenguajes de Programación Redes y comunicaciones Cuarto año Ingeniería de Software 3 Bases de Datos 2 Fundamentos de Teoría de la Computación Sistemas Operativos Desarrollo de software en Sistemas Distribuidos Matemática Discreta Optativa Área Arquitectura, Sistemas Operativos y Redes Optativa Área Algoritmos y Lenguajes Quinto año Política y Gestión Tecnológicas Aspectos Legales y Profesionales de la Informática Nuevos Escenarios Optativa Área Ingeniería de Software y Bases de Datos Seminario de Trabajo Final Además de dos seminarios y otro nivel de ingles licsistemas@unla.edu.ar Mail de Juan Manuel, el asistente de la carrera
  • 4. U1:BIENVENIDOS A PROGRAMACIÓN DE COMPUTADORAS Unidad 1: Resolución de problemas. Fase de resolución del problema: Análisis del Problema, Diseño del Algoritmo. Verificación de algoritmos. Fase de Implementación. Prueba de escritorio. Conceptos de compiladores e intérpretes. Lenguajes de programación. Lenguaje C. Tipo de datos en C. Constantes y Variables. Operadores y expresiones. Problemas: implementación y testeo. Unidad 2: Estructuras de control: bifurcación y selección (if, switch). Funciones: tipos de parámetros y retorno; argumentos y valores de retorno. Problemas: implementación y testeo. Unidad 3: Estructuras de control: iteración (for, while, do while). Problemas: implementación y testeo. Algoritmos de búsqueda: secuencial y binaria. Entrada / Salida desde consola. Nociones de recursividad. Problemas: implementación y testeo. Unidad 4: Tipos de datos compuestos. Arreglos unidimensionales y bidimensionales. Cadenas: Concepto de cadena, Inicialización, lectura, funciones de cadena , conversión de cadenas a números y viceversa. Algoritmos de ordenación: burbuja, selección e inserción. Problemas: implementación y testeo. Unidad 5: Tipos definidos por el usuario (estructuras/registros). Declaración de tipos y variables del tipo en C. Typedef. Array de estructuras. Problemas: implementación y testeo. Unidad 6: Punteros. Concepto. Tipos de punteros. Punteros como argumentos de funciones. Manejo dinámico de memoria (malloc, free). Estructuras dinámicas. Problemas: implementación y testeo. Unidad 7: Tipos de Datos Abstractos (TDA). Definción e implementación en C. Aplicaciones. Unidad 8: Estructuras dinámicas lineales de datos. Lista simple y doble enlazada. Pila. Cola. Doble cola. Implementación con TDA y aplicaciones. Recursividad y estructuras recursivas. Problemas: implementación y testeo.
  • 5. U1:BIENVENIDOS A PROGRAMACIÓN DE COMPUTADORAS ¿Qué era la programación? ¿Qué era un algoritmo? La programación hace referencia al efecto de programar, es decir, de organizar una secuencia de pasos ordenados a seguir para hacer cierta cosa. Este término puede utilizarse muchos contextos, por ejemplo: “Vamos a programar una salida para este fin de semana largo” o “La programación de ese canal de televisión está bien lograda”. Los programas informáticos suelen seguir algoritmos, que son el conjunto de instrucciones que se encuentran organizadas y relacionadas entre sí de cierta manera y que permiten llegar a la solución de un problema, y que a su vez contienen módulos más pequeños que le aportan detalles más finos. Todo esto a escala de gran complejidad forma parte de la programación informática que permite trabajar al software de los equipos de computación y la cual suele llevada a cabo por técnicos o ingenieros en sistemas. ¿Cómo se escribe un algoritmo? El ordenador sólo entiende un lenguaje conocido como código binario o código máquina, consistente en ceros y unos. Es decir, sólo utiliza 0 y 1 para codificar cualquier acción. Los lenguajes más próximos a la arquitectura hardware se denominan lenguajes de bajo nivel y los que se encuentran más cercanos a los programadores y usuarios se denominan lenguajes de alto nivel.
  • 7. U1:PRIMEROS PASOS - PRINTF • #include <stdio.h> • #include <stdlib.h> • int main() • { • printf("Bienvenidos a programacion de Computadorasnnn"); • printf("Utilizando lenguaje C"); • return 0; • }
  • 8. U1:PRIMEROS PASOS - PRINTF • #include <stdio.h> • #include <stdlib.h> • int main() • { • printf("Bienvenidos a programacion de Computadorasn"); • printf("Utilizando lenguaje C"); //nico • //El n nos permite dejar tantos renglones como se nos antoje • //el “//” nos sirve para escribir comentarios que nos ayudan a leer el código • /*/El * / nos sirve para comenzar comentarios • en varios renglones, hasta tener el simbolo -----> */ • return 0; //return 0 lo usaremos para indicar que termina el programa • }
  • 9. U1:PRIMEROS PASOS - PRINTF • #include <stdio.h> • #include <stdlib.h> • //Programa que nos pregunta la edad • int main() • { • printf(“Ingrese su edad por favor: "); • //El printf muchas veces lo usaremos para darle ordenes al operador • // de la pc, para que ingrese por teclado. • return 0; • }
  • 10. UI: TIPOS DE DATOS EN C Int main(){ //Declaro las variables int a; float b; double d,e,f; char g; return 0;}
  • 11. UI: DEL PSEUDO-CODIGO A C #include <stdio.h> #include <stdlib.h> int main(){ //inicio del algoritmo int edad1, edad2; float promEdad; printf (“Ingrese la edad nro1 n”); scanf(“%d”, &edad1); printf (“Ingrese la edad nro2 n”); scanf(“%d”, &edad2); promEdad = (edad1+ edad2)/2; printf(“El promedio es: %f”, promEdad); return 0; //fin algoritmo Inicio algoritmo numero edad1, edad2, promEdad escribir(“Ingrese la edad nro 1”); leer(edad1); escribir(“Ingrese la edad nro 2”); leer(edad2); promEdad = (edad1+edad2)/2; escribir(“El promedio es: “, promEdad); Fin Algoritmo
  • 12. UI: DEL SEUDO-CODIGO A C Ejemplos que mas usaremos: int n; printf("Introduce un numero: "); scanf("%d",&n); char m; printf("Introduce un caracter: "); scanf("%c",&m); // Notese la ausencia de & char cad[20]; printf("Introduce una palabra: "); scanf("%s",cad); Float numero; printf("Introduce un numero con coma: "); scanf("%f",&numero); Vemos entonces que traducir del seudocódigo a C es muy simple, lo mas complejo de entender será el cambio de LEER(x) a scanf(…). El scanf tiene la siguiente estructura: scanf(“%mascaraDeDato”, &dato); La mascara dependerá del tipo de dato que queremos cuargar. Por ejemplo si queremos guardar un entero (int), debemos usar la mascara “%d”.
  • 13. UI: DEL SEUDO-CODIGO A C Ejemplo 1: Pedir por pantalla, edad, apellido y altura, guardarlos en variables. Mostrar lo que se ingreso.
  • 14. U1:BIENVENIDOS A PROGRAMACIÓN DE COMPUTADORAS ¿Qué necesito para esta primer clase? Instalar el CodeBlocks, pueden consultar de donde y cómo desde este video: https://www.youtube.com/watch?v=VQUHdA25FZo ¿Qué debo hacer antes de la segunda clase? Les pedimos que resuelvan los primeros 5 ejercicios de este powerpoint (Siguiente diapositiva) ¿Donde puedo consultar mas ejemplos y dudas? https://www.youtube.com/watch?v=l5__z2EKSLY&t=2s
  • 15. UI: DEL SEUDO-CODIGO A C Ejercicio 1: Pedir por pantalla 2 números y sumarlos. Mostrar el resultado. Ejercicio 2: Pedir por pantalla 2 números y dividirlos, mostrar el resultado. Ejercicio 3: Pedir por pantalla nombre, apellido, edad, altura y genero de una persona, mostrar los datos por pantalla. Ejercicio 4: Explicar que muestra por pantalla cada línea. int a = 1; int b = 2; printf("Que muestra: %d n" , 3==5); printf("Que muestra: %d n" , 3<=5); printf("Que muestra: %d n" , -3<=-5); printf("Que muestra: %d n" , (3<=5)&&(3==3)); printf("Que muestra: %d n" , (a<=b)||(b==4)); printf("Que muestra: %d n" , (a<=b)||(b==4)); printf("Que muestra: %d n" , (8 % 3)); Ejercicio 5: Mostrar el resultado de (a==b)&&((3<b)||(b<a) ), a y b son ingresados por el usuario.