aprende a programar como en 1 prev
TRANSCRIPT
�
�
����� ������������ ������ ��� ���������������� ��� ���������� ��� ���������� �������� ��� ���� �������� ��� ���������������
������������������������������������ �������� ��������� ���������������� ���� ��� �������� ����������������
�
� � ����
������
�������������������������������� ������������������������������������������������������������������������������������������������ ��
������������������������ �������������������������������������������������������������������������������������������� ������������������������������������������ ������������������������������������������������������������������ ����������������������������������������� ���������������������������������������������������������������������� ������������������������������������������������������������������������������������������������������������������� ��
������������������������������������ ������������������������������������������������������������������������� ������������������������������������������� �������������������������������������������������������������� �������������������������������������������� ������������������������������������������������������������ ����������������������������������������������������������������������������������������������� ��������������������������������������������������������������������������������������������������� ������������������������������������������������������������������������������������������� ��
����������� �������������������������������������������������������������������������������������������������������������������� ��������������������������� ������������������������������������������������������������������������������������������� ������������������������������������������������������������������������������������������������������������������������ ���������������� ��������������������������������������������������������������������������������������������������������� ��
������������������������������������������������� ���������������������������������������������������������� ������������������������������������������������������������������������������������������������������������������������������ ��������������������������������������������������������������������������������������������������������������������� ��������������������������������������������������������������������������������������������������������������������������� ���
���������������������������������������������������������������������������������������������������������������� ������������������������ �������������������������������������������������������������������������������������������� �������������������������������������������������������������������������������������������������������������� ������������������� ������������������������������������������������������������������������������������������������������ ���
����������������������� ���������������������������������������������������������������������������������������������� ������������������������������������������������������������������������������������������������������������ ����������������� ��������������������������������������������������������������������������������������������������������� �������������������� ����������������������������������������������������������������������������������������������������� ���
���������������������������������� �������������������������������������������������������������������������������� ����������������������������������������������������������������������������������������������������������������������������� ������������������������������������������ ���������������������������������������������������������������������� ���������������������������������������� ���������������������������������������������������������������������� ������������������������������������������������������������������� ���������������������������� ����������������������������������������������������������������������������������������������������������������������������� ������������������������������������������������������������������������������������������������������������������ ���
������������������������������� ����������������������������������������������������������������������������� ������������������������������������������������������������������������������������������������������� ����������������������������������������������������������������������������������������������������������������� ��������������������������� ���������������������������������������������������������������������������������������� ���
����������������� �������������������������������������������������������������������������������������������������������� �������������������if ���������������������������������������������������������������������������������������������������� �������������������if ... else ����������������������������������������������������������������������������������������� �������������������if elseif... else��������� ������������������������������������������������������������������ ���
� �������
Escuela Superior de Ingenieros de San Sebastián
���������� ������������������������������������������������������������������������������������������������������������������� �������������������� ��������������������������������������������������������������������������������������������������� ������������������ ������������������������������������������������������������������������������������������������������� ������������������������������ ���������������������������������������������������������������������������������� ���
������������������������������������� ������������������������������������������������������������������������� ����������������������������������������������������������������������������������������������������������������������������� ��������������������������������� ��������������������������������������������������������������������������������� ���
����������� ������������������ ���������������������������������������������������������������������� �������������� ��������������������������������������������������� ����������������� �������������� ������������������������������������������������������������������ ���
��������������������� ���������������������������������������������������������������������������������������������������� ����������������������������������������������������������������������������������������������������������������������������� �������������������������� ���������������������������������������������������������������������������������������������� ���
����������� �������������������������������������������������������������������������� �������������� ��������������������������������������������������������������� ���
������������������������� �������������������������������������������������������������������������������������������� �������������� ������������������������������������������������������������������ �������������� ���������������������������������������������������������� ������ �������������� ����������������������������������������������������� ��������������� �������������� �������������������������������������������������������������������������� ���
������������������������� ������������������������������������������������������������������������������������������ ��������������� ����������������������������������������������������� ����������� ��������������� ������������������������������������������������������ �������� ��������������� �������������������������������������������������������������������������������������� ���
���������������������������������������������������������������������������������������������������������������� ��������������������������������������������������������������������������������������������������������� ���
������������ �������������������������������������������� ����������������������� ��������������� �������������������������������������������������� ������������������� ���
��������������������������������������������� ������������������������������������������������������� ��������������� �������������������������������������������� ��������������������� ��������������� ������������������������������������������������������������������������������������������ ��������������� ������������������������������������������������������������������������ ���
�
� � ��
�����������������������
����������������������������������������������������������������������������������������� ��� ����������� ��� ���� ���������� �� ��� ����������� ����������� ��� ����������� ���Informática 1 ��Fundamentos de Computadores��
��������� ������� ����� ���� ���� ��������� �������� ��� ������������ ��� ��� ������� ��� ������������������������������������������������������������������
��� ��� ������ �������������� �������������������� ���� ��������� ���� ��� ��� ���������������� ����� ������ ����� ������� ������� ��� ��������� �������������� ����������� ����� ���������������������������������������������������������������������������
��� ��� ������� ���� ������������ �� ��� ���������� ��� ��������� "Aprenda Informática como si estuviera en Primero" ��������������������������������������������� ������� ����� ������������� ��� ��� ��������� ��� ������������� ���� ���� �������� ������������� ������������������������������������������������ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������� ���� ��������� ���� ��� ���������� ��������� ���������� ���� ��� ���������� ���������������� ��������� ��� ������������ ����� ��������� ��� �������������� �� ���������������������������������������������������������������������
��������������������������������������������������������������������������������������� ������� ���� ����������� ����������� ����� ��� �������������� ��� �������� ���� ��������������������� ����������� ��� ���������� ����������� ���������������� ����� ��� ����������� ��������������� �� ����� ��� ��������� ��� ������ ��� ��� ���������� ��� ��������� �� ��������� ��������������� ��� ����������� ���� ��������������� ��� ��� ���������� ��������������� ��� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
�
�
���������������������
���������������� ����������������������� ��������
���������� �������� ����������������
���������������������������� ���� ������� ��� ��������������
������
���������� Negrita e Itálica ��� �������� sin(Fi) ��������������������������������
�
�
� � ��
Capítulo 1 Los programas
1.1 ¿Qué es un programa? ��� ��������� ��� ���������� ��� ���� ���������� ��� �������������� ���� ��� ���������� ������������ ����� ��������� ���� ������� ��������������� ������� ��� ������������������ �������������������� ��� �������� ������ ��� ��������� ��� ������ ���� ������� ����� �������� ����� ��������������������������������������������������������������������������������������������������������������������������������������������������
������� �� ���� ������������ ��� ���� ��������� ������������������ ������������������������������������������������������������������������������������������������������� �������� ������������� ���� ����������� ��� ��� ��������� ��� ������ ��� ��� ����������������������������������������������������������
1.2 ¿Qué es un lenguaje de programación? ����� ���� ���������� ��������� ���� ���������� ��� ������������� ���� ������������� ���������������������������������������������������������������������������������������������������������������� ���� ��������������������������������������������������� �������������������������
�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
1.3 Las cuatro patas de la programación �����������������������������������������
�
����������
�
�����������
�
������������������
�
��������������
���� ������ ���� ��������� ��� ���������� ���� �������� ��������� �������� ���� ������������������� ���������������� ��� ������������������������ ��� ����� ����� ��������������������������������������������������������������������������������������������������������������������������������������������������������
���������� Aprenda a programar como si estuviera en Primero��
Escuela Superior de Ingenieros de San Sebastián
� �������������������
� ���������
� ���������
� ��������������
�������������������������� ������������������� ����������������������������������� ���� ���� ��������� ���� ���������� ��� ������������� ����� ������ ���� ���� ������ ���� �������������������������������������������������������������������������������
���� ������� ���� ���� ��������� ���� ��� ������������� ������ ������� ��� ������ ������������ ���������� ���� ���������� ����������� ���� ��������� ��� ��������� �� ����� ������������ ��������� ���� ����������� ��� ��������� ��� ���� ���������� ���������� �� ����������������������������������
�
1.4 Lenguajes de programación ������� ���� ��������� ����������� ��� ���������� ��� ������������� ���������� ������������������������������ ��������������������������������������������������������������������� ���� ���� ������������ �� ��� ���������� �������� ��� ���� ���������� ���� ����������� ����������������������������������������������
1.4.1 Lenguajes de alto y bajo nivel
���������������������������� ���� ���������� ������ ����������������� ���� ��������������������������������������������������������������������������������������������������������������������� ������ �������� ���� ��� ������������ ���������� �� ������� ��� ������ ������������� ���� �������� ������� ��� �������� ������ ��� ��������� ���������� ������������� ��������������������������������������������������������������������������������������������������������������������������������������
����������������� �������������� ���������
TECNUN-Parque tecnológico de la Universidad de Navarra
�������������������������������������������������������������������������������������������� ������������ ����� ���� �������������� ���� ��������� ���� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ���������������������������� ������������������������������������������
������������������������������������������������������������������������������������ ����������� ���������� ��� ����� ������� ���� ���������� ��� ����� ������ ���� ��� ������������������� ��� ������������ ��� ���� ��������������� ��������� ��� ���� ��� ������������ ������������� ��� ��������� �������� ���� �� ����������������� ����� ������ ����������� �������������� ��������� ��������� ��� ��������� ������������ �� ���������������� ��������� ��������������������
�
���������������������������������������������������
�������
���������������������������������������������������
�������
1.4.2 Lenguajes imperativos y funcionales
������������������������������������������������������������������������������������������ �� �������� ������� ����� ������� ��� ���������� ��� ���������� ���� ������ ��� ����������������� ������� ��������� ���� ��� ������� ��� ��� ������������� ��� ���������� �� ���� ���� �������������������������������������������������
��� ���� ���������� ������������� ���� ��� ����������� ��� ������� ��� ������� ������� �����������������������������������������������������������������������������������
���������� ���� �������� ����� ��������� ��� ���������� ��� ��� ��������� ������������������� �� ���������� �������������� ��� ������ ���������� ���� ��� ��� ����� ��������������������������������������������������������������������������������������������������������������������������������������������������������
�
������� �������
��������������������������������������������������������������� ������������������������������������������������
���������������������������������������������������������������������
�����������������������������������������������������������������������������������������������
���������� Aprenda a programar como si estuviera en Primero��
Escuela Superior de Ingenieros de San Sebastián
1.4.3 Lenguajes interpretados y compilados ������������������������������������������������������������������������������������������������ ��������������������������������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ������ ���������� �� ���� ��� �������� ����������� ���� ������� �� ��������� ���� �� ������������������� ���������������� ��� ��� ��������� ��� �������� ������������ ���� �� ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ������ �� ����� ��� �������� ��������� ���� ��� ������� ������� ������� ���� �������� ��� ��������������������������������������������������������
����������������������������������������������������������������������������������� ���� ���� ����������� ��� ������� ���� ���� ������������ ��� ���� ��� ������� ��� ������ ������������������ �� �������� ���� ������� ���� ��� ���������� ��� ����� �������� ����� ������� �������������� �� ���� ���� ���������� ������� ����������� �������������� ���� ��������� ��� ������������������������������������������������������������������������������������������������ ���� ��� ����������� ������ ��������� �������������� ����� �������� ��� ������������������������������������������������������������������������������������������
������� ��� ���� ������������� �������� ����������� ��� ����������� ����� ������ ���� ������������������������������������������������������������������������������������������������������� �������������� ��� �������� ��� ��� ������� ����������� ��� ������������������������������������������������������������������������������������������������������������� ������ ��������� ������������� ������ ��� ���� ����������� ����� �������� ����������������� ���������� ��� ���������� ����������� ������� ������ ���������� ���������������������������������������������������������������������������������������������������������� ���������� ����� ����� ������������� ������ ��� �������� ��� ���� ��� ������������ ��� ������������ �������� ��� ���� ��� ������ ���������� �������� ��������� ���� ��� ��� ��� �������������������� ��� ���������� ���������� ���� ��� ������������� ��� ��������������� ����� ��� �����������������������������������������������������������������������������������������������������������������������������������������������������������
1.4.4 Lenguajes que soportan la programación estructurada ��������������������������������������������������������������������������������������������������������������������������������
• ����������������������������������������������������������������������������������������
������������������������������������������������������������������������������������������������������������������������������������������������������������ ���� ������������� �������� ���� ��� ����������� ��� ����������� ��� ����� �������������� ��������� �� ������������������������������������� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ������� ��� ���� ���� ������� ���� �� ��� ���� ������������� ������ �������� ���� �������� ��� �������� ���������������������������������������
����������������� �������������� ���������
TECNUN-Parque tecnológico de la Universidad de Navarra
• ���� �������� ������ ��� ������� ��� ������� ��� ���������� ��� ������ ��������� �� �����������������������������������������������������������������������������������������������
• ���� ����������� ���� ���� �������� ���������� �� ��������������� ��� ������� ���� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
������ ���� ���������� ���� ��������� ��� ������������� ������������� ��� ��������������������������������������������������������
1.4.5 Lenguajes fuertemente y débilmente “tipados” ����������������������������������������������������������������������������������������������������������������������������������
��� ��������� ����������� ��������� ��� ������� ��� ������ ���������� ��� ����� ��� �������������� ������� ��� ������ �������������������� ������������ ���� �������������� ��������� �������������������������������������������������������������������������������������������������������������������������������������������������
��������������������
����������������������� �������������� ��������� ��������������������������������������������������������������������������������
���� ��� ���������� ��� ��� ��������� ������������ �������� ��� ���������� ��� ���������������� ��� ����� ��� ���� ���������� ��� ��� ������ ���� ������������ ���� ���� ���������� ����������������������������������������������������������������������������������������int�������������������������������������������������������������������������������������������������������������������������������������������������������
1.4.6 Lenguajes que soportan la programación orientada a objetos
��� ������������� ���������� �� �������� ������� ��� ������� ��� ����������� �� ��� ����� ����������������������������������������������������������������������������������������������� ���� ��� ��������� ��� ����������� ������ ��� ����� ��� ��� ������� ������ ��������� ���� ������������������������������������������������������������������������������������������������� �������� ��� ������� �������� ��� ������ ���������� ��������� �������� ��� ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ���� ���������� ����������� �� �������� ����������� ������� ���� ����� ��������� ������������� ���� ��������� ����� ����������� ����� ������ ���� �������� ����������� ���������������������������������������
1.5 Errores ������ ��� ����������� ��� ����������� ������������ ���� ���� ������ ��� �������� ���� ���������������� ���� ���� ����������� ������� ��� ��������� ��� ���������� ��������� �����������������
���������� Aprenda a programar como si estuviera en Primero��
Escuela Superior de Ingenieros de San Sebastián
1.5.1 Errores de sintaxis
��� ������ ��� ��������� ��� ������ ��� ��� ���� ��� ��������� ��� ������ ���� ������� ����������������������������������������������������������������������������������������������������������� ��� ��� ������� ������������ �� ���� ��� ������ ��� ������������ ��� ������ ������� ��� ���������������������������������������������������������������������
1.5.2 Errores lógicos
�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ����� ��� ������� ���� ����������� �� ��� ������ ���� ������ �������� �������������� ��� ���������������� ��������� ��� ������� ���� �������� ������ ���� ����� ���� ��������������
������������������������������������������������������������������������������������������ ��� ����� ��������� �������� ��� ������� ��� ���������� ���� ���������� ���� �������� ���������������������������������������������������������������������������������������������������������������������������������������������
�������� �������� ���� ������������� �������� ���� ��� ������ ���� ���� ������������ ��������� ������� ������������� ��� ����������� ���� �������� ���������� ���� ����� ��� ����������������������������������������������������������������������������������������������������
����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
�
�������� ������������������������������� ���������������������������������������������������������������������������������������������������������������������������
����������� ��� ������������� �� ������������ ���� �������� �������� ���������� ����� ����������� ��� ��������� ��� ���� ������������ ���������� ����������� debugger�� ���� ��� ��� ����������������
1.5.3 Debugger �����������������������������������������������������������
• ����������������������������������������������������• �������� ����������� ������� ��� ��� ��������� ��� ���� ���� ��� ������ ���������� �����
���������� �������� ��� �������� ��� ���������� ������ ������� ���� ���������� ������������ ��� ��������� �� ���� ����������� ��������� ��� ������� ��� ��������������������
• �������������������������������������������������������������������������