Uno dei linguaggi di programmazione più utilizzati attualmente è il C++. Semplice, utile, agile, multipiattaforma e dalla curva di apprendimento molto rapida, il C++ è utilissimo nella programmazione embedded dei microcontrollori. Uno dei suoi pregi è la possibilità di programmare per oggetti, il che semplifica molto la vita nel caso di programmazione embedded. Vi è venuta voglia di capirne qualcosa di più? Il mio suggerimento è cominciare a programmare in C partendo da semlici esempi, e agili letture. Uno dei libri che ho trovato utile alo scopo è: C++ Programming in easy steps, 4th edition. L’edizione, in lingua inglese, spiega passo passo come cominciare a scrivere programmi in C partendo dall’installazione del compilatore fino ad arrivare alla creazione di un programma. Intanto potete divertirvi cominciando ad utilizzare questo codice scritto in C:
#include <stdio.h>
#define NUM_VALUES 10
int input_array[] = { 5, 7, 2, 6, 4, 1, 9, 0, 3, 8, 20, 15, 29, 32, 45, 56, 81};
void swap(int index, int new_index) { int temp = input_array[index]; input_array[index] = input_array[new_index]; input_array[new_index] = temp; }
void selection_sort(void) { for(int i = 0; i < NUM_VALUES; i++) { int min_index = i; for(int j = i + 1; j < NUM_VALUES; j++) { if(input_array[j] < input_array[min_index]) { min_index = j; } } if(min_index != i) { swap(i, min_index); } } }
void print_array(void) { for(int i = 0; i < NUM_VALUES; i++) { printf("\nElement %d = %d", i, input_array[i]); } printf("\n"); }
void print_end() { printf("\nWell Done! I put in the order of %d numbers list", NUM_VALUES); }
int main(void) { print_array(); selection_sort(); print_array(); print_end(); return 0; }