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

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

Сторінка 1 з 212»
Модератор форуму: Ktara, Bandalak, НІКОЛЯ, volevikt 
Форум інформатиків » РОЗДІЛ ІІ: ЛІТЕРАТУРА З ІНФОРМАТИКИ » 2.3 Підручники і посібники у відгуках вчителів » "Мова програмування С++. Спецкурс. 10-12 клас ", Лехан С.А. (Висловлюємо свої думки)
"Мова програмування С++. Спецкурс. 10-12 клас ", Лехан С.А.
Ковшун Дата: Чт, 17.07.2008, 10:40 | Повідомлення № 1
Досвідчений учасник
Повідомлень: 1462
Нагороди: 1
Рейтинг: 25
Шановні колеги!!!
Висловлюємо свої думки стосовно посібника

"Мова програмування С++. Спецкурс. 10-12 клас ", Лехан С.А., "Аспект"

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


Відредаговано: Ковшун - Чт, 17.07.2008, 12:03
dpi Дата: Сб, 04.04.2009, 10:29 | Повідомлення № 2
Досвідчений вчитель
Повідомлень: 1438
Нагороди: 1
Рейтинг: 39
Можно посмотреть содержание и любой текст программы на С++ с этой книги.
Шестопалов Дата: Сб, 04.04.2009, 11:14 | Повідомлення № 3
Видавець посібників
Повідомлень: 1409
Нагороди: 11
Рейтинг: 182
Quote (dpi)
Можно посмотреть содержание и любой текст программы на С++ с этой книги.

«Інформатика. Мова програмування С++. Спецкурс. 10-12 класи», Лєхан С.А., 2007, - 160 с., 10 грн.
Заказать на сайте http://aspekt-edu.kiev.ua
Зміст
1. Лінійні алгоритми
1.1. Вступ до мови програмування С++. 1.2. Типи даних. Змінні в С++. Присвоєння значень змінним. 1.3. Практична робота №1 «Робота в середовищі програмування Воrland С++». 1.4. Виконання простих операцій. Математичні операції мови С++. Уведення даних. 1.5. Практична робота №2 «Уведення та виведення даних». 1.6 Математичні функції в С++. Запис математичних виразів мовою C++. 1.7. Практична робота № 3 «Створення лінійних програм». 1.8. Тематичне оцінювання з теми «Програма. Мова програмування».
2. Алгоритми з розгалуженням
2.1. Оператор розгалуження if. 2.2. Практична робота № 4 «Програми з оператором розгалуження». 2.3. Логічні операції «І», «АБО», «НЕ». Оператор-перемикач. 2.4. Обробка декількох умов. 2.5. Практична робота № 5 «Використання логічних операцій та оператора-перемикача».
3. Оператори для організації циклів.
3.1. Цикли. Цикл із лічильником . 3.2. Практична робота № 6 «Програми з циклом із лічильником». 3.3. Цикл while. 3.4. Практична робота № 7 «Програми з повтореннями». 3.5. Тематичне оцінювання з теми «Оператори повторення та розгалуження».
4. Функції
4.1. Функції у С++. Локальні і глобальні змінні. 4.2. Виведення українських літер. Прототипи функцій.
Випадкові числа. 4.3. Вказівники. Адреси змінних. 4.4. Практична робота № 8 «Складання програм
з використанням функцій». 4.5. Тематичне оцінювання з теми «Функції».
5. Масиви
5.1. Поняття масиву. Опис та ініціалізація масиву. 5.2. Складання програм із масивами. 5.3. Практична робота № 9 «Розробка програм із масивами». 5.4. Алгоритми сортування. 5.5. Практична робота № 10 «Впорядкування масивів». 5.6. Вказівники, динамічні змінні й масиви. 5.7. Багатовимірні масиви. 5.8. Тематичне оцінювання з теми «Масиви».
6. Рядкові величини.
6.1. Символьні рядки . 6.2. Вказівники і символьні рядки. 6.3. Практична робота №11 «Опрацювання рядкових величин». 6.4. Тематичне оцінювання з теми «Рядкові величини».
7. Файлові операції.
7.1. Виведення та читання файлів. 7.2. Приклад використання файлових операцій.
8. Зберігання зв'язаної інформації в структурах.
8.1. Структури. Структури й функції. 8.2. Практична робота №12 «Файлові операції. Структури» .
9. Створення графічних зображень.
9.1. Основи об’єктно-орієнтованого програмування. 9.2. Графіка у середовищі Borland C++ Builder. 9.3. Практична робота № 13 «Малювання примітивів». 9.4. Виведення тексту. Малювання крапками. 9.5. Практична робота № 14 «Малювання графіків функцій». 9.6. Тематична атестація «Побудова графічних зображень».


Відредаговано: Шестопалов - Сб, 04.04.2009, 11:16
mouse Дата: Сб, 04.04.2009, 11:58 | Повідомлення № 4
Ветеран спілкування
Повідомлень: 2025
Нагороди: 4
Рейтинг: 62
Маю книгу дома. Читав. Порад, пропозицій може бути багато. Але в такій формі (писати сторінку, що не так чи так)? Я думаю, що краще робити на тексті оригіналу в Word, наприклад. І це лише буде моя думка.
В загальному книга - гарна. Саме головне, що С++, на мою думку, треба вивчати замість Паскаля. Знову, на мою думку, С++ набагато гнучкіший. Є логічне продовження в візуальному відображенню: Visual C++, Visual C#. Тим більше синтаксис С++ використовується далі: Java Script, PHP... %)
swetikccc Дата: Сб, 04.04.2009, 12:35 | Повідомлення № 5
Ветеран спілкування
Повідомлень: 3957
Нагороди: 28
Рейтинг: 370
Придбав книгу, хотів переходити на С++, приїхав син, полистав і зробив вивід що це Си, але буду переходити.
dpi Дата: Сб, 04.04.2009, 16:03 | Повідомлення № 6
Досвідчений вчитель
Повідомлень: 1438
Нагороди: 1
Рейтинг: 39
Quote (swetikccc)
Придбав книгу, хотів переходити на С++, приїхав син, полистав і зробив вивід що це Си, але буду переходити.

Спасибо, я как раз хотел узнать С или С++.
swetikccc Дата: Сб, 04.04.2009, 19:17 | Повідомлення № 7
Ветеран спілкування
Повідомлень: 3957
Нагороди: 28
Рейтинг: 370
Quote (dpi)
Спасибо, я как раз хотел узнать С или С++.

Но книга нормальная для школы сойдёт
badm Дата: Сб, 04.04.2009, 21:13 | Повідомлення № 8
Знаток програмування
Повідомлень: 185
Нагороди: 0
Рейтинг: 3
На скільки розумію то вариант С++ близьки до С. Рядки без STL. Напевне на базі BC++ 5.0.
Виправте якщо помиляюсь. Мені ближче синтаксис вже С++ і в реалізації на g++.
В інеті маса матеріалу є уроки як власні та і інших авторів, якщо потрібно можу поділитися. Хотілося б запитати а хіба не можна читати С++ у звичайній програмі (там ж немає наголошення конкретного на мову програмування)
sergey Дата: Сб, 04.04.2009, 21:56 | Повідомлення № 9
Знаток мови С
Повідомлень: 44
Нагороди: 1
Рейтинг: 9
Дякую за відгуки!
Підручник писався під 40 годинну програму МОНу. Тому деякі дуже важливі теми С++ не "влізли". Але планую ввести поняття класів, та ще деякі теми, якщо буде перевидання.
Звісно, у 1-му виданні не обійшлося без помилок та описок, але вони знайдені і будуть виправлені.
З повагою,
Сергій

Додано (04.04.2009, 21:47)
---------------------------------------------
Користуюсь безкоштовною devcpp-4.9.9.2, якщо треба пошукаю сайт де можна скачати її.
Інтерфейс є український, російський, англ. та інші. Дуже зручно в ній працювати - створюються вихідны файли всіх введених учнем програм в одному вікні. Можна копіювати фрагменти і переносити у сусідній файл використовуючи вордівскі правила. Вчитель може швидко перевірити всі виконані учнем завдання. Використовуючи NSS10 - можна не вставаючи з міста контролювати весь клас і допомагати тим кому потрібно, виправляти помилки. На сайті технічного редактора книги Олександра Пилипчука є опис devcpp.
Теми з графики - потребують C++Builder6 наприклад.

Додано (04.04.2009, 21:56)
---------------------------------------------
Якщо цікаво - поміщу деякі програмки, наприклад з теми функції:
Приклад 1. Написати функцію, що отримує один параметр – натуральне число, міняє порядок цифр у цьому числі на протилежний і повертає отриманий результат.
#include<iostream.h> //Програма 4.1
#include<conio.h>
int Mir(int a) //Функція
{
int res=0;
while(a>0)
{
res=res*10+a%10;
a/=10;
}
return res;
}
//Головна програма
int main()
{
int Num;
do {
cout<<"Vvedi naturalne chislo:";
cin>>Num;
} while (Num < 0);
int res = Mir(Num); //Виклик функції
cout<<"Dzerkalo = "<<res;
getch();return 0;
}

dpi Дата: Сб, 04.04.2009, 21:58 | Повідомлення № 10
Досвідчений вчитель
Повідомлень: 1438
Нагороди: 1
Рейтинг: 39
Графика не нужна на олимпиадах, ее можно забыть.
Quote (badm)
Мені ближче синтаксис вже С++ і в реалізації на g++.

Именно то, что надо. Совместно с MinGW Developer Studio.

Quote (badm)
Хотілося б запитати а хіба не можна читати С++ у звичайній програмі (там ж немає наголошення конкретного на мову програмування)

Можно и нужно.

Не обязательно, конечно, но желательно не мешать С и С++:
#include<iostream>
using namespace std;
int Mir(int);
int main()
{
int Num;
do {
cout<<"Vvedi naturalne chislo:";
cin>>Num;
} while (Num < 0);
int res = Mir(Num);
cout<<"Dzerkalo = "<<res;
return 0;
}

int Mir(int a)
{
int res=0;
while(a>0)
{
res=res*10+a%10;
a/=10;
}
return res;
}

Відредаговано: dpi - Сб, 04.04.2009, 22:06
sergey Дата: Сб, 04.04.2009, 22:16 | Повідомлення № 11
Знаток мови С
Повідомлень: 44
Нагороди: 1
Рейтинг: 9

Змінна-вказівник містить адресу пам'яті відповідної змінної.
Всередині функції потрібно зазначити C++, що функція працює з адресою параметра:
*а=1001; *b=1001;
Функція має доступ до комірки пам'яті кожної із змінних. Якщо параметри передаються за адресою, C++ поміщає адресу кожної змінної в стек (дивись малюнок «Схема передавання параметрів за адресою»). Використовуючи вказівники (адреси пам'яті) всередині функції, fun може звернутися до пам'яті за адресою кожного параметра, змінюючи значення параметрів, що й потрібно:
#include<iostream.h> //Програма 4.10
#include<conio.h>
void fun(int*, int*); //Прототип функції
int main()
{
int big=2002, small=0;
cout<<"Do funkcii:"<<big<<" "<<small<<endl;
fun(&big,&small);//Передача параметра за адресою
cout<<"Pislya funkcii:"<<big<<" "<<small<<endl;
getch();return 0;
}
void fun(int *a,int *b)
{
*a=1001;*b=1001;
cout<<"U funkcii:"<<"a="<<a<<" "<<"b="<<b<<endl;
cout<<"U funkcii:"<<"*a="<<*a<<" "<<"*b="<<*b<<endl;
}

Додано (04.04.2009, 22:05)
---------------------------------------------
Пошук елементів із заданою властивістю
Задача 2. Підрахувати і надрукувати кількість від’ємних елементів у масиві з 10 цілих чисел х.
#include<iostream.h> //Програма 5.5
#include<conio.h>
int main()
{
const int n = 10; // Розмірність масиву
int x[n]; // Оголошення масиву
for(int i = 0; i < n; i++)
{
cout<<i<<" element:\t";
cin>>x[i]; //Уведення елементів масиву
}
// Підрахунок від’ємних
int col = 0;
for(int i = 0; i < n; i++)
if(x[i] < 0) // Перевірка
col++; // Лічильник
cout<<endl;
for(int i = 0; i < n; i++)
cout<<x[i]<<"\t"; //Друк елементів масиву
cout<<"\nvidjemnih elementiv:\t"<<col<<endl;
getch();return 0;
}

Додано (04.04.2009, 22:07)
---------------------------------------------
метод «бульбашки»: більші елементи, як бульбашки у воді, «спливають» на відповідні позиції.
#include<iostream.h> //Програма 5.8
#include<conio.h>
int main()
{
const int n = 8;
int i;
int a[n] = {9, 13, 8, 0, 5, 14, 10, 6};
cout <<"\nVivedennja masivu: \n";
for ( i = 0; i < n; i++)
cout << a[i] << '\t';
int Temp, j = 1;
bool prapor = false;
do
{
prapor = false;
for(i = 0; i <n-j; i++)
if (a[i] > a[i+1])
{
Temp = a[i];
a[i] = a[i+1];
a[i+1] = Temp;
prapor = true;
}
j++;
}
while (prapor);
cout << "\nPislja sortuvannja:\n";
for (i = 0; i < n; i++)
cout << a[i] << '\t';
getch();
return 0;
}

Додано (04.04.2009, 22:08)
---------------------------------------------
Приклад. З клавіатури вводиться ціле число n, а потім ще n цілих чисел. Розмістити уведені n чисел у динамічному масиві, після чого вивести їх на екран, відокремивши пропусками.
#include<iostream.h> //Програма 5.9.1
#include<conio.h>
int main()
{
int n,*a; //Опис змінної розмірності, та масиву
cout<<"Rozmirnist' masivu: ";
cin>>n; // Кількість елементів масиву
a=new int[n]; // Виділення пам'яті для
// масиву з n елементів
// Уведення елементів масиву
for(int i = 0; i < n; i++)
{
cout<<i<<" Element=";
cin>>a[i];
}
// Виведення масиву на екран
cout<<"\nMasiv:\n";
for(int i = 0; i < n; i++)
cout<<a[i]<<" ";
cout<<endl;
delete[]a; //Вивільнення пам'яті
getch();
return 0;
}

Додано (04.04.2009, 22:10)
---------------------------------------------
Вправа 5-6.
1) Випробуйте програму, яка реалізує такі функції для роботи з масивами:
а) функція уведення елементів масиву;
б) функція виведення масиву;
в) функція сортування масиву.
Уважно дослідіть роботу програми.
#include<iostream.h> //Програма 5.9
#include<conio.h>
//Прототипи
void _Input(int*,int); //функції уведення
void _Sort(int*,int); //функції сортування
void _Print(int*,int); //функції виведення
int main()
{
int n,*a;
cout<<"Vvedi rozmir masivu:\t";
cin>>n; //Кількість елементів масиву
a=new int[n]; //Виділення пам'яті для
//масиву з n елементів
_Input(a,n); //Уведення елементів масиву
cout<<"\nMasiv:\n";
_Print(a,n); //Виведення масиву на екран
_Sort(a,n); //Сортування масиву
cout<<"Vidsortovanij masiv:\n";
_Print(a,n); //Виведення відсортованого масиву
delete[]a; //Вивільнення пам'яті
getch();return 0;
}
//ФУНКЦІЇ
void _Input(int *a, int n) //Уведення
{
for(int i = 0; i < n; i++)
{
cout<<"Element "<< i + 1 <<"\t";
cin>>a[i]; //Уведення елементів масиву
}
}
void _Print(int *a, int n) //Виведення
{
for(int i = 0; i < n; i++)
cout<<a[i]<<" ";
cout<<endl; //Виведення елементів масиву
}
void _Sort(int *a, int n) //Сортування
{
int temp; //Тимчасова змінна для обміну значень
bool flag = true; //Прапорець закінчення
for(int j = 1; ; j++) //сортування
{
for(int i = 0; i < n - j; i++)
if(a[i] > a[i+1])
{
temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
flag = false;
}
if(flag == true)
break;
flag = true;
}
}

Додано (04.04.2009, 22:11)
---------------------------------------------
Приклад 1. Написати програму, в якій для двовимірного масиву цілих чисел визначається номер крайнього стовпця, розташованого ліворуч, що містить тільки додатні елементи. Якщо такого стовпця немає, виводиться відповідне повідомлення.

#include<iostream.h> //Програма 5.10
#include<iomanip.h>
#include<conio.h>
int main()
{
int ryad, stovp;
// уведення розмірності масиву
cout<<"Vvedi kilkist’ ryadkiv:";cin >> ryad;
cout<<"Vvedi kilkist’ stovpciv:";cin>>stovp;
// виділення пам’ятi під масив
int i, j;
int **a = new int *[ryad];
for( i = 0; i < ryad; i++)
a[i] = new int [stovp];
// уведення масиву
cout << "Uvedit elementu masivu:" << endl;
for (i = 0; i < ryad; i++)
for (j = 0; j < stovp; j++)
cin >> a[i][j];
// виведення масиву
for (i = 0; i < ryad; i++)
{
for (j = 0; j < stovp; j++)
cout << setw(4) << a[i][j] <<" ";
cout << endl;
}
//аналіз масиву
int n = -1;
bool dodat;
for (j = 0; j < stovp; j++)
{
//перегляд по стовпцях
dodat = true;
//аналіз елементів стовпця
for (i = 0; i < ryad; i++)
if (a[i][j] < 0)
{
dodat = false;break;
}
if (dodat)
{
n = j;break;
}
}
if (n ==-1 ) cout << " Stovpciv nema" <<endl;
else cout<<"Nomer stovpcya: "<<n<<endl;
getch();return 0;
}

Додано (04.04.2009, 22:13)
---------------------------------------------
У наступній програмі уводиться рядок з використанням циклу for, а потім виводиться на екран за допомогою cout:
#include<iostream.h> //Програма 6.1
#include<conio.h>
int main()
{
char abc [27]; // 26 символів плюс NULL
char let; int i;
//Заповнення рядкового масиву латинськими літерами
for (let = 'A', i = 0; let <= 'Z'; let++, i++)
abc [i] = let;
abc [i] = '\0'; //Ознака кінця рядка
cout << abc; //Виведення рядкової константи
getch();
return 0;
}

Додано (04.04.2009, 22:16)
---------------------------------------------
7.2. Приклад використання файлових операцій
Спробуємо переробити задачу (п. 5.10, приклад 1) для уведен-ня вхідних даних з файлу (погодьтеся, що уведення при налагодженні програми двовимірних масивів чисел з клавіатури – доволі кропітка робота). Тоді, використавши текстовий редактор «Блокнот», ми зможемо швидко підготувати декілька різних наборів даних для тестування програми.

#include <iostream.h> //Програма 7.7
#include <fstream.h>
#include <iomanip.h>
#include <conio.h>
int main()
{
ifstream fin("c:\\pr\\input.txt");
if (!fin)
{
cout<<"Fajl input.txt ne znajdeno"<<endl;
getch();return 1;
}
ofstream fout("c:\\pr\\output.txt");
if (!fout)
{
cout<<"Nemoglivo vidkryty dlya zapisu"<<endl;
getch();return 1;
}
int ryad, stovp;
fin>>ryad; //зчитування кількості рядків
fin>>stovp; //зчитування кількості стовпців
// виділення пам’ятi під масив
int i, j;
int **a = new int *[ryad];
for( i = 0; i < ryad; i++)
a[i] = new int [stovp];
// уведення масиву
for (i = 0; i < ryad; i++)
for (j = 0; j < stovp; j++)
fin >> a[i][j];
// виведення масиву
for (i = 0; i < ryad; i++)
{
for (j = 0; j < stovp; j++)
fout<<setw(4)<<a[i][j]<<" ";
fout<<endl;
}
//аналіз масиву
int n = -1;
bool dodat;
for (j = 0; j < stovp; j++)
{
//перегляд по стовпцях
dodat = true;
//аналіз елементів стовпця
for (i = 0; i < ryad; i++)
if (a[i][j] < 0)
{
dodat = false;break;
}
if (dodat)
{
n = j;break;
}
}
if (n ==-1 ) fout<<"Stovpciv nema"<<endl;
else fout<<"Nomer stovpcya: "<<n<<endl;
cout<<"Shlyah do fajlu rezultatu: c:\\pr";
getch();
return 0;
}
Уведення розмірності масиву і його елементів виконується з файлу input.txt, розташованого в папці с:\pr, а результати виводяться у файл output.txt. У програмі визначений об'єкт fin класу вхідних файлових потоків й об'єкт fout класу вихідних файлових потоків.
Після визначення об'єктів перевіряється успішність їхнього створення. Це особливо важливо робити для вхідних файлів, щоб уникнути помилки в імені або місці розташування файлу.
Якщо програма завершується успішно, то на екран виводиться повідомлення «Shlyah do fajlu rezultatu: c:\\pr». Завдяки цьому користувач вашої програми зрозуміє, де шукати результати роботи програми.
Вхідний файл input.txt можна створити в будь-якому текстово-му редакторі. Він, природно, повинен існувати на момент першого запуску програми. На розташування й формат вихідних даних у файлі ніяких обмежень не накладається.
Для перевірки роботи програми підготуємо файл input.txt, наприклад:
3 4
-4 -5 3 9
5 0 3 8
8 1 7 3
Тут перші два числа вказують на те, що масив складається з 3 х рядків та 4-х стовпців, а далі розміщений сам масив чисел.

swetikccc Дата: Нд, 05.04.2009, 13:08 | Повідомлення № 12
Ветеран спілкування
Повідомлень: 3957
Нагороди: 28
Рейтинг: 370
Quote (sergey)
Користуюсь безкоштовною devcpp-4.9.9.2, якщо треба пошукаю сайт де можна скачати її.
Інтерфейс є український, російський, англ. та інші.

Є безкоштовна Microsoft Visual Studio 2008 Express Edition російська з російським MSDN, от би книгу під неї підладнати
, а то Практична робота №1 «Робота в середовищі програмування Воrland С++»
Небезкоштовне і свое віджива
mouse Дата: Вт, 29.09.2009, 16:41 | Повідомлення № 13
Ветеран спілкування
Повідомлень: 2025
Нагороди: 4
Рейтинг: 62
Quote (swetikccc)
Є безкоштовна Microsoft Visual Studio 2008 Express Edition російська з російським MSDN

Погоджуюсь повністю. Треба використовувати сучасне ПЗ, тим більше, якщо компанія пропоную потужне середовище безкоштовно! З такимм самим успіхом можно "штовхати" в маси С# в тому ж середовищі.
Можливо, варто було розділити в книзі першочергові завдання ОСНОВА і більш складні другорядні, мовби завдання з півзірочкою. Я маю на увазі не тільки завдання, а й весь курс. Щоб діти бачили - де основа, а де розвиток.
dpi Дата: Вт, 29.09.2009, 17:41 | Повідомлення № 14
Досвідчений вчитель
Повідомлень: 1438
Нагороди: 1
Рейтинг: 39
Quote (mouse)
З такимм самим успіхом можно "штовхати" в маси С# в тому ж середовищі.

Не сильно верю в перспективу С# в школах, хотя и не считаю себя консерватором.
KulAlex Дата: Нд, 21.02.2010, 23:59 | Повідомлення № 15
Знаток програмування
Повідомлень: 326
Нагороди: 6
Рейтинг: 19
Quote (mouse)
Треба використовувати сучасне ПЗ

Сучасна версія wxDev-C++ http://wxdsgn.sourceforge.net/ доповнена візуальною бібліотекою wxWidgets. Є повноцінний візуальний редактор. Бібліотека багатоплатформенна, що зробить посібник універсальнішим. Разом з українським інтерфейсом продукт виглядає майже ідеальним для школи.

Форум інформатиків » РОЗДІЛ ІІ: ЛІТЕРАТУРА З ІНФОРМАТИКИ » 2.3 Підручники і посібники у відгуках вчителів » "Мова програмування С++. Спецкурс. 10-12 клас ", Лехан С.А. (Висловлюємо свої думки)
Сторінка 1 з 212»
Пошук:


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