Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмізація та програмування.docx
Скачиваний:
84
Добавлен:
17.05.2015
Размер:
1.35 Mб
Скачать

Відповідність між блок-схемами, алгоритмічною мовою,і лексичними конструкціями с.

Поки < умова > роби

<дію> (Блок команд)

кц;

while (умова)

{

<дія>

}

Делай

<дія> (Блок команд)

поки <умова>

do

{

<дія>

}

while (умова);

Для i=n1 до n2 через h

<дія> (Блок команд)

кц;

for (i=n1;i<=n2;i+=h)

{

<дія>

}

1. Поляков К. Алгоритми і виконавці, 1992-2010

2. Іванова Г.С. Основи програмування, 2002.

Практика.

Дано цілі числа K і N (N> 0). Вивести N раз число K.

Дано два цілих числа A та B (A <B). Вивести в порядку зростання всі

цілі числа, розташовані між A і B (включаючи самі числа A і B), а

також кількість N цих чисел.

Дано ціле число N (> 0). Знайти значення виразу

1.1-1.2 +1.3 - ...

Практика. "Методологія вирішення задач з циклами"

Дано дійсне число A і ціле число N (> 0). використовуючи один

цикл, знайти суму

1 + A + A2 + A3 + ... + AN.

Дано ціле число N (> 0). Якщо воно є ступенем числа 3, то вивести TRUE, якщо не є - вивести FALSE.

  Дано набір ненульових цілих чисел; ознака його завершення - число 0. Вивести суму всіх позитивних парних чисел з даного набору. Якщо потрібні числа в наборі відсутні, то вивести 0.

Лекція 3. "Робота з векторами і матрицями"

● вектори як послідовності елементів

● ітераційний підхід до роботи з векторами

● використання циклів для обробки векторів і масивів

Лекція № 8 "Масиви"

План:

- Вступ (суть лекції)

- Масиви, їх визначення

- Ввід-вивід і ініціалізація масиву

Завдання.

Дано набір з N цілих чисел. Знайти мінімальний елемент в наборі.

Розв'язок на псевдокоді.

{

введення (N);

введення (А);

min = A; i = 0;

while (i <N) {

введення (A);

if (A <min) {min = A;}

i + +;

}

}

Питання:

- Який з рівних мінімальних елементів буде знайдений? (Перший)

- А як знайти останній? (Змінити на A <= min)

- А як вивести всі елементи набору без найменшого?

Для цього необхідно перебрати весь набір двічі - перший раз для пошуку найменшого елемента, другий - для виведення елементів на екран. Отже, треба десь запам'ятовувати введені користувачем елементи. Однак ми не можемо запам'ятовувати їх в змінних, так як заздалегідь (на етапі написання програми) не знаємо, скільки буде потрібно таких змінних (т.к. не відомо чому дорівнює N). У цьому випадку ми можемо звернутися до структури даних, називаної масивом.

Як ви вже знаєте, ваші програми під час виконання зберігають інформацію в змінних. До цих пір кожна змінна в програмі зберігала тільки одне значення в кожен момент часу. Однак у більшості випадків програмами необхідно зберігати безліч значень, наприклад 100 назв книг або N імен файлів. Якщо вашим програмам необхідно зберігати кілька значень, вони повинні використовувати спеціальну структуру даних, звану масивом. Для оголошення масиву необхідно вказати ім'я, тип масиву та кількість значень, які масив буде зберігати.

 Масив являє собою структуру даних, яка дозволяє в одній змінній зберігати кілька значень.

 При оголошенні масиву ви повинні вказати тип значень, що зберігаються в масиві, а також кількість значень (званих елементами масиву).

 Всі елементи всередині масиву повинні бути одного і того ж типу, наприклад, int, float або char.

Іншими словами, масив - це пронумерована послідовність величин однакового типу, що позначається одним ім'ям. Елементи масиву розташовуються в послідовних комірках пам'яті, позначаються ім'ям масиву та індексом. Кожне із значень, складових масива, називається його компонентом (або елементом масиву). [2]

 Для збереження значення всередині масиву вам слід вказати номер елемента масиву, в якому ви хочете зберегти своє значення.

 Щоб звернутися до значення, що зберігається всередині масиву, ваші програми вказують ім'я масиву і номер елемента.

 При оголошенні масиву програми можуть використовувати оператор присвоєння для ініціалізації елементів масиву.

 Програми можуть передавати змінні-масиви в функції точно так само, як вони передають будь-який інший параметр.

Програми широко використовують масиви.

Оголошення змінної масиву

  Масив являє собою змінну, яка здатна зберігати одне або кілька значень. Подібно змінним,яка використовує нащі програмами досі, масив повинен мати тип (наприклад, inl, char або float) і унікальне ім'я. На додаток до цього вам слід вказати кількість значень, які масив буде зберігати. Все зберігаються в масиві значення повинні бути одного і того ж типу. Іншими словами, ваша програма не може помістити значення типу float, char і long в один і той же масив. Наступне оголошення створює масив з ім'ям test_scores, який може вміщати 100 цілих значень для тестових очок:

int test_scores [100]; / / ------> Розмір масиву

 Коли компілятор зустрічає оголошення цієї змінної, він розподілить достатньо пам'яті для зберігання 100 значень типу int. Значення, які у масиві, називаються елементами масиву.

 Масиви зберігають кілька значень одного і того ж типу

 В міру ускладнення вашим програмам потрібно працювати з декількома значеннями одного і того ж типу. Наприклад, програми можуть зберігати вік 100 службовців або вартість 25 акцій. Замість того щоб змушувати програму працювати з 100 або з 25 змінними з унікальними іменами, C дозволяє вам визначити одну змінну - масив -, яка може зберігати декілька пов'язаних значень.

Для оголошення масиву ви повинні вказати тип і унікальне ім'я масиву, а також кількість елементів, які буде містити масив. Наприклад, наступні оператори оголошують три різних масивів:

 float part_cost [50];

 int employee_age [100];

 float stock_prices [25];

 

Створення масиву. Наступна програма ARRAY. CPP створює масив з ім'ям values, який вміщує п'ять цілочисельних значень. Далі програма присвоює елементам значення 100, 200, 300, 400 і 500:

void main (void)

 {

    int values ​​[5]; / / Оголошення масиву

    values ​​[0] = 100;

    values ​​[1] = 200;

    values ​​[2] = 300;

    values ​​[3] = 400;

    values ​​[4] = 500;

}

 Як бачите, програма присвоює перше значення елементу 0 (values ​​[0]). Вона також присвоює останнє значення елементу 4 (розмір Масиву (5) мінус 1).

 Використання індексу для звернення до елементів масиву

Як ви вже знаєте, масив дозволяє вашим програмам зберігати кілька значень в одній і тій же змінній. Для звернення до певних значень, що зберігаються в масиві, використовуйте значення індексу, яке вказує на потрібний елемент. Наприклад, для звернення до першого елементу масиву test_scores ви повинні використовувати значення індексу 0. Для звернення до другого елементу використовуйте індекс 1. Подібно до цього, для звернення до третього елементу використовуйте індекс 2. Як показано на рис. 16.1, перший елемент масиву завжди має індекс 0, а значення індексу останнього елемента на одиницю менше розміру масиву:

Важливо пам'ятати, що С завжди використовує 0 для індексу першого елемента масиву, а індекс останнього елемента на одиницю менше розміру масиву.

 Масив дозволяє вашим програмам зберігати кілька значень всередині однієї і тієї ж змінної. Для звернення до певного значення всередині масиву програми використовують індекс. Кажучи коротко, значення індексу вказує необхідний елемент масиву. Всі масиви С починаються з елемента з індексом 0. Наприклад, наступний оператор присвоює значення 100 першому елементу масиву з ім'ям scores:

 scores [0] = 100;

 Коли ваша програма оголошує масив, вона вказує кількість елементів, які масив може зберігати. Наприклад, наступний оператор оголошує масив, здатний зберігати 100 значень типу int.

 int scores [100];

 В даному випадку масив являє собою елементи від scores [0] до scores [99].

Таким чином, масив даних в програмі розглядається як мінлива структурованого типу. Масиву присвоюється ім'я, за допомогою якого можна посилатися як на масив даних в цілому, так і на будь-яку з його компонент.

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

Використання індексної змінної

  Якщо ваші програми використовують масив, звичайною операцією є використання індексної змінної для звернення до елементів масиву. Наприклад, припустимо, що змінна i містить значення 3, наступний оператор присвоює значення 400 елементу values ​​[3J:

  values ​​[i] = 400;

Приклад.

int Ar [4];

i = 2;

Ar [0] = 1; Ar [1] = Ar [0];

Ar [2] = 3;

Ar [0 +3] = 7;

Ar [i] = Ar [0] +2;

Ar [i] = i-Ar [i-1];

i = i-1;

Ar [i] = Ar [i] + Ar [i + +];

if (Ar [i-1]> 0) {Ar [Ar [i-2]] = Ar [i-1] + Ar [Ar [i]] + i * 2;}

виведення і ініціалізація

Наступна програма використовує індексну змінну i всередині циклу для виведення елементів масиву. Змінна i ініціалізується нулем, так що програма може звертатися до елементу values ​​[0]. Цикл завершується, коли i більше 4 (останній елемент масиву):

 # Include <stdlib.h>

# Include <stdio.h>

# Include <conio.h>;

 void main (void)

 {

    int values ​​[5]; / / Оголошення масиву int i;

    values ​​[0] = 100;

    values ​​[1] = 200;

    values ​​[2] = 300;

    values ​​[3] = 400;

    values ​​[4] = 500;

printf ("Масив містить наступні значення");

   i = 0;

while (i <5) {

printf ("% d \ n", values ​​[i]);

i + +;

}

 }

 Кожен раз, коли цикл for збільшує змінну i, програма може звернутися до наступного елементу масиву. Експериментуйте з цією програмою, змінюючи цикл for наступним чином:

i = 4;

while (i> = 0) {

printf ("% d \ n", values ​​[i]);

i -;

}

У даному випадку програма буде виводити елементи масиву від більшого до меншого. [1]

Якщо за кожним елементом масиву закріплений лише один його порядковий номер, то такий масив називається лінійним. Взагалі кількість індексів елементів масиву визначає розмірність масиву. За цьою ознакою масиви поділяються на одномірні (лінійні), двовимірні, тривимірні і т.д.

Приклад: числова послідовність парних натуральних чисел 2, 4, 6, ..., N являє собою лінійний масив, елементи якого можна позначити А [1] = 2, А [2] = 4, А [3] = 6, .. ., А [К] = 2 * (К +1), де К - номер елемента, а 2, 4, 6, ..., N - значення. Індекс (порядковий номер елемента) записується у квадратних дужках після імені масиву.

Наприклад, A [7] - сьомий елемент масиву А; D [6] - шостий елемент масиву D.

Введення елементів.

# include <stdio.h>;

# include <conio.h>;

int A [10000], i, n;

void main (void) {

scanf ("% i", & n);

while (i <n)

      {

       printf ("Enter A [% d]", i);

       scanf ("% d", & A [i]);

       printf ("\ n");

       i + +;

      }

}

1. http://www.programmersclub.ru/16/

2. http://comp-science.narod.ru/Progr/Massiv.htm

Практика.

Дано масив A розміру N. Вивести спочатку його елементи з парними номерами (в порядку зростання номерів), а потім - елементи з непарними номерами (також в порядку зростання номерів):

A2, A4, A6, ...

A1, A3, A5, ...

Умовний оператор не використовувати.

Дано ціле число N і набір з N чисел. Знайти мінімальний і максимальний з елементів даного набору і вивести їх в зазначеному порядку.

Дано дійсне число B, ціле число N і набір з N дійсних чисел, впорядкованих за зростанням. Вивести елементи набору разом з числом B, зберігаючи впорядкованість виведених чисел.

Дан масив розміру N. Знайти кількість ділянок, на яких його елементи зростають.

Типи данних – це ті значення які можна записати у змінну.

Змінна – це комірка в якій є інформація.

Тип данних – це діапазон значень, який можна зберігати в змінній.

Підпрограма – виконує окрему особливу задачу, отримує при цьому з основної програми аргументи, та повертає в основну чи головну програму тільки один результат.

Компоненти обчислювального пристрія

  1. Введення

  2. Виведення

  3. Системний блок

  4. Периферійні

Склад системного блоку:

  1. Схеми що керують роботою комп’ютера та виконують обчислювальну інформацію.

  2. Накопичувачі інформації.( пам’ять, карта пам’яті: кеш, флеш, оперативна).

  3. Блок живлення: частота, звужування різної гармоніки, різний видживлення.

  4. Допоміжні пристрої: USB забеспечує з Wi-Fi.

Головним елементом що обчислює є мікропроцесор. До складу якого входить:

  1. Пристрій керування

  2. Арифметико-логічний пристрій

  3. Мікропроцесорна пам’ять

  4. Інтерфейсна система

Параметри мікропроцесора:

  1. Об’єм пам’яті

  2. Тактова частота

  3. Формфактор

  4. Розрядка

  5. Напруга живлення

  6. Напруга

Системна шина – основна інтерфейс на система, що забезпечує сполучення зв’язка між усіма частинами.

Склад:

  1. Шина адресу – призначена для передачі адресу, комірок пам’яті.

  2. Шина данних

  3. Шина інструкції

  4. Шина живлення

Пам’ять:

  1. Регістри

  2. Кеш

  3. Оперативна пам’ять

Іспит

Місячна оцінка знань і умінь виставляється на підставі поточних оцінок, іспит в перший місяць не проводитиметься

В кінці місяця студенти повинні знати:

- Призначення, застосування і способи графічного опису базових алгоритмічних структур (слідування, розгалуження, цикл);

- Структуру та основні частини С-програми.

Вміти розв'язувати задачі:

- Коректної графічної побудови блок-схем по заданій умові;

- Завдання на розгалуження і цикли

- Створення вектора за певним законом;

2-й місяць "Основи С"

Лекція 1. "Основи мови С"

● історія мови С

● правила запису програми на мові С

● правила формального опису синтаксису мови програмування

● ідентифікатори мови С

● структура програми на C

● оператор присвоювання

● оператори циклів

● оператори умов

Пристрої виведення інформації:

  1. Монітор

  2. Принтер

Монітори:

Моніто́р (monitor — слідкувати) або дисплей (display — відображувати) — електронний пристрійдля відображенняінформації.Сучасні комп'ютернімонітори бувають кількох типів:

  • на основі електронно-променевої трубки(CRT).

  • рідкокристалічні(LCD, TFT як підвид LCD)

  • плазмові

  • проекційні

  • OLED-монітори

Плазмові і проекційні монітори використовують там, де потрібен великий розмір екрану (діагональ метр і більше).

Характеристики моніторів

  • Розмір екрану — визначається довжиною діагоналі (традиційно вимірюється в дюймах)

  • Співвідношення сторін екрану — стандартний (4:3) та широкоформатний (16:9, 16:10)

  • Роздільність дисплею — кількість пікселів по вертикалі та горизонталі

  • Глибина кольору — кількість біт на кодування одного пікселя (від монохромного (1 біт) до 32-бітного)

  • Розмір зерна (для CRT) чи пікселя (для LCD)

  • Частота оновлення зображення (виміруюється в герцах, для LCD практично однакова)

  • Швидкість відклику пікселів (не для всіх типів моніторів, у LCD, як правило, суттєво нижча ніж у CRT)

  • Максимальний кут огляду — максимальний кут під яким не виникає суттєвого погіршення якості зображення (актуально для LCD)

Терміни монітор та дисплей — дещо відмінні. Дисплей, як пристрій для відображення інформації, має ширше застосування, наприклад, дисплей мобільного телефону, а термін монітор пов'язується з комп'ютером або телеекраном дистанційного спостереження[джерело не вказано 297 днів].

Без можливості бачити результати своєї роботи, персональний комп'ютер став би марним інструментом. Необхідно яким-небудь чином спостерігати за сигналами комп'ютерної системи, щоб знати, чим вона займається в цей час. Сьогодні реалізацією подібного роду функцій займається відеосистема. Стандартним пристроєм виводу інформації, якому вже десятки років, є монітор.

Монітори, побудовані на електронно-променевих трубках (ЕПТ), активно витісняються новим поколінням рідкокристалічних моніторів, зручнішим і економнішим.

Екрани LCD (Liquid Crystal Display, рідкокристалічні монітори) зроблені з речовини (цианофеніл), що перебуває в рідкому стані, але при цьому має деякі властивості, притаманні кристалічним тілам. Фактично це рідина з анізотропними властивостями (зокрема, оптичними), зв'язаних з упорядкованістю орієнтації її молекул.