17
Основи алгоритмізації та програмування Лекція 1. Основи…

Основи алгоритмізації та програмування. Лекція 1

Embed Size (px)

Citation preview

Page 1: Основи алгоритмізації та програмування. Лекція 1

Основи алгоритмізації та програмування

Лекція 1. Основи…

Page 2: Основи алгоритмізації та програмування. Лекція 1

План

• Основні поняття( алгоритм, програма, мова програмування, виконавець, компілятор, інтерпретатор)

• Основи С++. Шаблон найпростішої програми

• Поняття про змінні. Типи даних.

• Консольне введення-виведення.

• Завдання для самостійного виконання

Page 3: Основи алгоритмізації та програмування. Лекція 1

Середовища розробки для С, С++

• DevCPP, gcc

• Microsoft Visual C++ (Visual Studio)

• Borland C++ Builder

Невідомі слова:

Компіляція машинних кодів

Debug, відлагодження

Page 4: Основи алгоритмізації та програмування. Лекція 1

Основні визначення.

• Алгоритм – Послідовність операцій для виконавця для розв'язування певного класу задач.

• Програма – форма записання алгоритму на мові, зрозумілій компютеру.

Види програм:- виконуваний файл (exe, dll)- Програма на мові програмування (текстовий

файл *.с, *.cpp, *.pas, *.f, *.bas, *.asm- Програма для віртуальної машини (*.class,

*.exe для .NET)

Page 5: Основи алгоритмізації та програмування. Лекція 1

Компілятор та інтерпретатор

• Як компілятор, так і інтерпретатор на вхід приймає текст програми (звич. Текстовий файл)

• Компілятор перекладає програму на мові програмування на мову виконавця: операційної системи, процесору або віртуальної машини.

• Інтерпретатор зразу виконує програму, яка у нього завантажена.

• Відлагоджувач – засіб для моделювання процесу роботи програми.

Page 6: Основи алгоритмізації та програмування. Лекція 1

Особливості С,С++

• С – це не С++• В іменах великі і маленькі букви

ВІДРІЗНЯЮТЬСЯ• Є тільки функції • Змінні можна обявляти де завгодно, але

раджу обявляти на початку функції• Імена змінних – латинскими буквами,

цифрами і знак “_”, але починається з літери.

Page 7: Основи алгоритмізації та програмування. Лекція 1

• # - директиви прекомпілятора

• #include

• #define –

• #ifdef

• #ifndef

Page 8: Основи алгоритмізації та програмування. Лекція 1

Функція main()

• Імя функції пишеться безпосередньо перед відкритими дужками

• В дужках через кому записують параметри• Перед іменем - тип значення, що

повертається та інші специфікатори (зразу специфікатори, а потім тип) рос. “Тип возвращаемого значения”

• int – тип цілого числа• Фігурні операторні дужки після заголовку

функції – тіло функції (послідовність операторів, які виконуються)

Page 9: Основи алгоритмізації та програмування. Лекція 1

• return выражение;

• EXIT_SUCCESS – константа успішного виконання

Page 10: Основи алгоритмізації та програмування. Лекція 1

Особливості консольного інтерфейсу

Консоль – це текстова клавіатура + текстовий екран

Інтерфейс – спосіб взаємодії (користувача з програмою).

Текстовий інтерфейс, консольний інтерфейс -

Page 11: Основи алгоритмізації та програмування. Лекція 1

План

• Поняття змінної• Параметри, властивості змінної: імя

змінної, тип змінної та значення змінної, адреса змінної

• Операції зі змінними: обявлення, зміна значення або присвоювання, використання (у виразах або у функціях)

• Функції введення-виведення значень змінних (форматованого)

Page 12: Основи алгоритмізації та програмування. Лекція 1

Знакові Беззнакові Байт

Цілі сhar

(-127…127)

unsigned char

(0-255)

1

short int

(-32767.. 32767)

short short int

(0-65535)

2

int , signed int unsigned int 4(2)

long unsigned long 8(4)

long long unsigned long long

8

дійсні float 2

double 4

Page 13: Основи алгоритмізації та програмування. Лекція 1

Дії зі змінними• обявленнятип імя;Наприклад:int a;int b=0;Обявляти можна в середині функції в будь-якому місці. Раджу на початку функції. Також можна поза функціями (глобальні змінні)• Зміна значення, присвоювання. Імя=вираз;Вираз – це запис дій з константами, змінними або результатами функцій,

результат якого записується в змінну. а=а+1;// аналог : а++;а=а+8;//а+=8;• Використанняа) в виразі (як аргумент операції)x=1;Y=x*x;б) як значення функції:printf(“x=%d,y=%d\n”,x,y);

Page 14: Основи алгоритмізації та програмування. Лекція 1

Функції форматованого введення-виведення

printf(рядок_форматування,вираз1, вираз2,… )scanf (рядок_форматування, адреса1, адреса2,… )Рядок форматування – рядок символів (посл.

символів,в подвійних лапках “”)В ньому записується текст для виведення, спеціальні

символи (\n, \t…) та специфікатори формата (%d, %f, %c,%s). Спец. Формата при виведенні заміняються значенням змінних. При введенні задають, яким чином записувати дані по вказаній адресі.

Примітка, щоб дізнатися адресу змінної, використовується оператор &. Наприклад:

int x;scanf(“%d”,&x);

Page 15: Основи алгоритмізації та програмування. Лекція 1

Різні специфікатори формату• pecifierOutputExample• %c – char, unsigned char у вигляді 1 символу. • %d or %i – int • %e, %E – float, double експоненціальний стиль 3.9265e+2 • %f - float, double?? звичайний формат 392.65• %o – восьмирічне число• %s – рядок символів (масив char)• %u – unsigned int (беззнакове)• %x, %X – шістнадцятирічне представлення. • %p – вказівник, адреса в памяті• %% - символ %• %lf – double

Page 16: Основи алгоритмізації та програмування. Лекція 1

Приклади і задачі додому• Запитати значення незалежної змінної (аргументу функції), вивести на

екран значення самої функції. Vvedite x:5<enter>x=5,y=25\nVvedite x:6<enter>x=5,y=36\nЗадача 2. Задане рівняння виду а*х+b=0Запитати а та б, вивести х. Задача 3. Розробити демонстаційну програму, яка вводить цілі значення

різних систем числення (доступних принтф, сканф), та виводить число в усіх можливих системах числення (доступних принтф, сканф) Розробіть програму для введення у десятковій, зробіть копії для введення

Задача 4. Розробити демонстраційну програму, яка вводить дійсне число та виводить його у різних виглядах (звичайному, експоненційному, навчитись задавати кількість знаків після коми)

Page 17: Основи алгоритмізації та програмування. Лекція 1

[email protected]

• vk.com/chabanenk0

• http://www.bloodshed.net/devcpp.html