Знайомство з інтегрованим середовищем Turbo Pascal 0



Скачати 180.06 Kb.
Дата конвертації25.10.2017
Розмір180.06 Kb.
ТипРеферат

ТЕМАТИКА САМОСТІЙНОЇ РОБОТИ
Тема: Знайомство з інтегрованим середовищем Turbo Pascal 7.0

1. Принципи структурного та модульного програмування.

2. Загальна структура паскалівської програми. Написання програм з лінійною структурою.

3. Основні прийоми роботи в середовищі Turbo Pascal. Прогін та відлагодження програми. Клавіатурні комбінації при роботі в текстовому редакторі. Довідкова служба середовища Turbo Pascal.



Теми рефератів

1. Редагування тексту програми в середовищі Turbo Pascal.

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

3. Написати мовою Паскаль програму знаходження суми цифр чотиризначного числа.

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

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



Питання для самоконтролю та співбесіди

1. Схарактеризуйте поняття структурного програмування.

2. Що таке модульне програмування?

3. Що означає проектування згори вниз та знизу вгору?

4. З яких основних частин складається паскалівська програма?

Яке розширення мають початкові тексти паскалівських програм?

5. Які клавіатурні комбінації для редагування текстів паскалівських програм вам відомі?
Тема: Основні елементи мови Pascal

1. Алфавіт. Ідентифікатори. Константи. Вирази. Класифікація та пріоритет операцій. Коментарі.

2. Структура програми. Прості (оператор присвоювання, оператор процедури, оператор переходу) та складені оператори.

3. Умовні оператори (умовний оператор if, оператор вибору варіанту case).

4. Програмування циклів. Оператори циклу з передумовою та постумовою. Оператор циклу з лічильником.

Теми рефератів

1. Написати мовою Паскаль програму, після виконання якої менше з двох нерівних чисел буде збільшене вдвічі, а більше – залишене без змін.

2. Написати мовою Паскаль програму для розв’язання квадратного рівняння ax2+bx+c=0.

3. Написати мовою Паскаль програму для розв’язання біквадратного рівняння ax4+bx2+c=0.

4. Написати мовою Паскаль програму визначення цифр цілого числа n.

5. Написати мовою Паскаль програму визначення всіх натуральних чисел, які менші за n, квадрат суми цифр яких дорівнює заданому числу m.



Питання для самоконтролю та співбесіди

1. У чому полягає різниця між змінними та константами?

2. Наведіть приклади, коли доцільно використовувати оператор вибору.

3. Наведіть приклади, коли доцільно використовувати оператор циклу з передумовою.

4. Наведіть приклади, коли доцільно використовувати оператор циклу з постумовою.

5. Наведіть приклади, коли доцільно використовувати оператор циклу з лічильником.



Тестові завдання

1. Рівність двох значень визначає такий оператор:

а) = ;

б) == ;


в) := ;

г) =: .


2. Синтаксична помилка допущена в такому умовному операторі:

а) if B = 0 then Writeln(‘Деление на нуль невозможно.’);

б) if a < b then max := a else max := b;

в) if (a>b) and (b>0) then c:=a+b;

г) if a < b then min := a; else min := b. 13

3. При компіляції програми



Example; Program

var

a, b: integer;

begin

readln(a);

b := a + 17; c := b div 3;

writeln(c)

end.

end.

виникла така помилка:

а) “;” expected;

б) Unknown identifier;

в) Unexpected end of file;

г) Invalid floating point operation.

4. При компіляції програми

program Test;

Var a,b:integer;

begin

a := –100;

b := sqrt(a);

writeln(a);

end.

виникла така помилка:

а) “;” expected;

б) Unknown identifier;

в) Type mismatch;

г) Invalid floating point operation.

5. Результатом роботи такої програми є:

Transpose; Program

var

n, n1, p, a, i : longint;

begin

write(‘Введите натуральное число n’); readln(n).

a := n; i := 1;

10; mod p := n

repeat

10 div i := i*10; n := n 14

n<10; until

n1 := a – n*i – p + n + p*i;

writeln(‘Число после перестановки’, n1)

end.

а) число, що отримане перестановкою усіх цифр заданого числа;

б) число, що отримане перестановкою першої та останньої цифр

заданого числа;

в) число, що є добутком цифр заданого числа;

г) число, що є сумою цифр заданого числа.


Тема: Прості та структуровані типи даних

1. Порядкові типи даних. Група цілих типів (Shortint, Integer, Longint, Byte, Word). Група дійсних типів (Single, Real, Double, Extended, Comp).

2. Дані логічного типу (Boolean). Символьний тип даних (Char).

3. Типи даних користувача. Перелічувані типи даних. Інтервальні типи даних.

4. Масиви та основні операції над ними. Рядки.

5. Комбіновані типи даних (записи). Записи з варіантами. Робота із записами.

6. Множини. Операції над множинами.

Теми рефератів

1. Написати мовою Паскаль програму знаходження для заданої матриці А(N,N)

• суми всіх елементів;

• суму елементів головної діагоналі;

• значення найбільшого та найменшого елементів головної діагоналі.

2. Дано дві послідовності по 30 цілих чисел в кожній. Написати мовою Паскаль програму знаходження найменшого числа з тих чисел першої послідовності, які не входять до другої послідовності.

3. Написати мовою Паскаль програму циклічного зсуву елементів масиву на одну позицію вліво: x_new[n]=x[1], x_new[k]=x[k+1] при k=1, 2, ..., n–l.

4. Нехай



Type info = record

Imja:string;15

Pol: (m,f);

Rost:140..200

End;

group=array [name] of info;

Написати мовою Паскаль програму визначення

а) середнього зросту жінок;

б) ім’я найвищого чоловіка;

в) факту наявності в групі людей одного зросту.

5. Написати мовою Паскаль програму визначення того, чи є послідовність чисел монотонно зростаючою.



Питання для самоконтролю та співбесіди

1. Дайте порівняльну характеристику цілих та дійсних типів.

2. Дайте визначення масиву як структури даних.

3. Стандартні процедури і функції для виконання операцій над рядками.

4. Як здійснюється звернення до полів запису? Наведіть приклади з поясненнями.

5. Опишіть відомі методи сортування масивів.



Тестові завдання

1. Тип Word належить до:

а) цілочисельних типів даних;

б) рядкових типів даних;

в) символьних типів даних;

г) типу даних, який може бути визначений користувачем.

2. Правильним є такий опис інтервального типу:

а) Type n = –100 to 100;

б) Type n = –100 … 100;

в) Type n : –100 to 100;

г) Type n : –100 ... 100;

3. Помилковими є такі описи:

а) Operator: (plus, minus, times);

б) Matrix: array[1.10,1.10] of Real;

в) Done,Error: boolean;

г) I, J, K: integer.16

4.Помилковими є такі описи:

а) a: set of boolean;

б) b: set of false..true;

в) c: set of integer;

г) d: set of string.

5. З наведених помилковими є такі описи, якщо color: (red, green, blue):

а) color:=succ(red);

б) color:=pred(green);

в) color:=succ(blue);

г) write(color).


Тема: Програмування і використання процедур і функцій

1. Опис процедур і функцій. Структура процедур і функцій.

2. Область дії ідентифікаторів при використанні процедур і функцій.

3. Параметри-значення та параметри-змінні. Особливості передачі параметрів.



Теми рефератів

1. Написати мовою Паскаль логічну функцію sravnenie (a, b), яка порівнює два раціональних числа a та b, які задані за допомогою типу



type

rational=record

chisl: integer;

znam: 1..maxint

end;

2. Написати мовою Паскаль процедуру add(a, b, c), яка додає раціональні числа a і b та додає їх суму раціональному параметру c.

3. Написати мовою Паскаль рекурсивну процедуру виведення на екран цифр цілого натурального числа в оберненому порядку.

5. Написати мовою Паскаль рекурсивну функцію обчислення чисел Фібоначчі.



Питання для самоконтролю та співбесіди

1. Чим відрізняються процедура та функція?

2. Як використовуються формальні та фактичні параметри?

3. Що таке локальні та глобальні параметри?

4. Як визначити область дії ідентифікаторів?

5. Які існують особливості використання рекурсивних процедур та функцій?


Тема: Робота з зовнішніми файлами.

Робота з динамічними структурами даних

1. Класифікація файлів. Доступ до файлів. Процедури і функції для роботи з файлами. Процедури і функції для роботи з типізованими файлами. Текстові файли.

2. Динамічні структури даних. Виділення та звільнення пам’яті.

Динамічна пам’ять. Вказівники.

3. Зв’язані динамічні дані. Лінійні однозв’язні списки. Робота з чергою. Робота із стеком.

4. Обробка лінійних двозв’язних списків.

Теми рефератів

1. Дано файл, компоненти якого є цілими числами. Вивести на екран максимальне число з перших 10 чисел, потім – других 10 и так далі.

2. Дано файл, компоненти якого є цілими числами. Створити два файли, в першому розмістити усі парні числа, у другому – всі непарні.

3. Сформувати файл записів



Type Klass=record

Imja:string;

telefon: 10000..99999;

adres:string

End;

Написати мовою Паскаль програму визначення:

• телефону заданої особи;

• особи, якій належить телефон;

• списку людей, що живуть на одній вулиці.

Питання для самоконтролю та співбесіди

1. Як здійснити додавання елемента в кінець однозв’язного та двозв’язного списку?

2. Як здійснити додавання елемента на початок однозв’язного та двозв’язного списку?

3. Як здійснити вставку елемента в середину однозв’язного та двозв’язного списку?

4. Як здійснити вилучення елемента з однозв’язного та двозв’язного списку?

5. Як здійснити виведення на екран елементів однозв’язного та двозв’язного списку?


Тема: Програмування графіки. Обробка переривань від клавіатури. Звукові ефекти

1. Організація роботи із зовнішніми пристроями в середовищі Turbo Pascal.

2. Графічні можливості середовища Turbo Pascal.

3. Звукові ефекти. Процедури Sound, Delay та NoSound модуля CRT.



Теми рефератів

1. Написати мовою Паскаль програму відображення на екрані графіка функції, значення якої обчислюється за допомогою функції Func(x).

2. Написати мовою Паскаль програму малювання різнокольорових концентричних кіл.

3. Написати мовою Паскаль програму, яка відображає на екрані переміщення шарика по сінусоїді.

4. Написати мовою Паскаль програму управління переміщенням об’єкта.

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



Питання для самоконтролю та співбесіди

1. Чим відрізняються текстовий та графічний режим роботи?

2. Назвіть особливості розмітки екрана у графічному режимі.

3. Які процедури можна використовувати для керування кольором у графічному режимі?

4. Які процедури використовуються для керування роботою у графічному режимі?

5. Яким чином здійснити обробку переривань від клавіатури?


Тема: Основні характеристики мови С++. Типи, оператори та вирази мови

1. Структура програми, літерали, синтаксис мови, зовнішні змінні, область їх дії.

2. Типи даних, їх розміри.

3. Арифметичні та логічні оператори, оператори відношення та унарні оператори. Перетворення типів. Оператори присвоювання. Умовні вирази.



Теми рефератів

1. Написати мовою С++ програму визначення обсягу та площі бокової поверхні циліндра із заданим радіусом та висотою.

2. Написати мовою С++ програму віднімання від більшого числа меншого.

3. Написати мовою С++ програму піднесення числа b до ступеня а.

4. Написати мовою С++ програму обчислення добутку цифр заданого чотиризначного числа.

Питання для самоконтролю та співбесіди

1. Що буде результатом виконання операції x | y & z, якщо x = 03; y = 02; z = 01?

2. Яку структуру має програма мовою С++?

3. Які прості типи даних використовуються в програмах мовою С++?

4. Як здійснюється перетворення типів у програмах мовою С++?

5. У чому полягає різниця між умовною операцією та умовним оператором у мові С++?



Тестові завдання

1. Змінна int x після виконання оператора x=(int)3.8+3.3 матиме таке значення:

а) x=6;

б) x=7.1;

в) x=7;

г) x=3.


2. У результаті виконання програми

#include

int main()

{ char a,b;

a=126;

b=a+127;


printf(“%d”, b);

{

буде отримано такий результат:



а) 253;

б) –3;


в) 126;

г) 127.


3. У результаті виконання програми

#include

int main()

{ char a;

a=130;

printf(“%d %c “,a, a);



{

буде отримано такий результат:

а) –126 –126;

б) –126;


в) 130;

г) 130 130.21

4. У результаті виконання програми

#include

int main()

{ int a,c;

float b=1;

a=2;


c=3;

b=a=c+5.5;

printf(“%d %2.3f %d”, a,b,c);

{


буде отримано такий результат:

а) 8.5 8.500 8.5;

б) 8.5 8.500 3;

в) 8 8.000 3;

г) 8 8.500 3.

5. У результаті виконання програми

#include

int main()

{ int a=2;

const float b=1;

if (b=a+0.1) {printf(“%2.2f”,b);}

else printf(“%d”, a);

{

буде отримано такий результат:



а) помилка при компіляції

б) 2.10;


в) 2;

г) 2.00;


д) 1.00.
Тема: Управління послідовністю виконання обчислень. Функції, блокова структура

1. Умовні інструкції. Багатоступеневі конструкції. Перемикачі. Цикли, цикли з передумовою та постумовою. Інструкції переривання циклів. Позначки та інструкції переходу на позначку.

2. Використання функцій. Внутрішні та зовнішні змінні.

3. Особливості створення багатофайлових програм.

4. Використання Сі-препроцесора.

Теми рефератів

1. Написати мовою С рекурсивну функцію знаходження n!

2. Написати мовою С програму визначення першого елемента геометричної прогресії, якщо задано n-й елемент та її знаменник.

3. Написати мовою С програму визначення того, чи є послідовність чисел монотонно спадаючою.



Питання для самоконтролю та співбесіди

1. Опишіть механізм роботи циклу з лічильником у мові С++.

2. Опишіть механізм роботи циклу з передумовою у мові С++.

3. Опишіть механізм роботи циклу з постумовою у мові С++.

4. Для чого призначені оператори continue і break у мові С++?

5. Як застосовуються макропідстановки у мові С++?



Тестові завдання

1. У результаті виконання програми



#include

int main()

}

int a,b;

a=1;

b=2;

if (b--==++a) {printf(“%d + %d = %d”,a,b,a+b);}

else {printf(“%d – %d = %d”,a,b,a-b);}

{

буде отримано такий результат:

а) 2 + 1 = 3 ;

б) 2 + 2 = 4 ;

в) 2 – 1 = 1 ;

г) 2 – 2 = 0 .23

2. У результаті виконання програми:

#include

int main()

}

int a,b;

a=200;

b=500;

if ((a>0)||(b=a–10)) {printf(“умова виконана: a=%d

b=%d”,a,b);}

else {printf(“умова не виконана: a=%d b=%d”,a,b);};

{

буде отримано такий результат:

а) умова виконана: a=200 b=500;

б) умова виконана: a=200 b=190;

в) умова не виконана: a=200 b=500;

г) умова не виконана: a=200 b=190.

3. У результаті виконання програми

#include

int main()

}

int a,b;

a=200;

b=500;

if ((a>0)&&(b=a–10)) {printf(“умова виконана: a=%d

b=%d”,a,b);}

else {printf(“умова не виконана: a=%d b=%d”,a,b);};

{

буде отримано такий результат:

а) умова виконана: a=200 b=500;

б) умова виконана: a=200 b=190;

в) умова не виконана: a=200 b=500;

г) умова не виконана: a=200 b=190.

4. У результаті виконання програми

#include

int main()

}

int a=0;

char c=’a’;24

switch (c)

}

case 97:a++;

case 98:a++;

case 99:a++;

;{

printf(“ %d “,a);

{

буде отримано такий результат:

а) 0;

б) 1;


в) 2;

г) 3.


5. У результаті виконання програми

#include

int main()

}

int a=2;

float b=1;

if (b=a+0.1) {printf(“%2.2f”,b);}

else printf(“%d”, a);

{

буде отримано такий результат:

а) помилка при компіляції

б) 2.10;


в) 2;

г) 2.00;


д) 1.00.
Тема: Покажчики, масиви. Структури, об’єднання

1. Адресація пам’яті. Оператори адресації та розкриття посилання. Зв’язок між масивами та покажчиками. Ініціалізація масивів.

2. Адресна арифметика.

3. Опис структури, позначення компонентів структур, ініціалізація структур. Покажчики на структури. Масиви структур. Визначення нових типів. Об’єднання.



Теми рефератів

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

2. Написати мовою С++ функцію обчислення суми та добутку парних її елементів.

3. Написати мовою С++ програму, яка міняє місцями найбільший та найменший її елементи.

4. Написати мовою С++ програму обчислення суми та добутку непарних від’ємних елементів матриці.

5. Написати мовою С++ програму перетворення матриці А за правилом: рядок з номером Р стає стовпцем з номером Р, а стовпець з номером Р стає рядком з номером Р.



Питання для самоконтролю та співбесіди

1. Чи є покажчик змінною? Якого типу?

2. Як одержати дані, на які вказує покажчик?

3. Що буде результатом виконання оператора ++*ip, якщо його описано так: int *ip?

4. Яким чином в С++ функції можна змінити значення змінних, що знаходяться у тому блоці, з якого ця функція була викликана?

5. Яким чином в С++ можна отримати доступ до елементів масиву за допомогою вказівника?


Тема 15. Введення, виведення

1. Стандартне введення-виведення. Форматне виведення, введення.

2. Доступ до зовнішніх файлів. Введення-виведення символьних рядків.

Теми рефератів

1. Написати мовою С++ програму дописування інформації одного файла в кінець іншого.

2. Написати мовою С++ програму вилучення коментарів з файла.

3. Файл містить інформацію про студентів (прізвище, ім’я, по батькові, дата народження, група, інститут, дата вступу, дата закінчення). Написати мовою С++ програму вилучення записів про студентів, які закінчили навчання.

4. Написати мовою С++ програму порівняння двох файлів та виведення на екран першого рядка, в якому файли відрізняються.

5. Написати мовою С++ програму сортування рядків файлу за довжиною та виведення результату в окремий файл.



Питання для самоконтролю та співбесіди

1. Назвіть функції С++, які використовуються для введення зі стандартного потоку даних.

2. Назвіть функції С++, які використовуються для виведення у стандартний потік даних.

3. Які функції управління доступом до файлів використовуються в С++?

4. У чому полягають особливості введення-виведення рядків?

5. Що означає прямий доступ до даних файла?



Тестові завдання

1. Після виконання оператора printf(“%d”,100+65) на екран буде виведено:

а) 100+65;

б) 165;

в) 65+100;

г) 100.


2. Після виконання таких операторів

int main()

}

int n;

float m;

n=2;

m=5.5;

printf(“%f+%d=%f”, n, m, n+m);

{

на екран буде виведено:

а) 0.000000 + 16406 = 7.500000;

б) 2.000000 + 16406 = 7.500000;

в) 2.000000 + 5 = 7.500000;

г) 2.000000 + 5.5 = 7.500000.27

3. У результаті виконання програми

#include

int main()

}

int a=025;

float b=0xA1F;

if (b=a+0.1) {printf(“%2.2f”,b);}

else printf(“%d”, a);

{

буде отримано:

а) 0xA1F;

б) 2591;


в) 025;

г) 21.10.


Тема: Аналіз алгоритмів програм. Алгоритми обробки деревоподібних структур. Орієнтовані та неорієнтовані графи

1. Ємнісна складність алгоритмів. Часова складність алгоритмів. Алгоритми логарифмічної, лінійної, поліноміальної та експоненційної складності.

2. Впорядковані та невпорядковані дерева. Реалізація дерев за допомогою масивів. Представлення дерев за допомогою списків синів.

3. Орієнтований граф. Основні визначення. Види графів та операції над графами.

4. Представлення орієнтованих графів. Пошук найкоротшого шляху.

5. Обхід неорієнтованих графів. Пошук в глибину. Пошук в ширину.



Теми рефератів

1. Дослідження складності алгоритмів впорядкування масивів.

2. Написати мовою С++ програму, яка дає змогу визначити, чи є граф ациклічним.

3. Написати мовою С++ програму, яка підраховує кількість листів у бінарному дереві.

4. Написати мовою С++ програму, яка реалізує пошук у глибину для графів, що представлені списками суміжних вершин.

5. Написати мовою С++ програму, яка реалізує пошук у ширину для графів, що представлені списками суміжних вершин.



Питання для самоконтролю та співбесіди

1. Як здійснюється прямий, зворотний та симетричний обходи дерев?

2. Схарактеризуйте способи представлення графів.

3. Які існують алгоритми пошуку найкоротшого шляху?



4. Як здійснюється пошук у ширину?

5. Як здійснюється пошук у глибину?

Поділіться з Вашими друзьями:


База даних захищена авторським правом ©wishenko.org 2017
звернутися до адміністрації

    Головна сторінка