Пока и До Процедуры и функции Одномерные массивы 3 языка Двумерные массивы 3 языка Строковы
Работа добавлена на сайт samzan.net:
Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
от 25%
Подписываем
договор
Лабораторные работы по
ПРЗ на ЭВМ
для факультета физмат
Шагиевой Ф.И.
- Линейные алгоритмы.
- Разветвляющиеся алгоритмы.
- Организация циклов «Пока» и «До»
- Процедуры и функции
- Одномерные массивы 3 языка
- Двумерные массивы 3 языка
- Строковый и множественный типы данных 2 язык QB,P
- Множества P
- Комбинированный тип данных(записи) P
- Файлы P
- Графика P
[1] Разветвляющиеся алгоритмы.
[2] Организация циклов “ПОКА” и “До”
[3] Процедуры и функции.
[4] Одномерные массивы
[5] Строковый и множественный типы данных
[6] Комбинированный тип данных (записи)
[7] ФАЙЛЫ
|
Выполнить задачи на 3х языках программирования:
Кумир (ШАЯ), FreeBasic, Pascal ABC
Лабораторная работа №1.
Линейные алгоритмы.
Выполнить на трех языках программирования: Паскаль, Бейсик, ШАЯ.
Задание I.
Вычислить выражение:
Задание II.
Составьте программу для вычисления величины работы, совершенной при равномерном подъеме груза массой М кг на высоту H м. Ускорение свободного падения описать как константу G = 9,81.
Составьте программу для вычисления давления столба жидкости плотностью R высотой H на дно сосуда.
Составьте программу для вычисления выталкивающей силы, действующей на тело объемом V, наполовину погруженное в жидкость плотностью R.
Составьте программу для вычисления количества теплоты по формуле Q = cm(t2-t1).
Составьте программу для вычисления количества теплоты, полученной при сгорании М г керосина, если его теплота сгорания q.
Составьте программу для вычисления величины силы тока на участке электрической цепи сопротивлением R Ом при напряжении U В.
Составьте программу для вычисления напряжения на каждом из последовательно соединенных участков электрической цепи сопротивлением R1, R2, R3 Ом если сила тока при напряжении U В составляет 1 А.
Составьте программу для вычисления значения силы тока I на участке, состоящем из двух параллельно соединенных резисторов сопротивлением R1 и R2, если напряжение на концах этого участка равно U.
Задание III.
- Расстояние между домами, в которых живут Петя и Коля, 1200 м. Однажды они вышли каждый из своего дома и направились навстречу друг другу. Когда Петя прошел А метров, они встретились. Во сколько раз расстояние, которое прошел Коля больше расстояния, которое прошел Петя?
- От станции до озера S км. Туристы, направляясь от станции к озеру, полтора часа шли пешком со скоростью А км, а затем сели на попутную машину, которая ехала со скоростью В км/ч. За какое время туристы добрались до озера?
- Из 18 т железной руды выплавляют 10 т железа. Сколько железа выплавят из А т руды?
- Чтобы заварить 1,5 л чая, нужно 30 г сухого чая. Чайник вмещает В л. Сколько нужно сухого чая для заварки?
- В школьном коридоре длиной 56 м нужно выкрасить пол. Выкрасив часть коридора длиной 22 м, израсходовали А кг краски. Сколько еще нужно краски, докрасить коридор?
- Чтобы сварить 4 порции пшенной каши, нужно взять 220 г пшена, 1 л молока и 30 г сахара. Сколько потребуется этих продуктов, чтобы сварить N порций каши?
- Универмаг в ноябре продал товаров на А млн. р., что на 15% больше, чем в октябре. На какую сумму были проданы товары в октябре?
- Сахарная свекла содержит 14% сахара. С 1 га собирают 30 т сахарной свеклы. сколько гектаров надо засеять сахарной свеклой, чтобы получить В т сахара?
Задание IV.
- Даны два числа. Найти среднее арифметическое кубов этих чисел и среднее геометрическое модулей этих чисел.
- Вычислить расстояние между двумя точками с данными координатами x1, y1 и x2, y2.
- По двум данным катетам найти гипотенузу и площадь прямоугольного треугольника.
- Даны числа x и y. Вычислить их сумму, разность и произведение.
- Смешано v1 литров воды температуры t1 с v2 литрами воды температуры t2. Вычислить объем и температуру образовавшейся смеси.
- Составьте программу для вычисления необходимой массы соли и воды для приготовления раствора массой m г с массовой долей w %.
- Автомобиль проехал три участка пути разной длины с разными скоростями. Найти среднюю скорость автомобиля.
- Даны катеты прямоугольного треугольника. Найти его гипотенузу и площадь.
Лабораторная работа №2.
Разветвляющиеся алгоритмы.
Выполнить на трех языках программирования: Паскаль, Бейсик, ШАЯ.
Задание I.
Проверить принадлежит ли заштрихованной области точка с координатами (x, y).
Задание II.
Задание III.
- Определите, имеется ли среди заданных целых чисел A, B, C хотя бы одно четное.
- Определите, пройдет ли кирпич с ребрами a, b, c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из его ребер было параллельно или перпендикулярно каждой из сторон отверстия.
- Выберите наибольшее из трех заданных чисел.
- Решите квадратное уравнение .
- Даны три числа. Выведите те из них, которые принадлежат заданному отрезку [a, b].
- Заданы площади круга и квадрата. Определите, поместится ли круг в квадрате.
- Заданы площади круга и квадрата. Определите, поместится ли квадрат в круг.
- Проверьте, можно ли построить треугольник из отрезков с длинами x, y, z и, если можно, то какой остроугольный, прямоугольный или тупоугольный.
Задание IV.
- Дан номер года. Найти число дней в этом году. Указание. В современном (григорианском) календаре каждый год, номер которого делится на 4, является високосным, за исключением тех, которые делятся на 100 и не делится на 400. Например, 1900 год - не високосный, 2000 год - високосный.
- Составьте программу, определяющую, входит ли введенная вами цифра в десятичную запись введенного вами трехзначного числа.
- Даны координаты центров двух окружностей (X1,Y1) и (X2,Y2), а также их радиусы R1 и R2 (R1>R2). Определить взаимное расположение окружностей.
- На плоскости заданы точки M1(X1,Y1), M2(X2,Y2), N1(X1,Y1), N2(X2,Y2). Проверить, являются ли параллельными прямые M1M2 и N1N2. Если прямые пересекаются, то найти их точку пересечения.
- Найти координаты точек пересечения прямой y=kx+b и окружности радиуса R с центром в начале координат. Определить, сколько точек пересечения находится во второй координатной четверти.
- Составьте программу, которая по введенному вами k числу грибов, печатает фразу «Мы нашли в лесу k грибов, причем согласовывает окончание слова «гриб» с числом k.
- Даны три действительных числа a, b, c. Определить, являются ли они последовательными членами арифметической последовательности.
- Составьте программу, которая для целого числа k (от 1 до 99), введенного вами, напечатает фразу «Мне k лет», при этом в нужных случаях слово «лет» заменяя на слово «год» или «года».
Лабораторная работа № 3
Организация циклов “ПОКА” и “До”
Задание 1.
Используя два вида операторов цикла составить программы табулирования функции на отрезке [a, b] с шагом где m заданное число.
Вариант
|
Функция
|
a
|
b
|
m
|
1
|
xsin(x)
|
0
|
3
|
10
|
2
|
cos (1/x)
|
/4
|
4/
|
20
|
3
|
sin(x2)
|
/6
|
2/3
|
10
|
4
|
cos(x2)
|
/3
|
3/2
|
15
|
5
|
sin(x)+tg(x)
|
0
|
/4
|
20
|
6
|
cos(x)+ctg(x)
|
/4
|
/2
|
10
|
7
|
ctg(x/3)+sin(x)
|
/4
|
/2
|
10
|
8
|
x2+sin(x)
|
-2
|
2
|
20
|
Задание 2.
Используя операторы цикла с предусловием и постусловием, найти сумму ряда с точностью =10-3 и =10-4, общий член которого an (см.вариант). Определить, сколько членов ряда просуммировано.
Вариант
|
an
|
Вариант
|
an
|
1
|
(2n-1)/2n
|
5
|
2n/n!
|
2
|
n!/(2n)!
|
6
|
(-1)n32n/(2n)!
|
3
|
3nn!/(3n)!
|
7
|
52n+1/(2n+1)!
|
4
|
n2/3n
|
8
|
(n-3)/(2n+1)!
|
Указание: 1. Считать , что точность достигнута, если abs(an)<.
2. Для получения следующего члена ряда использовать рекуррентную формулу, выражающую an+1 через an. Для этого вычислить их отношение.
Например, Откуда, .
Задание 3
- Задано целое А>25. Найдите наименьшее целое неотрицательное k, при котором 5k > А.
- Числа Фибоначчи F определяются по формулам F0=F1=1, Fi=Fi-1+Fi-2 при i= 2, 3, ... Найдите первое из чисел Фибоначчи, которое превосходит заданное число М (М>0).
- Дано натуральное число N. Выясните, сколько цифр оно содержит.
- Даны два натуральных числа М и N - числитель и знаменатель дроби M/N. Требуется сократить дробь, насколько это возможно.
- Дано натуральное число N. Получите его запись в двоичной, восьмеричной и шестнадцатеричной системах счисления.
- Заданное натуральное число М представьте в виде суммы квадратов двух неравных натуральных чисел. В случае, если это невозможно, выведите соответствующее сообщение.
- Вычислить sinn x
- Вычислить S=N+(N-1)+…+3+2+1
Задание 4. (“Для” и “n раз”)
Составить программу вычисления таблицы значений функции одной переменной z=f(x) при х, изменяющемся на отрезке [a, b] с шагом Hx.
Таблицу вывести на экран в прямоугольной форме.
Варианты задания:
вариант
|
z
|
a
|
b
|
Hx
|
1
2
3
4
5
6
7
8
|
5x+6
6x-5
x*x+1
3x+1
x2+3x
x3+5
4x-x2
x/2+5
|
-9
-5
-13
-3
-15
-11
-5
0
|
15
16
3
15
20
10
16
21
|
4
3
2
2
5
3
3
2
|
Лабораторная работа № 4.
Процедуры и функции.
Задание 1
(TP, QB, ШАЯ) Составить программу для решения задачи своего варианта двумя способами: а) с использованием процедур б) с использованием функций
- Пятиугольник задан координатами своих вершин. Найти его площадь.
- Два треугольника заданы координатами своих вершин. Определить, площадь какого из них больше.
- Даны четыре натуральных числа. Найти их НОД.
- Даны четыре натуральных числа. Найти их НОК.
- Даны четыре натуральных числа. Просуммировать те из них, которые не содержат цифру 5.
- Четыре точки на плоскости заданы своими координатами. Определить, какие две из них расположены наиболее близко друг к другу.
- Найти значение выражения y=a4x4+a5x5+a2x-2+a3x-3, где аi и x вводятся с клавиатуры. Вычисление степени оформить в виде процедуры (функции) через умножение.
- Даны четыре натуральных числа. Определить количество цифр в каждом из них.
Задание 2
(TP, QB, ШАЯ) Составить программу для решения задачи двумя способами:
а) с использованием процедур б) с использованием функций
- Даны два числа. Вывести на экран наибольшую из первых цифр заданных чисел. Например, если a=56, b=345, то надо напечатать цифру 5.
- Найти число из промежутка от А до В, у которых больше всего делителей.
- Найти сумму всех делителей числа.
- Среди чисел из интервала от А до В найдите все простые числа.
- Даны четыре натуральных числа. Вывести на экран то из них, сумма цифр которого наибольшая.
- Даны четыре натуральных числа. Определить разность между наибольшим и наименьшим из них.
- Напишите программу подсчета числа четных цифр, используемых в записи N-значного числа M.
- Составьте программу вывода на экран всех натуральных чисел, не превосходящих N и делящихся на каждую из своих цифр.
Задание 3
- Напишите программу, состоящую из трех процедур и основной программы. Первая процедура организует ввод двух целых чисел X и Y, вторая проверяет их сумму, третья выводи результат. Используйте эти процедуры в основной программе. Используйте X и Y как глобальные переменные.
- Напишите программу вычисления площади поверхности и длины экватора на основе известного радиуса планет солнечной системы. Форму планет будем считать шаром. Вычисление площади поверхности и длины экватора оформите отдельными функциями.
- Напишите программу поиска большего из четырех чисел с использованием подпрограммы поиска большего из двух чисел.
- Даны координаты вершин многоугольника (x1, y1,x2,y2,…x10,y10). Напишите программу для вычисления его периметра (вычисление расстояния между вершинами оформить подпрограммой).
- Напишите программу вычисления суммы: 1! + 2! + 3! + … + n!, используя функцию вычисления факториала числа k.
- Напишите программу для вычисления числа сочетаний из N по M. Число сочетаний определяется по формуле N!/(M!*(N-M)!, где N количество элементов перебора. Используйте подпрограмму вычисления факториала.
- Напишите программу для определения НОД трех натуральных чисел.
- Составьте программу подсчета числа всех натуральных чисел, меньших М, квадрат суммы цифр которых равен X.
Лабораторная работа №5.
Одномерные массивы
Задание 1.
- Подсчитайте число и сумму положительных, число и произведение отрицательных элементов заданного массива A(N).
- Задан массив чисел. Замените каждое число суммой предыдущих, включая заменяемое.
- Элементы заданного массива B(N) перепишите в новый массив A(N) в обратном порядке.
- Ввести массив a[1],a[2],...,a[n] целого типа. Произвести сдвиг элементов массива на 2 позиции влево так, что на место a[1] станет a[3], на место a[2] станет a[4],на место a[n-1] станет a[1], на место a[n] станет a[2].
- В заданном массиве X(N) замените нулями все отрицательные компоненты, непосредственно предшествующие его максимальной компоненте (первой по порядку, если их несколько).
- Если у заданного массива A(N) есть хотя бы один элемент, меньший чем5, то все отрицательные элементы замените их квадратами, оставив остальные элементы без изменения; в противном случае каждый элемент массива помножьте на 0,1.
- Вычислите значения функции z=(a+b+c)/i, если а изменяется от 0 с шагом 1, b изменяется от 5 с шагом 1, с является элементом массива C(N). При этом а и b изменяются одновременно сi.
- В заданном массиве A(N) поменяйте местами наибольший и наименьший элементы (первые по порядку, если их несколько).
Задание 2.
- В заданном массиве A(N) определите количество элементов, которые меньше заданного значения.
- Осуществите циклический сдвиг компонент заданного вектора A(N) влево на одну позицию, т. е. получите вектор А = (аг, а3 , ..., аn, а1 ).
- Осуществите циклический сдвиг компонент заданного вектора A(N) вправо на две позиции, т. е. получите вектор А = (an-1, an, a1 a2, ... , an-2).
- Выведите на печать номера точек, лежащих в круге радиусом R с центром в начале координат. Координаты точек заданы массивами X(N) и Y(N).
- В заданном массиве A(N), все элементы которого попарно различны, найдите:
а) наибольший элемент из отрицательных; б) наименьший элемент из положительных; в) второй по величине элемент.
6. В заданном массиве A(N) определите число соседств: а) двух положительных чисел; б) двух чисел разного знака; в) двух чисел одного знака, причем абсолютная величина первого числа больше абсолютной величины второго числа; г) четного числа и нечетного с нечетным индексом.
7. В заданном массиве A(N) вычислите среднее геометрическое и среднее арифметическое значения для положительных элементов.
- Дан вектор A(N). Найдите порядковый номер того из элементов, который наиболее близок к какому-нибудь целому числу (первого по порядку если таких несколько).
Задание 3.
Даны два одномерных массива целых чисел (массив А, состоящий из n элементов, массив В из m элементов), заполненных случайным образом числами из промежутка [L,P]. Сформировать из элементов этих массивов два новых массива (C,D) по правилу, описанному в Вашем варианте. (Ввод и вывод массивов оформить в процедурах).
- n= 15, m= 20, L= 10, P=99;
Массив С состоит из тех элементов исходных массивов, в которых обе цифры четные, а массив D обе цифры нечетные.
- n= 10, m= 25, L= 100, P=500;
Массив С состоит из тех элементов исходных массивов, в которых средняя цифра четная, а массив D средняя цифра нечетная.
- n= 20, m= 15, L= -50, P=50;
Массив С состоит из элементов исходных массивов, меньших -5, а массив D больших 10.
- n= 25, m= 12, L= 10, P=2000;
Массив С состоит из тех элементов исходных массивов, в которых последняя цифра равна 6, а массив D последняя цифра равна 9.
- n= 17, m= 18, L= -30, P=60;
Массив С состоит из положительных элементов исходных массивов, а массив D отрицательных.
- n= 12, m= 28, L= -60, P=90;
Массив С состоит из четных элементов исходных массивов, а массив D нечетных.
- n= 20, m= 30, L= 10, P=50;
Массив С состоит из элементов исходных массивов, меньших 30, а массив D больших 30.
- n= 30, m= 10, L= 10, P=150;
Массив С состоит из элементов исходных массивов, кратных 5, а массив D кратных 3.
Задание 4.
1. Задан массив чисел. Замените каждое число суммой предыдущих, включая заменяемое.
2. Даны действительные числа a1,a2,...,a16. Найдите минимальное из произведений a1a9,a2a10,...,a8a16.
3. Даны действительные a1,a2,...,a16 . Найдите максимальное из сумм a1+a16,a2+a15,...,a8+a9.
4. Даны целые a1,a2,..,an.Все члены последовательности, предшествующие первому по порядку наименьшему члену, умножить на этот наименьший член.
5. Даны действительные a1,a2,..,an . Требуется найти b, равное среднему арифметическому чисел a1,a2,..,an и наибольшее отклонение от среднего т.е. max(|a1-b|,|a2-b|,...,|an-b|).
6. Ввести массив a[1],a[2],...,a[n] целого типа. Произвести сдвиг элементов массива на 2 позиции влево так, что на место a[1] станет a[3], на место a[2] станет a[4],на место a[n-1] станет a[1], на место a[n] станет a[2].
7. Ввести массив a[1],a[2],..,a[n] целого типа и число k<n. Произвести сдвиг элементов массива на k позиций вправо так, что на место a[n] станет a[n-k], на место a[1] станет a[n-k+1], на место a[2] станет a[n-k+2] и т.д..
8. Найти три максимальных значения max1>=max2>=max3 среди элементов таблицы из n вещественных чисел.
Лабораторная работа №6.
Двумерные массивы.
Постановка задачи:
Дано два двумерных массива. Длины массивов и значения, которые требуется найти, используя эти массивы, заданы в варианте. Ввод массива, нахождение необходимых значений и вывод массивов в виде матрицы оформить в виде процедуры.
Задание 1
- Дано два массива, содержащие соответственно 3*4 и 3*3 целых компонентов. Ввести оба массива, найти в каждом массиве сумму четных компонентов и определить, какая из найденных сумм меньше. Найденные значения и оба исходных массива вывести на экран.
- Дано два массива, содержащие соответственно 2*5 и 3*3 вещественных компонентов. Ввести оба массива, найти в каждом массиве сумму отрицательных компонентов и определить, какая из найденных сумм больше. Найденные значения и оба исходных массива вывести на экран.
- Дано два массива, содержащие соответственно 3*4 и 5*2 целых компонентов. Ввести оба массива, найти в каждом массиве произведение компонентов, кратных 3 и определить, какое из найденных произведений меньше. Найденные значения и оба исходных массива вывести на экран.
- Дано два массива, содержащие соответственно 4*4 и 3*3 вещественных компонентов. Ввести оба массива, найти в каждом массиве сумму компонентов, расположенных на главной диагонали и определить, какая из найденных сумм меньше. Найденные значения и оба исходных массива вывести на экран.
- Дано два массива, содержащие соответственно 3*4 и 3*3 целых компонентов. Ввести оба массива, найти в каждом массиве произведение компонентов, принадлежащих интервалу (-5, 5) и определить, какое из найденных произведений больше. Найденные значения и оба исходных массива вывести на экран.
- Дано два массива, содержащие соответственно 4*3 и 3*3 целых компонентов. Ввести оба массива, найти в каждом массиве сумму нечетных компонентов и определить, какая из найденных сумм больше. Найденные значения и оба исходных массива вывести на экран.
Дано два массива, содержащие соответственно 3*3 и 5*2 вещественных компонентов. Ввести оба массива, найти в каждом массиве сумму положительных компонентов и определить, какая из найденных сумм больше. Найденные значения и оба исходных массива вывести на экран.
Дано два массива, содержащие соответственно 2*5 и 3*4 целых компонентов. Ввести оба массива, найти в каждом массиве произведение компонентов, кратных 7 и определить, какое из найденных произведений больше. Найденные значения и оба исходных массива вывести на экран.
Задание 2.
1. Дана матрица A(N, M). Найдите ее наибольший элемент (первый по порядку, если их несколько) и номера строки и столбца, на пересечении которых он находится.
- В каждой строке заданной матрицы A(N, M) вычислите сумму, количество и среднее арифметическое положительных элементов.
- Для заданной целочисленной матрицы A(N, M) определите, является ли сумма ее элементов четным числом, и выведите на печать соответствующий текст.
- Дана матрица A(N, M). Найдите количество элементов этой матрицы, больших среднего арифметического всех ее элементов.
- Дана целочисленная матрица A(N, M). Вычислите сумму и произведение тех ее элементов, которые при делении на два дают нечетное число.
- В заданной матрице A(N, M) поменяйте местами столбцы с номерами Р и Q.
- Дана матрица A(N, M). Получите вектор Х(М), равный Р-й строке матрицы, и вектор Y(N), равный Q-му столбцу матрицы.
- Дана матрица A(N, M). Поменяйте местами ее наибольший и наименьший элементы (первые по порядку, если их несколько). Порядок просмотра элементов матрицы слева направо и сверху вниз.
Задание 3.
Задан двумерный массив целых чисел размером n*m
1. Найти номера столбцов, все элементы которых нули.
2. Найти номера столбцов, элементы в каждом из которых одинаковы.
3. Вычислить количество нулей в четных строках и количество единиц в нечетных строках.
4. Найти количество строк, содержащих все равные компоненты.
5. Найти количество строк, содержащих хотя бы одну нулевую компоненту.
6. Подсчитать количество строк, в которых отличны от нуля только три элемента.
7. Найти номер строки, содержащей наибольшее количество нулей.
8. Поменять местами в каждой строке первый элемент с первым максимальным
Задание 4.
Дан двумерный массив целых чисел, состоящий из n строк и m столбцов, заполненный случайным образом числами из промежутка [-100,100]. Сформировать из элементов этого массива одномерный массив, каждый элемент которого равен (по вариантам):
- Максимальному значению элементов соответствующей строки
- Минимальному значению элементов соответствующей строки
- Максимальному значению элементов соответствующего столбца
- Минимальному значению элементов соответствующего столбца
- Сумме положительных элементов соответствующей строки
- Сумме отрицательных элементов соответствующей строки
- Сумме положительных элементов соответствующего столбца
- Сумме отрицательных элементов соответствующего столбца
Лабораторная работа № 7
Строковый и множественный типы данных
Задание 1.
Дана непустая строка символов. Требуется построить и напечатать множество, элементами которого являются встречающиеся в строке:
- буквы от а до ж и цифры от 4 до 9
- буквы от ф до ю и цифры от 1 до 7
- буквы от з до ф и цифры от 2 до 9
- буквы от г до л и знаки препинания
- знаки препинания и цифры от 0 до 6
- знаки арифметических операций и цифры
- знаки арифметических операций и буквы от Ф до Я
- знаки препинания и буквы от З до Ш
Задание 2.
Дан текст, состоящий из слов: между словами произвольное число пробелов, после последнего слова точка.
- Найти количество слов, содержащих ровно две буквы о
- Вывести на экран слова, состоящие из 5 букв
- Найти количество слов, у которых первая и последняя буква одинаковые
- Найти количество слов, содержащих сочетание ан
- Вывести на экран слова, содержащие одновременно буквы а и о
- Напечатать те слова, в которых первая буква встречается еще раз
- Вывести на экран слова с максимальной длиной
- Вывести на экран слова с минимальной длиной
Задание 3.
Дан текст, состоящий из слов, содержащих только строчные русские буквы; между соседними словами запятая, после последнего слова точка.
Напечатать в алфавитном порядке:
- все гласные буквы, которые входят в каждое слово
- все согласные буквы, которые входят в каждое слово
- все гласные буквы, которые не входят ни в одно слово
- все согласные буквы, которые не входят ни в одно слово
- все звонкие согласные буквы, которые входят хотя бы в одно слово
- все глухие согласные буквы, которые не входят хотя бы в одно слово
- все согласные буквы, которые входят только в одно слово
- все гласные буквы, которые входят хотя бы в одно слово
(Примечание: гласные буквы а,е,и,о,у,ы,э,ю,я; согласные все остальные, кроме й,ь,ъ; звонкие согласные б,в,г,д,ж,з,л,м,н,р; глухие согласные к,п,с,т,ф,х,ц,ч,ш,щ)
Задание 4
- Дан текстовый файл. Сколько раз в каждой строке встречается данный символ?
- Заменить все символы Ch1 в строке на Ch2 (Ch1 и Ch2 вводятся с клавиатуры).
- Заменить все вхождения подстроки Strl на подстроку Str2 (Strl и Str2 вводятся с клавиатуры).
- После каждого символа Ch вставить строку Strl.
- Удвоить каждое вхождение символа Ch.
- Даны две строки. Если они начинаются с одинаковых символов, то напечатать ДА, иначе НЕТ.
- Дана последовательность слов. Напечатать все слова, отличные от слова hello.
- Дана последовательность слов. Напечатать все слова последовательности, которые встречаются в ней по одному разу.
Лабораторная работа №8.
Множества.
Задание 1.
1. Дана непустая последовательность символов. Построить и напечатать множества, элементами которых являются встречающиеся в последовательности:
а) цифры от '0' до ' 9' и знаки арифметических операций;
- буквы от ' А' до ' F' и от ' X ' до ' Z ';
- знаки препинания и буквы от 'Е ' до ' N '.
2. Составить программу подсчета общего количества цифр и знаков ' + ', ' -','*' в строке s, введенной с клавиатуры.
- Составить программу печати элементов данного множества символов в алфавитном порядке.
- Составить программу формирования множества строчных латинских букв, входящих в строку, введенную с клавиатуры, и подсчета количества знаков препинания в ней.
- Составить программу подсчета количества цифр в заданной строке и печати их.
- Составить программу печати по одному разу в алфавитном порядке всех строчных русских гласных букв, входящих в заданный текст.
- Составить программу печати в алфавитном порядке всех букв текста (текст оканчивается точкой), входящих в него:
- не менее двух раз;
- не более двух раз;
- более двух раз.
8. Составить программу печати в возрастающем порядке всех цифр, входящих в десятичную запись данного числа.
Задание 2.
- Составить программу для подсчета количества гласных и согласных букв в заданном тексте и определения, каких букв больше (гласных или согласных); учесть, что в строке могут быть и другие символы, кроме букв.
- Составить программу печати всех первых вхождений в данный текст строчных латинских букв, сохраняя их взаимный порядок.
- Дана непустая последовательность символов. Построить и напечатать множества, элементами которых являются встречающиеся в последовательности: знаки препинания и буквы от 'Е ' до ' N '.
- Составить программу печати в алфавитном порядке всех букв текста (текст оканчивается точкой), входящих в него: не более двух раз.
- Составить программу печати в алфавитном порядке всех букв текста (текст оканчивается точкой), входящих в него: более двух раз.
- Дана последовательность слов из строчных латинских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все гласные буквы, которые входят в каждое слово.
- Дана последовательность слов из строчных латинских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все согласные буквы, которые не входят ни в одно слово.
- Дана последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят хотя бы в одно слово.
Задание 3.
- Дана последовательность слов из строчных латинских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все согласные буквы, которые входят только в одно слово.
2. Дана последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все гласные буквы, которые входят в каждое слово.
- Дана последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все согласные буквы, которые не входят ни в одно слово.
- Дана последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все согласные буквы, которые входят только в одно слово.
- Дана последовательность слов из строчных латинских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все глухие согласные буквы, которые не входят только в одно слово.
6. Дана последовательность слов из строчных латинских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят более чем в одно слово.
7. Дана последовательность слов из строчных русских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все гласные буквы, которые встречаются более одного раза.
8. Дана последовательность слов из строчных латинских букв; между соседними словами - запятая, за последним словом - точка. Напечатать в алфавитном порядке все гласные буквы, которые встречаются в одном слове более одного раза.
Лабораторная работа № 9
Комбинированный тип данных (записи)
Задание 1.
Постановка задачи (общая часть для всех вариантов).
Составить список учащихся класса из N человек (конкретное значение N вводится с клавиатуры, при отладке взять не меньше 7). Для каждого учащегося указать ФИО, дату рождения (число, месяц, год), пол, класс (число и буква о а до в (н-р, 10-в)), оценки по 5 предметам за четверть.
Информацию о каждом учащемся оформить в программе в виде записи. Совокупность записей объединить в массив.
Составить программу, которая обеспечивает ввод полученной информации, распечатку её в виде таблицы, а также обрабатывает информацию и выводит на экран полученные результаты (согласно конкретному варианту).
Варианты задания
- Распечатать анкетные данные отличников, родившихся весной.
- Распечатать анкетные данные учащихся-мальчиков, успевающих без троек.
- Распечатать анкетные данные неуспевающих учащихся 10 классов.
- Распечатать анкетные данные учащихся, родившихся в заданном году (вводится с клавиатуры), и подсчитать число мальчиков и девочек среди них.
- Распечатать анкетные данные учащихся, имеющих только одну оценку 3 и обучающихся в классах, имеющих литеру «А».
- Распечатать анкетные данные учащихся-девочек, имеющих одну оценку 4, а все остальные оценки 5.
- Распечатать список учащихся, фамилии которых начинаются с буквы А, и их средние баллы.
- Распечатать список учащихся, фамилии которых начинаются с букв от К до Т, обучающихся на 4 и 5.
Задание 2.
- Багаж пассажира характеризуется количеством вещей и общим весом вещей. Сведения о багаже каждого пассажира представляют собой запись с двумя полями: одно поле целого типа (количество вещей) и одно - действительное (вес в килограммах).
a) Найти багаж, средний вес одной вещи в котором отличается не более, чем на 0.3 кг от общего среднего веса одной вещи.
b) Найти число пассажиров, имеющих более двух вещей и число пассажиров, количество вещей которых превосходит среднее число вещей.
c) Определить, имеются ли два пассажира, багажи которых совпадают по числу вещей и различаются по весу не более чем на 0,5 кг.
d) Выяснить, имеется ли пассажир, багаж которого превышает багаж каждого из остальных пассажиров и по числу вещей, и по весу.
e) Выяснить, имеется ли пассажир, багаж которого состоит из одной вещи весом менее 30 кг.
- После поступления в ВУЗ о студентах собрана информация: фамилия, нуждается ли в общежитии, стаж, работал ли учителем, что окончил, какой язык изучал. Составить программу, определяющую:
1) сколько человек нуждаются в общежитии;
2) списки студентов, проработавших 2 и более лет учителем;
3) списки окончивших педучилище;
4) списки языковых групп.
- Описать, используя структуру данных запись, данные на учеников (фамилия, улица, дом, квартира). Составить программу, определяющую сколько учеников живет на улице Свердлова, списки учеников, живущих в доме номер 45.
- В библиотеке для каждого заказывающего книгу читателя заполняется карточка: фамилия, дата заказа, дата выдачи книги. Определить:
1) самый маленький срок, за который нашли книгу;
2) сколько заказов было не удовлетворено;
3) кто чаще всего берет книги;
- Описать, используя структуру данных запись, почтовую сортировку (город, улица, дом, квартира, кому, ценность). Составить программу, определяющую:
1) сколько посылок отправлено в г.Самару;
2) сколько и куда (список городов) отправлено посылок ценностью выше 10 рублей;
3) есть ли адреса куда отправлено более 1 посылки, если есть то сколько и кому.
- Описать, используя структуру данных запись, завод (наименование станка, время простоя в месяц, время работы в месяц). Составить программу, определяющую общее время простоя на заводе, списки станков, не имеющих простоя, относительное время простоя всех и каждого станка
- В школе было три 9 класса, в августе каждый классный руководитель имел сведения о своих учениках: фамилия, куда поступал, поступил или нет. Определить сколько учеников хотели пойти в 10 класс, кто хотел поступать в училище и техникум, кто поступил в училище или техникум, сколько учеников будет учится в 10 классе, сколько необходимо создать 10 классов и по сколько человек.
- На олимпиаде по информатике на школьников заполнялись анкеты: фамилия, номер школы, класс, занятое место. Напечатать:
1) списки школ, занявших призовые места;
2) какая из школ заняла больше всех призовых мест;
3) списки учеников занявших первое место, указать их класс.
Задание 3
- В счете указано: название игрушки, стоимость в копейках, возрастные границы. Получить следующие сведения:
1) название игрушек, цена которых не превышает 4 руб. и которые подходят детям до пяти лет;
2) цену самого дорогого конструктора;
3) названия наиболее дорогих игрушек, цена которых отличается от цены самой дорогой игрушки не более, чем на 1 руб.;
- Хранятся сведения о лесе: вид дерева, общая численность, численность здоровых деревьев. Составить программу вычисления:
1) суммарного числа деревьев на контрольном участке;
2) суммарного числа здоровых деревьев;
3) относительную численность (%) больных деревьев;
- Написать программу вычисления длин сторон, углов, площади, радиусов вписанной и описанной окружностей для треугольника, заданного координатами вершин на плоскости в декартовых или полярных координатах. Использовать структуру данных запись с вариантами.
- Дана дата (число, месяц, год и день недели). Определить правильность заданной даты, вычислить последний день данного месяца, сколько дней прошло от 1-го января 1-го года нашей эры, определить день недели, приходящийся на заданную дату, если 1-е января 1-го года нашей эры было понедельником.
- Разработать программу вычисления длин сторон, углов, площади, радиусов вписанной и описанной окружностей для треугольника, заданного координатами вершин: на плоскости в декартовых или полярных координатах.
- Написать программу, осуществляющую приведение подобных членов многочлена с использованием структуры данных запись.
- В деканате хранится информация о зимней сессии на 1 курсе (фамилия, номер группы, оценка 1 по геометрии, оценка 2 по алгебре, оценка 3 по информатике). Составить программу, печатающую фамилии студентов, имеющих задолженность хотя бы по одному предмету, качество успеваемости, процент студентов, т.е. сдавших экзамены на 4 и 5, название предмета, который был сдан лучше всего, номера групп в порядке убывания средней успеваемости их студентов.
- В отделе кадров студентов хранится следующая информация о каждом студенте: фамилия, имя, отчество, пол, возраст, курс. Составить программу которая печатает номер курса, на котором наибольший процент мужчин, самые распространенные мужские и женские имена, фамилии в алфавитном порядке и инициалы всех студенток, отчество и возраст которых являются одновременно самыми распространенными.
Лабораторная работа №10.
ФАЙЛЫ
Задание 1.
Постановка задачи:
Написать 2 программы. Первая программа должна записывать в файл на диске значения аргумента х и функции Y(x), заданной в вашем варианте, на заданном отрезке с заданным шагом. Вторая программа должна считать из полученного файла х и Y(x) и вывести на экран значения х и значения Y(x) в виде таблицы.
Варианты задания
№
|
Функция F(x)
|
Заданный
отрезок
|
шаг
|
1
|
Y=
|
0,.5
|
0.5
|
2
|
Y=x cos(x)+sin3x
|
0, 2π
|
π/5
|
3
|
Y=
|
0, π
|
π/10
|
4
|
Y=tg(x)+|x|
|
-π/4, π/4
|
π/20
|
5
|
Y=
|
-π/2, π/2
|
π/10
|
6
|
Y=
|
5, 15
|
1
|
7
|
Y=ch|x+1|
|
0, 3
|
0.3
|
8
|
Y=arcsin(x) +x2
|
-0.5, 0.5
|
0.1
|
Задание 2.
- Файл f1.txt содержит 120 чисел в 4 колонки. Создать программу считывания этих чисел и их вывода в файл f2.txt с сортировкой по возрастанию в 5 колонок с точностью 2 знака после десятичной точки. Файлу f2.txt установить атрибут "Read-Only".
- Файл f1.txt содержит 200 чисел в 5 колонок. Создать программу считывания этих чисел и их вывода в файл f2.txt с сортировкой по убыванию в 8 колонок с точностью 2 знака после десятичной точки. Файлу f2.txt установить атрибут "Hidden".
- Файл f1.txt содержит 300 чисел в 10 колонок. Создать программу считывания этих чисел и их вывода в файл f2.txt с сортировкой по возрастанию в 12 колонок с точностью 1 знак после десятичной точки. Файлу f2.txt установить атрибут "System".
- Файл f1.txt содержит 40 чисел в 8 колонок. Создать программу считывания этих чисел и их вывода в файл f2.txt с сортировкой по возрастанию в 4 строки с точностью 3 знака после десятичной точки. Файлу f2.txt установить атрибут "Read-Only".
- Файл f1.txt содержит 100 чисел в 5 колонок. Создать программу считывания этих чисел и их вывода в файл f2.txt с сортировкой по убыванию в 4 колонки с точностью 5 знаков после десятичной точки. Файлу f2.txt установить атрибут "Hidden".
- Файл f1.txt содержит 1200 чисел в 6 колонок. Создать программу считывания этих чисел и их вывода в файл f2.txt с сортировкой по убыванию в 12 колонок с точностью 1 знак после десятичной точки. Файлу f2.txt установить атрибут "System".
- Записать в новый файл f1.pas 100 реальных случайных чисел (от 100 до 100) в 5 колонок с точностью 6 знаков после десятичной точки. Файлу установить атрибут "Read-Only".
- Составить программу поиска в файле строки символов, задаваемой с клавиатуры. Программа должна определять количество найденных экземпляров строки и их позиции от начала файла
Задание 3.
- Дан файл f, компоненты которого являются целыми числами. Получить в файле g все компоненты файла f , делящиеся на 3 и не делящиеся на 7.
- Даны символьные файлы f и g. Записать в файл h сначала компоненты файла f, затем компоненты файла g с сохранением порядка.
- Дан текстовый файл f. Добавить букву c в начало каждой строки текстового файла.
- Дан текстовый файл f. Записать в файл g компоненты файла f в обратном порядке.
- Дан текстовый файл f. Записать в файл g все строки длиной менее 10 символов, а в файл h все остальные строки.
- Дан файл f, компоненты которого являются целыми числами. Никакая из компонент файла не равна нулю. Файл f содержит столько же отрицательных чисел, сколько и положительных. Используя вспомогательный файл h, переписать компоненты файла f в файл g так, чтобы в файле g не было двух соседних чисел с одним знаком.
- Дан файл f, компоненты которого являются целыми числами. Записать в файл g все четные числа файла f, а в файл h - все нечетные. Порядок следования чисел сохраняется.
- Дан текстовый файл f. Добавить букву с в конец каждой строки текстового файла.
Лабораторная работа №11.
Задачи на графические построения.
С использованием операторов GetImage и PutImage составить программу случайного перемещения по экрану заполненного эллипса.
1. Смоделировать колебание маятника
( окружность и отрезок ). Угол отклонения
от вертикали изменяется равноускоренно
в диапазоне от -/6 до /6.
2. Смоделировать вписывание прямоугольника
в окружность, демонстрирующее изменение от
крайнего положения с максимальным размером
горизонтальных сторон до максимального
размера вертикальных сторон
3. Построить фигуру из 15 вписанных квадратов
с чередованием стиля их заполнения.
4. Организовать движение окружности по спирали
от центра экрана. Окружность должна оставлять след
от своего центра при движении.
5. Смоделировать движение подскакивающего
мяча (окружности) - движение циклическое
равноускоренное с затухающей амплитудой.
6. Смоделировать поведение шарообразного
объекта под прессом (окружность переходит
в эллипс).
7. Построить траекторию погони: точка 1 равномерно
движется по горизонтали слева направо, точка 2 из начального 1
положения в левом нижнем углу догоняет ее со скоростью
на 10 % большей и направленной на текущее положение точки 1. 2
8. Смоделировать движение кривошипно-шатунного
механизма (ломаная линия 1-2-3), где точка 2
равномерно вращается вокруг неподвижной точки 1,
а точка 3 движется по направляющей А-В.
Задание 2.
1. Смоделировать процесс равномерного
сжатия пружины (ломаная из 16 отрезков толщиной
3 пиксела) до предельного положения.
2. С использованием чередования видеостраниц
и процедуры поворота линейчатых фигур
смоделировать вращение заполненной фигуры -
четырехугольной звезды.
Вращение происходит вокруг центра фигуры
против часовой стрелки.
3. С использованием чередования видеостраниц
и процедуры смещения линейчатых фигур
составить программу создания движущегося образа:
поступательное движение заполненной звезды
под случайным начальным углом.
4. Методом штриховки углов нарисовать фигуру:
5. Методом модификации контурного
изображения организовать преобразование
фигуры 1 в фигуру 2. 1 2
6. Составить программу, отображающую движение:
Колесо с 4 спицами (окружность,
пересеченная 2 отрезками ) катится равномерно
без проскальзывания по наклонной плоскости.
7. Составить программу, моделирующую процесс:
В области экрана рисуются 10 квадратов размером
от 10 до 40 пикселей.
Затем по экрану из левого нижнего в правый верхний
угол начинает перемещаться пиксель. При касании
квадрата пикселем этот квадрат со звуком уничтожается.
8. Составить программу, моделирующую процесс:
В области экрана рисуются 16 заполненных
кругов радиусом от 10 до 40 пикселей.
Затем круги последовательно начинают
уничтожаться в порядке возрастания их размера.
Задание 3.
- Составить программу, сначала генерирующую набор из 300 пикселов разного цвета в круге максимального для экрана радиуса. Затем организовать вращательное движение этих пикселов: во внутренней части круга по часовой стрелке, а ближе к периферии против часовой стрелки.
- Составить процедуру рисования N-угольной звезды. В параметры процедуры включить число лучей звезды, радиусы вписанной и описанной окружностей, цвет линий и координаты центра звезды. Нарисовать звезду случайным образом 20 раз.
- Составить программу одновременного вывода (до нажатия клавиши) пикселов случайного цвета в прямоугольниках, расположенных:
- в правой нижней четверти экрана (использовать яркие цвета),
- в левой верхней четверти экрана (использовать темные цвета).
После высвечивания очередных 500 пикселов генерировать звуковой сигнал.
4. Составить программу, перемещающую
по экрану вашу фамилию, выведенную крупным векторным Фамилия
шрифтом. Перемещение циклическое до нажатия клавиши
по горизонтали. При достижении края экрана скорость меняется
на противоположную и случайным образом изменяется цвет.
5. Составить процедуру рисования фигуры.
В параметры процедуры включить координаты
узловой точки, размер и цвет фигуры.
6. Составить программу рисования на экране 4 соосных кругов разного цвета: первый - максимального размера, последующие - с уменьшением радиуса на 30 пикселов. Стиль заполнения первого круга определить его номером, т.е. цифрой 1.
7. Разделить графический экран с использованием
заливки на 15 областей разного цвета.
8. Составить программу рекурсивного построения прямоугольного
лабиринта, занимающего большую часть экрана.
1
2
А
В
3