SOLUCIÓN: Erros de compilación, execución e lóxicos.
SOLUCIÓN: En dividi-lo programa en distintos módulos, usar deseño descencente para deseñar cada un deles e en cada módulo usar só as estruturas de secuencia, selección (se, se/senon e se/senon múltiple) e iteración (mentres, repetir-ata-que e dende-ata-paso).
SOLUCIÓN: 7 filas x 10 columnas = 70 elementos.
mentres (condición) ... fin_mentres
SOLUCIÓN:
do if(.not.condición) exit ... end do
SOLUCIÓN: Os mais prioritarios son os aritméticos (**, / *, + -), logo os relacionais (todos de igual prioridade: = = / = > > = < < = .eq. .ne. .gt. .ge. .lt. .le.) e finalmente os lóxicos (.not. .and. .or. .eqv. .neqv.)
SOLUCIÓN:
integer, target :: x integer, pointer :: p p => x
SOLUCIÓN:
program proba integer, dimension(100) :: x call s(x, 100) ... end program ccccccccccccccccccccccccccccccc subroutine s(x, n) integer, dimension(n), intent(...) :: x ... end subroutine
SOLUCIÓN: Modifica tódolos elementos a(i, j) da matriz a que sexan positivos, sustituíndoos polo seu inverso.
SOLUCIÓN: A memoria principal é volátil (a información desaparece ao apaga-lo ordenador), moito mais rápida ca secundaria e con menor capacidade. A memoria secuntaria ten moita mais capacidade, e tamén é moito menos rápida, por iso os programas, que se almacenan na memoria secundaria, se copian á memoria principal para ser executados pola CPU. Memoria principal: RAM, de acceso aleatorio ou directo. Memoria secundaria: discos duros magnéticos, CD-ROM, DVD-ROM, con acceso secuencial.
SOLUCIÓN: Na compilación, o código fonte é traducido a código máquina dunha soa vez, e este código máquina almacénase nun arquivo executábel. A execución do programa supón executar ese código máquina, e non se require o compilador. Na interpretación, o intérprete traduce e executa o código liña a liña, e non crea un arquivo directamente executábel, polo que a execución do programa non se pode facer sen o intérprete.
>> a=3; >> b=a+4; >> v=sqrt(b*7); >> clear b; >> 3+v; >> a=v-a;
SOLUCIÓN: a = 4, v = 7, ans = 10 (na variábel ans almacénase o resultado da operación 3 + v, que non se almacena en ningunha outra variábel). A variábel b é borrada na sentencia clear b;
x2 -3senx + e-x/2dx | (1) |
SOLUCIÓN: int(' x2 - 3*sin(x) + exp(- x/2)', x, -1, 1);
SOLUCIÓN:
Os enteiros sen signo almacénanse en binario puro. Os enteiros con signo admiten tres variantes:
SOLUCIÓN:
function nodos(p) type(nodo), pointer, intent(in) :: p type(nodo), pointer :: q q => p; nodos = 0 do if(.not.associated(q)) exit nodos = nodos + 1 q => q%enlace end do return end function nodos
SOLUCIÓN: g95 -L/home/usuario programa.f -lproba
SOLUCIÓN:
Para pasar funcións como argumentos doutros subprogramas.
SOLUCIÓN:
Variábeis estáticas son variábeis declaradas dentro dun subprograma que teñen a mesma posición de memoria asignada en tódalas chamadas ao subprograma, de modo que conservan o seu valor entre dúas chamadas consecutivas ao subprograma. Pódense declarar coa sentencia ou atributo save, ou ben simplesmente inicializándoas na propria declaración.