Author Archives: Carlos Adrian

#TC1017 #Mastery21 – Recursion

#TC1017 #Mastery22 – When to use what type of repetition in a program

There are two approaches to writing repetitive algorithms. 

      1. Loops (Iteration)
      2. Recursion. 

Iteration: Use for loops, do..while, while loops.

Example: Factorial of a number

int factorial(int num)
{
      int k=num;
      while(num != 0)
      {
            k=k*(num-1);
            num–;
      }
      return num;
}

—————————————————————————————————–

Recursion: Recursion is a repetitive process in which a function calls itself. 

Limitations of Recursive Approach:
      1. Recursive solutions may involve extensive overhead because they use function calls. Each function call requires push of return memory address, parameters, returned result,etc. and every function return requires that many pops. 
      2. Each time you call a function you use up some of your memory allocation may be in stack or heap. If there are large number of recursive calls – then you may run out of memory. 

Example:

int factorial(int num)
{
      if(num != 0)
      {
            num=num*factorial(num-1);
      }
      return num;
}

When to Use:
For large number of iterations, use loops(iterative approach).
For small number of iterations, use recursion.

#TC1017 #WSQ13 – Babylonian Method

#TC1017 #WSQ12 – Greates Common Divisor

# TC1017 #WSQ10 – Lists

#TC1017 #WSQ09 – Factorial Calculator

#TC1017 #Mastery16

Sentencias condicionales: 


Existen tres sentencias condicionales en C, if, else, y else if: 

-Sentencia if: Esta sentencia permite la ejecución de un bloque de código, si y solo si, se ha cumplido la condición dentro del “if”, si no se cumplió la condición, se pasa a las instrucciones que estén fuera del “if”. 

-Sentencia else: En esta sentencia no se plantea directamente una condición, es mas bien, una respuesta a la condición que se formulo dentro de la sentencia “if”. Si la condición de “if” no se cumplió, entonces se ejecuta el bloque de código que contenga la sentencia “else”. 
Además, no puedo haber una sentencia “else” sin su respectiva sentencia “if” 

-Sentencia else if o else colgante: Esta sentencia es parecida a “else”, con la diferencia de que en ésta si se evalúa una condición. Si la condición de un “if” anterior a “else if” no se cumplió, entonces se evalúa la condición de “else if”, en caso de que no se cumpla la condición de la sentencia “else if”, se ejecutara el siguiente bloque de código que este fuera de “else if”. 
De nuevo, no puede existir un “else if”, sin que exista un “if” antes de él. 


Operadores Logicos (And, Or, Not): 

#TC1017 #Mastery16 

Operadores relacionales: 

#TC1017 #Mastery16 

Expresiones Lógicas: 

Las expresiones lógicas o booleanas, llamadas así en honor del matemático George Boole, están constituidas por números, constantes o variables y operadores lógicos o relacionales. 

El valor que pueden tomar estas expresiones es el de verdadero o falso. Se utilizan frecuentemente en las estructuras selectivas (dependiendo del resultado de la evaluación se toma por un determinado camino alternativo) y en las estructuras repetitivas ( dependiendo del resultado de la evaluación se continúa con el ciclo o se interrumpe el mismo).

#TC1017 #Mastery16 

#TC1017 #Mastery13

C Library

The elements of the C language library are also included as a subset of the C++ Standard library. These cover many aspects, from general utility functions and macros to input/output functions and dynamic memory management functions:

#TC1017 #Mastery13

#TC1017 #Mastery09

En programación, una variable es un espacio de memoria reservado para almacenar un valor que corresponde a un tipo de dato soportado por el lenguaje de programación. Una variable es representada y usada a través de una etiqueta (un nombre) que le asigna un programador o que ya viene predefinida.

Es recomendable que una variable no puede tener espacios, caracteres especiales (acentos, signos), tiene que empezar con una letra.

Las variables que podemos declarar en C++; son las siguientes:

  • Para variables numéricas sin decimales se usa: int
  • Para variables numéricas con decimales se usa: float
  • Para variables de un solo caracter se usa: char
  • Para variables boolean se usa: bool
  • La variable string permite el uso de palabras completas como valor a la variable: string

C++ Coding Conventions #TC1017 #Mastery08

C++ Coding Conventions son una serie de sugerencias para tener una manera mas ordenada de escribir código est sirve de dos maneras:

1.- Para que sea mas fácil para tí conocer cada parte de tu programa.

2.- Cuando este solucionando errores de código poder encontrarlo más fácil.

3.- Fácilitar la lectura a otras personas.

Este es un ejemplo.

<stdlib.h>#include <time.h> <iostream> using namespace std; int main() {int num, num2, cont=1;srand(time(NULL));num=rand()%101;cout << “I have a number chosen between 1 and 100.” << endl;cout << “Please guess a number between 1 and 100:”;cin >> num2;while (num !=num2){ if (num<num2)cout << “The secret number is lower.” << endl;else if (num>num2)cout << “The secret number is higer.” << endl;cout << “Try again:”;cin >> num2;cont=cont+1; }cout << “Congratulations the number is:” << num << endl;cout << “You made ” << cont << ” guesses to get the right number” << endl;return 0;}

Se puede escribir código de esta manera porque la computadora si lo entendería, pero como pueden apreciar es muy difícil encontrar un error o entender la difrencia. Y es por eso que se utilizan los ‘Coding Conventions’.

El mismo código escrito pero ordenado sería así:

<stdlib.h>

<time.h>

<iostream>

using namespace std;

 

int main()

{

int num, num2, cont=1;

srand(time(NULL));

num=rand()%101;

cout << “I have a number chosen between 1 and 100.” << endl;

cout << “Please guess a number between 1 and 100:”;

cin >> num2;

while (num !=num2)

{

if (num<num2)

cout << “The secret number is lower.” << endl;

else if (num>num2)

cout << “The secret number is higer.” << endl;

cout << “Try again:”;

cin >> num2;

cont=cont+1;

}

cout << “Congratulations the number is:” << num << endl;

cout << “You made ” << cont << ” guesses to get the right number” << endl;

return 0;

}