Sarcini de programare Delphi

Programarea sarcinilor în mediul Delphi.

Ce sarcini vă puteți gândi la predarea programării studenților în Delphi? Am idei insuficiente, dar nu pot sa construiesc un concept complet. Pot spune. Discuta?







Ce este asta?
"nou" profesor?

Cred că am scos lucruri destul de evidente, dar în înțelegerea mea. Nu pot adăuga nimic încă.

1. Care este nivelul cursanților? Ie dacă știu elementele de bază ale programării.
2. cunosc algoritmi simpli (sortare, căutarea etc.)
3. Ai lucrat cu Delphi?

Cu toate acestea, succesorii lui Pascal, mult superioare lui, Modula-2 și Oberon, nu au primit atenția cuvenită în rândul cadrelor didactice, și au cedat adversarul cel mai merituoși - C. nevrednic, deoarece în această limbă, toate principiile de programare serioasă care erau deschise în acel moment au fost încălcate. El confundă studenții, presupunând o semnificație diferită pentru x = y și y = x și forțând pe toți să scrie x = y în loc de x = y obișnuit. Numai pentru aceste vicii merită expulzarea din instituțiile de învățământ. Cu toate acestea, această sintaxă urâtă a fost reprodusă în întregime în limba Java, a cărei adoptare de către comunitatea academică a avut loc cel puțin parțial din cauza acestei continuități.

preferatul meu:
introducem de la tastatură o secvență de numere (lungimea oricărei secvențe). Ieșiți-l în ordine inversă fără a recurge la utilizarea unui matrice.

Cu toate acestea, este mai mult o problemă pentru inventarea unui algoritm decât pentru un _delf_. și că nu a existat nici o ispită (de exemplu, TMemo.Lines) este mai bine să scrieți în general despre pascal.

Practica a arătat că nu toți programatorii inteligenți pot oferi soluția potrivită, deși sarcina este maximă pentru 1 curs.


> El confundă studenții, presupunând un alt sens pentru x = y
> și y = x

Intuitiv, începătorii percep = ca o operație de comparație, nu o sarcină.
Este nevoie de efort pentru a consolida această comparație este ==
Una dintre cele mai frecvente greșeli dintre elevi este substituirea
== on =


> Intuitiv, începătorii percep = ca o operație de comparație,
> mai degrabă decât cesiune.

Aici este ciudat. Nu am luat-o, colegi. Poate, în programele școlare pe aritmetică să facă corecții, stabilind operațiunea de atribuire prin: =?

Sarcină: calculați frecvența lexemelor (cuvintelor) din text.

import java.util. *;

// Tipărește un tabel de frecvență al cuvintelor din linia de comandă
clasa publica Frecventa # xA0; public static void principal (String [] args) # xA0; # xA0; hartă m = noul TreeMap();
# xA0; # xA0; pentru (caractere de caractere) # xA0; # xA0; # xA0; # xA0; Integritate freq = m.get (cuvânt);
# xA0; # xA0; # xA0; # xA0; m.put (cuvânt, (freq == null 1. freq + 1));
# xA0; # xA0;>
# xA0; # xA0; System.out.println (m);
# xA0;>
>
concluzie:
java Frecventa daca trebuie sa fie watusi

Încercați să faceți același lucru și pe Pascal.

Te lupți cu mine sau cu Wirth?
Nu am nevoie de - am suficiente exemple cu elevii pentru o sută de chevchenok.


> Încercați să faceți același lucru și pe Pascal.

2 TStringList c Sorted.true și Duplicates = dupError :)


> Te lupți cu mine sau cu Wirth?

Din păcate, probabil nu am înțeles.

1. Cu privire la algoritmizarea și înțelegerea programării - traducerea unui număr din sistemul de numărul K în N-lea. În același loc studenții cu IDE se vor familiariza în termeni generali.
2. Calculator de scriere.


> Aici este ciudat. Nu am luat-o, colegi. Poate înăuntru
> programe școlare privind corecțiile aritmetice, solicitând
> Operațiunea de asignare prin: =?

În măsura în care înțeleg, nu există nici o sarcină în aritmetică, totul ne-a fost deja atribuit :) Putem nota doar RACALITĂȚILE. În cazul cazului a = a + 5, matematica nu există.

C "==", nu aveam probleme. Mai era o altă dificultate:
În Pascal, de obicei, am scris "=" și pe ": =". Apoi se uită la linie, fără să înțeleagă ce jură.

Un flux de cuvinte incomprehensibile. Îmi pot imagina cum te iubesc elevi.

1. Care este scopul antrenamentului? Ce cunoștințe ar trebui să se antreneze un specialist?


> Specialitate # xA0; - sisteme de publicare.


> Teoria funcțiilor computabile; luda-purificarea bisericii), graficul lor
> vizualizare

Pentru "sisteme de publicare" cea mai bună modalitate de a descuraja învățarea.

Treci de la nevoia de cunoaștere a subiectului tău pentru această specialitate.

PS: Am fost "ucis" de un profesor de științe politice, care credea că pentru inginerii energetici subiectul ei era cel mai important lucru :)

31512
# xA0; aici, de fapt, cum să abordați. atunci ceea ce ați urcat pe forum este bun. Eu, la un moment dat, informatica la scoala arata te poate intelege. cu fetele, în general, să lucreze prost. și dacă acestea sunt chiar mai în vârstă decât pur și simplu groază. Probabil Șevcenko a însemnat că creativitatea vine doar în lenjerie :). Deci aici. sfatul meu pentru a începe, scapa de toate cuvintele incomprehensibile. ajută. consiliul al doilea. în funcție de ceea ce doriți să faceți. creați o bază. Ei bine, asta e prost. Baza apare numai în practică. acest lucru este deja dovedit și verificat. împingerea lor sarcini interesante este singurul lucru pe care îl puteți face pentru a obține elementele de bază. dacă te îmbraci în ele, numai teoria se transformă în prostii. ps despre ce mi-a plăcut. deși unele veschi acolo toate fac încă mai ușor decât în ​​Delphi. Ei bine, tămâie. după cum prietenul meu spune gustul și culoarea merge


> Vino de aici în detaliu.

Este posibil și în detaliu - de asemenea, am fost învățat să programez în instituție, în ciuda faptului că majoritatea cunoștințelor pe care le-am obținut. Deci, când m-ați învățat toate cuvintele groaznice pe care le-ați scris, nu ați vorbit o singură dată, și totuși, colegii au scris. Chiar și de lucru. IMHO-mea de a învăța urmează abilitatea de a algoritmiza o problemă, de a rupe o problemă complexă într-un set simplu, etc. Fără implicarea teoriei, cu exemple practice. Ca o carte de sarcini serioasă, pot recomanda cartea lui Charles Weserell "Etudes for programmers".







Și să fiți ghidat de o regulă bună - "Orice teorie fără practică este moartă". Sunteți gata să aplicați

> noțiunea de teoreme a lui Chenon, sistemele internaționale de byte
> codare. Elemente ale teoriei grafurilor. Am ajuns la noțiunea de algoritm (trei
> Abordarea: teoria finitului. și infinit. mașini; Teria calculabil
> funcții; lobda-vierme), reprezentarea lor grafică.
> Post Machine

Pentru sistemele de publicare?

Dacă sunteți gata, atunci noroc și bun în toate eforturile. Dacă nu, aruncați toate aceste cuvinte.

Și polițistul tău are absolut dreptate. Când am lucrat pentru ingineri energetici, am înțeles asta. Sunt politicieni excelenți. Și chiar și tehnicienii.

Șevcenco bravo gândul tău sa dovedit a fi mai profundă decât a mea :)

Pentru a arunca cuvinte "nu clare", în nici un caz nu este imposibil.
În plus, este necesară o obligație obligatorie pentru istoria problemei.
Aici există nume, relații cauză-efect, standarde globale și așa mai departe.
Este o altă chestiune de a limita domeniul de predare la setul minim necesar de discipline.
Dar aceasta nu este o prerogativă nici pentru profesor, ci pentru școala de învățământ dezvoltată în instituția dvs. + experiența instituțiilor de învățământ superior asociate.
Dacă nu sa dezvoltat nimic, atunci este necesar să se înceapă o astfel de construcție sub îndrumarea unor profesori mai experimentați.
Există, desigur, relații intercollegiate și puteți cere cineva.
Poate, eu idealizez, dar așa cum spune Wirth: "Eficacitatea acțiunii profesioniștilor ar trebui să fie mult mai mare decât cea a amatorilor".


> Cu alte cuvinte, vă sugerați să le începeți să faceți o calitate
> descompunerea algoritmică a problemei și cu orientarea obiectului
> abordarea descompunerii orientate pe obiecte? Și asta
> trăiește trăgând o înțelegere mai simplă, intuitiv clară
> înțelegere? Te-am înțeles corect?

Îi sugerez să-i învăț cum să programeze :) Începând cu o simplă și încheiată cu un complex, cât mai mult posibil.

Să spunem că nu am văzut nici un manual de programare bun "încă de la început". Am văzut cartea de sarcini (adusă) - dar este serioasă.

Sunt un susținător al educației fundamentale clasice, în care sunt puse bazele științelor universale.
Cum a fost în epoca URSS.
În plus, învățătorii-maestri să asculte ceea ce a fost o adevărată plăcere și care ne-au dat cele mai importante - elementele de bază ale auto-educației.
Prin urmare, este ciudat să aud despre tăcerea unor astfel de nume, precum și numele bine-cunoscute și termenii și definițiile conexe:
Cantor, Gödel, Turing, Post, Carnot, Venn, Boule, Ershov, Wirth ..

Un alt lucru este acela că, pentru non-specialiști, este necesară o înțelegere punctată a sistemului de clasificare a științelor și a posibilului lor loc în activitatea viitoare aplicată.


> Sunt un susținător al educației fundamentale clasice la
care au pus bazele științelor universale.
> Cum a fost în epoca URSS.

Am fost format în aceeași epocă. Când am învățat nume de programare similare celor listate (bine, cu excepția faptului că, în afară de Turing), nu am auzit în timpul antrenamentului.

Îmi pare rău. Ai fost jefuit :)
Cu toate acestea, mult depinde de un fel de universitate de casă.

La un moment dat (și nu fără contribuția Profesorului), el trebuie să decidă unde trebuie să se deplaseze mai departe: în știința pură, în știința sau practica aplicată.

Să spunem așa, voi da un exemplu figurativ din Delphi.
Scrierea componentelor bune este atât o teorie, cât și o codificare foarte bună (adică o programare foarte specifică de nivel scăzut).
Folosește-le - cum ar fi Horowitz și Hill.
A apăsat butonul din formular, F9 și funcționează :)


> Folosindu-le - bine, ceva de genul Horowitz și Hill.

Și, probabil, sunteți familiarizați cu subiectul, în sens, cu H. și H.


> Îmi pare rău. Ai fost jefuit :)
> Totuși, depinde mult de un fel de construcții de case
> Universitatea.

Vai pentru mine. Ei bine, da, este, bineînțeles, o casă de construcție.


> Pe de altă parte, tendința de descriere științifică,
în special în cărți, în acele zile era foarte vizibil.

Da, a fost extrem de dificil să nu observați asta. Și este surprinzător faptul că, după ce au fost citite astfel de cărți, au apărut încă experți. Fără a aduce atingere.


> Să spunem așa, voi da un exemplu figurativ din Delphi.

Îmi cer scuze tuturor pentru offtopic.

Caps Lock, Shift și căderea virgulei. Și dacă nu. apoi, în același timp, a învățat. Proiecte open source.

> Și tu, presupuneți, sunteți familiarizați cu subiectul, în sens, cu H. și H.

Am început Engineering în anul 78 în domeniul sistemelor de navigație și de control al Marinei.
Ie și un inginer de electronică, apoi un programator.

> Da, a fost extrem de dificil să nu observați asta. Și ceea ce este surprinzător este că> după ce ați citit astfel de cărți, au apărut încă specialiști.> În ciuda.

> dacă același Ray Konopka
Clasicele pot fi aplicate atât în ​​domeniul științelor aplicate, cât și în cele teoretice.

De fapt, nu înțeleg deloc ce este vorba despre dispută.
Despre trunchierea artificială a cunoștințelor fundamentale?
Numai asta, în funcție de nivelul actual de semnificație al acestora într-o anumită stare.

Despre furnizarea de ascultători cu informații și cunoștințe strict aplicate despre activitatea lor potențială cea mai apropiată?
Deci această educație profesională în acei ani a rezolvat astfel de probleme.


> De exemplu. și un inginer de electronică, apoi un programator.


> De fapt, nu înțeleg deloc ce este vorba despre dispută.
> Despre trunchierea artificială a cunoștințelor fundamentale?

Mai degrabă, despre convergența cunoștințelor fundamentale cu practica chiar și în stadiul de formare.


> Cu privire la furnizarea de ascultători cu informații strict aplicate și
> cunoștințe despre activitatea lor potențială cea mai apropiată?
> Deci această educație profesională în acei ani a rezolvat astfel de probleme.

Tocmai am avut o opinie conform căreia "sistemele de publicare de specialitate" reprezintă educația profesională în acest caz.

Trebuie să luăm decizia pentru tipul ăla?

Problema este că a doua generație este deja "pierdută" din punctul de vedere al predării științelor generale.

Dacă suntem în elevii Bauman consideră că este dificil să ne amintim că există o corelație în procesul de prezentare a codarea semnalului digital, atunci ce despre institutele de construire a casei de învățământ superior?

Deci, dacă nu s-au pus bazele cunoașterii fundamentale
(și pentru programarea acesteia: algebra logică, algebra teoriei numărului, metode numerice, teoria automatelor), apoi
ce apropierea de teorie și practică poate fi?

Iată cel mai simplu exemplu.
Am cumpărat acum o casă nouă, există multe probleme cu comunicațiile. Începeți să scoateți siguranțele.
In a cincea noapte, la lumina unei lanterne sputivshis un electrician pe drum în minte, am făcut o secțiune de calcul a erorii (numărul de apartamente pe capacitatea unui etc. apartament) (care urmează să fie hrănite și oile sunt sigure și lupi) - lucrări.
Aceasta este aplicarea teoriei în practică.
Un practician ar începe cu instalarea firului, puțin mai puțin decât secțiunea transversală a miezului furnizat, bine, totul ar arde în fig.

PS: Apropo, câte apartamente aveți la intrare și ce fel de bug ați pus?

Vreți să fiți de acord și de a nu fi de acord, în același timp. Bineînțeles, lipsa cunoștințelor fundamentale este rău, nici măcar nu voi argumenta aici. Singura întrebare este, ce nivel și ce profunzimea acestor cunoștințe trebuie să fie suficientă pentru ca o persoană să fie în măsură să le aplice în practică, și au un stimulent pentru a le studia în continuare, Bude per se pentru a studia în caz de necesitate. În opinia mea, una dintre primele sarcini este educarea posibilității și a nevoii de auto-educație sau auto-absorbție în domeniile de interes. Fără cunoștințe fundamentale fundamentale, desigur, acest lucru este dificil.
Pe de altă parte, nu par să studiez algebra în logică într-un program obligatoriu și, destul de ciudat, nu mă deranjează cu programarea.


> Pentru a cincea oară pe timp de noapte, prin lumina unei lanterne, plecând la electricieni
> în mișcare în mintea mea am făcut un calcul al secțiunii transversale a bug-ului (numărul de apartamente,
> putere la apartament și tp) (astfel încât oile au fost pline și lupi
> intact) - lucrări.

Îmi pare rău, un curs de fizică :)

Sunt de acord cu practica unei firme de publicare care lucrează în domeniul tehnologiilor moderne.
Poți să plătești, dar dacă se gândesc bine, atunci sunt de acord și liber. La urma urmei, ei pot invita cei mai talentați la ei înșiși.

Fiul meu este încă un elev școlar. Am cerut unui prieten al șefului departamentului să-l ia împreună cu elevii pentru o antrenament de o lună
Aplicația MapInfo pentru digitizarea hărților.
A reușit să se familiarizeze cu succes și acum este în topul celor mai bune trei digitizatoare din cadrul acestei firme. Munca se face de la distanță. Pe lună câștigă până la 200 de dolari.
Firma a spus doar mulțumesc.

Mă îndoiesc că ați învățat cel puțin o persoană de programare. Deși nu un profesor, dar am învățat foarte bine programarea oamenilor. Primul lucru pe care trebuie să-l faceți este să îi înveți să facă ceva (lumea salută, calculatorul) astfel încât studenții să poată simți "spiritul creației". Și apoi dați o bază teoretică profundă. Și ca urmare a unor astfel de prelegeri se dovedește că, dar nu de formare.







Articole similare

Trimiteți-le prietenilor: