Пн, 26.08.2019, 07:20
Форум інформатиків України
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Вітання на форумі
Незнайомець
Вітаємо на форумі,
Незнайомцю!

 
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво

Модератор форуму: Bandalak, Ktara, НІКОЛЯ, volevikt  
Форум інформатиків » РОЗДІЛ VIІІ: ОБМІН ДОСВІДОМ (УРОКИ, ФАКУЛЬТАТИВИ, ПОЗАКЛАСНА РОБОТА) » 8.6 Факультатив з програмування » Поговоримо про сучасні мови програмування. (Яку мову програмування Ви вивчаєте в школі?)
Поговоримо про сучасні мови програмування.
Ковшун Дата: Чт, 04.10.2007, 15:23 | Повідомлення № 1
Досвідчений учасник
Повідомлень: 1462
Нагороди: 1
Рейтинг: 25
Шановні колеги!!!
Існує багато мов програмування. Впродовж багатьох років у школах домінувала мова програмування Pascal.
Проте, життя не стоїть на місці. З’явились нові, прогресивні мови програмування.
Дана тема створена для обговорення проблем, пов’язаних з вивченням мов програмування в школі.
Чи це буде Borland Delphi, чи С++, чи Visual Basic.

Шановні форумчани!!!!!
Повідомлення, які не відповідають темі або несуть некорисний зміст будуть видалятись без попередження!!!


Відредаговано: Ковшун - Чт, 04.10.2007, 21:11
Пилипчук_О_П Дата: Сб, 13.05.2017, 17:50 | Повідомлення № 211
Ветеран спілкування
Повідомлень: 4308
Нагороди: 38
Рейтинг: 406
Цитата swetikccc ()
Вчора знову опікся з = == в логічному виразі в плюсах.
Це основний недолік вивчення цієї мови в школі.

Нотація Йоди в руки Вам: https://uk.wikipedia.org/wiki....4%D0%B8
LVV Дата: Нд, 14.05.2017, 11:57 | Повідомлення № 212
Прописаний назавжди
Повідомлень: 431
Нагороди: 5
Рейтинг: 127
Цитата swetikccc ()
Вчора знову опікся з = == в логічному виразі в плюсах.Це основний недолік вивчення цієї мови в школі.
Це не недолік мови С++.
Скоріше, відсутніть звички.

От тому я наполегливо й виступаю за вивчення в школі однієї мови програмування на протязі всього курсу.
І навіть неважливо, якою буде ця мова, головне, щоб учні, призвичаїлись до неї з раннього віку, вивчили її тонкощі і значно меньше допускали прикрих помилок, які не виявляються в процесі компіляції, на кшталт = замість ==, або cin >> a,b,c;
swetikccc Дата: Ср, 17.05.2017, 13:04 | Повідомлення № 213
Ветеран спілкування
Повідомлень: 4158
Нагороди: 31
Рейтинг: 387
Досить специфічне питання.
В С++,  я можу задати розмір масиву(класичного) змінною, головне правило змінна повинна отримати значення перед описом масиву.
Змінні в Паскалі описуються на відміну від СІ в одному місці, наскільки пам'ятаю розмір класичного масиву неможливо задати змінною.
Зараз прийшла така думка , а якщо використати процедури чи функції в яку передати розмір масиву і там все обчислити......


Відредаговано: swetikccc - Ср, 17.05.2017, 14:19
Пилипчук_О_П Дата: Ср, 17.05.2017, 19:29 | Повідомлення № 214
Ветеран спілкування
Повідомлень: 4308
Нагороди: 38
Рейтинг: 406
Цитата swetikccc ()
розмір класичного масиву неможливо задати змінною.

Той, хто тяжіє до класики, має вчити латину, а не Паскаль і С++ :)
В сучасному Паскалі є динамічні масиви:
Код

var mas: array of integer;
      a:integer;
begin
   readln (a);
   SetLength(mas, a);
   //і буде нам щастя ...
end.

swetikccc Дата: Ср, 17.05.2017, 19:39 | Повідомлення № 215
Ветеран спілкування
Повідомлень: 4158
Нагороди: 31
Рейтинг: 387
Цитата Пилипчук_О_П ()
Той, хто тяжіє до класики, має вчити латину, а не Паскаль і С++
В сучасному Паскалі є динамічні масиви:

Питання не про динамічні масиви чи вектори.
Це і так зрозуміло.
А про об'яву масиву в функції, в яку передається розмір.
Просто цікаво, а от згадувати Паскаль для цього......
LVV Дата: Ср, 17.05.2017, 20:23 | Повідомлення № 216
Прописаний назавжди
Повідомлень: 431
Нагороди: 5
Рейтинг: 127
Цитата swetikccc ()
В С++,  я можу задати розмір масиву(класичного) змінною
В С++ не можна задавати розмір звичайного масива змінною:
int n=5;
double M [n]//помилка, бо а не є константим виразом


int n;
cin >> n;
double M [n]//помилка, бо а не є константим виразом


потрібно використовувти константи:
const int a=n;
double M[n];


або оголошувати(визначати) динамічний масив з викристанням вказівника *
int a=n;
double *M = new double [n];

або так:

int a;
cin >> a;
double *M = new double [n];

передавати у функцію значення розміру масиву, який оголошуватиметься у тій же функції не можна ні змінною, ні константою:
void fun (int,int);
int main()
{
const int a=5;
int b=5;
fun(a,b);
return 0;
}

void fun(int n, int k)
{
double M[n];//помилка, n не є константим виразом
double M1[k];//помилка, k не є константим виразом
}


Вибачте, якщо я не зрозумів про що йшлося у Вашому твердженні (прокоментуйте кодом С++)
LVV Дата: Ср, 17.05.2017, 20:26 | Повідомлення № 217
Прописаний назавжди
Повідомлень: 431
Нагороди: 5
Рейтинг: 127
Цитата Пилипчук_О_П ()
В сучасному Паскалі є динамічні масиви
А у віжуал Бейсіку всі масиви динамічні за замовчуванням :)
swetikccc Дата: Ср, 17.05.2017, 21:41 | Повідомлення № 218
Ветеран спілкування
Повідомлень: 4158
Нагороди: 31
Рейтинг: 387
Цитата LVV ()
В С++ не можна задавати розмір звичайного масива змінною:

Дійсно це так.
Це мене обморило.
Завжди використовував константи, а тут ввів змінну в інтерпритаторі на андроїд і спрацювало.
Перевірив на іншому - працює.
Завтра б скомпілював все б стало на свої місця.
fox11 Дата: Чт, 18.05.2017, 04:34 | Повідомлення № 219
Прописаний назавжди
Повідомлень: 334
Нагороди: 4
Рейтинг: 81
Работают все три варианта ???

#include <iostream>
using namespace std;
int main()
{
int n=5;
//cin>>n;
//const int a=n;
//double M[a];
double M[n];
M[1]=55;
cout<<M[1];
return 0;
}

И даже: !!!
int n;// скорее всего мусор срабатывает
double M[n];
На MinGW, хотя раньше считал как и вы. Может вирус какой )))


Відредаговано: fox11 - Чт, 18.05.2017, 04:50
LVV Дата: Чт, 18.05.2017, 05:55 | Повідомлення № 220
Прописаний назавжди
Повідомлень: 431
Нагороди: 5
Рейтинг: 127
Цитата fox11 ()
На MinG
Проверил в Codeblocks на GNU GCC Compiler, и о чудо, действительно, работает. :) 
Хотя это и противоречит стандартам С++.
Например, на онлайн-компиляторе GCC не работает.
На компиляторе Visual Studio тоже не срабатывает.
А я считал компилятор VS более либеральным (автоподключение стандартных библиотек, рарешение на кириллицу в именах переменных, не поддерживает long long int  и т.д.)
Пилипчук_О_П Дата: Чт, 18.05.2017, 06:47 | Повідомлення № 221
Ветеран спілкування
Повідомлень: 4308
Нагороди: 38
Рейтинг: 406
Цитата LVV ()
Хотя это и противоречит стандартам С++.

Яким саме стандартам?
Стандарт C99 дозволяє багато: http://cpp.com.ru/shildt_spr_po_c/04/0409.html
LVV Дата: Чт, 18.05.2017, 22:40 | Повідомлення № 222
Прописаний назавжди
Повідомлень: 431
Нагороди: 5
Рейтинг: 127
Цитата Пилипчук_О_П ()
Яким саме стандартам?
Имел ввиду стандарт С++ до 2011 года, поскольку использую в основном Visual Studio 2010.
Хотя, наверное, уже есть и стандарт С++ 2017. Во всяком случае, Visual Studio 2017 существует, правда устанавливаются компоненты только на Windows 10 (пробовал на Windows 7, не пошло)
swetikccc Дата: Чт, 18.05.2017, 22:49 | Повідомлення № 223
Ветеран спілкування
Повідомлень: 4158
Нагороди: 31
Рейтинг: 387
Цитата Пилипчук_О_П ()
Стандарт C99 дозволяє багато: http://cpp.com.ru/shildt_spr_po_c/04/0409.html

Стандарт то Сишний.
Наслідування річ добра, але необовязкова.
volodschool2 Дата: Ср, 24.05.2017, 22:11 | Повідомлення № 224
Досвідчений учасник
Повідомлень: 1528
Нагороди: 15
Рейтинг: 364
https://www.embarcadero.com/ru/
Embarcadero® Delphi 10.2 Tokyo Starter is a great way to get started building high-performance Delphi apps for Windows. Delphi Starter includes a streamlined IDE, code editor, integrated debugger, two-way visual designers to speed development, hundreds of visual components, and a limited commercial use license. Database components and drivers are not included.
Скачав, встановив. Для школи хороший варіант.
Прикріплення: 6382070.jpg(109.5 Kb)
Пилипчук_О_П Дата: Ср, 24.05.2017, 22:34 | Повідомлення № 225
Ветеран спілкування
Повідомлень: 4308
Нагороди: 38
Рейтинг: 406
Цитата volodschool2 ()
Embarcadero® Delphi 10.2 Tokyo Starter .... Для школи хороший варіант.

Напевно. Але виключно для навчальних цілей:


Ще бачу такі обмеження: "Only one license per order. Only one license per email address / account".
Чи має право вчитель звантажити один раз і поставити на всі машини в класі?


Відредаговано: Пилипчук_О_П - Ср, 24.05.2017, 22:38
Форум інформатиків » РОЗДІЛ VIІІ: ОБМІН ДОСВІДОМ (УРОКИ, ФАКУЛЬТАТИВИ, ПОЗАКЛАСНА РОБОТА) » 8.6 Факультатив з програмування » Поговоримо про сучасні мови програмування. (Яку мову програмування Ви вивчаєте в школі?)
Пошук:


© Форум інформатиків України, 2007-2019.