Programowanie strukturalne

Wykład 1

Sprawy organizacyjne

Sprawy organizacyjne

Wymagania wstępne

  • Znajomość podstawowych konstrukcji programistycznych (ze wstępu do programowania).

Ewentualne braki należy opanować w samodzielnym zakresie.

W razie problemów zapraszam na konsultacje.

Programowanie

Programowanie - co to jest?

Programowanie:

  • to instruowanie komputera, co ma robić.

  • to co robi “programista” gdy pisze “program”.

  • przekazanie fragmentu rzeczywistości do komputera.

Kompilator a interpreter

Kompilator i interpreter są narzędziami służącymi do przetwarzania kodu źródłowego napisanego w języku programowania na kod maszynowy, który komputer może wykonać.

Zasada działania kompilatora:

  • Analizuje kod źródłowy, aby zidentyfikować jego składnię i semantykę.
  • Tworzy wewnętrzną reprezentację programu.
  • Przetwarza reprezentację programu, aby wygenerować kod maszynowy.
  • Kod maszynowy jest zapisywany w pliku wykonywalnym, który może być uruchomiony na komputerze.

Zasada działania interpretera:

  • Analizuje kod źródłowy, aby zidentyfikować jego składnię i semantykę.
  • W trakcie działania programu, interpreter tłumaczy kod źródłowy na kod maszynowy i wykonuje go w czasie rzeczywistym.
  • Kod źródłowy jest przetwarzany sekwencyjnie, a interpreter wykonuje każdą linijkę kodu w kolejności.

Różnice:

  • Sposób działania - Kompilator generuje kod maszynowy w trakcie przetwarzania kodu źródłowego, podczas gdy interpreter tłumaczy i wykonuje kod źródłowy w czasie rzeczywistym.
  • Szybkość - Kompilatory zazwyczaj są szybsze od interpreterów, ponieważ kod maszynowy jest generowany tylko raz i może być wielokrotnie wykonywany. Interpreter musi tłumaczyć i wykonywać kod za każdym razem, gdy jest uruchamiany.
  • Debugowanie - Interpretery są zazwyczaj łatwiejsze w debugowaniu, ponieważ można wykrywać błędy w trakcie wykonywania kodu źródłowego. Kompilatory zazwyczaj wymagają oddzielnego narzędzia do debugowania.
  • Platformy docelowe - Kompilatory zazwyczaj generują kod maszynowy dla konkretnej platformy, podczas gdy interpretery często są w stanie działać na wielu platformach bez wymagania przekompilowania.

Paradygmaty programowania

Paradygmat programowania

Paradygmat programowania — sposób patrzenia programisty na przepływ sterowania i wykonywanie programu komputerowego.

Język C

Czemu język C?

https://www.tiobe.com/tiobe-index/

Historia języka C

Poprzednikiem języka C był interpretowany język B, który Dennis Ritchie rozwinął w język C. Pierwszy okres rozwoju języka to lata 1969–1973. W roku 1973 w języku C udało się zaimplementować jądro systemu operacyjnego Unix. W 1978 roku Brian Kernighan i Dennis Ritchie opublikowali dokumentację języka pt. C Programming Language (wydanie polskie: Język C).

Standardy

Year C Standard
1972 Birth
1978 K&R C
1989/1990 ANSI C and ISO C
1999 C99
2011 C11
2017 C17
2023 C23*

https://en.wikipedia.org/wiki/C_(programming_language)#History

Sposób działania C

  1. Kod źródłowy
  2. Kompilacja
  3. Kod wynikowy

Hello World

#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("Hello world!\n");
    return 0;
}

Bibliografia