LINUX.ORG.RU
ФорумTalks

Азы программирования

 , ,


2

3

Жена решила попробовать программирование. Записалась на годичные курсы по андроид разработке.

Сейчас ей дают основы javа: переменные, циклы, массивы...
Вначале справлялась хорошо, но сейчас немного пробуксовывает на циклах и массивах.

Есть какиенить простые и понятные упражнения, чтобы накастовать скил?
Сгодятся даж какиенить детские книги, главное чтобы базовые вещи были доступно и внятно описаны.

зы. на курсах первое время было много замен, меняли преподавателей — поэтому старт обучения получился сумбурным. Выручайте )

Записалась на годичные курсы по андроид разработке.

о_о->О_о->о_О->О_О->topic/0 Это ж какое ССЗБ... Java... на курсы... на курсы по ведру... Java + ведро... ОМГ.

Сейчас ей дают основы javа: переменные, циклы, массивы...

Учится за день, серьезно, даже меньше. Советую подумать на счет честности самих организаторов.

Есть какиенить простые и понятные упражнения, чтобы накастовать скил?

Да любые, хоть от C++, хоть от C#, хоть от злолюбивого Паскаля - книг дофига, тут не особо важны различия языков, упражнения-то элементарные и от платформы/языка/технологий не зависят.

//«циклы программирование задачи» в гугл.

//http://kufas.ru/programming190.htm

//http://pas1.ru/taskcycle

//http://www.programmersforum.ru/showthread.php?t=68723

//«массивы программирование задачи» в гугл.

//http://pas1.ru/taskarray

//http://window.edu.ru/resource/237/20237

//http://kufas.ru/programming209.htm

//http://inf.1september.ru/2008/07/02.htm

abcarado
()

Ну а про книгу - Герберт Шилдт, Java - годнота, сам тыкаю. Для начала по уши хватит.

//кстати, можно погуглить олимпиадные задачки (даже сборники есть) - самое то! :-)

abcarado
()
Ответ на: комментарий от abcarado

Java + ведро... ОМГ.

вариантов не так много. веб клоака с зоопарком технологий, дотнет ниша уже чем ява. иосы - привет ручному управлению памятью. так что )

за линки спасибо, но они не для начинающих

VladimirMalyk ★★★★★
() автор топика

основная ловушка не в повторах и условии прекращении ( ну в самом простом случае когда счётчик достигает границы),

а в индексируемости - для этого теперь легко подходят адреса домов и квартир на той или иной улице.

т.е вычисляемость имён

qulinxao ★★☆
()
Ответ на: комментарий от VladimirMalyk

Станет более менее разбираться в Java, покажи ей SAP, пусть изучает и ищет работу. Женщины в таких вещах лучшие!

ErasimHolmogorin
()
Ответ на: комментарий от VladimirMalyk

Java + ведро... ОМГ.

Там свое NDK...

дотнет ниша уже чем ява

Профессионал всегда найдет работу, точнее, работа его. А беспокоиться насчет востребованности языков стоит тогда, когда вакансий совсем нет, либо язык-аутсайдер. А так - что нравится, работа найдется :-) (кстати, посмотри, _насколько_ широка сфера Java, сотни всяких тараканов...)

иосы - привет ручному управлению памятью

Ну хоть работает быстро (хотя... айфон подлагивает-таки).

но они не для начинающих

0_о а для кого? Какого характера нужны? Если нужны настолько простые - может, стоит попробовать самому придумать? :-) Простое-то несложно придумать, а уж там и кучи упражнений :-D

abcarado
()
Ответ на: комментарий от qulinxao

а в индексируемости - для этого теперь легко подходят адреса домов и квартир на той или иной улице.

во-вот, самое оно. она как раз путается в том что есть что. напр где номер квартиры, где сама квартира, а где то что в квартире лежит.

спасибо за наводку, поищу «вычисляемость имен» )

VladimirMalyk ★★★★★
() автор топика
Ответ на: комментарий от abcarado

у тебя есть бек из базовых понятий, потом для тебя просто. у неё еще даже понятийная база не окрепла. поэтому и не для начинающих.

VladimirMalyk ★★★★★
() автор топика

Циклы и массивы элементарно разбираются в визуальном дебагере какого-нибудь NetBeans.

Sadler ★★★
()
Ответ на: комментарий от VladimirMalyk

Хм.. а как вариант дать книгу Шилдта Java - там хорошо написано, после чего предложить такие задания? Или попробовать объяснить самому? К примеру, на бумажке, наглядно... А уж проще задания вряд ли найдутся по отдельности, может, в каких книгах...

abcarado
()
Ответ на: комментарий от VladimirMalyk

а где то что в квартире лежит.

спасибо за наводку

Медвежатник детектед :-D

abcarado
()
Ответ на: комментарий от abcarado

грубо говоря, мне нужен предельно простой мануал, где написано что такое переменная. и почему int i; еще ничего не значит. что смысл имеем int i=0; но при этом int i; допускается...

и т.д.

то, что мне кажется очевидным по привычке, для жены вновинку. и вокруг новых понятий смерч догадок и вопросов.

ps. я вот до сих пор думаю почему switch case такой какой он есть, и зачем он нужен когда есть if else. и сфига в switch запилили break если есть {}. а ведь жена искренне понитересовалась почему так а не иначе.

VladimirMalyk ★★★★★
() автор топика
Последнее исправление: VladimirMalyk (всего исправлений: 1)
Ответ на: комментарий от VladimirMalyk

тогда уж scheme javascript in HTML5 (в частности FirefoxOS)

как ни забавно порог вхождения в жабкаскрипт меньше чем в жабку ентерпрайзную , а лямбды в скрипте от «рождения» (почти) в жабке тока в восьмёрке .

ну и пользы о умения в жабкаскрипт в быту для пользователя чутка по больше.

qulinxao ★★☆
()
Ответ на: комментарий от Xellos

вычисляемость ( т.е не известность заранее какая конкретная переменая фигурирует в выражении) имени известный фильтр - для людей которые проскочили без понимания этот момент - указатели часто оказываются не вполне сьедобными

qulinxao ★★☆
()
Ответ на: комментарий от VladimirMalyk

и почему int i; еще ничего не значит

Выделили область памяти, но там есть мусор (старье) - негодно.

что смысл имеем int i=0;

Потому что эту область памяти приводим к божескому виду и придаем осмысленное значение.

но при этом int i; допускается...

Как шумогенератор, лол. Годно там, где все зануляется после инициализации.

Кстати, а как сам-то учил? Попробуй так же объяснить :-)

почему switch case такой какой он есть

Для удобства. Сотни конструкций if else лучше? Не думаю. Да и туда можно припилить некоторую оптимизацию, где-то так и сделали (оптимальнее для многих сравнений).

и сфига в switch запилили break если есть {}

Философия, традиции, осмысленность, принципы - какой ответ устроит?

abcarado
()
Ответ на: комментарий от VladimirMalyk

почему int i; еще ничего не значит. что смысл имеем int i=0; но при этом int i; допускается

K&R

почему switch case такой какой он есть, и зачем он нужен когда есть if else

Затем что в switch только сравнения одного значения с образцом, в пределе - только равенство. А через if else можно любые условия ставить, в том числе для разных объектов (if a==1 then f() elsif b==2 g() end if).

сфига в switch запилили break если есть {}

K&R. Дефолтное поведение switch - переход к следующему кейсу.

Xellos ★★★★★
()
Ответ на: комментарий от VladimirMalyk

любой учёбник в которых есть коробки символизироующие значение и место хранения и человечки с именами характеризующие имя.

qulinxao ★★☆
()
Ответ на: комментарий от qulinxao

Какие указатели? У нас циклы и массивы! В ЖАБЕ! Это не C с его синтаксическим сахаром и массивами сложно отделяемыми от указателей.

Xellos ★★★★★
()
Ответ на: комментарий от Xellos

чел вообще то тролит отчего в алгол не включили предлагаемый МакКарти мультивыбор , а лиш подточили арифмитический выбор из фортрана

qulinxao ★★☆
()
Ответ на: комментарий от abcarado

Годно там, где все зануляется после инициализации.

не было вводной по структурам данных и памяти как таковой. в том и проблема. у них как по Шилдту - по коням и вперед, без подробностей.

Для удобства.

угу. в ответ услышал что только полный идиот для _удобства_ будет городить кардинально новый синтаксис для похожей фичи. претензии к синтаксису, если что )

VladimirMalyk ★★★★★
() автор топика
Ответ на: комментарий от Xellos

ты не про то понял ( я не про «неразличимость» массивов и указателей в сях)

я выше - о наличии «ключ»- «значение»

и что ключ может быть не только константой (т.е имя переменной) -

а и выражением - начиная с имя(индекс) и паралельно имя.имя_поля и заканчивая теме же встроенными ассоц.массивами в «игрушечных» языках

. зы. ТСу может перед массивами её обьяснить про параметры у функций когда одна и таже сущьность может иметь одновременно несколько «имён» - т.е случай когда в «локальную» функцию передали переменную как аргумент и одновременно эта переменная видна в окружении этой функции

qulinxao ★★☆
()
Ответ на: комментарий от VladimirMalyk

у них как по Шилдту - по коням и вперед, без подробностей.

Ну, тогда можно начать с Керниган и Ритчи - Си, потом C++ (ООП), потом только Java. ИМХО, Java не совсем подходит в качестве языка для новичка. Кстати, у Шилдта-таки есть объяснения, но позже, чтобы сначала не грузить сильно...

abcarado
()
Ответ на: комментарий от abcarado

угу. книги о костылях при ручном управлении памятью. а почему? а потому что компы не умеют изкоробки высокоуровневые абстракции.

я люблю свою жену, поэтому эти новости я приберегу на потом. а сейчас хочется хоть как то облегчить и подсластить ей учёбу )

VladimirMalyk ★★★★★
() автор топика
Последнее исправление: VladimirMalyk (всего исправлений: 1)
Ответ на: комментарий от qulinxao

ключ может быть не только константой (т.е имя переменной) - а и выражением

О майн готт, в школе в девятом классе не проходили сложные функции? f(g(x))?!

Xellos ★★★★★
()
Ответ на: комментарий от qulinxao

Какой алгол? Какой заяц, какая блоха?!

Xellos ★★★★★
()
Ответ на: комментарий от VladimirMalyk

угу. книги о костылях при ручном управлении памятью.

Што-што? Плюсы, в которые все натыкано «лишь бы было, юзайте как хотите, лол» лучше Си? Да ни хрена. Хотя, смотря для чего. Большой проект на Си особо не написать, задолбаешься без ООП. Но и на плюсах шанс поиметь себе мозг в большом проекте немал. Но где-то Си незаменима.

а потому что компы не умеют изкоробки высокоуровневые абстракции.

Ну так хоть что-то быстро работает, лол.

я люблю свою жену

поэтому эти новости я приберегу на потом

/0. Лучше учить фиг знает что, не зная подробностей?

и подсластить ей учёбу

А вообще смысл есть? Если это просто хобби - может, поискать еще что? Если намерения серьезные, то хотя бы не с Java, ну, или на совсем худой конец, не там, где умудряются учить новичков ведроидному NDK...

abcarado
()
Ответ на: комментарий от Xellos

и подарить ей на 8 марта паяльник и учебник по схемотехнике. начинать то надо с самых основ, как настоящие гении.

VladimirMalyk ★★★★★
() автор топика
Ответ на: комментарий от VladimirMalyk

Совершенно верно.
А если ты всё-таки считаешь её дурой, дай в зубы учебник по php и не мучай существо, природой не предназначенное к строгому логическому мышлению.

Xellos ★★★★★
()

Есть один метод.
Писать показательный код с грушами яблоками и сливами в масиве фрукты. Лучше всего для этого подходит шото консольное.

Jetty ★★★★★
()
Ответ на: комментарий от VladimirMalyk

По-моему вам тогда нужна книжка типа С. М. Окулов Основы программирования, где довольно подробно идут именно по основам от int i и до динамических структур данных.

pylin ★★★★★
()

Записалась на годичные курсы по андроид разработке.

Тыц

quickquest ★★★★★
()
Ответ на: комментарий от ncrmnt

Хотя да, смотря где. В прикладном нетребовательном софте на десктопах - точно, ибо там почти не нужно и ынтырпрайзе, ибо трах-тибидох-тибидох с памятью там не нужно, как и STL, как и похожее, а нужно быстро и стабильно писать, пусть, в ущерб производительности.

abcarado
()

Сгодятся даж какиенить детские книги, главное чтобы базовые вещи были доступно и внятно описаны.

Если бы были такие книги, я думаю, преподаватели на курсах сами бы из них зачитывали народу материал. Тут каждому свой подход нужен.

Вначале справлялась хорошо, но сейчас немного пробуксовывает на циклах и массивах.

А в чём это пробуксовывание заключается: не понимает, что это такое, или не знает, как это применить к конкретной задаче? Второй случай более частый и требует опыта. Даже такая вещь, как итерация по массивам массивов при помощи вложенных циклов не сразу приходит людям в голову.

proud_anon ★★★★★
()
Последнее исправление: proud_anon (всего исправлений: 1)
Ответ на: комментарий от VladimirMalyk

и почему int i; еще ничего не значит
почему switch case такой какой он есть
и сфига в switch запилили break если есть {}

На это нет философского ответа, поскольку всё это только в силу традиции, которая обоснована техническими причинами, которых начинающий программист, причём только на Джаве, не поймёт.

В Go, например, «var i int» приведёт к тому же, что «var i int = 0», switch-case допускает сложные условия, и break в нём нету (для желающих есть fallthrough).

proud_anon ★★★★★
()
Последнее исправление: proud_anon (всего исправлений: 1)

Нельзя научить человека думать по-другому.

chg ★★★★★
()
Ответ на: комментарий от VladimirMalyk

присоединяюсь к тем, кто рекомендует Шилдта. его книги лучшие, имхо.

Voviandr
()

годичные курсы по андроид разработке

С нуля? Это она зря.

Deleted
()

Пусть сама решает задачи. сначала в стиле найти мин элемент, потом постепенно пусть пробудет решать простые ICM задачки. Везде же вроде так учат.

actics
()
Ответ на: комментарий от VladimirMalyk

вариантов не так много. веб клоака с зоопарком технологий, дотнет ниша уже чем ява.

и что? какая разница — любой плюсоподобный язык — хоть сишка, хоть шарп, хоть плюсы на уровне циклы-массивы-переменные одинаков

иосы - привет ручному управлению памятью. так что

и это просто отлично, именно для обучения: человек который не знает хотя бы что-то из {плюсы, сишка, паскаль, ассемблер} обречён остатаваться быдлокодером, причём после знакомства можно дальше на этом не писать и даже плеваться

next_time ★★★★★
()
Ответ на: комментарий от Xellos

а давай в нотации полей

обрати внимание что в той же жабкоскриптоте

(a[ч])[c] - все три вычисляемые выражения

a.ч.c - только а

речь об этом

а вообще фортрана достаточно всем да.

qulinxao ★★☆
()
Последнее исправление: qulinxao (всего исправлений: 1)
Ответ на: комментарий от qulinxao

Я больше не могу читать этот вечный поток сознания.
Зафрендил.

Xellos ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.