Języki i metody programowania C2
Podstawowe pojęcia
Definicje algorytmu:
· reguła przekształcania wyrażeń matematycznych
· dokładny przepis wykonania szeregu operacji w celu rozwiązania określonego zagadnienia
Algorytm zawiera opis:
· danych wejściowych,
· danych wyjściowych,
· działań i scenariusza wykonania tych działań, zrealizowany za pomocą:
ü instrukcji sterujących i wyrażeń,
ü typów danych.
Tekst napisany w języku C/C++, zawierający instrukcje, wyrażenia, definicje typów danych, deklaracje nazw, definicje zmiennych (czyli elementy języka C/C++)
Program napisany w języku zrozumiałym dla komputera, zawierający instrukcje i dane
Proces powstawania programu:
Narzędzie
Zawartość
Typ pliku
edytor C/C++
Tekst w kodzie ASCII
*.cpp, (*.c)
kompilator
Kod binarny
*.obj
linker
Kod binarny jako program wynikowy
*.exe
Przykłady prostych programów
Przykład 1.1 – najprostszy program
void main() // funkcja programu
{ // początek bloku programu
// To jest linia komentarza obejmującego tekst do końca linii
/* To są znaki komentarza obejmującego wiele linii programu
*/
} // koniec bloku programu
/*******************************************************/
Przykład 1.2_1 – najprostszy program wyświetlający na ekranie napis
#include <iostream.h> // deklaracja nazwy obiektu cout
void main()
{
cout <<"Prosty program\n";
/* na ekranie pojawi się napis “Prosty program” i następnie kursor przejdzie do następnej linii (‘\n’) */
}
Przykład 1.3_1 - wprowadzanie liczby z klawiatury i wyświetlanie je na ekranie
#include <iostream.h> // deklaracja nazwy obiektów cout, cin
#include <conio.h> // deklaracja nazwy funkcji getch();
int liczba; //definicja zmiennej typu predefiniowanego całkowitego int czyli
//tworzenie zmiennej w pamięci funkcji main, istniejącej przez cały czas działania programu
cout << "Podaj liczbe całkowita: "; // na ekranie pojawi się napis
//Podaj liczbe całkowita:
cin >> liczba; //po wprowadzeniu liczby np. 5 na ekranie znajduje się napis
//Podaj liczbe całkowita: 5
cout << ”Podano liczbe: ” << liczba << ’\n’;
/* na ekranie pojawi się napis: Podano liczbe: 5
a następnie kursor przejdzie na początek następnej linii */
getch(); // oczekiwanie na naciśnięcie klawisza
Przykład 1.2_2 (inna wersja przykładu 1.2_1)
#include <stdio.h> // deklaracja nazwy funkcji printf
printf("%s", "Prosty program\n"); //równoważne użycie funkcji printf
printf("%s\n", "Prosty program"); // na ekranie pojawi się 3 razy napis “Prosty program”
printf("Prosty program\n"); // i następnie kursor przejdzie do następnej linii (‘\n’)
Przykład 1.3_2 (inna wersja przykładu 1.3_1)
#include <stdio.h> // deklaracja nazwy funkcji printf i scanf
int liczba; //definicja zmiennej typu predefiniowanego całkowitego
printf(" %s", "Podaj liczbe całkowita: "); // na ekranie pojawi się napis
scanf(" %i", &liczba); //po wprowadzeniu liczby np. 5 na ekranie znajduje się napis
printf(" %s%i\n", "Podano liczbe : ", liczba);
Przykład 1.4 – obliczanie wartości wielomianu
#include <stdio.h>
#include <conio.h>
float a,b,c,d,x,v; //definiowanie 6 zmiennych tego samego typu zmiennoprzecinkowego
printf("Podaj a: ");
scanf("%f", &a);
printf("Podaj b: ");
scanf("%f", &b);
printf("Podaj c: ");
scanf("%f", &c);
printf("Podaj d: ");
scanf("%f", &d);
printf("Podaj x: ");
scanf("%f", &x);
v=a*x*x*x+b*x*x+c*x+d; //liczba mnożeń: 6, liczb dodawań: 3, liczba przypisań: 1
printf("Wartosc wielomianu: %f*%f^3+%f*%f^2+%f*%f+%f=%f\n",a,x,b,x,c,x,d,v);
getch();
Przykład 1.5 - obliczanie wartości wielomianu wg wzoru Hornera;
w(x) ax^3+bx^2+cx+d = ((a*x+b)*x + c)*x + d
Algorytm sekwencyjny:
1) Podaj wartość parametru a wielomianu: a
2) Podaj wartość parametru b wielomianu: b
3) Podaj wartość parametru c wielomianu: c
4) Podaj wartość parametru d wielomianu: d
5) Podaj wartość zmiennej x: x
6) oblicz 1-e wyrażenie: v=a*x+b
7) oblicz 2-e wyrażenie: v=v*x+c
8) oblicz 3-e wyrażenie: v=v*x+d
9) Wartość wielomianu jest równa: v
#include <stdio.h> //obliczanie wielomianu wg podanego algorytmu
float a,b,c,d,x,v; //definiowanie 6 zmiennych tego samego typu
printf("%s","Podaj a: ");
scanf("%f",&a);
printf("%s","Podaj b: ");
scanf("%f",&b);
printf("%s","Podaj c: ");
scanf("%f",&c);
printf("%s","Podaj d: ");
scanf("%f",&d);
printf("%s","Podaj x: ");
scanf("%f",&x);
v=a*x+b; //obliczenie wartości wielomianu metodą Hornera:
v=v*x+c; //liczba mnożeń:3, liczba dodawań: 3, liczba przypisan:3
v=v*x+d;
// 1 sposób wyświetlenia wyniku
printf("Wartosc wielomianu: %f\n",v);
//2-i sposób wyświetlenia wyniku
Predefiniowane typy danych
Typy podstawowe reprezentujące zmienne różnych rozmiarów:
3. całkowite ze znakiem:
· signed char
· signed short int
· signed int (int)
· signed long int (long)
1. całkowite
· char
· short int
· int
· long int (long)
2. całkowite bez znaku:
· unsigned char
· unsigned short int
· unsigned int
· unsigned long int
4. zmiennopozycyjne :
· float
· ...
chesschempion