Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Алгоритм Дейкстра



Министерство образования и науки Российской Федерации

Московский государственный университет печатиразованиюийской Федерации

Имени Ивана Федорова

Демидов Д.Г.

ИНФОРМАТИКА

Методические указания по выполнению лабораторных работ

для студентов высших учебных заведений, обучающихся по направлениям

230100 «Информатика и вычислительная техника» и

230200 «Информационные технологии и системы»

Москва


Содержание

Лабораторная работа № 1 Стандартные типы данных и выражения. 5

Задание 1. 5

Задание 2. 6

Лабораторная работа № 2 Алгоритмизация линейных вычислительных процессов. 12

Задание 1. 12

Задание 2. 12

Задание 3. 12

Задание 4. 12

Задание 5. 12

Задание 6. 12

Лабораторная работа № 3 Разветвляющиеся вычислительные процессы.. 12

Задание 1. 12

Задание 2. 12

Задание 3. 13

Задание 4. 13

Задание 5. 13

Задание 6. 13

Лабораторная работа № 4 Организация итерационных циклических процессов. 13

Задание 1. 13

Задание 2. 13

Задание 3. 13

Лабораторная работа № 5 Организация циклических процессов с известным числом повторений 14

Задание 1. 15

Задание 2. 15

Задание 3. 15

Задание 4. 15

Лабораторная работа № 6 Организация вложенных циклических процессов. 15

Задание 1. 15

Задание 2. 16

Лабораторная работа № 7 Работа с одномерным массивом.. 17

Задание 1. 17

Задание 2. 17

Задание 3. 17

Задание 4. 17

Задание 5. 17

Задание 6. 17

Лабораторная работа № 8 Работа с двумерными массивом.. 17

Задание 1. 18

Задание 2. 18

Задание 3. 18

Задание 4. 18

Задание 5. 18

Лабораторная работа № 9 Методы сортировки массива. 18

Задание 1. 18

Лабораторная работа № 10 Работа с указателями. Динамическое выделение памяти. 19

Задание 1. 19

Задание 2. 20

Лабораторная работа № 11 Структуры.. 21

Задание 1. 21

Задание 2. 21

Задание 3. 21

Задание 4. 21

Лабораторная работа № 12 Функции. Передача в функцию переменных, массивов, структур 22

Задание 1. 22

Задание 2. 22

Задание 3. 23

Задание 4. 23

Задание 5. 23

Лабораторная работа № 13 Работа с битами. 23

Задание 1. 23

Задание 2. 23

Задание 3. 23

Задание 4. 23

Задание 5. 23

Задание 6. 23

Лабораторная работа № 14 Работа с файлами. 23

Задание 1. 23

Задание 2. 24

Задание 3. 24

Задание 4. 24

Задание 5. 24

Задание 6. 24

Задание 7. 24

Задание 8. 24

Задание 9. 24

Задание 10. 24

Лабораторная работа № 15 Работа со строками. 24

Задание 1. 24

Задание 2. 25

Задание 3. 25

Задание 4. 25

Задание 5. 25

Задание 6. 25

Задание 7. 25

Задание 8. 25

Задание 9. 25

Задание 10. 25


Лабораторная работа № 1
Стандартные типы данных и выражения

Задание 1

Разработать программу для нахождения параметра фигуры по заданным значениям:

Вариант 1. Составить программу для нахождения полной поверхности пирамиды, в основании которой лежит квадрат со стороной b. Высота пирамиды b.

Вариант 2. Составить программу для нахождения объема пирамиды, в основании которой лежит квадрат со стороной b. Высота пирамиды h.

Вариант 3. Составить программу для нахождения объема пирамиды, в основании которой лежит равносторонний треугольник со стороной b. Высота пирамиды h.

Вариант 4. Составить программу для нахождения площади треугольника по двум сторонам а, b и углу α между ними.

Вариант 5. Составить программу для нахождения объема и полной поверхности цилиндра. Высота цилиндра h, радиус основания r.

Вариант 6. Составить программу для нахождения объема прямой призмы, в основании которой лежит прямоугольный треугольник с катетами а и b. Высота призмы h.

Вариант 7. Составить программу для нахождения полной поверхности прямой призмы, в основании которой лежит квадрат со стороной b. Высота призмы h.

Вариант 8. Составить программу для нахождения полной поверхности прямой призмы, в основании которой лежит равносторонний треугольник со стороной b. Высота призмы h.

Вариант 9. Составить программу для нахождения объема прямой призмы, в основании которой лежит квадрат со стороной b. Высота призмы h.

Вариант 10. Составить программу для нахождения объема прямой призмы, в основании которой лежит равносторонний треугольник со стороной а. Высота призмы h.

Вариант 11. Составить программу для нахождения объема и полной поверхности куба, ребро которого b.

Вариант 12. Составить программу для нахождения площади кольца, внутренний диаметр которого d, a внешний D.

Вариант 13. Составить программу для нахождения поверхности сферы и объема шара. Радиус шара r.

Вариант 14. Составить программу для нахождения полной поверхности прямой призмы, в основании которой лежит прямоугольный треугольник с катетами а и b. Высота призмы h

Вариант 15. Составить программу для нахождения объема цилиндрической трубы со стенками толщиной t. Внешний диаметр d, высота трубы h.

Задание 2

Разработать программу для вычисления результата по приведенной формуле и вывода на печать исходных данных и результата в заданном формате вывода:

Вариант 1

Тестовые значения: х = 3,8; b = –4,82

Формат вывода:

ГРУППА – N

ВАРИАНТ – N

--------------------------------------------------

: Х = 3.8:

: В = -4.82:

--------------------------------------------------

: Z = 5.13:

--------------------------------------------------

ФАМИЛИЯ

Вариант 2

Тестовые значения: x = 0,85

Формат вывода:

ГРУППА – N

ВАРИАНТ – N

:

X: 0.85

:

----------------------------------------------

Y: 4.844E+0000

ФАМИЛИЯ

Вариант 3

Тестовые значения: a = 0,83; b = 4,66

Формат вывода:

ГРУППА – N

ВАРИАНТ – N

--------------------------------------------------

: Y= 6.028:

--------------------------------------------------

: A=: B=:

: 0.83: 4.66:

--------------------------------------------------

ФАМИЛИЯ

Вариант 4

Тестовые значения: x = 4,87; а = 3

Формат вывода:

ГРУППА – N

ВАРИАНТ – N

::

Х: А: Y

---------------------------------------------------------

4.87: 3: 1.0021E+0003

::

---------------------------------------------------------

ФАМИЛИЯ

Вариант 5

Тестовые значения: x = 1,15; a = 3,71; y = 0,89

Формат вывода:

ГРУППА – N

ВАРИАНТ – N

------------------

A=3.71:

X=1.15: Z=-2.9615E-0001

Y=0.89:

ФАМИЛИЯ

Вариант 6

Тестовые значения: x = –0,17; z = 3,81

Формат вывода:

ГРУППА – N

ВАРИАНТ – N

--------------------------------------------------

: Х: Z:

: -0.17: 3.81:

--------------------------------------------------

: C=2.64E+0004:

--------------------------------------------------

ФАМИЛИЯ

Вариант 7

Тестовые значения: а = 0,672

Формат вывода:

ГРУППА – N

ВАРИАНТ – N

----------------------------------------------

:::

: A: B:

:::

----------------------------------------------

:::

: 0.672: 1.896:

:::

----------------------------------------------

ФАМИЛИЯ

Вариант 8

Тестовые значения: x = 0,85; y = 2,34

Формат вывода:

ГРУППА – N

ВАРИАНТ – N

---------------------------------------------------------

::

: X=0.85, Y=2.34, F=1.0736E+0001:

::

---------------------------------------------------

ФАМИЛИЯ

Вариант 9

Тестовые значения: a = 0,53; b = 1,87

Формат вывода:

ГРУППА – N

ВАРИАНТ – N

-------------------------------------------

: A=0.53:

: B=1.87:

: W=-1.265E+0000:

-------------------------------------------

ФАМИЛИЯ

Вариант 10

Тестовые значения: x = –0,25; a = 0,31

Формат вывода:

ГРУППА – N

ВАРИАНТ – N

FOR: --------------------------------------

-----------::

X=-0.25: Y=-5.266E-0001:

A=0.31::

--------------------------------------

ФАМИЛИЯ

Вариант 11

Тестовые значения: x = 1,25; y = –2,14

Формат вывода:

ГРУППА – N

ВАРИАНТ – N

..

Y. -2.14

X..

------------------------------------------

.

1.25. Z=-3.32E+0001

.

ФАМИЛИЯ

Вариант 12

Тестовые значения: a = 1,87

Формат вывода:

ГРУППА – N

ВАРИАНТ – N

----------------------------------------------

::

A=1.87: Z=-1.367E-0001:

::

----------------------------------------------

ФАМИЛИЯ

Вариант 13

Тестовые значения: x = 3,89; a = 4,01

Формат вывода:

ГРУППА – N

ВАРИАНТ – N

------------------------------------------------

X=3.89; A=4.01;

Z=2.394E+0000

------------------------------------------------

ФАМИЛИЯ

Вариант 14

Тестовые значения: x= 0,97; a= 2,34

Формат вывода:

ГРУППА – N

ВАРИАНТ – N

-------------------------------------------

: X=0.97: A=2.34:

-------------------------------------------

::

: Y=7.44E-0001:

::

-------------------------------------------

ФАМИЛИЯ

Вариант 15

Тестовые значения: x = 2,17; a = 0,11

Формат вывода:

ГРУППА – N

ВАРИАНТ – N

------------------------------------------

: A=0.11:

------------------------------------------

: X=2.17:

------------------------------------------

: Z=7.144E+0001:

------------------------------------------

ФАМИЛИЯ

Лабораторная работа № 2
Алгоритмизация линейных вычислительных процессов

Задание 1.

Дано действительное число A. Не пользуясь никакими другими арифметическими операциями, кроме умножения, получить A10 за 4 операции.

Задание 2.

Треугольник задан длинами сторон. Найти длины высот, радиусы вписанной и описанной окружностей.

Задание 3.

В некотором треугольнике основание больше высоты на заданную величину d. Определить значение высоты и основания, если известна величина площади треугольника.

Задание 4.

Известны координаты вершин треугольника. Определить периметр и площадь треугольника.

Задание 5.

Имеется кольцо с известными радиусами внутреннего и внешнего кругов. Определить длины окружностей обоих кругов, а также площадь кольца.

Задание 6.

Определить площадь равнобедренной трапеции, если заданы основание b, высота h и угол при основании b, равный L.

Лабораторная работа № 3
Разветвляющиеся вычислительные процессы

Задание 1.

Разработать программу для аналитического вычисления корней квадратного уравнения при любых вещественных a, b, c.

Задание 2.

Ввести с клавиатуры 3 целых числа. Определить и выдать на экран те числа, которые попадают в диапазон от 2 до 5. Если число попадает на границу интервала, то сообщить об этом.

Задание 3.

Определить, находится ли точка с координатами (x, y, z) внутри шара с центром в точке и радиусом R.

Задание 4.

Дано натуральное число n (n ≤ 9999). Является ли это число палиндромом (перевертышем) с учетом четырех цифр, как, например, числа 2222, 6116, 0440 и т.д.?

Задание 5.

Дано натуральное число n (n ≤ 100), определяющее возраст человека (в годах). Дать для этого числа наименования «год», «года», «лет». Например, 1 год, 23 года, 46 лет и т.д.

Задание 6.

Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число – номер вертикали (при счете слева направо), второе – номер горизонтали (при чете снизу вверх) Даны натуральные числа k, l, m, n, каждое из которых не превосходит восьми. Требуется:

1. выяснить, являются ли поля с координатами (k, l) и (m, n) полями одного цвета;

2. выяснить, угрожает ли ферзь, стоящий на поле с координатами (k, l), полю (m, n).

Лабораторная работа № 4
Организация итерационных циклических процессов

Задание 1.

Необходимо ввести с клавиатуры значения трех вещественных переменных a, b, h. И вывести на экран таблицу с двумя столбцами – x, f(x) последовательности значений переменной x и функции f(x) на отрезке [a; b], с шагом h > 0. Реализовать три программы:

1. Использовать цикл с предусловием;

2. Использовать цикл с постусловием;

3. Использовать цикл с параметром.

Задание 2.

Дано натуральное число N. Не используя строковые переменные, вывести в столбик это число. Для решения использовать функции целочисленного деления и вычисления остатка от деления целых чисел.

Задание 3.

Методом итераций вычислить корень уравнения вида f(x)=0, расположенный в интервале [A, B], с абсолютной погрешностью в соответствии с вариантом задания. Определить также число итераций, необходимое для нахождения корня. Использовать все типы циклов.

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

Лабораторная работа № 5
Организация циклических процессов с известным числом повторений

Задание 1.

Ввести с клавиатуры натуральное число N. И с помощью цикла вычислить:

1.

2. N!

3.

4. (N-корней)

Задание 2.

Ввести с клавиатуры действительное число A и натуральное число N. Вычислить с помощью цикла:

1.

2.

Задание 3.

Получить целочисленную квадратную матрицу размерностью NхN, элементами которой являются числа , расположенные в матрице по спирали.

1 2 3 4 5 6 7

24 25 26 27 28 29 8

23 40 41 42 43 30 9

22 39 48 49 44 31 10

21 38 47 46 45 32 11

20 37 36 35 34 33 12

19 18 17 16 15 14 13

Задание 4.

Даны два конечных множества А и В, элементами которых могут быть любые целые числа в диапазоне от 1 до 30. Ввести множества с клавиатуры, найти их прямое произведение и вывести его на экран.

Лабораторная работа № 6
Организация вложенных циклических процессов

Задание 1.

Ввести с клавиатуры натуральное число N. Используя два вложенных цикла вывести на экран таблицу Пифагора – таблицу умножения двух чисел в виде:

1 2 3 4 5 … N

2 4 6 8 10 … 2N

3 6 9 12 15 … 3N

4 8 12 16 20 … 4N

5 10 15 20 25 … 5N

… … … … … … …

N 2N 3N 4N 5N …

Задание 2.

Ввести с клавиатуры натуральное число N < 12. Используя циклы, вывести треугольник паскаля длины N двумя способами:

Вариант 1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

1 7 21 35 35 21 7 1

Вариант 2

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

1 7 21 35 35 21 7 1

Треугольник Паскаля - арифметический треугольник, образованный биномиальными коэффициентами. Назван в честь ученого Блеза Паскаля. Если очертить треугольник Паскаля, то получится равнобедренный треугольник. В этом треугольнике на вершине и по бокам стоят единицы. Каждое число равно сумме двух расположенных над ним чисел. Продолжать треугольник можно бесконечно. Строки треугольника симметричны относительно вертикальной оси.

Лабораторная работа № 7
Работа с одномерным массивом

Задание 1.

Используя массив, посчитать степень числа 2 от 0 до 20 и вывести на экран результаты в следующем виде:

2^0=1

2^1=2

2^2=4

2^20=1048576

Задание 2.

Ввести с клавиатуры 10 целых чисел в массив A. Переписать их в массив B. При этом если число в массиве A отрицательно, то в массив B на соответствующее место заносить 0. Вывести A и B.

Задание 3.

Расположить в массиве R сначала положительные, а затем отрицательные элементы массива Z.

Задание 4.

Ввести в массив 10 чисел. Определить, какие из них больше своих соседей.

Задание 5.

Определить сумму элементов массива N, кратных M.

Задание 6.

Ввести с клавиатуры целочисленный массив A длиной N и выполнить следующие действия:

1. вычислить среднее арифметическое всех элементов массива;

2. вычислить среднее геометрическое всех элементов массива;

3. определить максимальный и минимальный элемент массива A и его порядковый номер;

4. найти максимальный и минимальный элементы массива A и поменять их местами.

Лабораторная работа № 8
Работа с двумерными массивом

Задание 1.

Ввести число N – порядок квадратной матрицы. Последовательно по строкам ввести с клавиатуры все элементы матрицы. Вывести матрицу на экран и сообщить, какой элемент является минимальным и его координаты, а какой максимальным и его координаты.

Задание 2.

Ввести числа N и M – размер матрицы. Последовательно по строкам ввести с клавиатуры все элементы матрицы. Найти в каждой строке матрицы наибольший элемент, поменять его местами с элементом главной диагонали, а на его место записать минимальный элемент этой строки. Вывести матрицу на экран в форме таблицы.

Задание 3.

Ввести числа N и M – размер матрицы. Последовательно по строкам ввести с клавиатуры все элементы матрицы. Вычислить и запомнить суммы и числа элементов каждой строки матрицы. Результаты отобразить в виде двух столбцов.

Задание 4.

Ввести числа N и M – размер матрицы. Последовательно по строкам ввести с клавиатуры все элементы матрицы. Вычислить и запомнить сумму и число положительных элементов каждого столбца матрицы. Результаты отобразить в виде двух строк.

Задание 5.

Ввести числа N и M – размер матрицы. Последовательно по строкам ввести с клавиатуры все элементы матрицы. Вычислить:

1. произведение и число элементов матрицы, находящихся под главной диагональю;

2. сумму и число элементов матрицы, находящихся над главной диагональю;

3. произведение и число положительных элементов матрицы, находящихся под главной диагональю

4. сумму и число отрицательных элементов матрицы, находящихся над главной диагональю

Лабораторная работа № 9
Методы сортировки массива

Задание 1.

Написать программу, в которой используются три метода сортировки:

1. Сортировка «пузырьком».

2. Сортировка выбором.

3. Сортировка вставками.

Программа должна автоматизировать следующие действия:

1. Задать начальный размер сортируемого массива (подбирается самостоятельно, например, 5 тысяч элементов или более).

2. Заполнить массив случайным образом целочисленными константами из диапазона [–1000; 1000].

3. Запомнить несортированный массив, а затем засечь время T1 его сортировки первым методом.

4. Восстановить несортированный массив и засечь время T2 сортировки вторым методом.

5. Восстановить несортированный массив и засечь время сортировки T3 третьим методом.

6. Зафиксировать результат в одну строчку таблицы со столбцами – N, T1, T2, T3.

7. Увеличить размер массива, например, на 10 тысяч элементов, и повторить п. 2-7, как минимум 10 раз (или более).

8. В результате получается таблица (выдается на экран) со столбцами N, T1, T2, T3 и как минимум 10 строк.

Далее в отчете построить графики зависимостей Т1(N), Т2(N), Т3(N) по точкам из таблицы.

Графики можно строить вручную, или в EXCEL, или в самой программе, используя руководство к лабораторной работе для построения графиков в консольном приложении (в текстовом режиме).

Сделать в отчете выводы по графикам.

Используя руководство по аппроксимации функций, найти формулы для зависимостей Т1(N), Т2(N), Т3(N), и сделать в отчете выводы, а также дать прогнозы по времени сортировки при N→∞.

Лабораторная работа № 10
Работа с указателями. Динамическое выделение памяти

Задание 1.

Программа по созданию двухсвязного списка студентов содержащего следующую информацию о них:

1. Фамилия;

2. Стипендия;

3. Группа;

4. Номер зачетной книжки;

Разработать следующие функции:

1. Функция создания списка;

2. Функция вставки узла после текущего;

3. Функция удаления текущего узла (учесть, что текущий узел может совпадать с головой списка, с хвостом списка, быть единственным элементом в списке);

4. Функция обхода и вывода списка на экран;

5. Функция добавления узла в голову списка, в хвост, перед текущим узлом;

6. Функция поиска данных в списке по фамилии, стипендии, группе, номеру зачетной книжки (учесть возможность поиска по стипендии с условиями >, <, =).

Организовать текстовое меню, позволяющее пользователю осуществлять любые из указанных выше действий.

Задание 2.

Используя записи и указатели, а также функции динамического распределения памяти, реализовать программу для алгоритма Дейкстра. Обязательно учесть ошибки ввода.

Алгоритм Дейкстра – алгоритм перевода выражения в обратную польскую запись. Обратная польская запись представляет собой промежуточную форму выражения, которая используется в компиляторах и интерпретаторах для вычисления значения выражения. В обратной польской записи отсутствуют скобки, а операции всегда следуют за операндами, а не между ними.

Алгоритм Дейкстра

1. В стек (стек – это структура данных, хранящая совокупность однотипных элементов, которые поступают в стек и выходят из него по правилу «последний вошел - первый вышел») будут помещаться только символы операций.

2. Символы операндов из входной строки поступают сразу в выходную строку.

3. Символы операций сначала поступают в стек и при определенных условиях выталкиваются в выходную строку.

4. Открывающаяся скобка всегда попадает в стек.

5. Закрывающаяся скобка ни в стек, ни в выходную строку не попадает.

6. Когда встречается в выходной строке закрывающаяся скобка, из стека выталкиваются все символы до первой встречной открывающейся скобки включительно. Причем знаки операций выталкиваются в выходную строку, а открывающаяся скобка пропадает.

7. Необходимо использовать приоритеты операций:

- (0

- +, - 1

- *, / 2

Чем больше значение приоритета, тем сильнее операция связывает операнды.

8. Если во входной строке текущий символ – знак операции, то сравниваются приоритеты операций из строки и верхушки стека.

9. Если приоритет операции из входной строки больше приоритета операции из верхушки стека, то операция из входной строки стека перемещается в стек. В противном случае из стека выталкиваются все операции с приоритетами большими либо равными приоритетам операций из входной строки. После чего операция из входной строки помещается в стек.

10. При встрече конца входной строки содержимое стека выталкивается в выходную строку.

Пример: Входная строка: (a+b*c)*(a-b)/(d-(a+b*d))

Стек:

( + * * ( - * / ( - ( + * - /
  ( +   * (     / ( - ( + (  
    (     *       / ( - ( /  
                    / ( -    
                      / (    
                        /    

Выходная строка: abc*+ab-*dabd*+-/

Рекомендации.

1. Стек можно рассматривать как случай списка. Для стека обязательно наличие указателя на вершину.

2. Если стек пуст, то указатель на вершину пустой (NIL).

3. Для данного примера данные в структуре списка это символы и числа (приоритеты).

4. Для работы со стеком необходимы как минимум две процедуры: push(втолкнуть) и pop(вытолкнуть). Для процедуры push необходимы два параметра (символ и приоритет); для процедуры pop в общем случае параметры не нужны, но в нашем примере необходим один параметр типа bool (true – выталкивать в выходную строку; false –выталкивать, но не в выходную строку).

5. Желательно написать функцию, которая бы по входному параметру-символу выдавала его приоритет.

Лабораторная работа № 11
Структуры

Задание 1.

Создать массив записей размером N с информацией о студенте: ФИО, Пол, год рождения, стипендия, адрес. Ввести в массив данные о некоторых студентах группы, а затем вывести информацию из массива на экран:

1. всех студентов и их данные;

2. студентов мужского/женского пола;

3. ФИО и адреса студентов с максимальной и минимальной стипендией.

Задание 2.

Используя записи разработать программу сложения и умножения комплексных чисел.

Задание 3.

Используя перечисляемый тип, определить тип «дни недели» и выдать все «черные» пятницы указанного года (т.е. число месяца равно 13, а день недели – пятница).

Задание 4.

Используя ограниченный тип для дней в месяце и месяцев в году, написать программу, которая переменной t присваивает значения true, если первая введенная дата (пара чисел {день, месяц}) предшествует (в рамках года) второй дате, и значение false в противном случае. Затем программа выводит соответствующее сообщение на экран. После ввода осуществить проверку корректности введенных дат.

Лабораторная работа № 12
Функции. Передача в функцию переменных, массивов, структур

Задание 1.

Написать функцию поиска максимального и максимального элемента в одномерном двумерном вещественном массиве. Ввести с клавиатуры два одномерных два двумерных вещественных массива A, B, C, D размерами N, M, P, T и вывести на экран минимальный и максимальный элемент в каждом массиве, использую разработанные функции.

Задание 2.

Написать подпрограмму интегрирования на интервале [A,B] функции Y(x) методом трапеций, используя формальные параметры-функции.

1.

2.

3.

4.

5.

6.

7.

8.

9.

10. )

11.

12.

13.

14.

15.

Задание 3.

Написать функцию, результатом работы которой является истинное значение, если символ, передаваемый в функцию, является буквой, и ложное значение в противном случае. В программе эту функцию использовать в цикле и выдавать сообщение на экран о введенных символах (т.е. если введенный символ - буква, сообщать ИСТИНА, цифра – ЛОЖЬ).

Задание 4.

Написать функцию, позволяющую определить позицию самого правого вхождения заданного символа в исходную строку. Если строка не содержит символа, результатом работы процедуры является значение «-1».

Задание 5.

Написать функцию, способную вычислять любые степени: положительные и отрицательные, целочисленные и действительные.

Лабораторная работа № 13
Работа с битами

Задание 1.

Посчитать сколько нулей в числе с A по B бит, включая эти биты. A и B вводятся с клавиатуры.

Задание 2.

Старший бит старшего байта поменять местами с младшим битом младшего байта. После этого проверить все числа массива на четность.

Задание 3.

Инвертировать все биты с A по B включая эти биты. A и B вводятся с клавиатуры.

Задание 4.

Определить на сколько в числе А больше значащих битов, что равны единице, чем битов, что равны нулю.

Задание 5.

Используя битовые операции проверить кратно ли число А номеру варианта.

Задание 6.

Установить в единицу каждый второй значащий бит целого числа А.

Лабораторная работа № 14
Работа с файлами

Задание 1.

Необходимо чтобы информация, набираемая на клавиатуре, записывалась в файл с именем a.txt.

Задание 2.

В файле a.txt было записано три символа «aaa», заменить их на «aca». Использовать двоичный файл.

Задание 3.

Дан текстовый файл. Необходимо ввести с клавиатуры строку символов и выдавать на экран номер позиции в текстовом файле, начиная с которой эта подстрока в нём встречается, и соответствующее сообщение, если этой подстроки нет.

Задание 4.

Ввести с клавиатуры целые числа. Записать их в файл. В конце файла записать сумму этих чисел и их среднее арифметическое. Использовать текстовый файл.

Задание 5.

Ввести с клавиатуры вещественные числа и вывести в файл эти числа. В конце вывести среднее геометрическое этих чисел. Использовать двоичный файл.

Задание 6.

Разработать программу копирования двоичного файла.

Задание 7.

Дан текстовый файл f, компоненты которого являются целыми числами. Получить файл g, образованный из файла f исключением повторных вхождений одного и того же числа.

Задание 8.

Создать текстовый файл, в котором содержались бы данные о студентах. Необходимо ввести данные с клавиатуры, записать их в файл, вывести содержимое из файла на экран и удалить любую информацию о каком либо студенте по его фамилии.

Задание 9.

Дан двоичный файл, в котором находятся 6 вещественных чисел, которые представляют собой координаты трех вершин треугольника. Выдать на экран, какого типа этот треугольник (равносторонний, равнобедренный, прямоугольный, тупоугольный, остроугольный) и могут ли эти три точки являться вершинами треугольника.

Задание 10.

Дан текстовый файл. Подсчитать в нем общее количество символов, преобразовать эту величину к размеру файла в килобайтах, вывести также количество пробелов в файле и количество строк. Все данные просчитать в одном цикле.

Лабораторная работа № 15
Работа со строками

Задание 1.

Ввести строку S и символ CH. Найти в строке S первую букву CH и удалить следующую за ней часть строки.

Задание 2.

Ввести строку с пробелами и выделить из предложения первое слово (слова разделены пробелом). Вывести также на экран длину строки.

Задание 3.

Ввести строки S1 и S2. Определить, начиная с какой позиции строка S2 входит в строку S1.

Задание 4.

Ввести строки S1 и S2 и число N. Вставить в строку S1 подстроку S2 с позиции N.

Задание 5.

Ввести строки S1, S2 и S3. Заменить в строке S1 все строки S2 на строку S3.

Задание 6.

Ввести длинную строку s1 и шаблон s подсчитать сколько раз входит шаблон s в строку s1.

Задание 7.

Ввести небольшой текст (с пробелами) в строку s. Подсчитать количество слов в строке и вывести все слова в столбик.

Задание 8.

Вывести таблицу «символ-код» для введенного диапазона кодов.

Задание 9.

Ввести строку S. Вывести в столбик символы и их коды для этой строки.

Задание 10.

Ввести строку S. Вывести строку дважды, преобразовав все символы сначала в верхний, а затем в нижний регистр.





Дата публикования: 2015-11-01; Прочитано: 702 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.088 с)...