
- •“Київський політехнічний інститут” обчислювальна техніка та програмування - 1
- •Обчислювальна техніка та програмування - 1
- •Символи кодової таблиці ascii
- •Теоретичні відомості
- •Завдання на роботу
- •Контрольні запитання
- •Умовні переходи на мові "паскаль"
- •Теоретичні відомості
- •Завдання на роботу
- •Контрольні запитання
- •Цикли на мові "паскаль"
- •Теоретичні відомості
- •Завдання на роботу
- •Контрольні запитання
- •Підпрограми на мові "паскаль"
- •Теоретичні відомості
- •Завдання на роботу
- •Контрольні запитання
- •Текстові та типізовані файли мови "паскаль"
- •Теоретичні відомості
- •Завдання на роботу
- •Контрольні запитання
- •Побудова графіків функцій на мові "паскаль"
- •Теоретичні відомості
- •OutText (’Текст для виводу’);
- •OutTextXy (200,100,’Текст для виводу’);
- •Завдання на роботу
- •Контрольні запитання
- •Бібліотечний модуль на мові "паскаль"
- •Теоретичні відомості
- •Завдання на роботу
- •Контрольні запитання
- •Динамічні змінні мови "паскаль"
- •Теоретичні відомості
- •Завдання на роботу
- •Контрольні запитання
- •Об’єктно-орієнтоване програмування на мові "паскаль"
- •Теоретичні відомості
- •Завдання на роботу
- •Контрольні запитання
- •Форматований ввід та вивід даних на мові “cі”
- •Основні теоретичні відомості
- •Printf(“керуючий рядок”,аргумент1,аргумент2, ...);
- •Scanf(“керуючий рядок”,аргумент1,аргумент2,...);
- •Завдання на роботу
- •Контрольні запитання
- •Оператори організації переходів на мові "сі"
- •Теоретичні відомості
- •1.2. Для організації умовного переходу по одному із багатьох варіантів доцільно використовувати оператор switch. Він має наступний формат:
- •Завдання на роботу
- •Контрольні запитання
- •Організація циклів на мові "сі"
- •Теоретичні відомості
- •Завдання на роботу
- •Контрольні запитання
- •Одновимірні та двовимірні масиви на мові "сі"
- •Теоретичні відомості
- •Завдання на роботу
- •Контрольні запитання
- •Записи, вкладені записи, масиви записів на мові "сі"
- •Теоретичні відомості
- •Завдання на роботу
- •Контрольні запитання
- •Робота із бінарними та текстовими файлами
- •Теоретичні відомості
- •Int fgetc(вказівник_на_файл);
- •Int fputc(вказівник_на_файл);
- •Int fread (вказівник_на_масив, розмір_об’єкта, кількість_об’єктів , вказівник_на_файл);
- •Int fwrite(вказівник_на_масив, розмір_об’єкта, кількіст_об’єктів , вказівник_на_файл);
- •Int fseek(вказівник_файла, зміщення, поч. Значення);
- •Завдання на роботу
- •3. Контрольні запитання
- •Робота з функціями на мові “сі”
- •Теоретичні відомості
- •Тип_функції назва_функції(тип1 параметр1, ..., тип_n параметр_n);
- •Завдання на роботу
- •Контрольні запитання
- •3.1. Який синтаксис функцій у мові “сі”.
- •Комп’ютерний практикум № 17 графічний режим екрану на мові “ci”
- •Основні теоретичні відомості
- •Void *malloc(об'єм_пам’яті_в_байтах);
- •Putimage(x1, y1, вказівник, вид_вставки);
- •Завдання на роботу
- •Контрольні запитання
- •Вирішення диференційних рівнянь методом ейлера
- •Теоретичні відомості
- •Завдання на роботу
- •Контрольні запитання
- •Основи роботи в середовищі “turbo pascal 7.0” та “turbo c 3.0”
- •Комп’ютерний практикум № 17. Графічний режим екрану
Завдання на роботу
Розробити та перевірити роботу програми на мові "СІ", яка вирішує задачу відповідно до заданого нижче варіанта.
Визначити, чи має студент стипендію, якщо середній бал більший 4, а кількість предметів, що були здані у додаткову сесію, не більша 2. У разі, якщо студент є сиротою, він має право на стипендію тільки за умови середнього балу, більшого 3.5.
Розрахувати корені квадратного рівняння, AX2+BX+C=0, коефіцієнти якого вводяться з клавітури. Якщо дискримінант менший нуля, вивести відповідне повідомлення, та завершити виконання програми.
Створити програму, яка визначає, чи паралельні дві прямі A1X+B1Y+C1=0 та А2X+B2Y+C2=0.
Створити програму, яка визначає, чи перпендикулярні дві прямі, що задані у вигляді Y1=K1X+B1, Y2=K2X+B2.
Задано прямокутник АBCD із вершинами А (X1;Y1) та С (X2;Y2), що відповідають головній діагоналі пряокутника. Визначити, чи лежить точка K (Xk;Yk) в межах прямокутника.
Задано кільце з центром у точці А (Xa;Ya), та зовнішнім та внутрішнім радіусом R1 та R2 відповідно. Визначити, чи належить точка B (XB;YB) кільцю.
Задано прямокутник АBCD із вершинами А (X1;Y1) та С (X2;Y2), що відповідають головній діагоналі прямокутника. Визначити, чи належить точка K (X3;Y3), сторонам прямокутника.
Задано рядок символів, що вводиться із клавіатури. Визначити кількість голосних букв у рядку. Символом закінчення рядка слугує пробіл.
Задано круг з центром С (XC;YC) радіусом R. Визначити, чи належить точка А (XA;YA) сектору круга, який визначається кутами α1, α2.
Задано трикутник ABC, координати вершин якого A (XA;YA), B (XB;YB), C (XC;YC). Визначити, чи належить точка D (XD;YD) площині трикутника.
Контрольні запитання
3.1. Який оператор застосовується для реалізації умовного переходу.
3.2. Який оператор застосовується для організації умовного переходу по одному із багатьох варіантів.
3.3. Для чого слугує ключове слово else.
3.4. Для чого слугує ключове слово default.
3.5. З якою метою при застосуванні оператора switch застосовуються оператори break.
Комп’ютерний практикум № 12
Організація циклів на мові "сі"
Мета практикуму – розробка програмного забезпечення на мові програмування "СІ" з реалізації алгоритмів циклічних розрахунків.
Теоретичні відомості
1.1. Якщо кількість повторень у циклі відома заздалегідь, доцільно використовувати оператор організації циклів for. Структура оператора має наступний вигляд:
for(<вираз1>;<вираз2>;<вираз3>)<тіло циклу>;
Вираз 1 слугує для присвоєння початкового значення керуючої змінної; вираз 2 – для перевірки виконання продовження циклу; вираз 3 – для зміни керуючої змінної.
Будь-який з трьох виразів у циклі for може бути відсутнім. Проте, крапка з комою повинна залишатись.
Для організації нескінченного циклу може бути використаний вираз:
for(;;) <тіло циклу>;
Якщо тіло циклу складається більш ніж з одного оператору, то воно виділяється фігурними дужками {}.
Приклад 1. За допомогою оператора for вивести на екран тричі текст “Electrical Drive”, розрахувати факторіал n!=1*2*3*4*…*n, та показати процес його обчислення.
#include <stdio.h>
main( )
{int i,j=1,n;
printf("\n");
for(i=1;i<=3;i++)printf("Electrical Drive\t");
printf("\nInput value of n\n");
/*введіть величину n*/
scanf("%d",&n);
for(i=1;i<=n;i++) j*=i;
printf("n!=%d",j);
j=1;
printf("\n");
for(i=1;i<=n;i++)printf("%d\t",(j*=i));}
1.2. У випадку, коли кількість повторень у циклі заздалегідь не відома, доцільно використовувати оператор циклів while. Структура оператора має наступний вигляд:
while(<умова>) <тіло циклу>;
Тіло циклу виконується доти, доки умова істинна.
Приклад 2. Скласти програму, яка дозволяє визначити порядковий номер першої введеної букви R в послідовності символів, використовуючи оператор while.
#include <stdio.h>
main( )
{int i=1;
printf("\nInput string of symbols\n");
/*введіть рядок символів*/
while((getchar())!='R')i++;
printf("Symbol R is %d",i);
/*символ R є*/
}
1.3. У циклі do-while, на відміну від циклів for та while, спочатку виконується тіло циклу, а вже потім виконується перевірка істинності умови. Таким чином, тіло циклу do-while виконується принаймі один раз. Структура оператора має наступний вигляд:
do <тіло циклу> while(<умова>);
Приклад 3. Скласти програму, яка дозволяє визначити порядковий номер першої введеної букви R в послідовності символів, використовуючи оператор do while.
#include <stdio.h>
main( )
{int i=0;
printf("\nInput string of symbols\n");
/*введіть рядок символів*/
do i++;
while((getchar())!='R');
printf("Symbol R is %d",i);
/*виведення номера символу R */
}
1.4. При роботі із циклами for, while, do-while зручно використовувати оператори break та continue, які зазвичай використовуються із оператором умовного переходу if. Оператор break забезпечує негайний вихід із циклу, а continue викликає зупинку поточної ітерації та перехід до наступної.
1.5. У мові "Сі" також реалізовано оператор безумовного переходу goto, який має наступний формат:
goto <мітка>;
Перед оператором, на який здійснюється перехід, ставиться мітка, яка відокремлюється від оператора двокрапкою:
<мітка>:<оператор>;
Необхідно відмітити, що використання оператора безумовного переходу goto може призвести до ускладнення розуміння програми, тому доцільно уникати її застосування;
Приклад 4. Написати програму, яка реалізує виведення на екран цілих чисел від 1 до 9
#include <stdio.h> int main(void)
{int i; i = 1; again: printf("%d ", i); i++; if(i<10)goto again; return 0;
}