art script shell-art hacking

Parte


poi verso pagina 15 le funzioni 

PROGRAMMAZIONE STRUTTURATA

Questi accenni di analisi e programmazione strutturata utilizzano come

sintassi descrittiva quella definita come notazione algebrica o notazione A.
La notazione A non dispone di forme grammaticali rigide per cui all’interno

del testo verranno utilizzati vocaboli simili ma non sempre

uguali allo scopo di illustrare i vari passi degli algoritmi qui descritti.
In altre parole la notazione algebrica e’ l’ analisi eseguita mediante il

 linguaggio naturale delle problematiche legate agli aspetti dellaprogrammazione

che dobbiamo compiere. Una traduzione di questi in un qualsiasi linguaggio

 di tipo strutturato risultera’ molto semplice.
Bisogna tenere a mente che un programma non viene fatto sul computer

bensi’ prima va studiato e analizzato sulla carta. Non accennare alla

notazione A o a qualsiasi metodo di analisi potrebbe portare a pericolose interpretazioni

 delle strutture di un algoritmo, poi difficilmente correggibili.
Una chiarezza nella stesura dell’algoritmo in notazione A permettera’ una

facile codifica di questo in qualsiasi linguaggio sia questo C, Pascal o PL1.
La trasformazione dei concetti trattati da notazione algebrica a linguaggio

 C, in questo capitolo, ha il solo scopo di abituare alla vista di certe forme.
L’apprendimento della sintassi vera e propria non ha molta importanza in

questa fase in quanto verra’ ripetuta e approfondita nelle sezioni riguardanti il linguaggio C vero e proprio.

http://www.tutorialpc.it/lingc2.asp

Metodo di analisi informatico

Dato un sistema reale munito di una qualsiasi struttura, tutto cio’

 che permette di descriverlo e’ consinderato un informazione. Un’

 informazione puo’ essere di tipo quantitativo o di tipo qualitativo.

Il metodo di analisi diretto consiste nell’elaborare direttamente l’insieme.
Ad esempio volendo sapere il numero di persone con i baffi in un 

certo gruppo dovremmo contare, supponendo questi immobili,

le persone che corrispondono a questo requisito.

Il metodo indiretto si basa sull’analisi delle informazioni che si possiedono

 su un determinato sistema. Nel caso precedente avremmo dovuto

attribuire un dato alle persone con i baffi e poi contare quante volte compare 
quest’informazione.
In campo informatico possiamo affermare che ad ogni informazione 
del sistema reale corrisponde un informazione codificata sul sistema di elaborazione.

tutti gli operatori dizionario C

http://digilander.libero.it/uzappi/C/C-operatori.html

http://www.swprog.com/guide/c-variabili.php

per quanto cristina bolchini delucida bene pag.11

di arte dell hacking

http://home.dei.polimi.it/bolchini/didattica/linguaggioc/lez4.htm

da

Materiale sul Linguaggio C

Lezioni di C

Le basi del linguaggio C

1. Introduzione
2. Strumenti per la compilazione
3. La struttura di un programma C

Sintassi e semantica del linguaggio C
4. Dichiarazioni, tipi e memoria
5. Aritmetica, operazioni e operatori
6. Ingresso e uscita
7. Il flusso di controllo
8. Le funzioni
9. Gli array
10. I puntatori
11. Le stringhe
12. Le strutture
13. I file
14. La memoria dinamica
15. Strutture dati dinamiche: le liste concatenate
16. La ricorsione

Esercizi vari

  • Esercizi proposti suddivisi per argomenti/lezioni
  • Esercizi proposti suddivisi per tipologia
  • Alcuni esempi ed esercizi di programmi in C

–>

Compilatori

Il compilatore utilizzato è il gcc disponibile al sito http://directory.fsf.org/project/gcc/.
È possibile lavorare da linea di comando, oppure scaricare ed installare un ambiente

di sviluppo che si appoggi a tale compilatore. In particolare sono disponibili gratuitamente gli ambienti di seguito elencati.

  • http://www.bloodshed.net/devcpp.html ***
    Dev-C++ è un ambiente di sviluppo integrato (IDE – Integrated Development Environment) per il linguaggio C e C++.
    Si tratta di Free Software (in base alla licenza GNU General Public License), per sistemi operativi Windows 95/98/NT/2000/XP.
  • MinGW Developer Studio
    Un altro ambiente integrato per lo sviluppo, sia per Windows sia per Linux.
  • KDevelop
    Ambiente per Linux

Sintassi

Un breve riassunto della sintassi del linguaggio è riportato in questo documento

Cristiana Bolchini

[>>][<<]Indice

Lezione 4

Dichiarazioni, tipi e memoria

Le variabili

Una variabile è un’area di memoria cui viene dato un nome, in grado di memorizzare un singolo

 valore (numerico o un carattere). Per poter utilizzare una variabile per salvare un valore

è necessario dichiararla specificandone il nome ed il tipo di valore per i quali di desidera

 utilizzarla; dunque, prima di utilizzare una variabile è necessario dichiarla.

Nel C ANSI la dichiarazione delle variabili viene messa all’inizio della funzione che ne farà uso.

Ci sono cinque tipi "primitivi":

  • int – numero intero.
  • float – numero in virgola mobile, ossia un numero con una parte frazionaria.
  • double – numero in virgola mobile in doppia precisione.
  • char – un carattere.
  • void – un tipo per usi speciali

Uno degli aspetti meno chiari del linguaggio è la quantità di memoria che ciascuno

 di questi tipi richiede non è predefinita, in quanto dipende dall’architettura del calcolatore.

 Per individuare quanta memoria viene messa a disposizione dall’architettura del proprio

calcolatore è possibile compilare ed eseguire il programma di seguito riportato,

 il quale visualizza il numero di byte utilizzati dai vari tipi, mediante l’uso dell’operatore sizeof.

#include <stdio.h>#include <stdlib.h>int main(){ char c; int a; float f; double d;
INDICE
 
http://digilander.libero.it/uzappi/C/index.html
nelle pagine successive
Operatori di confronto e logici abbbrevazioni di 
hacker e programatori end or

Gli operatori di confronto permettono di verificare determinate condizioni, come ad esempio l'uguaglianza, la disuguaglianza, o semplicemente se un elemento è maggiore di un'altro; la seguente tabella mostra nel dettaglio gli operatori di confronto e la loro funzione:

Simbolo
Significato
Utilizzo
==
uguale a
a == b
!=
diverso da
a != b
<
minore
a < b
>
maggiore
a > b
<=
minore o uguale
a <= b
>
maggiore o uguale
a >= b

Questi operatori servono quando incontreremo le istruzioni condizionali e quelle iterative, perché se la condizione è verificata restituiscono vero, altrimenti restituiscono falso. Gli operatori di confronto sono operatori a due argomenti ed hanno sempre posizione infissa (cioè tra i due argomenti).

Anche gli operatori logici vengono utilizzati con le istruzioni condizionali ed iterative, e permettono di fare l'AND e l'OR tra due operandi; nella tabella mostriamo i simboli usati e il loro utilizzo:

Simbolo
Significato
Utilizzo
&&
AND logico
a && b
||
OR logico
a || b

Queste operazioni restituiscono necessariamente 1 quando sono vere e 0 quando sono false, quindi facendo "a || b" questa assume valore uno se e solo se "a" o "b" valgono uno, mentre vale zero se entrambi gli operandi valgono zero; analogamente quando si ha "a & b", questa assume valore zero se "a" o "b" valgono zero, uno nel caso entrambi valgano uno. Da far notare che i simboli && e || sono diversi da & e | che, invece, rappresentano il bitwise AND ed il bitwise OR (non trattati in questa guida).


This entry was posted in Generale. Bookmark the permalink.