 |
Вітаю Вас, Гість · RSS |
 |
Поговоримо про сучасні мови програмування.
| |
Ковшун |
Дата: Th, 04.10.2007, 15:23 | Повідомлення № 1 |
Досвідчений учасник
Повідомлень: 1462
| Шановні колеги!!! Існує багато мов програмування. Впродовж багатьох років у школах домінувала мова програмування Pascal. Проте, життя не стоїть на місці. З’явились нові, прогресивні мови програмування. Дана тема створена для обговорення проблем, пов’язаних з вивченням мов програмування в школі. Чи це буде Borland Delphi, чи С++, чи Visual Basic. Шановні форумчани!!!!! Повідомлення, які не відповідають темі або несуть некорисний зміст будуть видалятись без попередження!!!
Відредаговано: Ковшун - Th, 04.10.2007, 21:11 |
|
| |
Пилипчук_О_П |
Дата: Sa, 13.05.2017, 17:50 | Повідомлення № 211 |
Ветеран спілкування
Повідомлень: 4330
| Цитата swetikccc (  ) Вчора знову опікся з = == в логічному виразі в плюсах. Це основний недолік вивчення цієї мови в школі. Нотація Йоди в руки Вам: https://uk.wikipedia.org/wiki....4%D0%B8
|
|
| |
LVV |
Дата: Su, 14.05.2017, 11:57 | Повідомлення № 212 |
Прописаний назавжди
Повідомлень: 440
| Цитата swetikccc (  ) Вчора знову опікся з = == в логічному виразі в плюсах.Це основний недолік вивчення цієї мови в школі. Це не недолік мови С++. Скоріше, відсутніть звички.
От тому я наполегливо й виступаю за вивчення в школі однієї мови програмування на протязі всього курсу. І навіть неважливо, якою буде ця мова, головне, щоб учні, призвичаїлись до неї з раннього віку, вивчили її тонкощі і значно меньше допускали прикрих помилок, які не виявляються в процесі компіляції, на кшталт = замість ==, або cin >> a,b,c;
|
|
| |
swetikccc |
Дата: We, 17.05.2017, 13:04 | Повідомлення № 213 |
Ветеран спілкування
Повідомлень: 4208
| Досить специфічне питання. В С++, я можу задати розмір масиву(класичного) змінною, головне правило змінна повинна отримати значення перед описом масиву. Змінні в Паскалі описуються на відміну від СІ в одному місці, наскільки пам'ятаю розмір класичного масиву неможливо задати змінною. Зараз прийшла така думка , а якщо використати процедури чи функції в яку передати розмір масиву і там все обчислити......
Відредаговано: swetikccc - We, 17.05.2017, 14:19 |
|
| |
Пилипчук_О_П |
Дата: We, 17.05.2017, 19:29 | Повідомлення № 214 |
Ветеран спілкування
Повідомлень: 4330
| Цитата swetikccc (  ) розмір класичного масиву неможливо задати змінною. Той, хто тяжіє до класики, має вчити латину, а не Паскаль і С++  В сучасному Паскалі є динамічні масиви:
Код var mas: array of integer; a:integer; begin readln (a); SetLength(mas, a); //і буде нам щастя ... end.
|
|
| |
swetikccc |
Дата: We, 17.05.2017, 19:39 | Повідомлення № 215 |
Ветеран спілкування
Повідомлень: 4208
| Цитата Пилипчук_О_П (  ) Той, хто тяжіє до класики, має вчити латину, а не Паскаль і С++ В сучасному Паскалі є динамічні масиви: Питання не про динамічні масиви чи вектори. Це і так зрозуміло. А про об'яву масиву в функції, в яку передається розмір. Просто цікаво, а от згадувати Паскаль для цього......
|
|
| |
LVV |
Дата: We, 17.05.2017, 20:23 | Повідомлення № 216 |
Прописаний назавжди
Повідомлень: 440
| Цитата 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 |
Дата: We, 17.05.2017, 20:26 | Повідомлення № 217 |
Прописаний назавжди
Повідомлень: 440
| Цитата Пилипчук_О_П (  ) В сучасному Паскалі є динамічні масиви А у віжуал Бейсіку всі масиви динамічні за замовчуванням
|
|
| |
swetikccc |
Дата: We, 17.05.2017, 21:41 | Повідомлення № 218 |
Ветеран спілкування
Повідомлень: 4208
| Цитата LVV (  ) В С++ не можна задавати розмір звичайного масива змінною: Дійсно це так. Це мене обморило. Завжди використовував константи, а тут ввів змінну в інтерпритаторі на андроїд і спрацювало. Перевірив на іншому - працює. Завтра б скомпілював все б стало на свої місця.
|
|
| |
fox11 |
Дата: Th, 18.05.2017, 04:34 | Повідомлення № 219 |
Прописаний назавжди
Повідомлень: 403
| Работают все три варианта ???
#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 - Th, 18.05.2017, 04:50 |
|
| |
LVV |
Дата: Th, 18.05.2017, 05:55 | Повідомлення № 220 |
Прописаний назавжди
Повідомлень: 440
| Цитата fox11 (  ) На MinG Проверил в Codeblocks на GNU GCC Compiler, и о чудо, действительно, работает. Хотя это и противоречит стандартам С++. Например, на онлайн-компиляторе GCC не работает. На компиляторе Visual Studio тоже не срабатывает. А я считал компилятор VS более либеральным (автоподключение стандартных библиотек, рарешение на кириллицу в именах переменных, не поддерживает long long int и т.д.)
|
|
| |
Пилипчук_О_П |
Дата: Th, 18.05.2017, 06:47 | Повідомлення № 221 |
Ветеран спілкування
Повідомлень: 4330
| Цитата LVV (  ) Хотя это и противоречит стандартам С++. Яким саме стандартам? Стандарт C99 дозволяє багато: http://cpp.com.ru/shildt_spr_po_c/04/0409.html
|
|
| |
LVV |
Дата: Th, 18.05.2017, 22:40 | Повідомлення № 222 |
Прописаний назавжди
Повідомлень: 440
| Цитата Пилипчук_О_П (  ) Яким саме стандартам? Имел ввиду стандарт С++ до 2011 года, поскольку использую в основном Visual Studio 2010. Хотя, наверное, уже есть и стандарт С++ 2017. Во всяком случае, Visual Studio 2017 существует, правда устанавливаются компоненты только на Windows 10 (пробовал на Windows 7, не пошло)
|
|
| |
swetikccc |
Дата: Th, 18.05.2017, 22:49 | Повідомлення № 223 |
Ветеран спілкування
Повідомлень: 4208
| Цитата Пилипчук_О_П (  ) Стандарт то Сишний. Наслідування річ добра, але необовязкова.
|
|
| |
volodschool2 |
Дата: We, 24.05.2017, 22:11 | Повідомлення № 224 |
Досвідчений учасник
Повідомлень: 1609
| 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. Скачав, встановив. Для школи хороший варіант.
|
|
| |
Пилипчук_О_П |
Дата: We, 24.05.2017, 22:34 | Повідомлення № 225 |
Ветеран спілкування
Повідомлень: 4330
| Цитата volodschool2 (  ) Embarcadero® Delphi 10.2 Tokyo Starter .... Для школи хороший варіант. Напевно. Але виключно для навчальних цілей:
Ще бачу такі обмеження: "Only one license per order. Only one license per email address / account". Чи має право вчитель звантажити один раз і поставити на всі машини в класі?
Відредаговано: Пилипчук_О_П - We, 24.05.2017, 22:38 |
|
| |
© Форум інформатиків України, 2007-2022.  |