Розробка навчаючої системи на тему "Операції з простими типами даних у Delphi"
Розробка автоматизованої системи навчання. Операції над простими типами в середовищі Delphі. Прості типи даних. Арифметичні операції і операції відношення. Виконання логічних операцій. Черговість виконання операцій. Строкові операції отримання адреси.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 04.05.2013 |
Размер файла | 2,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Зміст
- Вступ
- Постановка задачі на програмування
- Технічне завдання на розробку програми
- Проєктування програми
- Зміст навчаючої програми «Операції з простими типами даних у Delphi.»
- Тестування програми
- Висновок
- Література
ВСТУП
У даному курсовому проекті була спроба розробки навчаючої системи на тему «Операції з простими типами даних у Delphi».
Розроблена програма може використовуватися при вивченні основ операцій з простими типами даних у Delphi в учбових закладах.
Традиційні способи викладу учбового матеріалу і способи оцінки його засвоєння застаріли. Тому необхідна їх зміна або доповнення об'єктивними методами.
У традиційних і рейтинговій системах навчання не враховуються індивідуальні особливості студента; суб'єктивність методики викладача робить вплив на вибір змісту учбового матеріалу, підбір завдань, і зрештою на оцінювання діяльності студента, тобто при однаковому рівні знань різні викладачі ставлять різні оцінки; складність завдань, тим, розділів наукових областей визначаються викладачами вельми суб'єктивно; оцінка роботи студента в балах залежить не тільки від знань студента, але і від загального рівня підготовки студентів групи.
Перераховані недоліки багато в чому усуваються при використанні адаптивних навчаючих систем, здатних враховувати індивідуальні особливості студентів і викладачів.
Для подальшої успішної роботи з простими типами даних та операції з ними в мові програмування Delphi нам потрібно відзначити, що так як комп'ютер це машина, для якої данні - послідовність нулів і одиниць, вона повинна абсолютно точно «знати», як їх інтерпретувати. По цій причині всі дані у мові Delphi поділені на типи, тому їх можна кваліфікувати наступним чином: тип даних з непостійним типом значення, прості типи даних, временні типи, строкові, складені,процедурні,указівні. Для опису кожного типу існує свій стандартний ідентифікатор: для цілих Integer, для дробових - Real, для строк - string і т.д. Тип даних показує, які значення приймають данні і які операції можливо з ними робити.
Операції в мові Delphi розділяються на арифметичні,операції відношення, логічні, строкові операції отримання адреси та інші. Вирази в залежності і називаються арифметичними, відношення, булівськими, строковими в залежності від того який тип операнду і операції в них використовуються.
Таким чином, навчаюча частина програми містить основну інформацію про типи даних, основні операції з простими типами даних.
ПОСТАНОВКА ЗАДАЧІ НА ПРОГРАМУВАННЯ
Метою нашого курсового проекту є написання адаптивної навчаючої системи, яка здатна враховувати індивідуальні особливості студентів і викладачів.
Написана навчальна система складається з теоретичної частини навчаючої програми, тестуючої частини програми і словарної підтримки.
Навчаюча програма призначена для освоєння інформації по темі «Операції з простими типами даних у Delphi». Вона дає можливість користувачу вибрати ту частину програми, з якою він хоче ознайомитися.
Після ознайомлення з теоретичною частиною можна з метою оцінки своїх знань пройти тестування. Тестуюча програма складається з двадцяти питань. На кожне питання дається чотири варіанти відповідей, з яких тільки один вірний. Якщо ви, вірно, відповіли на поставлене питання, то програма видає строчку «Ви геній!» і лічильник нарощує задану кількість балів, і якщо ви невірно відповіли на поставлене питання , то програма видає строчку - «Ви Неуч! » і лічильник не нарощує бали.»
М Словарна підтримка складається з термінів використовуваних в теоретичній частині програми по темі «Операції з простими типами даних в Delphi»
Обмеженням на рішення задачі було те, що інформація по темі навчальної програми охоплювала тільки основні питання. Питання тестуючої програми мали обмежену кількість.
ТЕХНІЧНЕ ЗАВДАННЯ НА РОЗРОБКУ ПРОГРАМИ
Дана програма написана в Microsoft Visual C++ 6.0,сумісна з оболонкою Windows XP Professional SP 1,2 ; Windows 98; Windows Vista;
Загальні характеристики комп'ютера, на якому була написана програма:
ОС: Windows XP SP 2 New Style v.9.1 .
Устаткування:
Процесор: Pentium D 3.8 x2 Ghz
ОЗП: 2гб
Відеокарта: GeForse 7600 gt 512mb
Жорсткий диск: 250гб
Мінімальні характеристики комп'ютера, на якому буде працювати програма :
ОС: Windows XP Professional SP 1,2 ; Windows 98; Windows Vista;
Устаткування:
Процесор: Pentium 2-4 або аналогічний вище 500Mhz
ОЗП: 256
Відеокарта: будь який адаптер з ОЗП 64мб
Жорсткий диск: Вільний простір 1гб
ПРОЄКТУВАННЯ ПРОГРАМИ
Наш курсовий проект містить основну структурну схему і структурну схему контролюючої програми.
Основна структурна схема (Додаток 1) складається з двох основних частин: навчальної і контролюючої частини.
За допомогою директив компіляторів #include "fstream.h", #include "string.h" і #include "windows.h" ми маємо нагоду: використовувати потокові класи, а відповідно, їх дані і методи, і підключати вікно windows.
Виведення тексту на російській мові здійснюється за допомогою функції користувача RussianMessage :
void RussianMessage(char *message){
char rmessage[256];
CharToOem(message,rmessage);
cout<<rmessage;}
Вибір між структурними частинами програми здійснюється за допомогою меню користувача int RussianMenu():
int RussianMenu(){
RussianMessage("Введите 1 для показа 1 страницы из файла (Операции над простыми типами в среде Delphi)\n");
RussianMessage("Введите 2 для показа 2 страницы из файла (Простые типы данных) \n");
RussianMessage("Введите 3для показа 3 страницы из файла (Арифметические операции и Операции отношения)\n");
RussianMessage("Введите 4 для показа из файла (Логические операции)\n");
RussianMessage("Введите 5 для показа (Очередность выполнения операций)\n");
RussianMessage("Введите 6 для показа 6 страницы из файла (Словарь терминов \n");
RussianMessage("Введите 7для входа в контролирующую программу\n");
RussianMessage("Введите 8 для выхода из программы\n");int choice;
cin>>choice;
return choice;}
Для вибору меню функції використовують заданий параметр int choice;
cin>>choice;
return choice;}
Вибір структурних частин програми здійснюється за допомогою оператора switch, оператор default обробляє інформацію неправильного введення номеру пункту меню:
void main(){
do{ switch(RussianMenu()){
case 1: // Вывод страницы “ Операции над простыми типами в среде Delphі ”
break;
case 2: // Вывод страницы “ Простые типы данных ”
break;
case 3: // Вывод страницы “ Арифметические операции и Операции отношения ”
break;
case 4: // Вывод страницы “ Логические операции ”
break;
case 5: // Вывод страницы “ Очередность выполнения операций ”
break;
case 6: // Вывод страницы “ Словарь терминов ”
break;
case 7: // Вывод контролирующей части
break;
case 8// Прощание с пользователем
RussianMessage("До Свидания\n");return;
default: // Неправильный ввод
RussianMessage("Неверный Ввод\n");
} }while(1);}
Структурна схема контролюючої програми (Додаток 2) використовує функцію RussianMessage, за допомогою якої, виводиться умова питань варіанти відповіді. Якщо ви, вірно, відповіли на поставлене питання, то програма видає строчку «Ви геній» і лічильник нарощує певну кількість балів, і якщо ви невірно відповіли на поставлене питання - «Ви Неуч» і лічильник не нарощує бали.
Зміст навчаючої програми Операції з простими типами даних у Delphi
1.Операції над простими типами в середі Delphі
Дані можуть бути цілими і дробовими числами, символами, рядками, масивами, безліччю і ін. Оскільки комп'ютер всього лише машина, для якої дані - це послідовність нулів і одиниць, він повинен абсолютно точно "знати", як їх інтерпретувати. З цієї причини всі дані в мові Delphi підрозділені на типів. Для опису кожного типа даних існує свій стандартний ідентифікатор: для цілих - Integer, для дробів - Real, для рядків - string і так далі
Тип даних показує, яких значень набувають дані і які операції можна з ними виконувати. Кожному типові даних відповідає певний об'єм пам'яті, який потрібний для розміщення даних. Наприклад, в мові Delphi існує тип даних Byte. Дані цього типа приймають значення в цілочисельному діапазоні від 0 до 255, можуть брати участь в операціях складання, віднімання, множення, ділення і займають 1 байт пам'яті.
Всі типи даних в мові Delphi можна класифікувати таким чином:
* прості типи даних. Вони у свою чергу підрозділяються на порядкових і речових типів даних. До порядкових типів відносяться цілочисельні, символьні, булеві, перераховувані і інтервальні типи даних;
* часовий тип даних. Служить для представлення значень дати і часу;
* рядкові типи даних. Служать для представлення послідовностей з символів, наприклад тексту;
* складені типи даних (у деяких джерелах - структуровані типи даних). Формуються на основі всіх останніх типів. До них відносяться масиви, безліч, записи, файли, класи і заслання на класи;
* процедурні типи даних. Дозволяють маніпулювати процедурами і функціями як даними програми;
* вказівні типи даних. Дані цих типів зберігають адреси інших даних з їх допомогою організовуються різні динамічні структури: списки, дерева і т.д.;
* тип даних з незрозумілим типом значень. Служить для представлення значень, тип яких заздалегідь невідомий; з його допомогою легко організовується робота із списком різнотипних значень;
Деякі зумовлені типи даних діляться на фундаментальних і узагальнених типів. Дані фундаментальних типів мають незмінний діапазон значень і об'єм займаної пам'яті на всіх моделях комп'ютерів. Дані узагальнених типів на різних моделях комп'ютерів можуть мати різний діапазон значень і займати різний об'єм пам'яті. Ділення на фундаментальних і узагальнених типів характерний для цілих, символьних і рядкових типів даних.
Операції - це дії, що виконуються над операндами. Операції в мові Delphi підрозділяються на арифметичні, операції стосунки, логічні (булеві), рядкові, операцію здобуття адреси та інші. Вирази відповідно називаються арифметичними, стосунки, булевими, рядковими і так далі залежно від того, якого типа операнди і операції в них використовуються.
2. Прості типи даних
Будь-який реально існуючий тип даних, яким би складним він не видавався на перший погляд, є простими складовими, якими процесор може маніпулювати. У Object Pascal ці прості типи даних розбиті на дві групи: порядкові представляючі дані різних об'ємів, якими процесор може легко маніпулювати, і дійсні, представляючі приблизно математичні дійсні числа. Розділення типів на порядкових і дійсних декілька умовно. Так само прості дані можна було б розділити на числа і не числа. Проте в мові Object Pascal порядкові і дійсні дані трактуються по-різному, і таке розділення навіть корисно.
Порядкові типи відрізняються від дійсних, тим що кожного типа має остаточна кількість можливих значень. Еті значення можна деяким чином упорядкувати ( звідси і назва типів) і, тепер з кожним з них можна сопоставлянь деяке число - порядковий номер значення. Дійсні типи строго кажучи, теж мають кінцеве число значень, що визначається форматом внутрішнього представлення дійсного числа.
Хоча кількість возможніх значень речових типів настільки велика, що сопріставіть з кожним з них ціле число (його номер) не представляється можливим.
Тип дата-время призначений для збереження дати і часу. Фактично для цих цілей він використовує речовий формат.
3.Арифметичні операції і операції відношення
Арифметичні операції найчастіше використовуються у виразах і виконують арифметичні дії над значеннями операндів цілочисельних і речових типів даних.
Операції складання віднімання і множення відповідають аналогічним операціям в математиці. На відміну від них операція ділення має три форми: звичайне ділення (/), цілочисельне ділення (div), залишок від ділення (mod).
Оператор ділення (/) називається оператором речового ділення, оскільки незалежно від типа операндів результат завжди речовий. Для цілочисельного ділення треба застосовувати оператора DIV, наприклад: WRITELN (2400 DIV 8); В результаті отримаємо 300 при цілочисельному діленні дробові частини відкидаються наприклад: WRITELN (9 DIV 4), результат виконання дорівнює 2. Другий важливий оператор призначений для здобуття остачі целочисленного ділення MOD (ділення по модулю), наприклад: WRITELN (9 DIV 4), результат виконання дорівнює 1. WRITELN (3 DIV 4), результат виконання дорівнює 3. Оператори DIV і MOD приймають тоьлько цілі операнди і видають цілий результат. Останні оператори (+, - і *) видадуть речовий результат, якщо хоч би один з операндів буде речовим.
Операції відношення
Операції відношення виконують порівняння двох операндів і визначають, достеменне значення вираження або помилково. Порівнювані величини можуть належати до будь-яких порядкових типів даних: числовим, символьним або логічним. Декілька прикладів:
Числовий: у>66.5;
Символьний А < B;
Булевий TRUE > FALSE ( завжди TRUE).
Результат завжди має булевий тип. Ця група операцій спеціально розроблена для реалізації алгоритмічних елементів типа більше, більше або рівно і тому подібне, які є практично в кожній програмі. Не можна перевіряти два дійсні числа на рівність із-за їх обмеженої точності.
Оператори
> більш ніж.
< менше ніж
>= більше або рівно
<= меньше або рівно
= рівно
<> Не рівно
4.Логічні операції
Результатом виконання логічних (булевих) операцій є логічне значення True або False.Операндами у логічному вираженні служать дані типа Boolean.
Над величинами логічного типа можна проводити логічні операції подібно до того, як над даними цілого або речового типа проводяться арифметичні операції. Результатом логічних операцій можуть бути лише логічні величини, тобто величини, що мають значення true і false. Всього в Паськале використовується 4 логічних операції: not (Немає -- логічне заперечення), and (І -- логічне множення), or (Або -- логічне сложе ніє), хоr (Що виключає Або). Ці операції підрозділяються на унарні,тобто такі, які проводяться лише над однією величиною, і бінарні,тобто ті які проводяться відразу над двома величинами. До першого типаоперацій відноситься not, до другого -- всі останні.
Логічні операції використовують при складанні програм, в яких потрібно перевірити відразу декілька умов. Наприклад, якщо деяка дія повинна виконуватися за умови що значення змінної а знаходитьсяв діапазоні від 5 до 20, тобто а повинно бути більше або рівне 5 і менше аборівне 20, то цю умову можна записати таким чином: (а>=5) and (a<=20).При цьому груповані операції порівняння полягають в дужки, якв приведеному вираженні.
5.Черговість виконання операцій
Пріоритет
При виконанні виразів одні операції виконуються раніше інших.
Виконання кожної операції відбувається з врахуванням її пріоритету. В основному арифметичні оператора Паськаль мають два пріоритети: високий і низький. Оператори + і - мають низький пріоритет, всі останні - високий. Якщо два оператори у вираженні мають однаковий пріоритет, вони виконуються зліва направо. Не знаючи пріоритету кожної операції украй важко правильно записати навіть найпростіше вираження.
При виконанні логічних операцій дотримується, як і для арифметичних операцій, певний пріоритет. Найбільш високим пріорітеом володіє операція not, тобто вона виконується насамперед. Далі виконується операція and. Найнижчий пріоритет мають операції or і хог. Якщо у вираженні необхідно змінити лад виконання логічних операцій, то так само, як і у випадку з арифметичними операціями, для цього використовуються дужки, бо вираження, поміщене в дужки, володіє вищим пріоритетом.
Знаки + і - використовуються як унарні оператори (для позначення позитивних і негативних чисел). Унарні оператори мають той же низький пріоритет, що і бінарні оператори + і -. Якщо бінарний оператор передує унарному, наприклад 5*-4, то унарний оператор разом з
числом не обходжений укласти в дужки : 5*(-4). Компілятор може набути першої форми запису, але краще за неї не використовувати.
6.Словник
Алгоритм - це точне розпорядження по виконанню деякого процесу обробки даних який через розумне кінцеве число кроків приводить до рішення задачі даного типа для будь-яких допустимих варіантів початкових даних.
Алгоритмічна мова - це система правив для опису процесу обра¬ботки даних.
Арифметичні вирази - це аналог виразів алгебри мате¬матіки.
Вирази - це групи слів, що мають певний сенс.
Вираження відношення (порівняння) - це 2 операнди, зв'язаних операцією порівняння.
Дані - це інформація (числа, факти, характеристики явищ і ін.), представлена у формалізованому вигляді.
Ідентифікатори - це імена констант, змінних, міток, типів, об'єктів, класів, властивостей, процедур, функцій, модулів, програм і полів в записах. Константи - дані які набули значення на початку програми і визначають області пам'яті, які не можуть змінювати свого значення в ході роботи програми.
Логічне вираження - це засіб алгебри логіки.
Масиви - формальне об'єднання декількох однотипних об'єктів (чисел, символів, рядків і т. п.) розглядуване як єдине ціле.
Оператори - це пропозиції для опису деякого дей¬ствія в процесі обробки даних.
Операції - дії над операндами.
Процедурою - називається особливим чином оформлений фрагмент програми, що має власне ім'я.
Типи - це спеціальні конструкції мови, які розглядуються компілятором як зразки для створення інших елементів програми, таких як змінні, константи і функції.
Мова - це засіб спілкування між людьми, людиною і машиною і між машинами.
автоматизований delphі операція арифметичний
7.Зміст контролюючої програмі
1.Для якого типа даних використовується ідентифікатор Real
А. Цілих
Б. Дробових
В. Рядки
Г. Вyte
2.Яке значення належить даним типа Byte
А. 512
Б. 13468
В. 255
Г. -128
3.До якого типа даних відносяться значення дати
А. Вказівні
Б. Прості
В. Часу
Г. Рядкові
4.Операції - це дії виконувані над ….
А. Процедурами
Б. Операндами
В. Функціями
Г. Файлами
5.При цілочисельному діленні операція ділення набуває форми?
А. div
Б. mod
В. /
Г. var
6.Виберіть правильну відповідь 9 mod 4?
А. 1
Б. 2
В. 2,25
Г. Немає правильної відповіді
7. Результат операції відношення завжди має?
А. Процедурний тип
Б. Булевий тип
В. Тип даних з незрозумілим типом значень
Г. Складений тип
8.Якого оператора можна поставити що б неравенство було вірним 14+7 ? 37-17 (TRUE)
А. >=
Б. <=
В. <>
Г. <
9.Яка операція відноситься до логічних операцій?
А. Var
Б. if
В. or
Г. End
10. Виключає Або - це операція?
А. xоr
Б. and
В. or
Г. not
11.Яка операція не відноситься до бінарних операцій
А. xоr
Б. and
В. or
Г. not
12. Якщо деяка дія повинна виконуватися за умови, що значення змінної а знаходиться діапазоні від 6 до 47, тобто а повинно бути більше або рівне 6 і менше або рівне 47, то цю умову можна записати таким чином:
А. (а>=6) and (a<=47)
Б. (а>6) and (a<47)
В. (а=>6) and (a=47)
Г. (а>6) or (a>=47)
13. Найбільш високим пріорітеом володіє операція
А. xоr
Б. and
В. or
Г. not
14. Якщо у вираженні необхідно змінити лад виконання операцій, то необхідно:
А. Використовувати операцію not
Б. Використовувати дужки
В. Лад змінити не можливо
Г. Використовувати операцію and
15.Виберіть вираження, результат якого дорівнює 12:
А. 10 + 5 * 2 - 6 / 2
Б. (10 + 5) * 2 - 6 / 2
В. (10 + 5 * 2 - 6) / 2
Г. ((10 + 5) * 2 - 6) / 2
16. Для визначення істинності вираження, використовують операції …?
А. Логічні
Б. Арифметичні
В. Відношення
Г. Рядкові операції
17.Яким пріоритетом володіють дужки
А. Вісоким
Б. Низьким
В. Вищим
Г. Середнім
18.Унарні операції це ті які проводяться лише над?
А. Одній величиною
Б. Двома величинами
В. Трьома величинами
Г. Безконечна безліч величин
19. У яких виразах використовуються операнди для яких служать дані типа Boolean
А. Арифметичні
Б. Стосунки
В. Логічні
Г. Рядкові
20. Який тип даних не відноситься до порядкових типів?
А. Масиви
Б. Цілі
В. Тіп-діапазон
Г. Символьні
Лістинг програми
#include "fstream.h"
#include "string.h"
#include "windows.h"
void RussianMessage(char *message){
char rmessage[256];
CharToOem(message,rmessage);
cout<<rmessage;}
int RussianMenu(){
RussianMessage("\nВведите 1 для показа 1страницы из файла (Операции над простыми типами \n");
RussianMessage("в среде Delph)\n");
RussianMessage("Введите 2 для показа 2 страницы из файла (Простые типы данных) \n");
RussianMessage("Введите 3 для показа 3 страницы из файла (Арифметические операции и Операции от-ношения)\n");
RussianMessage("Введите 4 для показа 4 страницы из файла (Логические операции)\n");
RussianMessage("Введите 5 для показа 5 страницы из файла (Очередность выполнения операций)\n");
RussianMessage("Введите 6 для показа 6 страницы из файла (Словарь терминов) \n");
RussianMessage("Введите 7 для входа в контролирующую программу\n");
RussianMessage("Введите 8 для выхода из программы\n");
int choice;
cin>>choice;
return choice;}
void main(){
// Основной цикл программы
do{ switch(RussianMenu()){
case 1: // Добавление записи
RussianMessage(" Операции над простыми типами в среде Delphi\n");
RussianMessage(" Данные могут представлять собой целые и дробные числа, символы, строки, \n");
RussianMessage("массивы, множества и др.Так как компьютер всего лишь машина,для которой \n");
RussianMessage("данные - это последовательность нулей и единиц,он должен абсолютно точ-\n");
RussianMessage("но 'знать', как их интерпретировать. По этой причине все данные в языке \n");
RussianMessage("Delphi подразделены на типы.Для описания каждого типа данных существует \n");
RussianMessage("свой стандартный идентификатор:для целых - Integer, для дробных - Real, \n");
RussianMessage("для строк - string и т.д.Тип данных показывает, какие значения принимают \n");
RussianMessage("данные и какие операции можно с ними выполнять. Каждому типу данных соот- \n");
RussianMessage("ветствует определенный объем памяти, который требуется для размещения дан- \n");
RussianMessage("ных.Например, в языке Delphi существует тип данных Byte. Данные этого типа\n");
RussianMessage("принимают значения в целочисленном диапазоне от 0 до 255, могут участво- \n");
RussianMessage("вать в операциях сложения, вычитания, умножения, деления, и занимают 1 байт\n");
RussianMessage("памяти.Все типы данных в языке Delphi можно расклассифицировать следующим \n");
RussianMessage("образом: \n");
RussianMessage(" Простые типы данных. Они в свою очередь подразделяются на порядковые и \n");
RussianMessage("вещественные типы данных.К порядковым типам относятся целочисленные, симво-\n");
RussianMessage("льные, булевские, перечисляемые и интервальные типы данных;\n");
RussianMessage(" Временной тип данных. Служит для представления значений даты и времени; \n");
RussianMessage(" Строковые типы данных. Служат для представления последовательностей из \n");
RussianMessage("символов, например текста; \n");
RussianMessage(" Составные типы данных (в некоторых источниках - структурированные типы \n");
RussianMessage("данных). Формируются на основе всех остальных типов.К ним относятся масси- \n");
RussianMessage("вы,множества, записи, файлы, классы и ссылки на классы; \n");
RussianMessage(" Процедурные типы данных. Позволяют манипулировать процедурами и функциями\n");
RussianMessage(" как данными программы;\n");
RussianMessage(" Указательные типы данных. Данные этих типов хранят адреса других данных,с их \n");
RussianMessage("помощью организуются различные динамические структуры:списки, деревья и т.д.; \n");
RussianMessage(" Тип данных с непостоянным типом значений. Служит для представления значений,\n");
RussianMessage("тип которых заранее неизвестен;с его помощью легко организуется работа со спи- \n");
RussianMessage("ском разнотипных значений;\n");
RussianMessage(" Некоторые предопределенные типы данных делятся на фундаментальные и обобщенные\n");
RussianMessage("типы.Данные фундаментальных типов имеют неизменный диапазон значений и объем \n");
RussianMessage("занимаемой памяти на всех моделях компьютеров.Данные обобщенных типов на раз-\n");
RussianMessage("личных моделях компьютеров могут иметь разный диапазон значений и занимать \n");
RussianMessage("разный объем памяти.Деление на фундаментальные и обобщенные типы характерно \n");
RussianMessage("для целых, символьных и строковых типов данных.\n");
RussianMessage(" Операции - это действия, выполняемые над операндами. \n");
RussianMessage(" Операции в языке Delphi подразделяются на арифметические,операции отношения,\n");
RussianMessage("логические (булевские), строковые,операцию получения адреса и другие. \n");
RussianMessage("Выражения соответственно называются арифметическими,отношения, булевскими, \n");
RussianMessage("строковыми и т.д. в зависимости от того,какого типа операнды и операции в \n");
RussianMessage("них используются\n");
break;
case 2: // Добавление записи
RussianMessage(" Простые типы данных\n");
RussianMessage(" Любой реально существующий тип данных, каким бы сложным он ни казался на \n");
RussianMessage("первый взгляд,представляет собой простые составляющие, которыми процессор может\n");
RussianMessage("манипулировать. В Object Pascal эти простые типы данных разбиты на три группы:\n");
RussianMessage("порядковые,представляющие данные разных объемов, которыми процессор может легко\n");
RussianMessage("манипулировать,действительные, представляющие приближенно математические \n");
RussianMessage("действительные числа и дата-час.Разделение типов на порядковые и действительные\n");
RussianMessage("несколько условно.Точно так же простые данные можно было бы разделить на числа \n");
RussianMessage("и не числа.Однако в языке Object Pascal порядковые и действительные данные \n");
RussianMessage("трактуются по-разному, и такое разделение даже полезно.\n");
RussianMessage(" Порядковые типы отличаются от действительных, тем что каждый тип имеет \n");
RussianMessage("окончательное количество возможных значений. Ети значения можно некоторым обр-\n");
RussianMessage("азом упорядочить ( отсюда и название типов)и,теперь с каждым из них можно \n");
RussianMessage("сопоставлять некоторое число - порядковый номер значения. Действительные типы,\n");
RussianMessage("строго говоря, тоже имеют конечное число значений, что определяется форматом\n");
RussianMessage("внутреннего представления вещественного числа. Хотя количество возможних \n");
RussianMessage("значений вещественных типов настолько велико, что соприставить с каждым\n");
RussianMessage("из них целое число (его номер) не представляется возможным.\n");
RussianMessage(" Тип дата-время предназначен для сохранения даты и времени. Фактически \n");
RussianMessage("для этих целей он использует вещественный формат.\n");
RussianMessage(" \n");
RussianMessage(" Стуктура типов данных \n");
RussianMessage(" \n");
RussianMessage(" ТИПЫ---I-------Простые----------I---Порядковые----I---Целые \n");
RussianMessage(" I I---Вещественные I---Логические\n");
RussianMessage(" I I---Дата/время I---Символьные\n");
RussianMessage(" I I---Перечисляемые\n");
RussianMessage(" I I---Тип-диапазон\n");
RussianMessage(" I \n");
RussianMessage(" I \n");
RussianMessage(" I-------Структурированные------------------I---Массивы \n");
RussianMessage(" I-------Указатели I---Записи \n");
RussianMessage(" I-------Строки I---Множества \n");
RussianMessage(" I-------Процедурные I---Файлы \n");
RussianMessage(" I-------Обьекты\n");
RussianMessage(" I-------Классы \n");
RussianMessage(" I-------Варианты-------------------------------Настраиваемые \n");
RussianMessage(" варианты \n");
break;
case 3: // Добавление записи
RussianMessage(" Арифметические операции наиболее часто используются в выражениях и выполняют \n");
RussianMessage("арифметические действия над значениями операндов целочисленных и вещественных \n");
RussianMessage("типов данных.Операции сложения, вычитания и умножения соответствуют аналогичным\n");
RussianMessage("операциям в математике.В отличие от них операция деления имеет три формы: \n");
RussianMessage("обычное деление (/),целочисленное деление (div), остаток от деления (mod). \n");
RussianMessage("Оператор деления (/) называется оператором вещественного деления,\n");
RussianMessage("так как независимо от типа операндов результат всегда вещественный.\n");
RussianMessage(" Для целочисленного деления надо применять оператор DIV,\n");
RussianMessage("например: WRITELN (2400 DIV 8);\n");
RussianMessage("В результате получим 300\n");
RussianMessage("При целочисленном делении дробные части отбрасываются,\n");
RussianMessage("например: WRITELN (9 DIV 4), результат выполнения равет 2\n");
RussianMessage("Другой важный оператор предназначен для получения остатка\n");
RussianMessage("целочисленного деления MOD (деления по модулю), например:\n");
RussianMessage("WRITELN (9 DIV 4) , результат выполнения равен 1.\n");
RussianMessage("WRITELN (3 DIV 4) , результат выполнения равен 3.\n");
RussianMessage("Операторы DIV и MOD принимают тоьлько целые операнды и выдают целый результат. \n");
RussianMessage("Остальные операторы (+, - и *) выдадут вещественный результат,\n");
RussianMessage("если хотя бы один из операндов будет вещественным.\n");
RussianMessage(" Операции отношения\n");
RussianMessage("Операции отношения выполняют сравнение двух операндов и определяют, истинно \n");
RussianMessage("значение выражения или ложно.Сравниваемые величины могут принадлежать к \n");
RussianMessage("любым порядковым типам данных:числовым, символьным или логическим.\n");
RussianMessage("Несколько примеров:\n");
RussianMessage("Числовой: у>66.5;\n");
RussianMessage("Символьный А < B;.\n");
RussianMessage("Булев TRUE > FALSE ( всегда TRUE).\n");
RussianMessage("Результат всегда имеет булевский тип.\n");
RussianMessage("Эта группа операций специально разработана для реализации алгоритмических \n");
RussianMessage("элементов типа больше,больше или равно и т.п., которые имеются практически в \n");
RussianMessage("каждой программе.Нельзя проверять два вещественных числа на равенство из-за \n");
RussianMessage("их ограниченой точности.\n");
RussianMessage(" Операторы\n");
RussianMessage(" > больше чем.\n");
RussianMessage(" <меньше чем\n");
RussianMessage(" >=больше или равно\n");
RussianMessage(" <=меньше или равно\n");
RussianMessage(" = равно\n");
RussianMessage(" <> Не равно\n");
break;
case 4: // Добавление записи
RussianMessage(" Логические операции\n");
RussianMessage(" Результатом выполнения логических (булевских) операций является логическое \n");
RussianMessage("ензначения True или False.Операндами в логическом выражении служат данные\n");
RussianMessage("типа Boolean.Над величинами логического типа можно производить логические\n");
RussianMessage("операции подобно тому, как над данными целого или вещественного типа произв-\n");
RussianMessage("одятся арифметические операции.Всего в Паскале используется 4 логических \n");
RussianMessage("операции:not (Нет -- логическое отрицание), and (И -- логическое умножение),\n");
RussianMessage("or (Или -- логическое сложе ние), хоr (Исключающее Или).\n");
RussianMessage(" Эти операции подразделяются на унарные,т. е. такие,\n");
RussianMessage("которые производятся только над одной величиной, и бинарные,т. е. те,\n");
RussianMessage("которые производятся сразу над двумя величинами.\n");
RussianMessage("К первому типу операций относится not, ко второму -- все остальные.\n");
RussianMessage(" Логические операции используют при составлении программ,\n");
RussianMessage("в которых требуется проверить сразу несколько условий.\n");
RussianMessage("Например, если некоторое действие должно выполняться при условии, \n");
RussianMessage("что значение переменной а находится в диапазоне от 5 до 20, т. е.\n");
RussianMessage("а должно быть больше или равно 5 и меньше илиравно 20,\n");
RussianMessage("то это условие можно записать следующим образом:(а>=5) and (a<=20) \n");
RussianMessage(" При этом группируемые операции сравнения заключаются в скобки, \n");
RussianMessage("как в приведенном выражении.\n");
break;
case 5: // Добавление записи
RussianMessage(" Приоритет\n");
RussianMessage(" При выполнении выражений одни операции выполняются раньше других. \n");
RussianMessage("Выполнение каждой операции происходит с учетом ее приоритета. \n");
RussianMessage("В основном арифметические оператора Паскаль имеют два приоритета: высокий и \n");
RussianMessage("низкий.Операторы + и - имеют низкий приоритет, все остальные - высокий.\n");
RussianMessage("Если два оператора в выражении имеют одинаковый приоритет , они выполняются \n");
RussianMessage("слева направо.Не зная приоритета каждой операции, крайне трудно правильно \n");
RussianMessage("записать даже самое простое выражение.При выполнении логических операций \n");
RussianMessage("соблюдается, как и для арифметических операций, определенный приоритет.\n");
RussianMessage(" Наиболее высоким приоритеом обладает операция not, т. е. она выполняется \n");
RussianMessage("в первую очередь.Далее выполняется операция and. Самый низкий приоритет имеют \n");
RussianMessage("операции or и хоr.Еслив выражении необходимо изменить порядок выполнения \n");
RussianMessage("логических операций, то так же, как и в случае с арифметическими операциями,\n");
RussianMessage("для этого используются скобки, потому что выражение, заключенное в скобки, \n");
RussianMessage("обладает высшим приоритетом.Знаки + и - используются в качестве унарных \n");
RussianMessage("операторов (для обозначения положительных и отрицательных чисел).\n");
RussianMessage("Унарные операторы имеют тот же низкий приоритет,что и бинарные операторы + и -.\n");
RussianMessage("Если бинарный оператор предшествует унарному, например 5*-4, \n");
RussianMessage("то унарный оператор вместе с числом не обходимо заключить в скобки : 5*(-4). \n");
RussianMessage("Компилятор может принять первую форму записи, но лучше ее не использовать.\n");
break;
case 6: // Добавление записи
RussianMessage(" Словарь терминов\n");
RussianMessage(" \n");
RussianMessage("Алгоритм - это точное предписание по выполнению некоторого процесса \n");
RussianMessage("обработки данных, который через разумное конечное число шагов приводит к \n");
RussianMessage("решению задачи данного типа для любых допустимых вариантов исходных данных. \n");
RussianMessage("Алгоритмический язык-это система правил для описания процесса обработки данных.\n");
RussianMessage("Арифметические выражения - это аналог алгебраических выражений математики. \n");
RussianMessage("Выражения - это группы слов, имеющих определенный смысл. \n");
RussianMessage("Выражение отношения - это 2 операнда, связанных операцией сравнения.\n");
RussianMessage("Данные - это информация (числа, факты, характеристики явлений и пр.), \n");
RussianMessage("представленная в формализованном виде.\n");
RussianMessage("Идентификаторы - это имена констант, переменных, меток, типов, объектов, \n");
RussianMessage("классов, свойств, процедур, функций, модулей, программ и полей в записях. \n");
RussianMessage("Константы - данные, которые получили значение в начале программы и определяют\n");
RussianMessage("области памяти, которые не могут изменять своего значения в ходе работы \n");
RussianMessage("программы. \n");
RussianMessage("Логическое выражение - это средство алгебры логики.\n");
RussianMessage("Массивы-формальное объединение нескольких однотипных объектов(чисел, символов,\n");
RussianMessage("строк и т. п.), рассматриваемое как единое целое.\n");
RussianMessage("Операторы - это предложения для описания некоторого действия в \n");
RussianMessage("процессе обработки данных. \n");
RussianMessage("Операции - действия над операндами.\n");
RussianMessage("Процедурой - называется особым образом оформленный фрагмент программы, \n");
RussianMessage("имеющий собственное имя.\n");
RussianMessage("Типы - это специальные конструкции языка, которые рассматриваются \n");
RussianMessage("компилятором как образцы для создания других элементов программы, таких\n");
RussianMessage("как переменные, константы и функции.\n");
RussianMessage("Язык - это средство общения между людьми, человеком и машиной и \n");
RussianMessage("между машинами.\n");
break;
case 7: // контролька
float s; int v;s=1;cout<<'s='<<s;
RussianMessage("Для какого типа данных используется идентификатор Real?\n");
RussianMessage("1. Дробных\n");
RussianMessage("2. Целых \n");
RussianMessage("3. Byte\n");
RussianMessage("4. Строки\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==1) {s=1+s;RussianMessage("Вы гений\n");} else {RussianMessage("Вы неуч\n");}
RussianMessage("Какое значение принадлежит данным типа Byte?\n");
RussianMessage("1. 512 \n");
RussianMessage("2. 1024\n");
RussianMessage("3. 255 \n");
RussianMessage("4. -128\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==3) {s=1+s;RussianMessage("Вы гений\n");} else{RussianMessage("Вы неуч\n");}
RussianMessage(".К какому типу данных относятся значения даты?\n");
RussianMessage("1. Указательные \n");
RussianMessage("2. Простые \n");
RussianMessage("3. Временные\n");
RussianMessage("4. Строковые\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==3) {s=1+s;RussianMessage("Вы гений\n");} else{RussianMessage("Вы неуч\n");}
RussianMessage("Операциы - это действия выполняемые над ...?\n");
RussianMessage("1. Процедурами \n");
RussianMessage("2. Операндами\n");
RussianMessage("3. Файлами \n");
RussianMessage("4. Функциями\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==2) {s=1+s;RussianMessage("Вы гений\n");} else{RussianMessage("Вы неуч\n");}
RussianMessage("При целочисленном делении операция деления принимает форму?\n");
RussianMessage("1. div \n");
RussianMessage("2. mod\n");
RussianMessage("3. /\n");
RussianMessage("4. var\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==1) {s=1+s;RussianMessage("Вы гений\n");} else{RussianMessage("Вы неуч\n");}
RussianMessage("Выберите правильный ответ 9 mod 4\n");
RussianMessage("1. 1 \n");
RussianMessage("2. 2\n");
RussianMessage("3. 2,25\n");
RussianMessage("4. нет правильного ответа\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==1) {s=1+s;RussianMessage("Вы гений\n");} else{RussianMessage("Вы неуч\n");}
RussianMessage("Результат операции отношения всегда имеет ?\n");
RussianMessage("1. Процедурный тип \n");
RussianMessage("2. Составной тип\n");
RussianMessage("3. Тип данных с непонятным типом значений \n");
RussianMessage("4. Булевский тип\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==4) {s=1+s;RussianMessage("Вы гений\n");} else{RussianMessage("Вы неуч\n");}
RussianMessage("Какой оператор можно поставить что бы неравенство было верным 14+7 ? 37-17 ?\n");
RussianMessage("1. >=\n");
RussianMessage("2. <=\n");
RussianMessage("3. <>\n");
RussianMessage("4. <\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==1) {s=1+s;RussianMessage("Вы гений\n");} else{RussianMessage("Вы неуч\n");}
RussianMessage("Какая операция относится к логическим операциям?\n");
RussianMessage("1. Var\n");
RussianMessage("2. or\n");
RussianMessage("3. end\n");
RussianMessage("4. if\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==2) {s=1+s;RussianMessage("Вы гений\n");} else{RussianMessage("Вы неуч\n");}
RussianMessage("Если некоторое действие должно выполняться при условии, что значение \n");
RussianMessage("переменной а находится диапазоне от 6 до 47, т. е. а должно быть больше или \n");
RussianMessage("равно 6 и меньше или равно 47, то это условие можно записать следующим образом:\n");
RussianMessage("1. (а>6) and (a<47)\n");
RussianMessage("2. (а=>6) and (a=47)\n");
RussianMessage("3. (а>=6) and (a<=47)\n");
RussianMessage("4. (а>6) or (a>=47)\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==3) {s=1+s;RussianMessage("Вы гений\n");} else{RussianMessage("Вы неуч\n");}
RussianMessage("Исключающее Или - это операция?\n");
RussianMessage("1. xоr \n");
RussianMessage("2. and\n");
RussianMessage("3. or\n");
RussianMessage("4. not\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==1) {s=1+s;{RussianMessage("Вы гений\n");}} else{RussianMessage("Вы неуч\n");}
RussianMessage("Какая операция не относится к бинарным операциям?\n");
RussianMessage("1. xоr \n");
RussianMessage("2. and \n");
RussianMessage("3. or\n");
RussianMessage("4. not\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==4) {s=1+s;{RussianMessage("Вы гений\n");}} else{RussianMessage("Вы неуч\n");}
RussianMessage("Если в выражении необходимо изменить порядок выполнения операций,то необходимо:\n");
RussianMessage("1. Использовать операцию not\n");
RussianMessage("2. Использовать скобки\n");
RussianMessage("3. Порядок изменить не возможно \n");
RussianMessage("4. Использовать операцию and\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==2) {s=1+s;{RussianMessage("Вы гений\n");}} else{RussianMessage("Вы неуч\n");}
RussianMessage("Наиболее высоким приоритеом обладает операция?\n");
RussianMessage("1. xоr \n");
RussianMessage("2. and\n");
RussianMessage("3. not\n");
RussianMessage("4. or\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==3) {s=1+s;{RussianMessage("Вы гений\n");}} else{RussianMessage("Вы неуч\n");}
RussianMessage("Выберите выражение , результат вычисления которого равен 12:\n");
RussianMessage("1. 10 + 5 * 2 - 6 / 2\n");
RussianMessage("2. ((10 + 5) * 2 - 6) / 2\n");
RussianMessage("3. (10 + 5) * 2 - 6 / 2\n");
RussianMessage("4. (10 + 5 * 2 - 6) / 2\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==2) {s=1+s;{RussianMessage("Вы гений\n");}} else{RussianMessage("Вы неуч\n");}
RussianMessage(". Для определения истинности значения выражения выполняют операции:\n");
RussianMessage("1. Логические \n");
RussianMessage("2. Арифметические \n");
RussianMessage("3. Отношения\n");
RussianMessage("4. Строковые операции\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==3) {s=1+s;{RussianMessage("Вы гений\n");}} else{RussianMessage("Вы неуч\n");}
RussianMessage("Каким приоритетом обладают скобки?\n");
RussianMessage("1. Высоким \n");
RussianMessage("2. Низким\n");
RussianMessage("3. Высшим\n");
RussianMessage("4. Средним\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==3) {s=1+s;{RussianMessage("Вы гений\n");}} else{RussianMessage("Вы неуч\n");}
RussianMessage("Унарные операции это те, которые производятся только над?\n");
RussianMessage("1. Одной величиной\n");
RussianMessage("2. Двумя величинами\n");
RussianMessage("3. Тремя величинами\n");
RussianMessage("4. Бесконечное множество величин\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==1) {s=1+s;{RussianMessage("Вы гений\n");}} else{RussianMessage("Вы неуч\n");}
RussianMessage("В каких выражениях используются операнды, для которых служат данные типа Boolean?\n");
RussianMessage("1. Арифметические\n");
RussianMessage("2. Логические,отношения\n");
RussianMessage("3. Строковые \n");
RussianMessage("4. Нет правильного ответа\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==4) {s=1+s;{RussianMessage("Вы гений\n");}} else{RussianMessage("Вы неуч\n");}
RussianMessage("Какой тип данных не относится к порядковым типам?\n");
RussianMessage("1. Массивы\n");
RussianMessage("2. Целые\n");
RussianMessage("3. Тип-диапазон\n");
RussianMessage("4. Символьные\n");
RussianMessage("Введите пр вар ответа\n");
cin>>v;
if (v==1) {s=1+s;{RussianMessage("Вы гений\n");}} else{RussianMessage("Вы неуч\n");}
cout<<'s='<<s;
break;
case 8:// Прощание с пользователем
RussianMessage("До Свидания\n");
return;
default: // Неправильный ввод
Подобные документы
Проектування процесора для виконання (з використанням доповняльного коду без відновлення розрядів остачі) операції ділення в двійково-десятковій системі числення. Розробка алгоритму виконання операції та операційного автомату. Розробка карти прошивки.
курсовая работа [263,3 K], добавлен 14.03.2013Структура асемблерних програм для COM- та EXE-модулів, виклик процедур, стек. Арифметичні операції над двійковими числами. Команди циклічного зсуву бітів числа. Вирази з визначенням кількох констант. Директиви визначення даних. Адресація зі зміщенням.
лабораторная работа [130,6 K], добавлен 27.02.2013Застосування PuTTY та основні команди SSH. Підключення до сервера з командного рядка. Структура бази даних. Поля: SQL, пошук, запит по шаблону, експорт та імпорт, операції та переваги. Виконання операцій у базі даних. Видалення непотрібних статтей.
отчет по практике [3,0 M], добавлен 08.07.2015Розробка машинного алгоритму та операційного автомату для виконання операції ділення в двійково-десятковій системі числення з відновленням остачі у оберненому коді. Перевірка роботи керуючого автомату з програмованою логікою та натуральною адресацією.
курсовая работа [178,7 K], добавлен 10.05.2011Теоретичні основи теорії множин. Основні операції над множинами та їх властивості. Складання програми для обчислення результуючої множини за вихідним і спрощеним виразами. Виконання операцій над множинами, застосування їх властивостей, спрощення виразів.
лабораторная работа [11,3 K], добавлен 12.05.2011Розробка машинного алгоритму операції множення в доповняльному коді з пропуском тактів додавання в двійковій системі числення з старших розрядів чисел, представлених у формі з плаваючою комою та операційний автомат. Контроль операції віднімання.
курсовая работа [45,5 K], добавлен 14.03.2013Синтез цифрового автомата для виконання операції множення в оберненому коді двох двійкових чисел з фіксованою комою. Будування керуючого автомату з жорсткою логікою по принципу Мілі. Використання алгоритму множення з пропусканням тактів додавання.
курсовая работа [279,6 K], добавлен 14.03.2013Розробка алгоритму множення чисел у прямому коді з молодших розрядів із пропусканням тактів сумування для двійкових чисел. Синтез операційного та керуючого автоматів з жорсткою логікою. Описання технології числового контролю операції додавання по модулю.
курсовая работа [74,9 K], добавлен 14.03.2013Класифікація системи за всіма видами класифікаторів. Графічне представлення узагальненої моделі системи. Дослідження операцій в системі. Класифікація основних умов функціонування системи за факторами, що впливають на здійснення визначеної операції.
курсовая работа [418,8 K], добавлен 01.06.2013Методи використання предикатів Cut, Fail. Організація циклу (repeat), складання програми. Алгоритм роботи зі списками та рядками. Елементарні операції і базові функції мови програмування Лісп. Робота зі складними типами даних на прикладі бази даних АТС.
контрольная работа [219,3 K], добавлен 17.06.2011