Tellstick-15.c. Kompilering av programmet: gcc -o tellstick-15 -Wall -ltelldus-core -W -O2 -s -pipe -lm tellstick-15.c
|
|
- Karl Eklund
- för 9 år sedan
- Visningar:
Transkript
1 Tellstick-15.c Ett program skrivet i C för att med Tellstick tända och släcka en eller flera lampor. Det nya i detta program är att strömbrytare 1 tänds och släcks efter solens upp- och nedgång, tänds vid solens nedgång och släcks vid solens uppgång. Kompilering av programmet: gcc -o tellstick-15 -Wall -ltelldus-core -W -O2 -s -pipe -lm tellstick-15.c Programmet kommer att skifta loggfil kl 00:01, så kallad loggroll. Programmet startas med kommandot: /home/pi/development/cprog/tellstick/tellstick-15 -f </dev/null &>/dev/null & Avsluta programmet med shellkommandot: kill -9 PID där PID, process ID, är det id som sätts på programmet. PID kan hittas med hjälp av shellkommandot: ps -ef Programmet tellstick-15.c / tellstick-15.c Jan Pihlgren Loggroll körs varje natt klockan 00:01. Programmet justerar sig till att mäta absolut minut. (diff) Programmet utnyttjar en indatafil där tänd och släcktider anges. Brytare nr 1 kommer alltid att tändas vid solens nedgång och släckas vid solens uppgång. PATH/tellstick-13 -f Indatafilens organisation: löpnr tändtid släcktid brytarnr/enhetsnr ex: 1 15:00 17:00 2 ordningsnr, tändtid, släcktid, brytarenr Programmet stoppas med kommando:
2 kill -9 PID eller sudo kill -9 PID där PID hittas med kommando ps -ef och leta efter startkommandot ovan. Tänker införa möjlighet att kommunicera med programmet när det körs. Kompilera: (gcc -o tellstick-15 -Wall -ltelldus-core -W -O2 -s -pipe -lm tellstick-15.c) / #include <telldus-core.h> #include <time.h> #include <sys/time.h> #include <math.h> #include <stdio.h> #include <unistd.h> #include <string.h> #include <stdlib.h> #include "struktur.h" #include "sunrise.h" / struct strombr char nr[2]; char ontid[10]; char offtid[10]; char switchnr[2]; ; struct strombr brytare[25]; / // Ordningsnummer // Brytarens/enhetens nr // Plats för 25 brytare/enheter char indatafile[] = "/home/pi/script/tidschema_ny.data"; char logfile[] = "/home/pi/temp/tellstick.log"; int antpost =0; int postnr; char typ[2]=" "; void loggroll(); void readdata_ny();
3 int sunrise( int year, int month, int day); int main(int argc, char argv[]) time_t tid; struct tm info; char buffer[80]; char sec[80]; char klockan[10]; int i; int go = 1; // fortsätt programmet int diff; // skillnads char version[] = "Version: tellstick-15"; char rolltid[] = "00:01"; int year=2014; int month=12; int day=1; time(&tid); info = localtime(&tid); strftime(buffer,80,"%y",info); year=atoi(buffer); strftime(buffer,80,"%m",info); month=atoi(buffer); strftime(buffer,80,"%d",info); day=atoi(buffer); loggroll(); / Rulla loggfilerna / readdata_ny(); / läs in data för tändtider och släcktider i struct brytare / sunrise(year,month,day); / Sätt tiden för solens upp- och nedgång för brytare 0 / printf("datum = %d-%d-%d:\n",year,month,day); printf("brytare 0,Tändtid = %s Släcktid = %s\n",brytare[0].ontid,brytare[0].offtid); FILE fp; if (argc > 1)
4 if (strcmp(argv[1], "-f") == 0) / Läsa från datafil om tänd- och släcktider? / / Hämtas data från fil / postnr = 0; / Första tändtiden, post nr 1 / // else // strcmp? // fp=fopen(logfile, "a"); fprintf(fp,"%s\n",version); fprintf(fp,"brytare %s\n ",brytare[postnr].switchnr); fprintf(fp,"tändning sker klockan %s\n",brytare[postnr].ontid); fprintf(fp, "Släckning sker klockan %s\n",brytare[postnr].offtid); fclose(fp); while(go!= 0) time(&tid); info = localtime(&tid); strftime(buffer,80,"%h:%m",info); strcpy(klockan,buffer); strftime(sec,80,"%h:%m:%s",info); strftime(buffer,80,"%y",info); year=atoi(buffer); strftime(buffer,80,"%m",info); month=atoi(buffer); strftime(buffer,80,"%d",info); day=atoi(buffer); sunrise(year,month,day); / Sätt tiden för solens upp- och nedgång för brytare 0 / // printf("datum = %d-%d-%d:\n",year,month,day); // printf("brytare 0,Tändtid = %s Släcktid = %s\n",brytare[0].ontid,brytare[0].offtid); fp=fopen(logfile, "a"); for(i = 0; i < antpost; i++) if(strcmp(klockan,brytare[i].ontid) == 0)
5 tdturnon(atoi(brytare[i].switchnr)); fprintf(fp,"tänder %s Kl %s\n",brytare[i].switchnr,klockan); if(strcmp(klockan,brytare[i].offtid) == 0) tdturnoff(atoi(brytare[i].switchnr)); fprintf(fp,"släcker %s Kl %s\n",brytare[i].switchnr,klockan); fclose(fp); if(strcmp(rolltid,klockan) == 0) loggroll(); loggfilerna readdata_ny(); data igen / sunrise(year,month,day); solens upp och nergång / // Rulla / läs in / Återställ brytare 0 till fp=fopen(logfile, "a"); fprintf(fp,"%s\n",version); if(strcmp(argv[1],"-f") == 0) fprintf(fp,"ant poster = %d\n",antpost); fprintf(fp,"tändning kl %s. Släckning kl %s\n",brytare[0].ontid,brytare[0].offtid); fclose(fp); / Här ska programmet kontrollera om det finns något inkommande kommando som ska åtgärdas / diff = 60 - atoi(sec); sleep(diff); // go=0; tdclose(); // Rucka klockan så tiden blir exact på minuten. return 0;
6 void loggroll() char oldfile1[] = "/home/pi/temp/tellstick.old1"; char oldfile2[] = "/home/pi/temp/tellstick.old2"; char oldfile3[] = "/home/pi/temp/tellstick.old3"; / Radera oldfile3 / remove(oldfile3); / Flytta filer / rename(oldfile2, oldfile3); // flytta oldfile2 till oldfile3 rename(oldfile1, oldfile2); // flytta oldfile1 till oldfile2 rename(logfile, oldfile1); // flytta logfile till oldfile1 return; void readdata_ny() FILE data; data = fopen(indatafile,"r"); antpost=0; while(1) fscanf(data,"%s",brytare[antpost].nr); fscanf(data,"%s",brytare[antpost].ontid); fscanf(data,"%s",brytare[antpost].offtid); fscanf(data,"%s",brytare[antpost].switchnr); antpost++; if(feof(data)) antpost--; break; fclose(data); return;
7 / header för strukturen brytare / struct strombr char nr[2]; char ontid[10]; char offtid[10]; char switchnr[2]; ; struct strombr brytare[25]; strucktur.h // Ordningsnummer // Brytarens/enhetens nr // Plats för 25 brytare/enheter sunrice.h / sunrise.h Copyright (GPL) 2004 Mike Chirico mchirico@comcast.net Updated: Sun Nov 28 15:15:05 EST 2004 Program adapted by Mike Chirico mchirico@comcast.net Reference: Modified: Jan Pihlgren Position för MÄRSTA: 59 grader 37 minuter 0 sekunder N, 17 grader 51 minuter 0 sekunder E 59.62, Kompilera: (gcc -L/usr/local/lib -Wall -W -lm -o sunrise sunrise.c) (gcc -o sunrise -Wall -W -O2 -s -pipe -lm sunrise.c) Exekvera för Märsta:
8 ./sunrise / double calcsuneqofcenter(double t); / Convert degree angle to radians / double degtorad(double angledeg) return (M_PI angledeg / 180.0); double radtodeg(double anglerad) return (180.0 anglerad / M_PI); double calcmeanobliquityofecliptic(double t) double seconds = t( t( t( ))); double e0 = ( (seconds/60.0))/60.0; return e0; // in degrees double calcgeommeanlongsun(double t) double L = t ( t); while( (int) L > 360 ) L -= 360.0; while( L < 0)
9 L += 360.0; return L; // in degrees double calcobliquitycorrection(double t) double e0 = calcmeanobliquityofecliptic(t); double omega = t; double e = e cos(degtorad(omega)); return e; // in degrees double calceccentricityearthorbit(double t) double e = t ( t); return e; // unitless double calcgeommeananomalysun(double t) double M = t ( t); return M; // in degrees double calcequationoftime(double t) double epsilon = calcobliquitycorrection(t); double l0 = calcgeommeanlongsun(t);
10 double e = calceccentricityearthorbit(t); double m = calcgeommeananomalysun(t); double y = tan(degtorad(epsilon)/2.0); y = y; double sin2l0 = sin(2.0 degtorad(l0)); double sinm = sin(degtorad(m)); double cos2l0 = cos(2.0 degtorad(l0)); double sin4l0 = sin(4.0 degtorad(l0)); double sin2m = sin(2.0 degtorad(m)); double Etime = y sin2l0-2.0 e sinm e y sinm cos2l0-0.5 y y sin4l e e sin2m; return radtodeg(etime)4.0; // in minutes of time double calctimejuliancent(double jd) double T = ( jd )/ ; return T; double calcsuntruelong(double t) double l0 = calcgeommeanlongsun(t); double c = calcsuneqofcenter(t); double O = l0 + c; return O; // in degrees double calcsunapparentlong(double t) double o = calcsuntruelong(t);
11 double omega = t; double lambda = o sin(degtorad(omega)); return lambda; // in degrees double calcsundeclination(double t) double e = calcobliquitycorrection(t); double lambda = calcsunapparentlong(t); double sint = sin(degtorad(e)) sin(degtorad(lambda)); double theta = radtodeg(asin(sint)); return theta; // in degrees double calchouranglesunrise(double lat, double solardec) double latrad = degtorad(lat); double sdrad = degtorad(solardec); double HA = (acos(cos(degtorad(90.833))/(cos(latrad)cos(sdrad))-tan(latrad) tan(sdrad))); return HA; // in radians double calchouranglesunset(double lat, double solardec) double latrad = degtorad(lat); double sdrad = degtorad(solardec); double HA = (acos(cos(degtorad(90.833))/(cos(latrad)cos(sdrad))-tan(latrad) tan(sdrad))); return -HA; // in radians
12 double calcjd(int year,int month,int day) if (month <= 2) year -= 1; month += 12; int A = floor(year/100); int B = 2 - A + floor(a/4); ; double JD = floor(365.25(year )) + floor( (month+1)) + day + B - return JD; double calcjdfromjuliancent(double t) double JD = t ; return JD; double calcsuneqofcenter(double t) double m = calcgeommeananomalysun(t); double mrad = degtorad(m); double sinm = sin(mrad); double sin2m = sin(mrad+mrad); double sin3m = sin(mrad+mrad+mrad); double C = sinm ( t ( t)) + sin2m ( t) + sin3m ; return C; // in degrees double calcsunriseutc(double JD, double latitude, double longitude)
13 double t = calctimejuliancent(jd); // First pass to approximate sunrise double eqtime = calcequationoftime(t); double solardec = calcsundeclination(t); double hourangle = calchouranglesunrise(latitude, solardec); double delta = longitude - radtodeg(hourangle); double timediff = 4 delta; // in minutes of time double timeutc = timediff - eqtime; // in minutes double newt = calctimejuliancent(calcjdfromjuliancent(t) + timeutc/1440.0); eqtime = calcequationoftime(newt); solardec = calcsundeclination(newt); hourangle = calchouranglesunrise(latitude, solardec); delta = longitude - radtodeg(hourangle); timediff = 4 delta; timeutc = timediff - eqtime; // in minutes return timeutc; double calcsunsetutc(double JD, double latitude, double longitude) double t = calctimejuliancent(jd); // First pass to approximate sunset
14 double eqtime = calcequationoftime(t); double solardec = calcsundeclination(t); double hourangle = calchouranglesunset(latitude, solardec); double delta = longitude - radtodeg(hourangle); double timediff = 4 delta; // in minutes of time double timeutc = timediff - eqtime; // in minutes double newt = calctimejuliancent(calcjdfromjuliancent(t) + timeutc/1440.0); eqtime = calcequationoftime(newt); solardec = calcsundeclination(newt); hourangle = calchouranglesunset(latitude, solardec); delta = longitude - radtodeg(hourangle); timediff = 4 delta; timeutc = timediff - eqtime; // in minutes // printf(" eqtime = %f \nsolardec = %f \ntimeutc = %f\n\n",eqtime,solardec,timeutc); return timeutc; int sunrise(int year, int month, int day) time_t seconds; time_t tseconds; struct tm ptm=null; struct tm tm; int dst=-1; char buffer[30]; float JD=calcJD(year,month,day);
15 double latitude = 59.62; double longitude = ; // Minus för söder om ekvatorn, för Märsta // Minus för öster om Greenwich, för Märsta JD = calcjd(year,month,day); tm.tm_year= year-1900; tm.tm_mon=month-1; / Jan = 0, Feb = 1,.. Dec = 11 / tm.tm_mday=day; tm.tm_hour=0; tm.tm_min=0; tm.tm_sec=0; tm.tm_isdst=-1; seconds = mktime(&tm); int delta; dst =tm.tm_isdst; ptm = gmtime ( &seconds ); delta = ptm->tm_hour; tseconds = seconds; seconds= seconds + calcsunriseutc( JD, latitude, longitude)60; seconds= seconds - delta3600; strftime(buffer,30,"%m-%d-%y %T",localtime(&seconds)); // printf("sunrise %s ",buffer); char rise[35]; strftime(rise,30,"%h:%m",localtime(&seconds)); seconds=tseconds; seconds+=calcsunsetutc( JD, latitude, longitude)60; seconds= seconds - delta3600; strftime(buffer,30,"%m-%d-%y %T",localtime(&seconds)); // printf("sunset %s\n",buffer); char set[35]; strftime(set,30,"%h:%m",localtime(&seconds));
16 // // printf("sunset %s ",set); // printf("sunrise %s\n",rise); strcpy(brytare[0].ontid,set); strcpy(brytare[0].offtid,rise); return 0; Kompilering gcc -o tellstick-15 -Wall -ltelldus-core -W -O2 -s -pipe -lm tellstick-15.c 1 04:30 08: :00 06: :15 17:05 2 tidschema_ny.data
Raspberry Pi och Tellstick, ett program i C.
Raspberry Pi och Tellstick, ett program i C. Ett program skrivet i C för att med Tellstick tända och släcka en eller flera lampor. Programmet startas med kommandot: /home/pi/development/cprog/tellstick/tellstick-13
printenv sort pager printenv grep args sort pager
1 Problembeskrivning Uppgiften var att skriva ett program, digenv för att visa miljövariabler. programmet vara ekvivalent med att köra: Kört utan argument så skulle printenv sort pager och kört med argument
Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll, 040110.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Denna tenta kommer att vara färdigrättad On 14/1-04 och kan då hämtas på mitt
Hur man kompilerar och kör IT++-program med MinGW. 1 Sammanfattning. 2 Om dokumentet. 3 Om min konfiguration
1 (12) Hur man kompilerar och kör IT++-program med MinGW 1 Sammanfattning Detta dokument visar hur man lätt (med några få extra raders kod) kan få IT++ att bli kompatibelt med kompilatorn MinGW. Med den
Programmeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Skizz till en enkel databas
Skizz till en enkel databas Data: Register En vektor Funktioner: Databas Initiera huvudloop Avsluta Poster (struct( struct) val Mata in Skriv ut Spara Hämta Ändra Radera Enligt diskussion 1999-11-23 Bertil
Översikt Introduktion DST 1. Nicholas Wickström. IDE, Högskolan i Halmstad. N. Wickström
DST 1 Nicholas Wickström IDE, Högskolan i Halmstad 2009 1 Outline 1 Vad är Hårdvara? (Datorsystemmodell; processor m. periferi, IO, Minne) Typiskt för hårdvarunära programmering (datablad, register, datastrukturer,...)
(2) Skriv ett program som skapar ett antal processer vars relationer beskrivs av nedanstående tidsdiagram a
Tentamen i Operativsystem, HI1025:LAB1-15 mars, 2017 Allmänna instruktioner. Tentamen innehåller 3 programmeringsproblem av den art vi exemplifierat på seminarier och i övningar. För godkänt betyg ska
Övning från förra gången: readword
(9 september 2010 T4.1 ) Övning från förra gången: readword /** readword.c * * int readword(char w[], int n) { * * Läser tecken tills en bokstav påträffas. * Läser och lagrar sedan högst n-1 bokstäver
Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl 13.00. Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1, 040607.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl 13.00. Denna tenta kommer att vara färdigrättad On 9/6 och kan då hämtas på mitt tjänsterum,
Tentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Och!efter!ca!20!omgångar!hamnade!den!på!en!stabil!konfiguration!enligt!nedan! där!den!stannar!kvar.!
Inlämningsuppgift5/GameofLife GameofLifeärettklassigtspel/emulator.Sistidokumentetserduemexempel kodskriveniprogrammetmatlab.skrivomprogrammeticiställetochstarta medattskrivaerainitialerpåspelbrädet.förmerinformationom
4 Sammansatta datatyper
4 Sammansatta datatyper De enkla datatyper som vi hittills använt är otillräckliga när man ska hantera stora datamängder. Vill man exempelvis läsa in 100 reella mätvärden, som man tillfälligt vill spara
Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012
1 of 6 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Dugga i Grundläggande programmering STS, åk
Grundläggande programmering, STS 1 14 maj 2007 Sida 1/11 Dugga i Grundläggande programmering STS, åk 1 2007-05-14 Skrivtid: 13:00 16:00 Hjälpmedel: Inga Lärare: Sven Sandberg besöker duggan ca 13:45. Tel.
Möte 9: Relationer mellan körande processer - (PI)
Möte 9: Relationer mellan körande processer - (PI) Målet med att köra flera processer är ofta att få dem att samverka. Vi ska idag studera olika sätt att får processer att samverka. En viktig form av samverkan
SMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning
Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)
Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)
Recap Mera om nya typer Kort Fält. Programmering. Sommarkurs 2007 www.hh.se/staff/vero/programmering. Verónica Gaspes. IDE-sektionen.
Programmering Sommarkurs 2007 www.hh.se/staff/vero/programmering Verónica Gaspes IDE-sektionen Juni 14 Utkast 1 Recap 2 Mera om nya typer 3 Kort 4 Fält Recap Man kan ge namn till typer. Vi undersökte enum
Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING
Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING 1. Träna på att logga in och ut. 2. Mata ln sleep 60. Mata in kommandot date direkt. Tryck på avbrottstangenten, (CTRL-C). Prova kommandot date
Övningar Dag 2 En första klass
Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt
Tentamen i Programmering grundkurs och Programmering C
1 of 7 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Snabbguide Visma Compact API Version 5.1 Copyright 2006-2008 Visma Spcs AB Visma Compact API
Snabbguide Visma Compact API Version 5.1 Copyright 2006-2008 Visma Spcs AB Visma Compact API Introduktion Visma Compact API är ett programmeringsgränssnitt framtaget för att underlätta integration av Visma
Lösningsförslag, tentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Astronomi och Teoretisk fysik HT 12 Lösningsförslag, tentamen FYTA11 Javaprogrammering Onsdag 9 januari 2013, 10:15 14:15 Instruktioner Hjälpmedel: Papper och
Växtviskaren EITF11 Digitala projekt VT15, I12
Växtviskaren EITF11DigitalaprojektVT15,I12 NathalieLiljebrunn,EbbaRiismark,AnnaNorelius LundsTekniskaHögskola Institutionenförelektro ochinformationsteknik Handledare:BertilLindvall,AndreasJohansson 2015
lex källkod lex.l lexkompilator lex.yy.c C- kompilator lex.yy.c a.out sekvens av tokens a.out input specifikation av tokens mha reguljära uttryck
input läs tecken stoppa tillbaka ett tecken skicka ett token och dess attribut parser Eliminera white space och kommentarer Gruppera lästa tecken till tokens identifierare, nyckelord, numeriska konstanter,
Editering, Kompilering och Exekvering av Javaprogram
UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)
Föreläsning 7 Strängar
Föreläsning 7 Strängar I C använder vi strängar för att lagra text. Strängar kommer in ganska sent i kursen, det är jag inte så glad över, men det finns också fördelar, vi har grundat oss rejält nu i funktioner,
GPT föreläsning 8. Förra veckan: Man kan ta tiden på en sorterad teckensträng Förra gången: Problemlösning på lägre nivå kan sortera funktioner
GPT föreläsning 8 Förra veckan: Man kan ta tiden på en sorterad teckensträng Förra gången: Problemlösning på lägre nivå kan sortera funktioner Denna gång Reflektioner kring OU1 Funktioner Reflektioner
Denna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras.
Laboration 1, Databashantering med MySQL Av: Marcus Rejås I denna laboration skall du se till att du kommer åt databasmotorn och att det fungerar. Du kommer också att skapa en tabell
Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik för ingenjörer, VT06 2 Repetition Repetition -
Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till
Föreläsning 2: Avlusning och antilustekniker
2D1458, Problemlösning och programmering under press Föreläsning 2: Avlusning och antilustekniker Datum: 2007-09-11 Skribent(er): Emil Hesslow, Stefan Pettersson Föreläsare: Per Austrin Föreläsningen handlade
Systemnära programmering 2012-11-05. Tentamen. Systemnära programmering, 7.5hp 5 november 2012
Tentamen Systemnära programmering, 7.5hp 5 november 2012 Skrivtid: 9 13 Hjälpmedel: EN av följande böcker Bilting & Skansholm: Vägen till C ELLER J.R. Hanly & E.B. Koffman: C Program Design for Engineers
TDIU01 - Datortenta (DAT2)
TDIU01 - Datortenta (DAT2) 2013-03-25 Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan
SORTERING OCH SÖKNING
Algoritmer och Datastrukturer Kary FRÄMLING Kap. 9, Sid 1 C-språket 2/Kary Främling v2000 och Göran Pulkkis v2003 SORTERING OCH SÖKNING Sortering är ett av de bästa exemplen på problem där valet av lösningsalgoritm
Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: 2014-12-17 Tid: 9.00-12.00 (OBS 3 tim) Rum: V
Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Erland Holmström Göteborg 16 dec 2014 Examination i PROGRAMMERINGSTEKNIK F1/TM1
Objektorienterad programmering D2
Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste
Tillämpad programmering
Tillämpad programmering C++ make, configure och arrayer Johan Montelius 1 C++ sndcopy.cc #include #include sndreader.h #incldue sndwrite.h int main(int argc, char *argv[]) { 2 C++ sndreader.h #include
Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik
Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod
Enkla datatyper minne
Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in
Tentamen i. för D1 m fl, även distanskursen. lördag 19 januari 2013
1 of 7 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Innehållsförteckning. Exempel. Åtkomst & användarhandledning
Framsidan Framsidan på din labrapport kan du utforma ganska fritt. Tänk bara på att den ska vara läsbar, och innehålla (minst) följande information: Ditt namn Din e-mail adress här på CS! Kursens namn
Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Sockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.
Sockets: server with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.Text_IO; with TJa.Sockets; use TJa.Sockets; procedure Server is -- Servern
... Funktionsanrop. Vad händer när man kör ett program?
Vad händer när man kör ett program? När man kompilerar ett program och sedan länkar ihop det så stoppar länkaren in lite extra kod i programmet. Det är denna kod som i sin tur anropar main-funktionen ungefär
Föreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Dessa komponenter plus några motstånd, klockkrets, kondensatorer och annat smått och gott har åstadkommit ett fungerande POV-hjul.
Om POV, persistence of vision. POV eller persistence of vision är ett fenomen som uppstår på näthinnan i ögat där en efterbild ser ut att finnas kvar i ungefär en tjugofemtedels sekund efter att den flyttat
Lektion 1 - Programmeringsteknik F1, ht 2003
Lektion 1 - Programmeringsteknik F1, ht 2003 Daniel Deogun danield@it.uu.se 8 september 2003 Innehåll 1 När är ICA öppet? 3 1.1 Problem................................ 3 1.2 Lösning................................
Grundläggande programmering med C# 7,5 högskolepoäng
Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)
Bruksanvisning för astrour typ 12.91.8.230.0000
Bruksanvisning för astrour typ 12.91.8.230.0000 Säkerhetsinstruktion: Installation och montering av elektrisk utrustning och produkter får bara utföras av behörig personal, då det annars finns risk för
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Övning 3 i 2D1324. Strukturering h filer deklaration vs definition Debuggning gdb Preprocessorn #define assert(s) FILE LINE Länkning
Övning 3 i 2D1324 Strukturering h filer deklaration vs definition Debuggning gdb Preprocessorn #define assert(s) FILE LINE Länkning Avancerad c-programering och repetition Typisk h-fil #ifndef special_a
Operativsystem ID1200/06 Tentamen :00-18:00
Operativsystem ID1200/06 Tentamen 2018-01-12 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa sidor,
Poster ( structar ) Postdeklarationer
Poster ( structar ) Exempel på en postdeklaration: struct person { int id; char namn[20]; int vikt, skonr; p1, p2; Detta definierar två variabler p1 och p2 som poster med termerna id, namn, vikt och skonr.
Generell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning
Generell säkerhet Här finns det inga direkta rätt eller fel. Snarare saker man bör tänka på när man implementerar ett program. Kort sagt: Efter att du kommit på hur du tänkt göra, sov på saken och tänk
Programmeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 6: Filhantering Henrik Björklund Umeå universitet 13 oktober 2009 Björklund (UmU) Programmeringsteknik 13 oktober 2009 1 / 22 Textfiler Filer är sekvenser
Det finns många flaggor till g++,
C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se Inge Frick, inge@nada.kth.se Alexander Baltsatsis hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m.
16 Programmering TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5
16 Programmering Skriva program till TI-86... 214 Köra program... 221 Arbeta med program... 223 Hämta och köra assemblerprogram... 226 Arbeta med strängar... 227 TI -86 M1 M2 M3 M4 M5 F1 F2 F3 F4 F5 214
Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 19.00. Tentamen i Programmering C, Fri, Kväll, 041211.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 19.00. Denna tenta kommer att vara färdigrättad Ti 14/12 och kan då hämtas på mitt tjänsterum,
Dynamiskt minne. Vad är dynamiskt minne Motivering Hur gör man i C Övningar
Dynamiskt minne Agenda Vad är dynamiskt minne Motivering Hur gör man i C Övningar Minne Datorns primärminne används till olika ändamål De flesta system partitionerar minnet efter användningen: Programkoden
Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10. Skriv bara på framsidan av varje papper.
Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10 Skrivtid: 0800-1300 Inga hjälpmedel. Tänk på följande Maximal poäng är 40. För betygen 3 krävs 18 poäng. För betygen 4, 5 kommer något
Pekare och arrayer. Indexering och avreferering
Pekare och arrayer En array är ett sammanhängande minnesområde rymmande ett antal element av en viss typ. Arraynamnet kan ses som adressen till arrayens början, dvs. dess första element. En pekare är en
Att använda Java SE JDK 6
Att använda Java SE JDK 6 Programmeringsspråket Java är utvecklat av det amerikanska företaget Sun Microsystems. Sun erbjuder gratis en utvecklingsmiljö för java-programmering, Java 2 SE (Standard Edition).
PROGRAMMERING A VC# 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL C#
PROGRAMMERING A VC# 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL C# Vi gör ett enkelt glosförhör Allt det du gör idag ska ligga i samma projekt (och mapp). Du kan om du tycker det behövs använda flera forms
Utkast. Programmering. Signals. Olika typer av program. Sommarkurs 2007 www.hh.se/staff/vero/programmering. Avbrott i mjukvara.
Programmering Sommarkurs 2007 www.hh.se/staff/vero/programmering Verónica Gaspes Utkast Avbrott i mjukvara Larm signaler Avslutnings signaler IDE-sektionen Curses Juli 2 Olika typer av program Signals
Fö 8 TSEA81. Real-time Linux
Fö 8 TSEA81 Real-time Linux Real-time Linux Olika sätt att åstadkomma Real-time Linux: * Linux 2.6 har CONFIG_PREEMPT option, dvs även processer som gör systemanrop kan preemptas. * Linux 2.6 kan köras
En kort text om programmering i C.
En kort text om programmering i C C skapades 1972 av Brian Ritchie och Dennis Kerighan på Bell Labs i USA Det blev det språk som är mest använt genom tiderna Det finns många olika språk Pascal, FORTH,
OOP Objekt-orienterad programmering
OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public
KOMMUNALT AKTIVITETSMEDLEMSBIDRAG
Sida 1 av 15 Förening Närvarokort ID KOMMUNALT AKTIVITETSMEDLEMSBIDRAG Verksamhet Anläggning/Lokal ANSÖKAN AVSER PERIODEN 2011 Riktigheten av lämnade uppgifter intygas: Ledarens namnteckning NAMN PÅ DELTAGARE
Avancerad SSL-programmering II
Tekn.dr. Göran Pulkkis Överlärare i Datateknik Avancerad SSL-programmering II 1 Innehåll Makron för generisk stackhantering Hantering av konfigureringsfiler Certifikathantering 2 1 Makron för generisk
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
F4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
Repetition C-programmering
Repetition C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. Repetition
Lösningar till uppgifterna sätts ut på kurssidan och på WebCT (Gamla Tentor) i dag kl 19. Tentamen i Programmering C, 5p, Distans, övriga, 051119
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan och på WebCT (Gamla Tentor) i dag kl 19. Denna tenta kommer att vara färdigrättad On 23/11 och kan då hämtas
Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h
Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 2 (20p + 20p = 40 p) ) Lärare, jourhavande lärare :
Larmcentral. Digitala Projekt. Cecilia Olsson & Erika Björck Handledare: Bertil Lindvall LUNDS TEKNISKA HÖGSKOLA 2015-05-18
2015 Larmcentral Digitala Projekt Cecilia Olsson & Erika Björck Handledare: Bertil Lindvall LUNDS TEKNISKA HÖGSKOLA 2015-05-18 Inledning Denna rapport är en sammanställning av projektet i kursen Digitala
Programmering i C. Vad är C? Målsättning. Litteratur. Jämförelse med Java. Exempel : Ett program som skriver ut texten Hello, world
Programmering i C Målsättning Introducera programmering i C för de som inte har någon erfarenhet av C eller C++. Litteratur Kernighan, Ritchie: The C Programming Language, Second edition, Steve Oualline:
Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13. Omtentamen i Programmering C, 5p, A1, D1, PA1, Fri,
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13. Denna tenta kommer att vara färdigrättad Må 13/6 och kan då hämtas på mitt tjänsterum,
DOWN/RESET(Knapp C) UP/START(Knapp D)
Tidszon/stad Tid och datum Klocka som räknar ner Indikator för 1 st till 9 nd PER Indikator som fylls i när matchen startar Indikator som fylls i när matchen stoppas Paus tid som räknar ner Klocka som
Vad händer när man kör ett program? Program och processer. Funktionsanrop. Avsluta programmet
Vad händer när man kör ett program? Program och processer När man kompilerar ett program och sedan länkar ihop det så stoppar länkaren in lite extra kod i programmet. Det är denna kod som i sin tur anropar
Tentamen på kursen DA7351, Programmering 1. 051102, kl 08.15-12.15. Malmö högskola Teknik och samhälle. DA7351, Programmering 1 1 051102
Tentamen på kursen DA7351, Programmering 1 051102, kl 08.15-12.15 Tillåtna hjälpmedel: Valfri bok om Java. Vid bedömning av lösningarna tas hänsyn till om dessa uppfyller de krav på programkvalitet (strukturering,
Din manual BLAUPUNKT NAVIRECHNER RGS 08 http://sv.yourpdfguides.com/dref/3312214
Du kan läsa rekommendationerna i instruktionsboken, den tekniska specifikationen eller installationsanvisningarna för BLAUPUNKT NAVIRECHNER RGS 08. Du hittar svar på alla dina frågor i BLAUPUNKT NAVIRECHNER
Programmeringsuppgifter 1
Programmeringsuppgifter 1 Redovisning: Ni demo-kör och förklarar för handledaren några av de program ni gjort. Ni behöver inte hinna allt, redovisa så långt ni kommit. Om ni hinner mer kan ni alltid redovisa
LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I 2001-01-20
LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I 2001-01-20 Betygsgränser: 3 16 poäng 4 23 poäng 5 30 poäng Maxpoäng: 36 poäng Hjälpmedel: inga Lycka till Per Ekeroot Uppgift 1 Kortfrågor
Chalmers, Data- och informationsteknik 2011-10-19. DAI2 samt EI3. Peter Lundin. Godkänd räknedosa
LET 624 (6 hp) Sd nr 1 TENTAMEN KURSNAMN PROGRAM: namn REALTIDSSYSTEM åk / läsperod DAI2 samt EI3 KURSBETECKNING LET 624 0209 ( 6p ) EXAMINATOR TID FÖR TENTAMEN Onsdagen den 19/10 2011 kl 14.00 18.00 HJÄLPMEDEL
Laboration 10 - NetBeans
Laboration 10 - NetBeans Avsikten med laborationen är att du ska träna på att använda paket, att du ska packa några klassfiler i en jar-fil och slutligen använda innehållet i en jar-fil från en annan klass
Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
Dagens föreläsning. Specialtecken. Mer om printf. Formateringssträngar. Mer om scanf. Programmeringsteknik för Ingenjörer VT05
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 12 Filhantering Funktionsbibliotek Mer om kompilering Lagrinsklasser Makron Programmeringsteknik VT05 2 Mer om printf Utskrifter
ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,
Tillämpad UNIX. Laborations-PM Christian von Schultz, 2009. 1 Programpaket och processhantering
Tillämpad UNIX Laborations-PM Christian von Schultz, 2009 1 Programpaket och processhantering 1. Ladda ner survivor.tar.gz från kurshemsidan och packa upp den. Uppackningskommando: 2. Du har just packat
Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp :00-18:00
Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp 2018-04-03 14:00-18:00 Omtentander på ID2200 TEN1 3.8 hp och ID2206 TEN1 4.5 hp skall inte skriva denna tentamen! Instruktioner Du får, förutom
Tyck om Burlöv Den första resp. sista synpunkten under aktuell period registrerades 2015-01-16-2015-06-29
(6) Statistikrapport Socialförvaltningen 20500-2050630 Tyck om Burlöv Den första resp. sista synpunkten under aktuell period registrerades 205-0-6-205-06-29 Sammanfattning registrerade synpunkter % Avslutade
Introduktion till arv
Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering
Svensk e-legitimation. Nu kör vi! 2013-10-10
Svensk e-legitimation Nu kör vi! 2013-10-10 Dagens lösning aktörer och roller eleverantörer Privata aktörer Kortbolag Apoteket Banker Myndigheter Kommun X Skatteverket Försäkringskassan Telia Telia i rollen
Programmeringsolympiadens final 2009
Programmeringsolympiadens final 2009 TÄVLINGSREGLER Tävlingen äger rum den 12 mars. Tävlingstiden är sex timmar effektiv tid. Tävlingen består av sju uppgifter som samtliga ska lösas genom datorprogram.
Att använda pekare i. C-kod
Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare
Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13.00. Omtentamen i Programmering C, Fri, Kväll, 050108.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13.00. Denna tenta kommer att vara färdigrättad Fr 14/1 och kan då hämtas på mitt tjänsterum,