Errata (opravenka) tramvajového semináře 

Druhý seminář o tramvajových vozech vyvolal celkem značné ohlasy. Kromě těch pozitivních, za které samozřejmě děkuji, přišlo i několik konstruktivně kritických, za které děkuji také a rozhodl jsem se proto napsat zde errata (opravenku chyb a nepřesností), které na semináři zazněly.
Číst dále...
[ zobrazit záznam ] ( 9867 zobrazení ) trvalý odkaz související odkaz ( 3 / 21758 )
Elektrická výzbroj tramvaje T3 SU 

Dostal se mi do rukou unikátní dokument: Originální dokumentace elektrické výzbroje tramvaje T3SU z ČKD. Celou jsem jí naskenoval, včetně kompletního schématu zapojení. Nakonec jsem se rozhodl vystavit jí veřejně na Webu s dobrou vírou, že tím příliš neohrozím autorská práva. Pokračujte kliknutím na související odkaz
[ zobrazit záznam ] ( 2085 zobrazení ) trvalý odkaz související odkaz ( 3 / 12577 )
Java kalkulátor CASIO-kompatibilní 

Vždycky mě štvalo, když jsem seděl u počítače a potřeboval něco spočítat, že jsem si musel brát k ruce kalkulačku CASIO, protože program Kalkulačka, co je součástí Windows, resp. kcalc který je součástí KDE, je typickou ukázkou neergonomické aplikace. Pokud má počítač klávesnici se 104 tlačítky, je přinejmenším hloupé kalkulačku realizovat jako aplikaci se soft-buttony, do kterých se uživatel musí trefovat myší. Navíc každý trochu složitější výraz se díky absenci funkce závorek počítá poměrně obtížně a jedna paměťová buňka je mnohdy málo. Proto jsem kdysi dávno, na Vánoce 2004, jako semestrální úlohu z předmětu Algoritmizace, naprogramoval Kalkulátor v jazyku Java. Číst dále...
[ zobrazit záznam ] ( 5504 zobrazení ) trvalý odkaz související odkaz ( 3 / 19009 )
Výpočet determinantu rekurzivním algoritmem 

Už je to dlouho, co jsem objevil kouzlo rekurzivních algoritmů pro takové úkoly, jako je výpočet faktoriálu, nebo řešení úlohy hanojských věží... Tehdy jsem si řekl, že by bylo pěkné pomocí takového algoritmu počítat determinant matice, metodou rozkladu podle n-tého řádku. Včera jsem si splnil sen:
#define MAX_R 10
#include <stdio.h>

double determinant(double matice[MAX_R][MAX_R], int rozmer) {
double det=0;
double submatice[MAX_R][MAX_R];

if (rozmer<1) return 0;
if (rozmer==1) return matice[0][0];

// rozklad podle prvniho radku
for (int i=0; i<rozmer; i++) {
//vypocet submatice
for (int u=0; u<rozmer-1; u++)
for (int v=0; v<rozmer-1; v++)
submatice[u][v]=matice[u+1][v<i?v:v+1];

det += (i%2?1:-1)*matice[0][i ]*determinant(submatice, rozmer-1);
}
return det;
}

int main() {
double pole[MAX_R][MAX_R]={{1,-2,1,2,4},{3,0,-1,1,-3},{2,2,2,3,5},{-2,-2,0,5,-2},{-2,3,-1,0,-2}};
double det;
det=determinant(pole,5);
printf("Determinant je %f \n", det);
return 0;
}
Program je napsán v C99 a díky staticky definovaným polím je extrémně paměťově náročný a minimálně škálovatelný.:) Podstata řešení spočívá v postupném zjednodušování problému až na úkol spočítat determinant matice 1x1, kterýžto je roven hodnotě jediného prvku matice. Všechny větší matice jsou podle prvního řádku rozloženy na menší a menší.
[ zobrazit záznam ] ( 5143 zobrazení ) trvalý odkaz ( 3 / 17690 )
Typy tramvajových vozů 

Tak, druhý seminář je úspěšně za námi. Přítomným se omlouvám za nepřiměřenou délku, nepřítomným naopak slibuji, že se pokusím brzy zajistit záznam. Prezentaci, promítanou během semináře najdete zde.

Těším se na případné připomínky a doufám, že se mi povede někdy příště zase pokračovat, třeba seminářem o Metru...
[ zobrazit záznam ] ( 1353 zobrazení ) trvalý odkaz související odkaz ( 3 / 10073 )

<<První <Zpět | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | Další> Poslední>>