Bienvenido al Curso

1

Introducción al curso básico de algoritmos y estructuras de datos

Introducción a los algoritmos

2

¿Qué entiende una computadora?

3

Lenguajes de programación

4

Estructuras de datos

5

¿Qué es un algoritmo?

6

Metodología para la construcción de un algoritmo

7

Variables y tipos de datos

8

User defined data types

9

Instalando Ubuntu Bash en Windows

10

Creando nuestro user defined data type

11

Abstract Data Types básicos: Lists, Stacks, Queues

12

Explicación gráfica Data Types básicos

13

Glosario de funciones para Abstract Data Types

14

Clases y objetos

15

Creando tu primera Queue: Arrays

16

Creando tu primera Queue: implementación.

17

Creando tu primera Queue: implementar la función enQueue

18

Creando tu primera Queue: implementar la función deQueue

19

Creando tu primera Queue: main code

Algoritmos de ordenamiento

20

Algoritmos de ordenamiento

21

Bubble sort

22

Bubble sort: implementación

23

Bubble sort: main code

24

Insertion sort

25

Desafío: implementa un algoritmo de ordenamiento

Recursividad

26

Recursividad

27

La función Factorial, calculando el factorial recursivamente

28

Manejo de cadenas de caracteres

29

Arte: Generando arte recursivo

Divide and conquer y programación dinámica

30

Divide and Conquer (divide y vencerás)

31

Qué es la programación dinámica (divide y vencerás v2.0)

32

MergeSort

33

Desafío: Buscar el algortimo más rápido de sort

34

Implementando QuickSort con Python

35

Implementando QuickSort con Python: main code

Algoritmos 'Greedy'

36

Qué son los Greedy Algorithm

37

Ejercicio de programación greedy

38

Ejercio de programación greedy: main code

Grafos y árboles

39

Grafos y sus aplicaciones

40

Árboles

¿Cómo comparar Algoritmos?

41

Cómo comparar algoritmos y ritmo de crecimiento

¿Qué sigue?

42

Cierre del curso y siguientes pasos

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Creando nuestro user defined data type

10/42
Recursos

En esta clase aprenderemos a escribir una tipo de datos personalizada en C. No temas y deja en la sección de comentarios un User Defined Data Type en tu lenguaje favorito.

Aportes 496

Preguntas 67

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Los cursos que he intentado realizar con Ricardo, no los he podido llevar al final, pues siempre en el proceso , Ricardo va indicando nuevos conocimientos que se deben tener para realizar el curso.Mi recomendación es que en el vídeo inicial, indique cuales son los conocimientos que se requieren previamente para poder tener un nivel de comprensión por lo menos aceptable.
Cuando la formación está dirigida a personas con unos conocimientos definidos, es distinta a la formación de personas que no poseen esas bases y en lo que he podido percibir de los cursos de Ricardo, es que siempre van dirigidos a personas conocedoras del tema, con lo cual su pedagogía no aplica para aquellos que ingresamos a Platzi, precisamente para conocer y aprender.

Los indicadores de tipos de datos principales son:

Mi código en python :3

class clients:
	def __init__(self, name, id, credit, address):
		self.name = name
		self.id = id
		self.credit = credit
		self.address = address

cliente = clients("Sebastian", "0000004", "1000000", "Carabayllo, parque 2 ciudad Lima")

def muestra_clientes():
	print("Nombre: ", cliente.name)
	print("Id: ", cliente.id)
	print("Crédito: ", cliente.credit)
	print("Dirección: ", cliente.address)


if __name__ == '__main__':
	muestra_clientes()```

Use JavaScript…

Hola Ricardo,
Para los usuarios de Linux y novatos (como yo), usamos la terminal y cambia el comando para compilar usamos:

gcc uddt.c -o uddt

y para ejecutarlo lo invocamos asi:

./udtt

Gracias me sirvio para aprender algo mas de esta clase.
Saludos

Esto no son Algoritmos, esto es una clase de C… Que perdida de tiempo aprender a hacer esto… yo no vine aquí por esto.

el curso de programacion basica, esta hecho en base a javascript, y es facil de comprender… por que no diseñaron los cursos para tener una misma didactica, para las personas que estan empezando de cero

Bueno después de 12 horas de análisis, de lectura de ver mas cursos para entender como llego hasta aquí y que necesitaba yo para realizar lo mínimo necesario, lo logre.
Me leí todos los comentarios, y configure todo, luego toco revisar el código, no cabe duda que no para uno de aprender y batallar en el buen sentido:

Si alguien tiene problemas porque las librerias que se utlizan no funcionan, en la consola (ubuntu) pongan estos comandos:
sudo apt-get update (instala nuevas versiones de softwares)
sudo apt-get install gcc (instala gcc, que es esencial para que funcionen las librerias)

Para todos aquellos que no puedieron instalar linux bash, usen https://repl.it/languages/c que tiene el compliador en linea y se ahorran todos los problemas

Hola, para quien no le funcione el terminar de Ubuntu, o tenga un error al compilar el programa, pueden usar https://repl.it permite escribir código en C y otros lenguajes, los compila y todo, sin la necesidad de instalar nada. 😎😎✌

Esta es mi clase en js

class Hero {
	constructor(name, superpower) {
		this.name = name;
		this.superpower = superpower;
	}
}
const hero1 = new Hero(‘Alejo’, ‘Mage’);
class client 
{
    constructor (name, id, credit, adress){
        this.name = name
        this.id = id
        this.credit = credit
        this.adress = adress
    }
}

let client1 = new client ("Camilo Valencia", 1, 1000000, "caller 1, carrera 1, ciudad Bolivar")

console.log(client1);```

No es “direction” sino “address”… Anotado… 😬

Platzi debe vincular este link por que mas de uno nos perdemos nunca dicen que hay que instalar el gcc y g++ para poder trabajar en C desde linux https://platzi.com/tutoriales/1189-algoritmos/1901-como-instalar-gcc-para-compilar-programas-en-c-desde-la-consola-en-windows/ por favor sean claros ya que no muchos saben buscar la info ademas no dicen nada de esto en el video

Si quieres tener Ubuntu en Windows 10, te comparto este tutorial: https://platzi.com/clases/1469-algoritmos/18427-instalando-ubuntu-bash-en-windows/

Mi clase con Ruby:

class Hero
  def initialize(name, superpower)
    @name = name
    @superpower = superpower
  end
end

batman = Hero.new("Batman", "Money :P")

Me quedo con python o javascript toda la vida

Yo instale https://code.visualstudio.com/ para windows y el compilador GCC http://www.mingw.org/ tanto la compilación como el ejecutable me funcionó, tengo window 7

Lo queria compilar en Linux for windows, quería aprender y me tomo algo de tiempo pero lo logre.

#include "stdlib.h"
#include "stdio.h"
#include "string.h"

struct client
{
    char IP[16];
    char MAC[20];
    char location[30];
    float voltage;
    float amp;
    float powerS;
    
};


int main(int argc, char const *argv[])
{
   struct client client1={0};
    strcpy (client1.IP, "10.0.0.200");
    strcpy (client1.MAC, "25:10:CE:58:23");
    strcpy (client1.location, "47.6413677,-122.1328003");
    client1.voltage= 3.3;
    client1.amp= 0.020;
    client1.powerS= 0.066;

    printf("The client IP is: %s \n", client1.IP);
    printf("The client MAC is: %s \n", client1.MAC);
    printf("The client Location is: %s \n", client1.location);
    printf("The client Voltaje is: %f \n", client1.voltage);
    printf("The client amp is: %f \n", client1.amp);
    printf("The client Power S is: %f \n", client1.powerS);
    return 0;
}

Resultadoooo

The client IP is: 10.0.0.200
The client MAC is: 25:10:CE:58:23
The client Location is: 47.6413677,-122.1328003
The client Voltaje is: 3.300000
The client amp is: 0.020000
The client Power S is: 0.066000

Hola 😄
Recién empiezo el curso y me encontré con una serie de problemas a la hora de usar consola de Ubuntu a continuación dejare unos consejos y la serie de pasos que me funcionaron para poder usarla y poder continuar con el curso


sudo apt-get update (para instalar nuevas versiones de software)
sudo apt-get install gcc(instala gcc, que es muy esencial para que funcionen las librerias)


acto seguido buscar en nuestra ruta donde este guardado el archivo, en mi caso estaba en la raiz y por medio del comando ls muestra una lista de los archivos que tenemos en la raiz.


acto seguido entramos a mnt
cd mnt


acto seguido entramos a c (en mi caso mi Disco Local si tu tienes otros discos te aparecerá la iniciar o la letra de tu disco
cd c


luego nos vamos a la carpeta users
cd user


luego buscamos nuestro usuario de la pc en mi caso DanielG
cd danielg


Si guardaste tu documento en otro directorio puedes buscar con el comando “ls” y aparecerán los directorios y seleccionas donde guardaste el documento
en mi caso, yo guarde el documento en mi escritorio

cd desktop


en el directorio donde lo guardaste buscamos la carpeta (yo la guarde como algoritmos
cd algoritmos


si ya tenemos la carpeta donde guardamos el archivo
ejecutamos esta linea de comando para compilar nuestro documento

gcc uddt.c -o uddt.exe


luego de ejecutarlo lo corremos con el siguiente comando

./uddt.exe


espero les sirva como a mi 😄

¿Esto por qué esta pansando?
1.- gcc uddt.c -o uddt
2.-./uddt
3.- [1] 24764 illegal hardware instruction ./uddt

en MAC OS

Command ‘gcc’ not found, but can be installed with:

sudo apt install gcc

Me sale esto y no sé cómo solucionarlo

Pueden ejecutar el código online seleccionan el lenguaje que es C y listo en esta pagina
https://paiza.io/projects/VrETHWZYZopk-LylT8S6bw

estoy empesando y solo se usar windows… y ya sales con ubuntu y bash shell ? ??? WTF

Al instalar el bash de ubuntu, se puede generar alguna afectación en el funcionamiento de windows?

y ya metes temas como librerias en C??? wtf, que es eso ? no empesarias por explicar que es una libreria???

Me base en el codigo de Aldo Salas en .js pero lo modifique para que se muestre en pantalla.

class Client{
    constructor(Name, Id, Credit, Address) {
      this.Name = Name
      this.Id = Id
      this.Credit = Credit
      this.Address = Address
    }
  }
  
  var client1 = new Client("Camilo Valencia", "0000000001", 1000000, "Calle 1, Carrera 1 ciudad bolivar")
  
  document.write ("The client name is: " + client1.Name + "<br />")
  document.write ("The client Id is: " + client1.Id + "<br />")
  document.write ("The client Credit is: " + client1.Credit + "<br />")
  document.write ("The client Address is: " + client1.Address)

Mi solución en Python:

class Student:
    def __init__(self, uid, name, age, courses):
        self.uid = int(uid)
        self.name = str(name)
        self.age = int(age)
        self.courses = list(courses)


if __name__ == '__main__':
    student1 = Student(1, 'Hector', 14, ['Programming', 'English'])
    print('Name:', student1.name, ', Age:', student1.age, ', Courses:')
    for course in student1.courses:
        print('-', course)

ME GUSTÓ MUCHO ESTE EJERCICIO EN C ASI QUE HICE UNO SIMILAR

#include "stdlib.h"
#include "stdio.h"
#include "string.h"

struct pet
{
  char Animal[30];
  char Name[30];
  int Age;
  char Address [100];
};

main(int argc, char const *argv[])
{
  struct pet pet1 = {0};
  struct pet pet2 = {0};

  strcpy(pet1.Animal, "Dog");
  strcpy(pet1.Name, "Max");
  strcpy(pet1.Address, "Calle 2, San jose México");
  pet1.Age = 8;

  strcpy(pet2.Animal, "Cat");
  strcpy(pet2.Name, "Mishi");
  strcpy(pet2.Address, "Calle 10, San Juan Puerto Rico");
  pet2.Age = 15;

  printf("This animal is: %s\n", pet1.Animal);
  printf("Its name is: %s\n", pet1.Name);
  printf("Its age is: %d months\n", pet1.Age);
  printf("Its address is: %s\n", pet1.Address);

  printf("\nThis animal is: %s\n", pet2.Animal);
  printf("Its name is: %s\n", pet2.Name);
  printf("Its age is: %d months\n", pet2.Age);
  printf("Its address is: %s\n", pet2.Address);



  return 0;
}```

En kotlin:

data class Client(val name: String, val id: String, val credit: Float, val address: String)

fun main() {
  val client1 = Client("Camilo Valencia", "0000000001", 1000000F, "Calle 1, Carrera 1 Ciudad Bolívar")
  println(client1) // Client(name=Camilo Valencia, id=0000000001, credit=1000000.0, address=Calle 1, Carrera 1 Ciudad Bolívar)
}

Antes de querer seguir tus pasos como lo haces en la ejecucion del mismo es muy probable que halla tenido que ver otros cursos adicionales ya que aunque segui al pie de la letra lo que hiciste tuve bastantes errores y no tuve como solucionarlos , aun asi genial porque esto me motiva a investigar mas y pues ver los cursos que sean necesarios para que llegue el momento en que diga ahhhhhh ya se ese error porque es

En Python

class user_data:

    def __init__(self, name, id, credit, address):
        self.name = name
        self.id = id
        self.credit = credit
        self.address = address

    def print_data(self):
        print("Client's name: {}.\nId: {}\nCredit: {}\nAddress: {}".format(self.name, self.id, self.credit, self.address))


if __name__ == '__main__':
    client = user_data("Camilo Valencia", "123456789", "100000", "Calle Falsa 123")
    client.print_data()```

No se como acceder a la carpeta de donde cree el archivo uddt.c con linux de w10. Pero lo logré utilizando Git Bash ya que ahi si me aparecen las carpetas de Windows

Algo importante que no se menciono es que, al momento de usar cadenas en C siempre se aumenta un carácter más que representa el carácter de final del string “\0”. Es decir si queremos usar un ID de 10 caracteres deberemos usar un arreglo de 11 posiciones. De no ser así, dependiendo del tipo de compilador que se use esto puede generar problemas al momento de ejecutar.

Aquí mi aporte usando Javascript.

class Client {
    constructor(name, id, credit, address) {
        this.name = name
        this.id = id
        this.credit = credit
        this.address = address
    }
}


class getDataClient extends Client {
    constructor(name, id, credit, address) {
        super(name, id, credit, address)
    }

    setData() {
        console.log(`Hello, I'm: ${this.name}`);
        console.log(`My id is: ${this.id}`);
        console.log(`My have a credit of: ${this.credit}`);
        console.log(`My address is: ${this.address}`);
    }
}


const client = new getDataClient('Pepito', '00000001', '11000000', 'Calle 1 nro 23 24 barrio Villa Algoritmo');
client.setData();


JavaScript

class client {
  constructor(Name, Id, Credit, Address)
  {
    this.Name = Name;
    this.Id = Id;
    this.Credit = Credit;
    this.Address = Address;
  }
}

var uClient = [];
uClient.push(new client("Sasuke uchiha","0000000001", 10000,"nacion del fuego,konoha, distirto uchiha 15"));

Lo hice en python

class Mage:
    def __init__(self, Name, Level, Power, Type):
        self.Name = Name
        self.Level = Level
        self.Power = Power
        self.Type = Type

Salazar = Mage('Juan Gabriel', '50', 100000, 'Transfor')

print(f"The mage name is {Salazar.Name}\nThe mage level is {Salazar.Level}\nThe mage power is {Salazar.Power}\nThe mage type is {Salazar.Type}\n")

➜ curso_algoritmos % gcc uddt.c -o uddt.exe
fg: no current job
➜ curso_algoritmos

Creo que funcionó, toca instalar el gcc, la consola me dio las indicaciones:
sudo apt-get install gcc

C++

#include <iostream>
#include <string>
using namespace std;

class student
{
    private:
      string Name;
      string Id;
      int Age;

    public:
      // constructor
      student(string n, string id, int a)
      {
        Name = n;
        Id = id;
        Age = a;
      }
      string get_Name()
      {
        return Name;
      }
      string get_Id()
      {
        return  Id;
      }
      int get_Age()
      {
        return Age;
      }
};

int main() {
  student student1("Juan Perez", "123456", 22);

  cout << "The student name is: " << student1.get_Name() << endl;
  cout << "The student id is: " << student1.get_Id() << endl;
  cout <<"The student age is: " << student1.get_Age() << endl;

  return 0;
}

Resultado:

The student name is: Juan Perez
The student id is: 123456
The student age is: 22

La clase en python 3.

class Celular:
    def __init__(self, name, brand, year):
            self.name = name
            self.brand = brand
            self.year = year

motorola = Celular("Moto G5s Plus", "Motorola", 2017)


print("Nombre:",motorola.name)
print("Marca :",motorola.brand)
print("Año de lanzamiento:",motorola.year)

Hola ricardo me puedes decir como compilar usando la terminal de unbutu en windows?

Me sale el siguiente problema en VSC, ¿Alguien sabe como solucionarlo?

<code>
#include errors detected. Please update your includePath. IntelliSense features for this translation unit (C:\Users\...\uddt.c) will be provided by the Tag Parser.
cannot open source file "stdio.h"
cannot open source file "stdlib.h"

Si no te sale nada cuando intentas compilar es porque te falta el complemento. Puedes instalarlo de la siguiente manera:

$ sudo apt install gcc

Después de instalado ya puedes compilar sin problemas usando el comando que indica Ricardo:

$ gcc uddt.c -o uddt.exe

cabe resaltar que en este caso la bandera -o es para que se coloque la salida del archivo de la izquierda en el archivo a la derecha, es por este que se crea uno nuevo en el directorio (en caso de no existir).

Hola
al correr el programa en Mac me baja el siguiente error

~/Documents/Platzi/Algortimos
\ Algortimos
🔥 =>./uddt.exe 
Abort trap: 6

Hola amigos, 2 cosas:

  1. Si hice mi repositorio en una carpeta física de Windows, cómo la invoco desde Ubuntu? me perdí un poco en esa parte.
  2. VsCode tira en la consola:
    cannot open source file "stdlib.h"
    cannot open source file "stdio.h"
    cannot open source file “string.h”

¿Alguien sabe cómo solucionarlo?

#include "stdlib.h"
#include "stdio.h"
#include "string.h"

struct client
{
    char Name [50];
    char Id[10];
    float Credit;
    char Address[100]; 
};

main(int argc, char const *argv[])
{
    struct  client client1 = {0};
    strcpy (client1.Name , "Camilo Valencia");
    strcpy (client1.Id , "0000000001");
    client1.Credit = 1000000;
    strcpy (client1.Address , "Calle 1, Carrera 1 ciudad bolivar");

    printf("The client name is: %s",client1.Name);
    printf("The client Id is: %d",client1.Id);
    printf("The client Credit is: %f",client1.Credit);
    printf("The client Address is: %s",client1.Address);

    return 0;

}

Asi quedo en java:

public class Cliente {

private String name;
private String address;
private int id;
private int credit;

  public Cliente() {
}

public Cliente(String name, String address, int id, int credit) {
    this.name = name;
    this.address = address;
    this.id = id;
    this.credit = credit;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getAddress() {
    return address;
}

public void setAddress(String address) {
    this.address = address;
}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public int getCredit() {
    return credit;
}

public void setCredit(int credit) {
    this.credit = credit;
}

@Override
public String toString() {
    return "Cliente{" + "name=" + name + ", address=" + address + ", id=" + id + ", credit=" + credit + '}';
}     

}
en el main:
public class JavaApp {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    Cliente cliente1 = new Cliente("Danny Olivares", "Estadioo monumental 144", 150, 15);
    System.out.println("my name is "+cliente1.getName());
    System.out.println("my address is "+cliente1.getAddress());
    System.out.println("my id is "+cliente1.getId());
    System.out.println("my credit is "+cliente1.getCredit());
}

}

en C:
#include “stdlib.h”
#include “stdio.h”
#include “string.h”

//asi se crean clases en c
struct client
{
char name[50];
char id[10];
int credit;
char address[100];
};
int main(int argc, char const *argv[])
{
struct client cliente1 = {0};
strcpy(cliente1.name, “Danny Olivares”);
strcpy(cliente1.id, “00000001”);
cliente1.credit = 10;
strcpy(cliente1.address, “San Miguel, decima avenida 2180”);

printf("the client name is: %s \n", cliente1.name);
printf("the client id is: %s \n", cliente1.id);
printf("the client credit is: %d \n", cliente1.credit);
printf("the client address is: %s \n", cliente1.address);

}
Saludos…

Para los usuarios de Mac: el error que dice:

[1]    ****  abort      ./uddt

Lo solucioné quitando un caracter al Id. Aún no encuentro la razón de esto, pero solo así logré correrlo. También puedes dejar o quitarle el .exe, no debe darte ningún error con eso

Hola a todos, comparto mi solución del ejercicio en python 3

En Python

class Client:
    
    def __init__(self, id, name, credit, address):
        self.id = id
        self.name = name
        self.credit = credit
        self.address = address
        
    def pay(self, quantity):
        self.credit -= quantity
        
    def loan(self, quantity):
        self.credit += quantity
        
    def print_client(self):
        print("ID: {} - Nombre: {}".format(self.id, self.name))
        print("Dirección: {}".format(self.address))
        print("Crédito: {}".format(self.credit))
        
if __name__ == '__main__':
    cliente = Client(1,"Pedro Garcia",10000,"Alicante")
    cliente.print_client()
    
    cliente.pay(1500)
    cliente.print_client()```

Ayudaa como compilo en la terminal de ubuntu

Utilizando Swift 😊

struct Client {
    let name: String
    let id: String
    let credit: Float
    let address: String
}

func printData(client: Client) {
    print(client.name)
    print(client.id)
    print(client.credit)
    print(client.address)
}

let cliente: Client  =  Client(name: "Camilo Valencia", id: "00000001", credit: 1000000.0, address: "Calle 1, Carrera 1 ciudad bolivar")
printData(client: cliente)

Estas es mi clase para python

class client:

    Name = 'victor miguel'
    Id = 2246964788
    credit = 1000000000
    Address = 'calle 26 carrera 2 ciudad santo domingo'



objects = client()
print('this client Name is:', objects.Name)
print('this client  Id is:' , objects.Id)
print('this client credit is:' ,objects.credit)
print('this client Address is:' , objects.Address)




buen día,
Aquí mi aporte después de una larga jornada!!!

class clientes
{
  constructor(n, i, c, d)
  {
    this.nombre = n;
    this.Id = i;
    this.Credito = c;
    this.Direccion = d;
  }
  hablar()
  {
    alert(this.nombre);
  }
  mostrar()
  {
    document.write("<strong>Nombre : </strong>" + this.nombre + "<br/>");
    document.write("<strong>Id : </strong>" + this.Id + "<br/>");
    document.write("<strong>Credito </strong>: " + this.Credito + "<br/>");
    document.write("<strong>Dirección </strong>: " + this.Direccion + "<br/>");
  }
}

var usuarios = new clientes("Camilo Vasquez", 0000000001, 1000000, "calle falsa 123");
usuarios.mostrar();

Utilizando Kotlin 😉

fun main(args: Array<String>){

    val cliente = Client("Camilo", "00000001", 1000000.00f, "Calle 1, Carrera 1 ciudad bolivar")
    printData(cliente)

}


data class Client(val name: String, val id: String, val credit: Float,val address: String)

fun printData(data: Client){

    println(data.name)
    println(data.id)
    println(data.credit)
    println(data.address)
}

En Python:

class client:
    Name=''
    Id=''
    Credit=''
    Address=''

cliente1 = client()

cliente1.Name = 'Pedro'
cliente1.Id = '0000000001'
cliente1.Credit = 1000000
cliente1.Address = 'Calle 1, Carrera 1, Ciudad Bolivar'

print (f'Nombre: {cliente1.Name}')
print (f'Id: {cliente1.Id}')
print (f'Credit: {cliente1.Credit}')
print (f'Address: {cliente1.Address}')

Aquí en reto con JavaScript:

class Client {
      constructor (name, id, credit, address) {
        this.Name = name;
        this.Id = id;
        this.Credit = credit;
        this.Address = address;
      }
    };

    const cliente1 = new Client('Camilo Valencia', '0000000001', 1000000, 'Calle 50 con Rincon 139');

    console.log(`El nombre del cliente es ${cliente1.Name}`);
    console.log(`El ID del cliente es ${cliente1.Id}`);
    console.log(`El credito del cliente es ${cliente1.Credit}`);
    console.log(`La direccion del cliente es ${cliente1.Address}`);

Tengo problemas con la instalacion de GCC, necesito ayuda por favor no quiero retrasarme en el curso a causa de esto.

el reto con typescript

class Students {
    constructor(public Name: string,
                public Id: string,
                public Credit: number,
                public Adress: string) {
            this.Name = Name;
            this.Id = Id;
            this.Credit = Credit;
            this.Adress = Adress;
    }
} 

interface Person {
    Name: string;
    Id: string;
    Credit: number;
    Adress: string
}

function greeter(person: Person){
    document.body.innerText = `The client name is : ${person.Name}
    The client Id is : ${person.Id}
    The client Credit is : ${person.Credit}
    The client Adress is : ${person.Adress}`
}

const users = new Students("Luis","000000001",1000,"Aguscalientes 90 int 3");

greeter(users);```

¿Que es una librería?

En JS:

class Client{
    constructor(name, id, adress, credit){
        this.name = name
        this.id = id
        this.adress = adress
        this.credit = credit
    }
}

let client_1 = new Client(
                    'Anthony Luzquiños',
                    '0000000001',
                    'Calle 1, Distrito 1, Ciudad 1, País 1',
                    1000000)

console.log('The client\'s name is: '+client_1.name+'.\n'
            +'The client\'s id is: '+client_1.id+'.\n'
            +'The client\'s adress is: '+client_1.adress+'.\n'
            +'The client\'s credit is: '+client_1.credit+'.')```

Como puedo usar la terminal de Ubuntu para compilar mi codigo?
Lo tuve que compilar en otro pero me quede con esa duda. Aqui lo explica muy rapido y muy difuso

#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <string.h>

using namespace std;

int main () {

char a [15];
int b;
float credit;
char c [40];

cout<<" client name is:";
gets(a);
cout<<“the cliend Id is:”;
cin>>b;
cout<<“the client credit is:”;
cin>>credit;
cout<<“the adress cliente is:”;
cin>>c;

return(0);

}

#include "stdlib.h"
#include "stdio.h"
#include "string.h"

struct client
{
  char Name[50];
  char Id[10];
  float Credit;
  char Address[100];
};

main(int argc, char const *argv[])
{
  struct client client1 = {0};
  strcpy(client1.Name, "Camilo Valencia");
  strcpy(client1.Id, "0000000001");
  client1.Credit = 1000000;
  strcpy(client1.Address, "Calle 1, Carrera 1 ciudad bolivar");

  printf("The client name is: %s", client1.Name);
  printf("The client Id is: %s", client1.Id);
  printf("The client Credit is: %f", client1.Credit);
  printf("The client Address is: %s", client1.Address);

  return 0;
}```

Les comparto los especificadores de formato, en caso de que les haya quedado la duda de porque uso %s en el printf

%d o %i: Especifican un entero con signo.
%u : Especifican un entero sin signo.
%p : Dirección de un puntero u dato.
%lld : Especifica un entero largo (long long). []
%llu : Entero largo sin signo (unsigned long long) [
]
%s : Especifica que el parámetro es un puntero a un arreglo de caracteres.
%c : Un carácter.
%x : Especifica un valor hexadecimal.
%% : Muestra un literal de porcentaje.
%f : Imprime un float o double.

Ejemplo en Javascript

class Client {
  constructor(Name, Id, Credit, Address) {
    this.Name = Name
    this.Id = Id
    this.Credit = Credit
    this.Address = Address
  }
}

let client1 = new Client("Camilo Valencia", "0000000001", 1000000, "Calle 1, Carrera 1 ciudad bolivar")

console.log(`The client name is: ${client1.Name}`)
console.log(`The client Id is: ${client1.Id}`)
console.log(`The client Credit is: ${client1.Credit}`)
console.log(`The client Address is: ${client1.Address}`)

mi struct en Golang

package main

import (
	"fmt"
)

type client struct {
	name    string
	id      string
	credit  float32
	address string
}

func main() {

	client1 := client{"Camilo Valencia", "0000000001", 1000000, "Calle 1, carrera 1 ciudad bolivar"}
	fmt.Println(client1)

}```

Aquí esta mi UDDT con python

como crear un objeto en python:

class defined(object):
    def __init__(self,Name,_id,credit,addres):
        self.__Name=Name
        self.__Id=_id
        self.__Credit=credit
        self.__Addres=addres
        pass
    def return_info(self):
        return [self.__Name,self.__Id,self.__Credit,self.__Addres]```

Si alguien tiene algun error con la insalacion ejecuten estos comandos antes de reintentar:

-sudo apt-get update

Luego:

-sudo apt-get upgrade

En Ubuntu:

  1. Instalan: sudo apt install gcc
  2. Compilan: gcc uddt.c -o uddt.exe
    😃

Alguna clase de consultoría medica

#include "stdlib.h"
#include "stdio.h"
#include "string.h"

struct paciente{
    char nombre[50];
    char direccion[100];
    char padecimiento[100];
};

int main(int argc, char const *argv[])
{
    struct paciente paciente1 = {0};
    strcpy(paciente1.nombre, "Daniel Martinez");
    strcpy(paciente1.direccion, "Calle 13, Circuito 3 #145");
    strcpy(paciente1.padecimiento, "Dolor fuerte en la garganta");

    printf("El nombre del paciente es: %s", paciente1.nombre);
    printf("La direccion del paciente es: %s", paciente1.direccion);
    printf("El padecimiento del paciente es: %s", paciente1.padecimiento);
    return 0;
}

Este es mi reto

<code>
#include "stdlib.h"
#include "stdio.h"
#include "string.h"

struct Computadora
{
    char Marca[10];
    char Procesador[10];
    char Modelo_procesador[10];
    int TamanoDisco;
    int Ram;
};

int main(int argc, char const *argv[])
{
    struct Computadora Computadora={0};
    strcpy(Computadora.Marca,"Lenovo");
    strcpy(Computadora.Procesador,"Intel");
    strcpy(Computadora.Modelo_procesador,"i5");
    Computadora.TamanoDisco=500;
    Computadora.Ram=8;

    printf("La computadora es: %s \n", Computadora.Marca);
    printf("Con procesador: %s ", Computadora.Procesador);
    printf(" modelo: %s \n", Computadora.Modelo_procesador);
    printf("Tiene: %d GB de espacio en el disco \n", Computadora.TamanoDisco);
    printf("Y Ram de: %d \n", Computadora.Ram);

    return 0;
}

Gracias

Para perros.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct perro
{
    char Nombre[10];
    char Color_pelo[50];
    char Tamaño[10];
    char Familia[20];
    float Altura;
    float Peso;
    int Cantidad;
};

int main (int argc, char const * argv[])
{
    struct perro Doberman = {0};
    strcpy(Doberman.Color_pelo, "Negro");
    strcpy(Doberman.Nombre, "Faust");
    strcpy(Doberman.Tamaño, "Grande");
    strcpy(Doberman.Familia, "Dawson");
    Doberman.Altura = 1.2;
    Doberman.Peso = 25.5;
    Doberman.Cantidad = 1;

    printf("La altura de %s es : %f\n", Doberman.Nombre, Doberman.Altura);
    printf("El peso de %s es : %f\n", Doberman.Nombre, Doberman.Peso);
    printf("La cantidad de %ss es : %d\n", Doberman.Nombre, Doberman.Cantidad);
    printf("El color de pelo de %s es : %s\n", Doberman.Nombre, Doberman.Color_pelo);
    printf("El tamaño de %s es : %s\n", Doberman.Nombre, Doberman.Tamaño);
    printf("La familia de %s es : %s\n", Doberman.Nombre, Doberman.Familia);
}```
class Client():
    nombre=" "
    Id=" "
    Credit=0
    Adress=" "

    def Llamar(self):
        pass


Cliente1 = Client()
Cliente1.nombre = "Miguel Angel Castillo Morote"
Cliente1.Id = "00000000000001"
Cliente1.Credit = 1000000
Cliente1.Adress = "Jr. MonteroRosas 1295 DPTO. 703"

print(f"El nombre del ciente es {Cliente1.nombre}")
print(f"El ID del ciente es {Cliente1.Id}")
print(f"El credito del ciente es {Cliente1.Credit}")
print(f"La dirección del ciente es {Cliente1.Adress}")```


En Python:

class Client:
    def __init__(self, name:str, id:str, adress:str, credit:float):
        self.name = name
        self.id = id
        self.adress = credit
        self.credit = credit

client_1 = Client('Anthony Luzquiños',
                    '0000000001',
                    'Calle 1, Distrito 1, Ciudad 1, País 1',
                    1000000)

print(f'The client\'s name is: {client_1.name}.\n'+
        f'The client\'s id is: {client_1.id}.\n'+
        f'The client\'s adress is: {client_1.adress}.\n'+
        f'The client\'s credit is: {client_1.credit}.')

Using code equivalent in java:

public class uddt{
    public static void main (String[] args){
        uddt cliente1 = new uddt("Daniel Ramirez", "123456", 2000, "MedellínColombia");
        System.out.print(cliente1);
    }
    
    String name;
    String id;
    float credit;
    String address;

    public uddt(String name, String id, float credit, String address) {
        this.name = name;
        this.id = id;
        this.credit = credit;
        this.address = address;
    }

    @Override
    public String toString() {
        return "cliente{" +
                "name='" + name + '\'' +
                ", id='" + id + '\'' +
                ", credit=" + credit +
                ", address='" + address + '\'' +
                '}';
    }
}```

#include “stdlib.h”
#include “stdio.h”
#include “string.h”

struct client
{
char Name[25];
char Id[2];
float Credit;
char Address[50];
};

main (int argc, char const *argv[])
{
struct client client1 = {0};
strcpy(client1.Name , “Carlos Santaniello”);
strcpy(client1.Id , “42”);
client1.Credit = 3.14159;
strcpy(client1.Address , “Avenida Sofia, calle Libertad”);

printf(“Client Name is: %s \n”, client1.Name);
printf(“Client Id is: %s \n”, client1.Id);
printf(“Client Credit is: %f \n”, client1.Credit);
printf(“Client Address is: %s \n”, client1.Address);
return 0;
}

En C:

#include "stdlib.h"
#include "stdio.h"
#include "string.h"

struct polygon
{
    char Name[25];
    int Sides;
    char LineColor[10];
    char FillColor[10];
};

int main(int argc, char const *argv[])
{
    struct polygon Polygon1 = {0};
    strcpy(Polygon1.Name, "Hexagon");
    Polygon1.Sides = 6;
    strcpy(Polygon1.LineColor, "Red");
    strcpy(Polygon1.FillColor, "Yellow");

    printf("\n");
    printf("Name of the Polygon: %s\n", Polygon1.Name);
    printf("Sides of the Polygon: %d\n", Polygon1.Sides);
    printf("The Polygon Line Color is: %s\n", Polygon1.LineColor);
    printf("The Polygon Fill Color is: %s\n", Polygon1.FillColor);
    printf("\n");
    
    return 0;
}

En Python

<
def app():
    print("The name client is: ", Client1.Name)
    print("The id client is: ", Client1.Id)
    print("The credit client is: ", Client1.Credit)
    print("The adress client is: ", Client1.Adress)

class Client:
    Name= ""
    Id = ""
    Credit = 0
    Adress = ""

Client1 = Client()

Client1.Name = "Juan Tomoño"
Client1.Id = "00000001"
Client1.Credit = 139080381
Client1.Adress = "Calle 45"



>

JAVA

import java.util.Scanner;

class Client {
	public static void main(String[] args) {
		String name, ID, address;
		float credit;
		Scanner sc = new Scanner(System.in);
		
		System.out.print("Ingrese nombre del cliente: ");
		name = sc.nextLine();
	
		System.out.print("Ingrese cédula del cliente: ");
		ID = sc.nextLine();

		System.out.print("Ingrese saldo actual: ");
		credit = sc.nextFloat();
		sc.nextLine();

		System.out.print("Ingrese dirección del cliente: ");
		address = sc.nextLine();

		System.out.print("\n----- DATOS INGRESADOS -----\n");
		System.out.print("Nombre: " + name);
		System.out.print("\nDocumento de identificación: " + ID);
		System.out.print("\nSaldo disponible: " + credit);
		System.out.print("\nDirección: " + address);
	}
}

Reto en C++

#include <iostream>

using namespace std;

class client{
public:

    client(string iname, string iid, float icredit, string iaddress){
        name = iname;
        id = iid;
        credit = icredit;
        address = iaddress;
    }

    void getName(){
        cout<<"The client name is: "<<name<<endl;
    }
    void getId(){
        cout<<"The client ID is: "<<id<<endl;
    }
    void getCredit(){
        cout<<"The client credit is: "<<credit<<endl;
    }
    void getAddress(){
        cout<<"The client address is: "<<address<<endl;
    }

protected:
    string name, id, address;
    float credit;
private:
};
int main()
{
    client client1("arnoldo blanco", "010101", 1000.1, "carrera 10 edificio 1 apartamente 101");

    client1.getName();
    client1.getId();
    client1.getCredit();
    client1.getAddress();
    return 0;
}
using System;

namespace projectsdot
{
    class Program 
    {
        static void Main(string[] args)
        {
            Client client = new Client("Jon Doe", "0000000001", "23 Main St, Michigan, USA,", 1000000);
            Console.WriteLine("Name: {0}\nId: {1}\nAddress: {2}\nCredit {3}", client.Name,client.Id,client.Address,client.Credit);
           
        }

        public class Client 
        {
              public string Name { get; set; }
              public string Id { get; set; }
              public string Address { get; set; }
              public float Credit { get; set; }

              public Client(string name, string id, string address, float credit) =>
              (Name, Id, Address, Credit) = (name,  id, address, credit);
              
        }
    }
}

JS

'use strict';

function Client({ name = '', id = '', credit = 0, address = '' }) {
  this.info = {
    name: name,
    id: id,
    credit: credit,
    address: address,
  };
  this.printInfo = (value) => {
    console.log(`The client ${value} is: ${this.info[value] || 'Not exist'}`);
  };
}

function main() {
  let client1 = new Client({});
  client1.info.name = 'Reivaj Aicrag';
  client1.info.id = '00001';
  client1.info.credit = 19985565;
  client1.info.address = 'Calle Siempre viva 415, Ciudad Jardín';
  client1.printInfo('name');
  client1.printInfo('id');
  client1.printInfo('credit');
  client1.printInfo('address');
}

main();

Hola ricardo este es mi codigo en .js


class Cliente
{
  constructor(name,id,credit,address){

   this.name = name
   this.id = id
   this.credit = credit
   this.address = address



  }

  datos(){

      console.log(`los datos del cliente son: Nombre: ${this.name} ID: ${this.id} Credito: ${this.credit} con Dirección: ${this.address}  `)

  }


}

var Luisenrique = new Cliente('Luis Enrique Henao', 656121726, 1800000, 'Calle 34 sur #23-32')


Luisenrique.datos()

Si estan en Ubuntu y tienen VisualStudioCode tambien pueden usar la terminal para compilar esto para efectos mas practicos…

class Perro:
	def __init__(self, nombre, raza, color, dueno):
		self.__nombre = nombre
		self.__raza = raza
		self.__color = color
		self.__dueno = dueno

	def dameNombre(self):
		return self.__nombre
	
	def dameRaza(self):
		return self.__raza

	def dameColor(self):
		return self.__color

	def dameDueno(self):
		return self.__dueno

mascota001 = Perro("rudy", "Pastor aleman", "Cafe con negro", "Marco")

print("El nombre del perro es: " + mascota001.dameNombre() + 
	"\nEs de raza: " + mascota001.dameRaza() + 
	"\nColor: " + mascota001.dameColor() + 
	"\nNombre del dueño: " + mascota001.dameDueno())

Buenas tardes, alguien me puede colaborar con esto, es que me sale este error. Gracias.

Muy parecido, como no se colocar una imagen o no se si mi pc me lo permite. te colocare el codigo (es igualito al suyo)
#include “stdlib.h”
#include “stdio.h”
#include “string.h”
//user defined data type
struct client
{
char Name [50];
char Id [10];
float Credit;
char Address[100];
};

main (int argc, char const *argv[])
{
struct client client1 = {0};
strcpy(client1.Name , “Isaac Requena”);
strcpy(client1.Id , “0000000001”);
client1.Credit = 1000000;
strcpy(client1.Address , “Santa Rosalia”);

printf("El nombre del cliente es : %s \n",client1.Name);
printf("El Id del cliente es : %s \n",client1.Id);
printf("El credit del cliente es : %f \n",client1.Credit);
printf("El direccion del cliente es : %s \n",client1.Address);

return 0;

}

No me reconoce la libreria, alguien podría ayudarme con eso? por fa 😮

Pude resolver mi problema, gracias a un comentario de un usuario, más abajo.

Si no les gusta que el Credit salga cómo 1000000.000000 a la hora de usar printf() pongan %.2f.

printf("The client credit is: %.2f\n", client1.Credit);

Para que solo salgan dos decimales y si parezca que es dinero.

JavaScript

Codigo en C++:

#include <iostream>
#include <string.h>

using namespace std;

class Client {
  public:
    char name[50];
    char id[10];
    float credit;
    char addr[100];
};

int main() {
  Client client1;
  strcpy(client1.name, "Camilo Valencia");
  strcpy(client1.id, "0000000001");
  client1.credit = 1000000;
  strcpy(client1.addr, "Calle 1, Carrera 1. Ciudad Bolivar");

  cout << "The name of the client is: " << client1.name << "\n";
  cout << "The id of the client is: " << client1.id << "\n";
  cout << "The credit of the client is: " << client1.credit << "\n";
  cout << "The address of the client is: " << client1.addr << "\n";

  return 0;
}```