[WikiDyd] [TitleIndex] [WordIndex

Języki i metodologia programowania I, laboratorium

1. Zajęcia wstępne

Tematyka: zapoznanie sie ze środowiskiem pracy: SO, edytor,

Wymagania wstępne: brak

Materiały pomocnicze:

  1. Edytor vi - w większości systemów uniksopodobnych istnieje polecenie vimtutor uruchamiające półgodzinną, interaktywna lekcję vi/vim

  2. Poruszanie się w uniksie: podstawowe polecenia shella

Opis ogólny:

W trakcie zajęć nauczymy się logować do systemu, poruszać w linuksowym (uniksowym) systemie plików, wykonywać podstawową edycję programu przy pomocy edytora vi(m) i kompilować proste programy w C.

Większość czasu spędzimy wykonując w kółko dwa polecenia:

vi program.c
cc -Wall program.c

Program szczegółowy:

   1    #include <stdio.h>
   2 
   3    main() {
   4       printf( "Dzien dobry!" );
   5       return 1;
   6    }

   1    #include <stdio.h>
   2 
   3    main() {
   4       double s;
   5       double x;
   6 
   7       do {
   8          printf( "%g + ", s );   /* skasowac jeden z cudzyslowow */
   9          sscanf( "%lf", &x );    /* usunac przecinek pom. argumentami */
  10          s += x;                 /* zamienic miejscami x i s */
  11          printf( "= %g\n", s );  /* zmienic printf na print */
  12       } while( x != 0.0 );       /* usunac ten srednik */
  13       printf( "Wynik ostateczny= %g\n", s );
  14 
  15       retun 0;
  16    }

   1 #include <stdio.h>
   2 
   3 int 
   4 main()
   5 {
   6         printf("Programuje w c !\n");
   7         return 0;
   8 }

   1 /* inna wersja kalkulatora */
   2 #include <stdio.h>
   3 
   4 int 
   5 main()
   6 {
   7         double          s = 0;
   8         double          x = 0;
   9         do {
  10                 printf("Podaj liczbe:");
  11                 scanf("%lf", &x);
  12                 s += x;
  13                 printf("suma= %f\n", s);
  14         } while (x != 0);
  15         return 0;
  16 }

   1 /* Suma argumentow z linii polecen */
   2 #include <stdio.h>
   3 #include <stdlib.h>
   4 
   5 int 
   6 main(int argc, char *argv[])
   7 {
   8         double          s = 0;
   9 
  10         while (--argc) {
  11                 s += atof(argv[argc]);
  12                 printf("Suma = %f\n", s);
  13         }
  14         printf("\nsuma koncowa = %g\n", s);
  15         return 0;
  16 }

   1 /* Pakowanie argumentow do wektora,
   2    definicja i wywolanie funkcji wypisujacej wektor
   3 */
   4 #include <stdio.h>
   5 #include <stdlib.h>
   6 
   7 void 
   8 pokazwektor(double v[], int n)
   9 {
  10         int             i;
  11         printf(" [");
  12         for (i = 0; i < n; i++)
  13                 printf(" %g", v[i]);
  14         printf(" ]\n");
  15 }
  16 
  17 
  18 int 
  19 main(int argc, char *argv[])
  20 {
  21         double          v[100];
  22         int             i = 0;
  23         while (--argc)
  24                 v[i++] = atof(argv[argc]);
  25         pokazwektor(v, i);
  26         return 0;
  27 }

   1 /* Pakowanie argumentow do wektora,
   2    definicja i wywolanie
   3       funkcji wypisujacej wektor
   4       funkcji sumujacej elementy wektora
   5 */
   6 #include <stdio.h>
   7 #include <stdlib.h>
   8 
   9 void 
  10 pokazwektor(double v[], int n)
  11 {
  12         int             i;
  13         printf(" [");
  14         for (i = 0; i < n; i++)
  15                 printf(" %g", v[i]);
  16         printf(" ]\n");
  17 }
  18 
  19 double 
  20 suma(double v[], int n)
  21 {
  22         int             i;
  23         double          s = 0;
  24         for (i = 0; i < n; i++) {
  25                 s += v[i];
  26         }
  27         return s;
  28 }
  29 
  30 int 
  31 main(int argc, char *argv[])
  32 {
  33         double          v[100];
  34         int             i = 0;
  35         while (--argc)
  36                 v[i++] = atof(argv[argc]);
  37         pokazwektor(v, i);
  38         printf("Suma: %g\n", suma(v, i));
  39         return 0;
  40 }

2015-09-23 06:43