Download Profesora: Lilian Torres Materia: Programación I (1er Parcial

Document related concepts

Dylan (lenguaje de programación) wikipedia , lookup

Programación funcional wikipedia , lookup

Common Lisp wikipedia , lookup

Lisp wikipedia , lookup

Rust (lenguaje de programación) wikipedia , lookup

Transcript
Profesora: Lilian Torres
Materia: Programación I (1er Parcial)
UTESA
CLASE #2.
(1) LENGUAJES DE PROGRAMACIÓN ESTRUCTURADA.
RECUENTO Y EJEMPLOS DE LOS LENGUAJES
ESTRUCTURADOS.
(2) INTRODUCCIÓN AL LENGUAJE C. ESTRUCTURA DEL LENGUAJE C. PALABRAS RESERVADAS DEL C. TIPOS DE
DATOS EN C.
PASCAL
Fue diseñado por el profesor Hiklaus Wirth del Instituto Federal de Tecnología de Zurich en 1970. Le puso el
nombre de un matemático francés del siglo XVII, Blaise Pascal, a quien se debe, entre otros descubrimientos, la
primera máquina de calcular. El lenguaje fue implantado por primera vez por su diseñador y posteriormente
estuvo disponible para todos los microcomputadores populares. La razón principal que impulsó a Wirth a
desarrollar PASCAL fue el ofrecer un lenguaje para enseñanza de la programación como disciplina sistematizada,
de forma que los principios de la disciplina estuvieran claramente reflejados por el lenguaje.
PASCAL se basa en un lenguaje anterior de programación, el ALGOL 60, conservando todas las características
deseables de este lenguaje, con las aplicaciones y correcciones necesarias. El hecho de que el PASCAL fuera
adoptado ampliamente no solo para la enseñanza de la programación sino también para el desarrollo de sistemas
de microprocesadores y por usuarios de microcomputadores es un indicativo de su éxito y también del éxito de su
diseñador al conseguir su principal propósito. También pretendía que una eficiente y fiable implantación del
lenguaje, pudiera realizarse con cualquier computador. En esta área el Pascal no tuvo tanto éxito. Muchas de sus
implantaciones distan mucho de ser compactas necesitando más memoria que sus implantaciones en BASIC.
El PASCAL provee un amplio repertorio de estructuras de programación y permite definir tipos de datos según se
requieran. Por consiguiente, al programador se le facilitan todas las características necesarias para dar a sus
programas una estructura lógica y se le proporciona la posibilidad de diseñar sus propias estructuras de datos en
caso de que las suplidas por el pascal no satisfagan sus necesidades. De esta manera no se hace necesario recurrir
a métodos artificiales o idiosincrásicos para diseñar programas y manejar datos.
Las normas impuestas por el Pascal, tales, como el requerir del programador cada variable y decir cómo se
utilizará, deben ser consideradas como un beneficio ya que al permitir el desarrollo de programas en forma
sistematizada se evitan automáticamente la mayor parte de los errores más comunes en programación.
COBOL
El deseo de desarrollar un lenguaje de programación que fuera aceptado por cualquier marca de computador,
reunió en Estados Unidos, en Mayo de 1959, una comisión (denominada CODASYL: Conference On Data Systems
Languages) integrada por fabricantes de computadores, empresas privadas y representantes del Gobierno, dando
lugar a la creación del lenguaje COBOL (COmmon Business Oriented Language) orientado a los negocios,
llamándose ésta primera versión COBOL-60, por ser éste el año que vio la luz.
El COBOL Es un lenguaje para cálculos en el campo de los negocios y proceso de datos comerciales. El
encumbramiento del COBOL en esta área iba en contra de la política del gobierno de EEUU que requería la
adquisición de un compilador COBOL para cada computador comprado con sus fondos.
COBOL, estaba en constante evolución gracias a las sugerencias de los usuarios y expertos dando lugar a las
revisiones de 1961, 1963 y 1965. La primera versión estándar nació en 1968, siendo revisada en 1974, llamadas
COBOL ANSI o COBOL-74, muy extendidas todavía. En la actualidad es COBOL-85 la última versión revisada del
lenguaje COBOL, estando pendiente la de 1997.
1
Como lenguaje comercial, el COBOL destaca en el manejo de datos alfanuméricos y ficheros, de forma que
permite la realización de tareas tales como la lectura y actualización de ficheros de registros y la cumplimentación
automática de formularios. Entre sus inconvenientes se encuentran sus rígidas reglas de formato de escritura, la
necesidad de escribir todos los elementos al máximo detalle, la extensión excesiva de sus sentencias y la
inexistencia de funciones matemáticas
LENGUAJE C
El lenguaje fue creado en 1972 por Dennis Ritchie, que junto con Ken Thompson había diseñado anteriormente el
sistema operativo UNIX, y su intención al desarrollar el lenguaje C fue conseguir un lenguaje idóneo para la
programación de sistemas que fuese independiente de la máquina para utilizarlo en la implementación del
sistema operativo UNIX. Desde entonces, tanto el UNIX como el C han tenido un enorme desarrollo y
proliferación, hasta convertirse en un estándar industrial para el desarrollo de software
El C es un lenguaje moderno de propósito general que combina las características de un lenguaje de alto nivel
(programación estructurada, tipos y estructura de datos, recursividad, etc.) con una serie de características más
propias de lenguajes de más bajo nivel. Esta cualidad del C hace posible que el programador use la programación
estructurada para resolver tareas de bajo nivel, obteniendo un código ejecutable veloz y eficiente. Debido a sus
características de más bajo nivel, mucha gente considera al C como un lenguaje de nivel medio.
Debido a esta libertad de programación que proporciona este lenguaje, se ha vuelto muy popular y es el lenguaje
más usado entre los desarrolladores profesionales de software de aplicaciones comerciales (procesamiento de
textos, bases de datos, aplicaciones cientifico-técnicas, etc.). Además C, es un lenguaje pequeño (posee pocas
instrucciones) y conciso (no presenta instrucciones redundantes). El coste de un lenguaje tan potente y útil es que
no es particularmente fácil de aprender. De hecho, la programación segura y fiable en este lenguaje requiere un
conocimiento bastante profundo del mismo
C++.
El C++, el sucesor del lenguaje C, fue desarrollado por Bjarn Stroustup en los laboratorios Bell a principio de la
década de los ochenta. En el lenguaje C, “C++” es una orden que equivale a C: =C+1, por lo que se entiende que
con C++ el lenguaje C se eleva hacia su siguiente nivel.
C++ introduce la programación orientada a objetos en C. Los objetos proporcionan una forma completamente
nueva de ver los programas, una nueva filosofía de programación.
Al igual que C, C++ es un lenguaje muy poderoso y eficiente. Sin embargo C++ es aún más difícil de aprender que
C. Dado que C es un subconjunto de C++, aprender C++ significa aprender todo acerca de C y después aprender la
filosofía de la programación orientada a objetos y el uso que hace C++ de la misma.
Visual C++
Sistema de desarrollo C y C++ para aplicaciones DOS y Windows, de Microsoft. Introducido en 1993, el Visual C++
Standard Edition de Visual C++ reemplaza a QuickC para Windows. (Microsoft QuickC fue un producto comercial
de entorno de desarrollo integrado (IDE) diseñado por Microsoft para el lenguaje de programación C,
reemplazado por Visual C++ Standard Edition. Su principal competidor fue Turbo C). El Visual C++ Professional
Edition incluye el Windows SDK (Kit de desarrollo de software de Microsoft) y reemplaza Microsoft C/C++ 7.0.
LISP
El objeto del Lisp es el Proceso de listas (LISt Processing). El proceso de listas quizás no parezca una actividad tan
común como para justificar un lenguaje especial, pero el hecho es que una lista es una estructura de datos
generales muy particular y con su ayuda pueden ser emprendidos problemas de muchos tipos de manera
asequible.
2
Como List trata listas de cualquier tipo de elementos, permite descubrir y ejecutar cálculos no numéricos y
proporcionar en particular una herramienta para el manejo de símbolos. Lisp fue desarrollado por el profesor
John McCarthy y sus alumnos en el Instituto de Tecnología de Massachusetts en 1959. Su propósito original fue
desarrollar un sistema de programación llamado el Registrador de Avisos que sería capaz de manejar hechos y
comandos, utilizando los hechos según el sentido común para ayudar a interpretar y llevar a cabo los comandos.
Los trabajadores en otras áreas, particularmente los relacionados en trabajos de Inteligencia Artificial se dieron
pronto cuenta de que el lenguaje de McCarthy aportaba los medios de manipular los símbolos que estaban
buscando. El manejo de símbolos es un requisito común a muchas áreas de investigación que son parte de
Inteligencia Artificial (AI), incluyendo la resolución de problemas de tipo general, reconocimiento de patrones,
prueba de teoremas y manejo de cálculos lingüísticos y algebraicos. Como consecuencia el Lisp ha llegado a ser el
lenguaje más utilizado de Inteligencia Artificial (AI).
ADA
El lenguaje de programación Ada fue diseñado en un esfuerzo de colaboración, patrocinado por el Departamento
de Defensa con la participación de la industria, mundo académico y comunidad internacional. Su propósito
principal fue proporcionar un lenguaje de alto nivel en el que pudieran expresarse, desarrollarse y mantenerse los
problemas de programación de sistemas. Ada contiene mecanismos especiales para la gestión de sucesos
concurrentes en un entorno de tiempo real, desarrollando paquetes específicos de la aplicación y definiendo
operadores y procedimientos genéricos.
Fue a principios de los 70s cuando el Departamento de Defensa de los EE.UU., identificó un grave problema en el
crecimiento del coste del software en los sistemas de computadoras "empotradas", es decir, sistemas que están
incluidos en distintos vehículos militares.
La principal causa de este problema era la ausencia de un lenguaje de programación adecuado y de un entorno de
programación para desarrollar y mantener este software. Las aplicaciones caían en el área general de la
"programación de sistemas" y la mayoría de estos programas estaban repletos de líneas de código escritas en
ensamblador, obviamente variaba según la máquina. Por lo tanto afectaba a su transportabilidad.
En 1975 el Departamento de Defensa de los EE.UU formó un grupo de trabajo en un lenguaje de alto orden cuya
misión era:
1) Identificar el conjunto completo de requerimientos para los lenguajes del Departamento de Defensa (DD).
2) Evaluar la adecuación de los lenguajes existentes seleccionados sobre la base de éstos requerimientos.
3) Hacer una recomendación sobre el DD debía adoptar uno o más lenguajes existentes.
Durante el período 1976-1977, se realizó una extensa evaluación de los veintitrés lenguajes existentes
(incluyendo SIMULA, ALGOL, JOVIAL, PASCAL FORTRAN, COBOL, y PL/I, (pero excluyendo sorprendentemente al C)
sobre la base de los requerimientos TINMAN. El informe final concluyó con que ninguno de los veintitrés lenguajes
evaluados eran candidatos y que debía desarrollarse un nuevo lenguaje sobre un lenguaje que sirviera como base
apropiada. Los candidatos fueron Pascal, Algol, y PL/I.
En 1977 se inició el diseño de un nuevo lenguaje como un proyecto competitivo, y mas adelante se seleccionaron
cuatro de los competidores para desarrollar diseños del lenguaje. Estos cuatro diseños, llamados, Azul, Rojo,
Amarillo, y Verde, (para preservar el anonimato), fueron evaluados extensamente en 1978 y se seleccionaron dos
para el final. Al final el diseño Verde, propuesto por Honeywell-Bull, fue seleccionado como el nuevo lenguaje de
alto nivel de Departamento de Defensa de EE.UU. El lenguaje se llamó Ada en reconocimiento a Augusta Ada
Byron, hija del poeta Lord Byron. Ella es considerada por algunos como la primera programadora del mundo,
puesto que trabajó con Charles Babbage, a principios del siglo XIX.
3
Desde 1979, los esfuerzos se han dirigido a desarrollar un documento e implementaciones estándar para Ada. El
primero de tales documentos se publicó en 1980 y la versión final, llamada Reference Manual for the Ada
Programming Languaje, fué aprobada a principios de 1983 como el estándar militar.
Esa fue la historia de Ada, un lenguaje que a nivel mundial constó muchos miles de dólares. Hoy en día tenemos la
versión de GNAT Ada95 que es muy parecida al Pascal for Windows. Al compilador GNAT que la podemos bajar de
forma gratuita en el sitio de Ada Core Technologies, citado más abajo. El GNAT fue originalmente por el GNAT
Team, (Equipo GNAT) en la Universidad de New York, aunque ahora está siendo distribuída por Ada Cores
Technologies.
INTRODUCCIÓN AL LENGUAJE C
ESTRUCTURA DEL LENGUAJE C.
La estructura de un programa en C, consta de algunas partes esenciales: las cuales son uno o más módulos
llamadas funciones, siendo main() la primera función que es llamada cuando empieza la ejecución del programa .
La mejor forma de aprender un lenguaje es programando con él. El programa más sencillo que se puede escribir
en C es el siguiente:
main( )
{
}
Como nos podemos imaginar, este programa no hace nada, pero contiene la parte más importante de cualquier
programa C y además, es el más pequeño que se puede escribir y que se compile correctamente. En él se define la
función main, que es la que ejecuta el sistema operativo al llamar a un programa C. El nombre de una función C
siempre va seguida de paréntesis, tanto si tiene argumentos como si no. La definición de la función está formada
por un bloque de sentencias, que está encerrado entre llaves {}.
PALABRAS RESERVADAS DEL C
Las palabras reservadas son palabras especiales que no pueden usarse para nombrar otros elementos del lenguaje,
como son int y float. El número de palabras reservadas en C es significativamente menor que el de otros lenguajes. En
Turbo C hay 43, algunas más en Turbo C++ y menos en ANSI C.
Es preciso insistir en que C hace distinción entre mayúsculas y minúsculas. Por lo tanto, la palabra
reservada for no puede escribirse como FOR, pues el compilador no la reconoce como una instrucción, sino que la
interpreta como un nombre de variable.
TIPOS DE DATOS EN C.
Tipo de datos predefinidos.
Tipo de datos
Descripción
Int
Enteros
Float
Reales
Long
Enteros de largo alcance
double
Reales de doble precisión
char
Carácter
Rango
-32,768 a +32767
3.4 x 10-38 a 3.4 x 3.4 1038
-2´147,483,648 a 2´147,483,647
1.7 x 10-308 a 1.7 x 10308
Símbolos del abecedario, números o
símbolos especiales.
Constantes
Las constantes, como su nombre lo indica, son valores que se mantiene invariables durante la ejecución del
programa. Su formato es el siguiente:
const tipo_de_dato nombre= valor;
donde const, es una palabra reservada, para indicarle al compilador que se está declarando una constante.
4
Ejemplo:
const int dia=7;
const float pi=3.14159;
const char caracter= ‘m’;
const char fecha[]="25 de diciembre";
Caso Especial Constantes Simbólicas
Las constantes simbólicas, se declaran mediante la directiva #define, como se explicó anteriormente. Funcionan
de la siguiente manera, cuando C encuentra el símbolo que representa a la constante, lo sustituye por su
respectivo valor.
Ejemplo:
#define N 150
#define PI 3.1416
#define P 50
Diferencias fundamentales entre la declaratoria const y #define; la primera, va dentro del programa, es decir,
dentro de la función main() o alguna función definida por el usuario, mientras que #define va en el encabezado,
después de los #include, por eso estas no llevan al final el punto y coma (;).
Declaración de Variables
Una Variable, como su nombre lo indica, es capaz de almacenar diferentes valores durante la ejecución del
programa, su valor varía. Es un lugar en la memoria el cual, posee un nombre (identificador), y un valor asociado.
La declaración de variables en C, se hace en minúsculas.
Formato:
Tipo_de_dato nombre_de_la_variable;
int x;
float y;
char car = ’M’;
char nombre[6]="Lilian";
Programa que imprime Hola amigos y en la
siguiente línea imprime cambiar.
#include <stdio.h>
#include <conio.h>
main( )
{
printf("Hola amigos!\n");
printf("cambiar");
getch();
}
Programa que lee 2 números e imprime la suma y
multiplicación de ambos.
#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
int a,b,s,m;
scanf("%d",a);
scanf("%d",b);
s=a+b;
m=a*b;
printf("La suma es %d\n",s);
printf("La multiplicación es %d",m);
getch();
}
5
6