Лабораторные работы по с#

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

Цель работы: освоить ввод-вывод данных, преобразование типов, применение условного оператора.

Пример выполнения работы

Задание.
Требуется написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы.








Решение.
Заштрихованная область находится ниже параболы, т.е. 13 EMBED Equation.3 1415, выше прямой, т.е. 13 EMBED Equation.3 1415, а также выше оси ОХ, т.е. 13 EMBED Equation.3 1415. Таким образом, чтобы точка попала в заштрихованную область, должны выполниться три вышеперечисленных условия.

Текст программы:

using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
double x, y;
Console.Write("Введите x: ");
x = Convert.ToDouble(Console.ReadLine());
Console.Write("Введите y: ");
y = Convert.ToDouble(Console.ReadLine());
if ((y <= 2-x * x) && ((y >= x) || (y >= 0)))
{
Console.WriteLine("Точка попадает в заштрихованную область");
}
else Console.WriteLine("Точка не попадает в заштрихованную область");
Console.ReadLine();
}
}
}

Результат тестирования
1.

2.


Результат ручного счета
1.
13 EMBED Equation.3 1415 - истина
13 EMBED Equation.3 1415 - истина
истина И истина = истина
Результат: точка попадает.

2.
13 EMBED Equation.3 1415 - истина
13 EMBED Equation.3 1415 - ложь
истина И ложь = ложь
Результат: точка не попадает.

Вывод: результаты работы программы совпали с результатами ручного счета, следовательно, программа работает верно.

Варианты для самостоятельной работы

Задание 1

Вариант 1. Записать условие, которое является истинным , когда целое А кратно двум или трем.
Вариант 2. Записать условие, которое является истинным, когда каждое из чисел А и В нечетное.
Вариант 3. Записать логическое выражение, описывающее область определения функции а) y=2tg x; б) у=3/(x-1).
Вариант 4. Записать логическое выражение определяющее, что число А является трехзначным.
Вариант 5. Записать условие, которое является истинным, когда только одно из чисел А, В и С меньше 45.
Вариант 6. Записать условие, которое является истинным, когда целое А не кратно трем и оканчивается нулем.
Вариант 7. Записать логическое выражение, которое определяет, принадлежит ли число А интервалу от -137 до -51 или интервалу от 123 до 55.
Вариант 8. Записать условие, которое является истинным, когда только одно из чисел X, Y и Z кратно пяти.
Вариант 9. Записать условие, которое является истинным, когда хотя бы одно из чисел X, Y и Z больше 80.
Вариант 10. Записать логическое выражение, описывающее область определения функции у=x/(x-3)2.
Вариант 11. Записать логическое выражение, которые определяют, что число А не принадлежит интервалу от -10 до -1 или интервалу от 2 до 15.
Вариант 12. Записать логическое выражение, которые определяет, что число А является четырехзначным, но не равно 4999.
Вариант 13. Записать логическое выражение, определяющее какая дробь больше А/B или C/D.
Вариант 14. Записать логическое выражение, описывающее область определения функции у= 1/(x-3)2.
Вариант 15. Записать логическое выражение, описывающее область определения функции y= сtg 2x.
Вариант 16. Записать логическое выражение, описывающее область определения и область изменения функции у= 1/x2.
Вариант 17. Вычислить значение логического выражения а) 13 EMBED Equation.3 1415 при x=1, y=2; б) 13 EMBED Equation.3 1415 при x=2, y=1.
Вариант 18. Вычислить значение логического выражения а) 13 EMBED Equation.3 1415 при x=1, y=2; б) 13 EMBED Equation.3 1415 при x=2, y=1.
Вариант 19. Вычислить значения логических выражений при следующих значениях логических переменных А=1, В=0, С=1 a) 13 EMBED Equation.3 1415 б) 13 EMBED Equation.3 1415 в) 13 EMBED Equation.3 1415.
Вариант 20. Вычислить значение логического выражения
а) 13 EMBED Equation.3 1415 при x=1, y=2.

Задание 2
Требуется написать программу, которая вводит с клавиатуры координаты точки на плоскости (x, y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы.


























































Контрольные вопросы
Какие вам известны типы данных?
В каком месте программы можно объявлять переменные?
Какие способы преобразования типов данных вам известны?
Какие логические операции знаете?
Структура разветвляющегося оператора.
Лабораторная работа № 2 Циклические процессы
Цель работы: освоить применение операторов цикла и организации циклического процесса.

Пример выполнения работы

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

Решение.
Десятичное число X в системе с основанием N является двузначным, если выполняется неравенство 13 EMBED Equation.3 1415 (1).

Текст программы:

using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int a, min;
min = 10001;
Console.WriteLine("Введите 5 чисел");
for (int i = 1; i <= 5; i++)
{
a = Convert.ToInt32(Console.ReadLine());
if ((a < min) && (a >= 16) && (a < 16 * 16))
{
min = a;
}
}
if (min == 10001)
Console.WriteLine("Таких чисел нет");
else
Console.WriteLine("Минимальное значение" + min);
}
}
}

Результат тестирования
1.



2.


Результат ручного счета
Из чисел, удовлетворяющих неравенству (1) минимальным является число 20. Результат: минимальное число 20.
Ни одно число не удовлетворяет неравенству (1). Результат: Таких чисел нет.

Вывод: результаты работы программы совпали с результатами ручного счета, следовательно, программа работает верно.

Задание 2. Вычислять сумму ряда до тех пор, пока слагаемые меньше заданной точности e. Вывести сумму ряда.
13 EMBED Equation.3 1415
Решение
Текст программы.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int k, n=1;
double x, a, b, s, e;
Console.WriteLine("Введите значение x ");
x = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Введите точность e ");
e = Convert.ToDouble(Console.ReadLine());
a = x;
b = a;
k=1;
s = 0;
whil
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·Сумма ряда " +s);
Console.ReadLine();
}
}
}

Результат тестирования.

Результат ручного счета
s= 2 - 2,666 + 6,4 – 18,286 = -12,552

Вывод: результаты работы программы совпали с результатами ручного счета, следовательно, программа работает верно.

Варианты для самостоятельной работы

Задание 1.

Вариант 1. Вводятся 10 целых чисел. Определить количество положительных чисел и количество чисел, значения которых находятся в интервале –10 до -20. Для хранения чисел массив не использовать.
Вариант 2. Вводятся 10 целых чисел. Определить сумму положительных четных чисел. Для хранения чисел массив не использовать.
Вариант 3. Вводятся 10 целых чисел в диапазоне от 1 до 10000 включительно. Найти и вывести наибольшее число, шестнадцатеричная запись которого оканчивается на букву F. Если таких чисел нет, нужно вывести ответ 0.
Вариант 4. Вводятся 10 целых положительных чисел. Определить максимальное четное число и его порядковый номер. Для хранения чисел массив не использовать.
Вариант 5. Вводятся 10 вещественных чисел. Определить наименьшее отрицательное число и его порядковый номер. Для хранения чисел массив не использовать.
Вариант 6. Вводятся 10 целых чисел. Определить третье положительное число и подсчитать количество цифр в нем. Для хранения чисел массив не использовать.
Вариант 7. Вводятся 10 целых чисел в диапазоне от 1 до 10000 включительно. Найти и вывести наименьшее число, восьмеричная запись которого оканчивается на цифру 7. Если таких чисел нет, нужно вывести ответ 0.
Вариант 8. Вводятся 10 целых чисел выдать на печать TRUE, если значение максимального числа больше числа 10. Для хранения чисел массив не использовать.
Вариант 9. Вводятся 10 вещественных чисел. Подсчитать произведение чисел, кратных 3. Для хранения чисел массив не использовать.
Вариант 10. Вводятся 10 чисел. Сравнить, что больше: сумма положительных или произведение отрицательных чисел. Для хранения чисел массив не использовать.
Вариант 11. Вводятся 10 целых чисел в диапазоне от 1 до 10000 включительно. Найти и вывести наибольшее число, восьмеричная запись которого содержит ровно три цифры. Если таких чисел нет, нужно вывести ответ 0.
Вариант 12. Вводятся 10 чисел. Определить предпоследнее отрицательное число. Для хранения чисел массив не использовать.
Вариант 13. Вычислить сумму ряда из n слагаемых, общий член которого задан формулой 13EMBED Equation.31415 .
Вариант 14. При табулировании функции y=cos(x+a) на отрезке [1,10] c шагом h определить сумму значений y, больших значения Р.
Вариант 15. Вводятся 10 целых чисел в диапазоне от 1 до 10000 включительно. Найти и вывести наибольшее из чисел, восьмеричная запись которых содержит не менее трёх цифр и оканчивается на 5. Если таких чисел нет, нужно вывести ответ 0.
Вариант 16. Вводятся 10 целых чисел в диапазоне от 1 до 10000 включительно. Найти и вывести наименьшее из чисел, шестнадцатеричная запись которых содержит не менее трёх цифр и оканчивается на букву C. Если таких чисел нет, нужно вывести ответ 0.
Вариант 17. Вводятся 10 целых чисел в диапазоне от 1 до 10000 включительно. Найти и вывести количество чисел, восьмеричная запись которого содержит ровно две цифры, причём первая (старшая) цифра меньше второй (младшей).
Вариант 18. Вводятся 10 целых чисел в диапазоне от 1 до 10000 включительно. Найти и вывести минимальное число, шестнадцатеричная запись которого содержит ровно две цифры, причём вторая (младшая) цифра – это буква (от A до F). Если таких чисел нет, нужно вывести ответ 0.
Вариант 19. Вводятся 10 целых неотрицательных чисел, не превосходящие 10000. Найти и вывести минимальное трехзначное число. Если таких чисел нет, нужно вывести сообщение «Таких чисел нет».

Вариант 20. Вводятся 10 целых чисел в интервале от -1000 до 1000. Найти минимальное значение из всех нечетных чисел, которые делятся на 5. Гарантируется, что хотя бы одно такое число существует.
Задание 2.
Вычислять сумму ряда до тех пор, пока слагаемые больше заданной точности e. Вывести сумму ряда, количество членов ряда и последнее слагаемое.
Вариант 1. 13 EMBED Equation.3 1415
Вариант 2. 13 EMBED Equation.3 1415
Вариант 3. 13 EMBED Equation.3 1415
Вариант 4. 13 EMBED Equation.3 1415
Вариант 5. 13 EMBED Equation.3 1415
Вариант 6. 13 EMBED Equation.3 1415
Вариант 7. 13 EMBED Equation.3 1415
Вариант 8. 13 EMBED Equation.3 1415
Вариант 9. 13 EMBED Equation.3 1415
Вариант 10. 13 EMBED Equation.3 1415
Вариант 11. 13 EMBED Equation.3 1415
Вариант 12. 13 EMBED Equation.3 1415
Вариант 13. 13 EMBED Equation.3 1415
Вариант 14. 13 EMBED Equation.3 1415
Вариант 15. 13 EMBED Equation.3 1415
Вариант 16. 13 EMBED Equation.3 1415
Вариант 17. 13 EMBED Equation.3 1415
Вариант 18. 13 EMBED Equation.3 1415
Вариант 19. 13 EMBED Equation.3 1415
Вариант 20. 13 EMBED Equation.3 1415
Контрольные вопросы

В каких случаях удобней применять цикл for ?
Что называется параметром цикла?
Что называется телом цикла?
Лабораторная работа № 3 Работа с массивами

Цель работы: освоить работу с массивами.

Варианты для самостоятельной работы

Задание 1.

Вариант 1. Дан целочисленный вектор Т(m). Изменить знак всех элементов с четными индексами на противоположный.
Вариант 2. Массив К(n) заполнен случайными числами от -15 до 15. Определить количество отрицательных элементов и их индексы.
Вариант 3. В заданном массиве М(15) заменить нулевые элементы квадратами их индексов.
Вариант 4. В массиве А(20) поменять местами соседние четные и нечетные по номеру элементы. Дополнительные массивы не использовать.
Вариант 5. Задан массив А(n). Вычислить сумму произведений всех пар соседних чисел.
Вариант 6. Дан целочисленный вектор М(15). Определить число соседств из двух чисел разного знака.
Вариант 7. Дан одномерный числовой массив Т(к). Вычислить сумму произведений всех троек соседних чисел.
Вариант 8. Проверить, имеется ли в данном массиве Y(10) хотя бы одна пара чисел, совпадающих по величине.
Вариант 9. Определить в данном векторе Р(m) количество пар соседних чисел, являющихся противоположными.
Вариант 10. Заполнить одномерный массив В(n) так, чтобы каждый элемент с четным индексом был равен половине своего номера, а каждый элемент с нечетным индексом - 0. Вариант 11. Сформировать одномерный массив по следующему принципу: четные элементы равны квадрату индекса, а нечетные его обратной величине.
Вариант 12. Даны два массива А(10) и В(10).Сформировать С(10) такой, что Сi=Аi/Bi, если i нечетное, и Ci=Ai*Bi, если i четное.
Вариант 13. Задан вектор М(n).Определить произведение нечетных элементов, имеющих четные индексы.
Вариант 14. В массиве В(к) найти номера элементов, удовлетворяющих условию C1Вариант 15. Дан одномерный массив Н(n).Определить индексы всех равных элементов.
Вариант 16. Задан вектор А(10).Определить, сколько содержится в нем различных чисел.
Вариант 17. Дан массив В(n), содержащий большое количество нулевых элементов. Заменить все группы подряд встречающихся нулей на один нуль.
Вариант 18. Дан массив Х(к), содержащий большое количество нулевых элементов. Заменить группы элементов, состоящие из нечетного количества нулей, на один нулевой элемент, а из четного - на два.
Вариант 19. Дан массив Y(n), содержащий большое количество нулевых элементов. Заменить все группы подряд встречающихся нулей на элемент, состоящий из двух цифр, где первая цифра - 0, а вторая - количество нулей в группе.
Вариант 20. Заданы два одномерных массива А(15) и В(15). Сформировать массив С(30), содержащий элементы обоих массивов, расположенные в порядке возрастания.

Задание 2

Вариант 1. Дано целое число в двоичной системе счисления, т.е. последовательность цифр 0 и 1. Составить программу перевода этого числа в десятичную систему счисления.
Вариант 2. Дано целое число в двоичной системе счисления, т.е. последовательность цифр 0 и 1. Составить программу перевода этого числа в восьмеричную систему счисления.
Вариант 3. Дано целое число в двоичной системе счисления, т.е. последовательность цифр 0 и 1. Составить программу перевода этого числа в шестнадцатеричную систему счисления.
Вариант 4. Дано дробное число в двоичной системе счисления, т.е. последовательность цифр 0 и 1, разделенных точкой. Составить программу перевода этого числа в десятичную систему счисления.
Вариант 5. Дано дробное число в двоичной системе счисления, т.е. последовательность цифр 0 и 1, разделенных точкой. Составить программу перевода этого числа в восьмеричную систему счисления.
Вариант 6. Дано дробное число в двоичной системе счисления, т.е. последовательность цифр 0 и 1, разделенных точкой. Составить программу перевода этого числа в шестнадцатеричную систему счисления.
Вариант 7. Ввести массив, состоящий из 15-ти элементов (двузначные целые числа). Изменить разрядность цифр, образующих элементы исходного массива и, таким образом, сформировать новый массив. Например, исходный массив: 25 71 84, новый массив: 52 17 48.
Вариант 8. Ввести массив, состоящий из 9 элементов (девять двузначных чисел восьмеричной системе счисления) . Сформировать новый массив путем перевода значений элементов исходного массива в десятичную систему счисления.
Вариант 9. Ввести целочисленный массив, состоящий из 7 элементов (семь двузначных чисел). Получить новый массив, состоящий из цифр элементов исходного массива, стоящих в старших разрядах.
Вариант 10. Ввести два массива действительных чисел, состоящих из 7 и 9 элементов. Сформировать третий массив из упорядоченных по убыванию значений обоих массивов.
Вариант 11. Дан массив, состоящий из
· 12 двоичных чисел. Удалить элементы, которые встречаются более двух раз.
Вариант 12. Ввести массив, в котором только два одинаковых элемента. Определить их местоположение.
Вариант 13. Дано целое число в двоичной системе счисления, т.е. последовательность цифр 0 и 1. Осуществить циклический сдвиг элементов массива влево на две позиции. Определить разность исходного и полученного после сдвига числа.
Вариант 14. Задан массив чисел в двоичной системе счисления. Упорядочить элементы массива по убыванию. Определить сумму чисел.
Вариант 15. Задан массив чисел в двоичной системе счисления. Упорядочить элементы массива по возрастанию. Определить среднее значение чисел.
Вариант 16. Задан массив чисел в двоичной системе счисления. Поменять местами максимальный и минимальный элементы.
Вариант 17. Дано целое число в двоичной системе счисления, т.е. последовательность цифр 0 и 1. Осуществить циклический сдвиг элементов массива вправо на одну позицию. Определить сумму исходного и полученного после сдвига числа.
Вариант 18. Задан целочисленный массив. Определить разность между суммой значений элементов массива на участках, где элементы монотонно возрастают (каждое следующее число больше предыдущего) и суммой значений элементов массива на участках, где элементы монотонно убывают (каждое следующее число меньше предыдущего).
Вариант 19. Задан целочисленный массив. Определить, образуют ли значения его элементов арифметическую прогрессию. Если «да» – вывести разность прогрессии, если «нет» – ответ «не образуют».
Вариант 20. Задан целочисленный массив. Определить, образуют ли значения его элементов геометрическую прогрессию. Если «да» – вывести знаменатель прогрессии, если «нет» – ответ «не образуют».
Задание 3

Вариант 1. Элементы матрицы A сделать с помощью генератора случайных чисел. Сделать новую матрицу B , в которой удалить с матрицы А ряд, в котором минимальный элемент среди элементов главной диагонали.
Вариант 2. Составить программу, которая заполняет квадратную матрицу порядка n натуральными числами 1, 2, 3, .. ., n2,записывая их в нее "по спирали" против часовой стрелки.
Вариант 3. Составить программу, которая заполняет квадратную матрицу порядка n натуральными числами 1, 2, 3, .. ., n2, записывая их в нее "по спирали" по часовой стрелке.
Вариант 4. Написать программу, которая в матрице чисел A(N,M) находит все элементы, превышающие по абсолютной величине заданное число B. Подсчитать число таких элементов и записать их в массив C.
Вариант 5. Написать программу, которая в матрице чисел A(N,M) находит все элементы, равные числу, введенному с клавиатуры. Подсчитать число таких элементов.
Вариант 6. Задан двумерный массив А[5,10]. Получить новую матрицу путем деления всех элементов исходной матрицы на ее наибольший по модулю элемент.
Вариант 7. Дан двумерный массив. Вставьте первую строку после строки, в которой находится первый встреченный минимальный элемент.
Вариант 8. Дан целочисленный массив В[1..5, 1..5]. Вычислить произведение элементов этого массива, расположенных ниже левой диагонали.
Вариант 9. Дан целочисленный массив В[1..5, 1..5]. Вычислить сумму элементов этого массива, расположенных выше левой диагонали.
Вариант 10. Дана целочисленная матрица размера 5х5. Заменить в данной матрице все отрицательные элементы первой строки числом 0.
Вариант 11. Дана целочисленная матрица размера 5х5. Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент.
Вариант 12. Дана целочисленная прямоугольная матрица размера M·N. Отсортировать каждый столбец с четным номером по неубыванию, а каждый столбец с нечетным номером -по невозрастанию.
Вариант 13. Дана целочисленная матрица размера 8х5. Определить:
а) сумму всех элементов второго столбца массива;
б) сумму всех элементов 3-й строки массива.
Вариант 14. Дана целочисленная прямоугольная матрица размера M·N. Сформировать одномерный массив, состоящий из элементов, лежащих в интервале [1,20]. Найти среднеарифметическое полученного одномерного массива.
Вариант 15. Дана целочисленная квадратная матрица. Найти в каждой строке наибольший элемент и поменять его местами с элементом главной диагонали.
Вариант 16. Дана целочисленная квадратная матрица. Указать столбец (назвать его номер), где минимальное количество элементов, кратных сумме индексов.
Вариант 17. Дана целочисленная квадратная матрица. Найти сумму элементов матрицы, лежащих выше главной диагонали.
Вариант 18. Определить, является ли данный квадратный массив симметричным относительно своей главной диагонали.
Вариант 19. Определить, является ли данный квадратный массив не симметричным относительно своей главной диагонали.
Вариант 20. Дана матрица целых чисел размера NxM. Вывести номер строки, содержащей минимальное число одинаковых элементов.

Контрольные вопросы

Что собой представляет массив?
В каких случаях используется массив?
Что называется элементом массива?
Что такое индекс элемента массива?
Что такое размер массива?
Что такое размерность массива?
Лабораторная работа № 4 Работа с динамическими массивами

Цель работы: освоить работу с динамическими массивами.

Пример выполнения работы
Задание.
Ввести вещественные числа. Создать новый массив из этих чисел, пока не встретится отрицательное число. Ввод данных заканчивается числом (-1).
Решение.
Текст программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
double a;
List mas1 = new List();
List mas2 = new List();
Console.WriteLine("Введите значения, для завершения введите (-1)");
a = Convert.ToDouble(Console.ReadLine());
while (a != -1)
{
mas1.Add(a);
a = Convert.ToDouble(Console.ReadLine());
}

foreach (double i in mas1)
{
if (i >= 0) mas2.Add(i);
else break;
}
Console.WriteLine("Новый массив ");
foreach (double i in mas2)
Console.Write(" " + i);
Console.ReadLine();
}
}
}


Результат тестирования


Варианты для самостоятельной работы

Задание 1.
Написать программу согласно заданию. Все массивы в заданиях объявить как динамические. Ввод данных заканчивается числом (-1).

Вариант 1. Ввести целые числа. Создать массив из их чётных элементов. Вычислить сумму положительных элементов массива.
Вариант 2. Ввести целые числа. Создать массив из этих чисел, пока не встретиться число 0. Вычислить сумму положительных элементов массива.
Вариант 3. Ввести массив из целых чисел. Создать два новых массива – из четных и нечётных элементов исходного массива. Определить, в каком массиве больше элементов.
Вариант 4. Ввести массив из вещественных чисел. Создать новый массив из элементов исходного, в который не включать элементы, которые по модулю больше 10. Определить количество положительных элементов нового массива.
Вариант 5. Ввести целые числа. Создать массив из нечётных чисел. Вычислить произведение положительных элементов массива.
Вариант 6. Ввести вещественные числа. Создать массив из этих чисел, пока не встретится число 10. Вычислить сумму отрицательных элементов массива.
Вариант 7. Ввести массив из целых чисел. Создать два новых массива – из положительных и отрицательных элементов исходного массива. Определить суммы элементов каждого массива.
Вариант 8. Ввести массив из вещественных чисел. Создать новый массив из элементов исходного, которые по модулю больше 10. Вычислить среднее арифметическое элементов нового массива.
Вариант 9. Ввести вещественные числа. Создать массив из положительных чисел. Определить, является ли массив упорядоченным по возрастанию.
Вариант 10. Ввести целые числа. Создать массив из этих чисел до первого отрицательного числа. Определить, является ли массив упорядоченным по убыванию.
Вариант 11. Ввести массив из вещественных чисел. Создать два новых массива: в первый записать элементы исходного массива, которые по модулю больше 5, а во второй – остальные. Определить, в каком массиве больше сумма элементов.
Вариант 12. Ввести массив из вещественных чисел. Создать новый массив из элементов исходного, в который не включать элементы, попадающие в промежуток (-3,7). Определить произведение отрицательных элементов нового массива.
Вариант 13. Ввести целые числа. Создать массив из чисел, которые не делятся на 5. Определить минимальный элемент массива.
Вариант 14. Ввести вещественные числа. Создать массив из этих чисел, пока не встретится число 33. Определить максимальный элемент массива.
Вариант 15. Ввести массив из 13 вещественных чисел. Создать два новых массива – из положительных и отрицательных элементов исходного массива. Поменять местами максимальные элементы новых массивов.
Вариант 16. Ввести массив из вещественных чисел. Создать новый массив из элементов исходного, которые по модулю не больше 12. Поменять местами минимальный и максимальный элементы нового массива.
Вариант 17. Ввести вещественные числа. Создать массив из чисел, которые попадают в интервал [2,13]. Определить, есть ли в массиве числа, большие 10.
Вариант 18. Ввести целые числа. Создать массив из чисел, которые не делятся на 10. Определить количество нечётных элементов массива.
Вариант 19. Ввести массив из вещественных чисел. Создать два новых массива: первый – из элементов исходного массива, которые больше первого элемента, второй – их остальных. Определить, в каком массиве больше произведение элементов.
Вариант 20. Ввести массив из вещественных чисел. Создать новый массив из элементов исходного, не превышающих среднее арифметическое массива. Определить наименьший положительный элемент нового массива.

Контрольные вопросы

Чем отличается динамический массив данных от статического?
Как добавить элемент в динамический массив?
Как удалить элемент из динамического массива?

Лабораторная работа № 5 Работа с символьным и строковым типами данных

Цель работы: освоить работу с символьным и строковым типами данных.
Пример выполнения работы

Задание.
Дан массив символов. В каждом слове поменять местами первый и последний символ. Слова отделяются друг от друга пробелом, запятой или точкой.

Решение.
Пусть k1 – позиция начала слова, а k2 – позиция конца слова.

Текст программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int n=8;
char[] mas = new char[n];
char p;
int k1=0, k2;
Console.WriteLine("Введите элементы массива");
for (int i = 0; i < n; i++)
mas[i] = Convert.ToChar(Console.ReadLine());

for (int i = 1; i < n; i++)
{
if ((mas[i] == ' ') || (mas[i] == ',') || (mas[i] == '.'))
{
k2 = i - 1;
p = mas[k1]; mas[k1] = mas[k2]; mas[k2] = p;
if (i != n - 1) k1 = i + 1;
}
}
/*Если последний символ - точка, запятая или пробел, то концом слова считаем
* предпоследний символ, иначе - последний*/
if ((mas[n - 1] == ' ') || (mas[n - 1] == ',') || (mas[n - 1] == '.')) k2 = n - 2;
else k2 = n - 1;
p = mas[k1]; mas[k1] = mas[k2]; mas[k2] = p;

foreach (char i in mas)
Console.Write(i);
Console.ReadLine();
}
}
}



Варианты для самостоятельной работы

Задание 1.
Написать программу согласно заданию.

Вариант 1. Дан массив символов, содержащий число в двоичной системе счисления. Проверить правильность ввода этого числа (в его записи должны быть только символы 0 и 1). Если число введено неверно, повторить ввод. При правильном вводе перевести число в десятичную систему счисления.
Вариант 2. Дан массив символов, содержащий текст. Определить длину содержащейся в нем максимальной серии символов, отличных от букв.
Вариант 3. Дан массив символов. Преобразовать его, заменив точками все двоеточия (:), встречающиеся среди первой половины символов, и заменив точками все восклицательные знаки, встречающиеся среди символов, стоящих во второй половине исходного массива.
Вариант 4. Дан массив символов. Указать те слова, которые содержат хотя бы одну букву k.
Вариант 5. Дан массив символов, содержащий текст. В строке между словами вставить вместо пробела запятую и пробел.
Вариант 6. Дан массив символов, содержащий текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы.
Вариант 7. Дан массив символов, содержащий текст. Подсчитать количество букв k в последнем слове массива.
Вариант 8. Дан массив символов. Подсчитать, сколько различных символов встречается в нем. Вывести их на экран.
Вариант 9. Дан массив символов. Подсчитать самую длинную последовательность подряд идущих букв а.
Вариант 10. Дан массив символов, среди которых есть открывающиеся и закрывающиеся скобки. Вывести на экран массивы символов, расположенные внутри этих скобок.
Вариант 11. Дан массив символов, содержащий текст. Определить процентное отношение строчных и прописных букв к общему числу символов в нем.
Вариант 12. Дан массив символов, среди которых есть одна открывающаяся и одна закрывающаяся скобка. Вывести на экран все символы, расположенные внутри этих скобок.
Вариант 13. Дан массив символов, содержащий буквы латинского алфавита и цифры. Вывести на экран длину наибольшей последовательности цифр, идущих подряд.
Вариант 14. Введите массив символов из 11 элементов. Убрать лишние пробелы (более одного подряд).
Вариант 15. Введите массив символов из 11 цифр. Определить самый часто встречающийся символ и количество его повторений.
Вариант 16. Введите массив символов из 14 элементов, содержащий пробелы. Найдите самое длинное слово, выведите на экран это слово и его длину.
Вариант 17. Введите массив символов из 10 элементов, содержащий две одинаковые буквы. Определите эти буквы.
Вариант 18. Введите массив символов из 17 цифр. Определите символ с наибольшим числом повторений.
Вариант 19. Введите массив символов из 12 элементов. Вывести слова с заданным количеством символов.
Вариант 20. Введите массив символов из 14 элементов. Вывести все слова, начинающиеся с данной буквы.

Задание 2.
Написать программу согласно заданию.

Вариант 1. В заданной строке заменить подряд идущие пробелы на один пробел.
Вариант 2. В заданной строке посчитать количество слов. Разделителем слов считается один или несколько пробелов.
Вариант 3. В заданной строке заменить каждую русскую букву символом «*».
Вариант 4. В заданной строке удалить все латинские буквы.
Вариант 5. Дана строка. Дописать в конец строки ее длину.
Вариант 6. В заданной строке дописать после каждого символа «*» символ «/».
Вариант 7. В заданной строке вставить перед каждым символом «!» символ «,».
Вариант 8. В заданной строке заменить каждый пробел двумя пробелами.
Вариант 9. Задана строка. Построить новую строку, в которой все символы записаны в обратном порядке.
Вариант 10. В заданной строке удалить первый символ «?», который найдется в строке.
Вариант 11. В заданной строке удалить последний символ « » (пробел), который найдется в строке.
Вариант 12. В заданной строке заменить каждый символ «№» строкой «номер по порядку».
Вариант 13. В заданной строке перед каждой большой латинской буквой поставить «. » (точка, пробел).
Вариант 14. В заданной строке заменить сочетания символов «-+» символом «0».
Вариант 15. В заданной строке заменить каждый символ строки следующим по коду символом. Букву «я» заменить пробелом.
Вариант 16. В заданной строке поменять каждый символ строки предыдущим по таблице кодирования символом.
Вариант 17. В заданной строке после каждого символа вставить число, соответствующее коду этого символа.
Вариант 18. В строке после каждого слова дописать ее длину.
Вариант 19. В заданной строке заменить четное количество подряд идущих пробелов символом «Ч», а нечетное – символом «Н».
Вариант 20. В заданной строке, после каждого слова вида «sin», «cos» или «log»,
поставить скобку «(».

Вариант 1


Вариант 2


Вариант 3


Вариант 4


Вариант 5


Вариант 6


Вариант 7


Вариант 8


Вариант 9


Вариант 10


Вариант 11


Вариант 12


Вариант 13


Вариант 14


Вариант 15


Вариант 18


Вариант 17


Вариант 16


Вариант 19
[ Cкачайте файл, чтобы посмотреть картинку ]

Вариант 19
[ Cкачайте файл, чтобы посмотреть картинку ]



Root EntryEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation NativeEquation Native Заголовок 1 Заголовок 215

Приложенные файлы

  • doc 15851541
    Размер файла: 2 MB Загрузок: 1

Добавить комментарий