- •Національний технічний університет
- •Мета роботи
- •Оператори введення/виводу
- •Лабораторна робота № 2
- •Приклад виконання завдання
- •Вибір варіанта розрахунку. Використання операторів if, else, else if Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Оператор if
- •Використання оператора else в операторі if
- •Оператор else if
- •Лабораторна робота №4
- •Циклічні алгоритми.
- •Організація циклу за допомогою операторів while і do while
- •Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Циклічний алгоритм. Організація циклу за допомогою оператора for Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Робота з масивами символів. Використання функцій getchar (), putchar () Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Робота з масивами символів. Використання операторів continue, break і функції switch () Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Оператор continue
- •Оператор break
- •Множинний вибір: функція switch ()
- •Робота з рядками Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Лабораторна робота № 9
- •Завдання
- •Вказівки до виконання завдання
- •Робота з одномірними масивами. Обчислення максимуму, мінімуму, кратність елементів
- •Сортування масиву Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Робота з двовимірними масивами. Організація введення / виводу елементів двовимірного масиву Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Лабораторна робота № 13 робота з функціями Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Придбання і закріплення практичних навичок у використанні файлового введення/виводу при складанні програми мовою с.
- •Лабораторна робота № 15
- •Робота з функціямипідпрограмами Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Лабораторна робота № 17 Програмування задач матричної алгебри Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Лабораторна робота № 18 Обчислення визначеного інтегралу Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Лабораторна робота № 19 Робота зі структурами Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Додаток 1 Завдання до лабораторної роботи № 2
- •1. Обчислити значення виразу , якщо ,
- •Додаток 2 Завдання до лабораторної роботи № 3
- •Додаток 3 Завдання до лабораторної роботи № 4
- •Додаток 4 Завдання до лабораторної роботи № 5
- •Додаток 5 Завдання до лабораторної роботи № 6
- •Додаток 6 Завдання до лабораторної роботи № 7
- •Додаток 7 Завдання до лабораторної роботи № 8
- •Додаток 8 Завдання до лабораторної роботи № 9
- •Додаток 9 Завдання до лабораторної роботи № 10
- •Додаток 10 Завдання до лабораторної роботи № 11
- •Додаток 11 Завдання до лабораторної роботи № 12
- •Додаток 12 Завдання до лабораторної роботи № 13
- •Додаток 13
- •Додаток 14
- •Додаток 15
- •Додаток 16
- •Додаток 17
- •Додаток 18
- •Список літератури
Вказівки до виконання завдання
У деяких випадках потрібно зробити аналіз символів, які використовуються у програмі. Для цього в мові програмування С є стандартний набір функцій. Їхні прототипи містяться в заголовному файлі ctype.h. Ці функції розглядають символ як аргумент і повертають ненульову величину, якщо символ належить до певної категорії, і нуль у протилежному випадку. У табл. 2 наведені функції з заголовного файла ctype.h, що перевіряють символьні значення, а в табл.3 функції, що змінюють символьні значення. Список усіх функцій для роботи із символьними змінними можна подивитися в довідковій літературі.
Таблиця 2
Ім'я |
Істинні, якщо аргумент … |
isfknum () |
Буквено–цифровий |
isalpha () |
буквений |
iscntrl () |
керуючий символ |
isdigit () |
цифровий |
isgraph () |
будь-який друкований символ, відмінний від пробілу |
islower () |
символ нижнього регістра |
isprint () |
друкований символ |
ispunct () |
знак пунктуації (будь-який друкований символ, відмінний від пробілу і буквено–цифрового символу) |
isspace () |
службовий символ |
isupper () |
символ верхнього регістра |
isxdigit () |
шістнадцятирічне число |
Таблиця 3
Ім'я |
Дія |
tolower () |
переводить символ з верхнього регістра в нижній |
toupper () |
переводить символ з нижнього регістра у верхній |
Наведемо приклад їхнього використання. У пропонованій програмі кожен символ змінюється на наступний за ним у таблиці кодів ASCII, крім службових символів; якщо зустрічається символ верхнього регістра, то друкується його версія для нижнього регістра.
#include <stdio.h>
#include <сtуре.h>
int main()
{
char z;
while((z=getchar())!=’\n’)
{
if(isspace(z)) /*якщо z службовий символ*/
{
z=tolower(z); /*змінить у нижній регістр*/
putchar(z);
}
else
{
z=tolower(z);
putchar(z+1); /*друк наступного символу*/
}
}
return 0;
}
У процесі програмування іноді необхідно організувати вихід з файлу у випадку виконання яких або умов, що перевіряються в тілі циклу. Це можна здійснити за допомогою операторів continue і break.
Оператор continue
Цей оператор може бути використаний у всіх циклах. Якщо він одержує керування, то оператори, що стоять за ним, у тілі циклу пропускаються і починається нова ітерація. Якщо оператор continue використовується в циклі while і do while, то наступною дією буде оцінка умови виконання циклу, якщо даний оператор використовується в циклі for, те наступною дією буде обчислення коригувального виразу і потім обчислення виразу циклу, що перевіряється.
Приклад: виключити із символів, що вводяться, службові символи.
# include<stdio.h>
#include<ctype.h>
int main ()
{
char ch;
printf (“ Уведіть символи. Кінець уведення – знак #\n”);
while((ch=getchar())!=’#’)
{
if(isspace(ch))
continue;
putchar(ch);
}
return 0;
}
Коментарі: Функція isspace() має значення «істина», якщо її аргументом є службовий символ. Тому в нашій програмі при зустрічі службового символу буде виконуватися оператор continue, повертаючи керування на оператор while, де проводиться введення наступного символу.
