Личный кабинет

Информатика и преподавание ООП

Олег Деревенец ( Пользователь )
*** Вот этот пример. Не открывайте в IE - не сработает. ***
Станислав, а в чем его открыть рекомендуете?
Станислав Михалкович ( Пользователь )
Цитата (Олег Деревенец, 12.07.2011, 10:48) <{POST_SNAPBACK}>
*** Вот этот пример. Не открывайте в IE - не сработает. ***
Станислав, а в чем его открыть рекомендуете?

Так.

По моим понятиям, во всех браузерах кроме IE графическая программа запустится. Запустится она также в IE последней версии - 10: http://ie.microsoft.com/testdrive/
Текст программы Вы увидите в любом браузере, кроме совсем старых IE (версии 6 например)

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

На всякий случай по старинке :) копирую текст программы сюда:

Код
uses Stamps;

begin
  var r := new RectangleStamp(30,30,50,50);
  for var i:=1 to 8 do
  begin
    r.Stamp;
    r.x += r.width + 5;
  end;
end.
Евгений Тюленев ( Пользователь )
"линейное программирование" прошу прощения оговорился. Может больше устроит "последовательное" Хотя и это плохо.
Цитата
Да уж! Взращенным на Васике, Фортране и Ассемблере печальней всего было от GOTO отказаться.


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

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

Цитата
Стало быть, проблемы с преподаванием ООП нет? Все просто? И зря мы тут копья ломаем?


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

Цитата
Я бы короче сказал: «Видимо, C++ - не лучший язык» :-)


Английский тоже не очень, что не мешает ему быть языком межнационального общения.
Андрей Гнедов ( Пользователь )
Коллеги! Пожалуйста, присоветуйте книжку, по которой выпускник школы, освоивший Паскаль, смог бы освоить С++.
Серж Андреев ( Пользователь )
Цитата (А.А.Гнедов, 13.07.2011, 14:50) <{POST_SNAPBACK}>
Коллеги! Пожалуйста, присоветуйте книжку, по которой выпускник школы, освоивший Паскаль, смог бы освоить С++.


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

ЗЫ: По поводу перехода с Бейсика на асм, а потом на паскаль, то не испытывал особых трудностей. А вот при переходе на ООП - испытывал некоторое время, пока не въехал в идеологию.
Виталий Потопахин ( Пользователь )
Цитата (А.А.Гнедов, 13.07.2011, 13:50) <{POST_SNAPBACK}>
Коллеги! Пожалуйста, присоветуйте книжку, по которой выпускник школы, освоивший Паскаль, смог бы освоить С++.


Человек реально владеющий одним языком и имеющий опыт программирования, второй сможет изучить по любой более менее приличной книжке и даже без оной.
Серж Андреев ( Пользователь )
Вот нашел классный пример ООП на PHP:

Цитата
<?php
// PHP 5

// class definition
class Bear {
// define properties
public $name;
public $weight;
public $age;
public $sex;
public $colour;

// constructor
public function __construct() {
$this->age = 0;
$this->weight = 100;
}

// define methods
public function eat($units) {
echo $this->name." is eating ".$units." units of food... ";
$this->weight += $units;
}

public function run() {
echo $this->name." is running... ";
}

public function kill() {
echo $this->name." is killing prey... ";
}

public function sleep() {
echo $this->name." is sleeping... ";
}
}

// extended class definition
class PolarBear extends Bear {

// constructor
public function __construct() {
parent::__construct();
$this->colour = "white";
$this->weight = 600;
}

// define methods
public function swim() {
echo $this->name." is swimming... ";
}
}

?>


Вот для примера создал с подругой парочку объектов:

Цитата
<?php

class animal {
public $age;
public $name;
public $glaz_count;
public $noga_count;
public $type;
public $sound;

public function __construct($name)
{
$this->name = "<font color = red>".$name."</font>";
$this->age = 0;
}

public function say()
{
echo $this->name." ".$this->sound."<BR>";
}

public function birthday()
{
$this->age++;
echo "Happy birthday to you, ".$this->name."!<BR>";
}

public function hmay()
{
echo $this->name." ".$this->age." age old.<BR>";
}
}

class cat extends animal {
public function __construct($name)
{
parent::__construct($name);
$this->sound = "myau-myau!";
}
}

class mouse extends animal {
public function __construct($name)
{
parent::__construct($name);
$this->sound = "pi-pi!";
}
}

$cat = new cat("Vasya");
$mouse = new mouse("Sonya");
$cat->say();
$mouse->say();
$cat->birthday();
$mouse->birthday();
$mouse->birthday();
$cat->hmay();
$mouse->hmay();
?>





Итогом выполнения:

Цитата
Vasya myau-myau!
Sonya pi-pi!
Happy birthday to you, Vasya!
Happy birthday to you, Sonya!
Happy birthday to you, Sonya!
Vasya 1 age old.
Sonya 2 age old.


Александра Сурина ( Пользователь )
Цитата (Серж Андреев, 13.07.2011, 20:16) <{POST_SNAPBACK}>
public $glaz_count;
public $noga_count;


Смесь транслита и английского в именах - это так трогательно, без иронии. Сразу вспоминаются товарищи юности и небольшие командные разработки. Извините за офтоп.
Серж Андреев ( Пользователь )
Цитата (Александра Сурина, 14.07.2011, 14:48) <{POST_SNAPBACK}>
Смесь транслита и английского в именах - это так трогательно, без иронии. Сразу вспоминаются товарищи юности и небольшие командные разработки. Извините за офтоп.


Ну меня в школе французском силком пытались учить. Хотя, "foot" и "eye" - эти слова мне известны.

Вот вчера ради интереса создал объект, который создается на основании результата запроса MYSQL и имеет метод view, позволяющий вывести себя в HTML-таблицу. Прикрутил к нему javascript'овский код на тему перемещения курсора по строкам таблицы. Красиво получилось.
Светлана Кинельская ( Пользователь )
ООП нужно преподавать в классах информационного профиля или спецшколах. У меня был "так называемый" физмат 10 класс обычной сельской школы (12 человек). Из них 3 человека, которые и без профиля еле-еле до школы доходили. 6 человек поняли в теме ООП дай бог 20 %, а остальные хоть глаза не вытаращивали на каждое новое понятие и научились делать несложные задачи. И у всех в глазах немые вопросы: "Зачем это надо?" и "Когда это закончиться?".

footer logo © Образ–Центр, 2019. 12+