Примеры выполнения заданий
ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ
ЗАДАНИЕ № 1.Составить программу для вычисления на ПК значений переменных. Вывести на экран значения исходных данных и результатов промежуточных и окончательных вычислений, сопровождая вывод именами переменных.
Вариант 1
y = ctg x + , где
Вариант 2
Вариант З
у = x2 +b- sin b, где
Вариант 4
Вариант 5
Вариант 6
Вариант 7
Вариант 8
Вариант 9
Вариант 10
ЗАДАНИЕ №2. Написать значение выражения на языке Pascal для вводимых с клавиатуры А, В и С.
Вариант 1
Вариант 2
Вариант 3
Вариант 4
Вариант 5
Вариант 6
Вариант 7
Вариант 8
Вариант 9
.
Вариант 10
ЗАДАНИЕ №3.Составить две программы (одну с операторами присваивания, перехода, условными; вторую- используя оператор цикла) для вычисления значений функции при изменении аргумента. Вывод на экран значений вводимых исходных данных и результатов вычислений оформить в виде таблицы с указанием в шапке таблицы имён аргумента и функции.
Вариант 1
где х принимает значения из интервала [-1÷1] с шагом 0,1
Вариант 2
где x принимает значения из интервала [0÷10] с шагом 0,5,
значение «b» задаётся.
Вариант 3
гдех изменяется в интервале [0÷6] с шагом 0,4,
значения «u», «t»- вводятся с клавиатуры.
Вариант 4
где x принимает значения 0; 0,5; 1;... 3, значение «а»- задаётся
Вариант 5
где x изменяется в интервале [ 0,7 ; 2 ] с шагом 0,1;
а=1.65.
Вариант 6
где х изменяется в интервале [0,1÷1,7] с шагом 0,2,
а=0,9
Вариант 7
где х изменяется в интервале [2 ÷ 5] с шагом 0,25.
Вариант 8
где х изменяется в интервале [0,2÷2] с шагом 0,1; t=2,2.
Вариант 9
где х изменяется в интервале [0,2÷2] с шагом 0,1; а=20,3
Вариант 10
где x принимает значения 0; 0,5; 1;... 3, значение «а»- задаётся
ЗАДАНИЕ №4. Составить программу вычисления функции, используя разные виды операторов цикла(минимум две программы).
Вариант 1
Найти сумму ряда
Вариант 2
Найти сумму ряда
Вариант 3
Найти сумму 35 членов ряда
Вариант 4
Найти сумму 50 членов ряда
Вариант 5
Найти сумму ряда
Вариант 6
Найти сумму ряда
Вариант 7
Найти сумму ряда
Вариант 8
Найти сумму ряда
при х=0,20 с заданной точностью =10-9.
Вариант 9
Найти сумму ряда
при х=0,10 с заданной точностью = 0.5 * 10-4
Вариант 10
Найти сумму ряда, начиная с нулевого члена
при х=0,75 с заданной точностью = 10-3.
ЗАДАНИЕ №5.Составить программу решения задачи обработки массива.
Вариант 1
Задана матрица М{N,М). Упорядочить по возрастанию элементы каждой строки матрицы N4. 15, М4 10.
Вариант 2
Задана матрица А{N,М). Вычислить и запомнить сумму и число положительных элементов каждого столбца матрицы. Результаты получить в виде двумерного массива N≤15, М<10.
Вариант 3
Задана матрица В{N,М). Вычислить сумму и число элементов матриц, находящихся под главной диагональю и на ней N≤2.
Вариант 4
Задана матрица Р(N,N). Найти в каждой строке наибольший элемент и поменять его местами с элементами главной диагонали N≤15.
Вариант 5
Задан массив С(М) Определить минимальный элемент массива С и его номер С1 < О, М≤40.
Вариант 6
Задана матрица R(К,N). Найти наибольший и наименьший элементы матрицы и поменять их местами К<20,N≤10.
Вариант 7
Задана матрица F(N,М) Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их с первым и последним элементами строки соответственно N≤10, М≤ 15.
Вариант 8
Задан массив Z(N). Расположить в массиве R сначала положительные, а затем отрицательные элементы массива Z.
Вариант 9
В целочисленной матрице N(А, В) определить все элементы, кратные пяти. Сформировать из этих элементов одномерный массив инайти наибольший элемент этого массива А≤20, В≤ 10
Вариант 10
Задана матрица 7ЩМ). Найти строку с наименьшей и наибольшей суммой элементов. Вывести на экран найденные строки и суммы их элементов N≤12, М ≤ 15.
ЗАДАНИЕ №6.Составить программу обработки символьных строк.
Вариант 1
Дана символьная строка. Русские буквы а, е, о, э в ней нужно удвоить, а между словами оставить только по одному пробелу.
Вариант 2
Дана символьная строка. Если какой-то символ встречается в ней более одного раза, первое вхождение этого символа оставить без изменения, второе — заменить цифрой «2», третье — «3» и т.д.
Вариант 3
Дана символьная строка, содержащая русские слова, записанные строчными буквами, разделенные пробелами. Заменить первые буквы слов на прописные, а между ними оставить по одному пробелу.
Вариант 4
Дана последовательность символов (строка). Если какой-то символ в, ней встречается более одного раза, оставить только первое вхождение.
Вариант 5
Дана символьная строка, содержащая русские буквы, цифры и пробелы. Написать строку задом наперед, удалив из нее все цифры и пробелы.
Вариант 6
Дана символьная строка. Определить, содержит ли строка числа, если да, то вывести на экран только четные.
Вариант 7
Дана символьная строка, состоящая из строчных букв русского и латинского алфавита без пробелов. Гласные латинские буквы в ней нужно заменить на соответствующие прописные буквы, а каждые пять символов разделить пробелами.
Вариант 8
Дана символьная строка. Вывести на экран только те символы, которые встречаются в ней более трех раз, для каждого из этих символов Указать точное количество повторений.
Вариант 9
Дана символьная строка. Удалить из нее все символы, не являющиеся заглавными буквами русского или латинского алфавита.
Вариант 10
Дана символьная строка, содержащая два предложения, каждое из которых заканчивается точкой. Поменять их местами, сохранив порядок слов в предложениях.
Задание 7:
Вариант 1.
Создать форму как показано на рисунке. Фоном формы сделать рисунок. Переключатели и кнопку «Изменить» поместить в рамку. По умолчанию установить переключатели «Заголовок текста». При запуске формы поле «Введи новое значение» и кнопка «Готово» должны быть невидимы. При нажатии на кнопку «изменить» рамка с содержимым становиться невидимой, в поле «Введи новое значение» и кнопка «Готово» - должны быть видимыми. При нажатии на кнопку «Готово» происходит соответствующее событие и форма принимает первоначальный вид.
Вариант 2
Создать форму, как показано на рисунке. Рисунок треугольника создать в Paint и поместить на форму. Вывести сообщение в поле TxtRez «Треугольник построить можно» или «Треугольник построить нельзя». (Если сумма любых двух сторон треугольника больше третей, то треугольник с таким сторонами существует). До нажатия на кнопку «Ок» рисунок треугольника и поле TxtRez должны быть не видимыми.
Вариант 3
Создайте новый проект. Создать в нем форму «Размещение объекта по заданным координатам», на которой разместить:
Кнопки «Изменить для рис.1» и «Изменить для рис.2»
Рисунок1 и рисунок 2
Текстовые поля для ввода расстояния от края формы до объекта сверху и расстояния от края формы до объекта слева.
Порядок работы приложения: 1) ввести значения текстовых полей; 2) при щелчке по кнопке «Изменить для ...» соответствующий рисунок должен переместиться в соответствии с заданными параметрами. Предусмотреть проверку - рисунок должен перемещаться только на свободном от других объектов пространстве формы.
Изменение размещения объекта на форме оформить процедурой IZMXY с параметрами: объект, расстояние от верхнего края, расстояние от левого края.
Вариант 4
Создайте форму по образцу (см. рисунок) с названием: - Рост спортсменов. В форму добавить пункты меню: Очистить и Вычислить.
Для меню вычислить создать подменю: «Самый высокий» и «Средний рост команды». При изменении любого текстового поля с данными, поле с результатом должно очищаться. Поле результата сделать недоступным для ввода.При нажатии на кнопку Выход - закрывать форму.
Вариант 5
Создайте форму по образцу (см. рисунок) с названием: Вес спортсменов . В форму добавить пункты меню: Очистить и Вычислить.
Для меню вычислить создать подменю: «Общий вес» и «Спортсмен с минимальным весом» . При изменении любого текстового поля с данными, поле с результатом должно очищаться. Поле результата сделать недоступным для ввода. При нажатии на кнопку Выход - закрывать форму.
Вариант 6
Создайте форму по образцу (см. рисунок) с названием: - Успеваемость
В форму добавить пункты меню: Очистить и Вычислить.
Для меню вычислить создать подменю:
«Количество пятерок» и «Средний балл».
При изменении любого текстового поля с данными, поле с результатом должно очищаться.
Поле результата сделать недоступным для ввода.
При нажатии на кнопку Выход - закрывать форму.
Вариант 7
Создайте форму, как показано на рисунке. Надпись «Число загадано!» при запуске программы не видна. При нажатии на кнопку «Загадать число» компьютер запоминает в переменную случайное число и надпись «Число загадано!» становиться видна. При нажатии на кнопку «Угадать» выводиться окно ввода «Введите число» и в зависимости от результатов сравнения в окне сообщений вывести «Вы угадали» или «Вы не угадали!»
Вариант 8
Создайте форму как показано на рисунке. При нажатии на кнопку «Нажми меня» должно появляться диалоговое окно ввода с вопросом «Что изображено на картинке?». Если введено слово «Сердце», вывести в диалоговом окне вывода сообщение «Верный ответ!», а иначе вывести «Неверно!».
Вариант 9
Создайте форму по образцу. Введите значения. А и В. При нажатии на кнопку «вычислить» должны выводится значения xl и х2.
Вариант 10
Создать форму . Напишите программный код вычисления значения переменных
у1 и у2: у, = а2 + b2; y2 =
ПРИМЕРЫ ВЫПОЛНЕНИЯ ЗАДАНИЙ
Задача 1:
Записать арифметические выражения по правилам Паскаля:
1.
Y:= SQRT (ABS (-A*X+C))/LN(ABS(X+C*C))
2.
Y:= EXP(1/3*LN(A*X))
3.
Y:= SQR(a+b)+a*cos(a+b) +a*SQRT(b)/(a+b)
4.
Y:= LN(ARCCT(x)-SIN(a*b))+EXP(5*LN(a*x)).
Задача 2.
Написать программу вычисления х, предварительно составив алгоритм.
Да |
Нет |
А=В |
Х=3 |
C<D |
Да |
Х=1 |
Х=2 |
Нет |
PROGRAM TNL (INPET; OUTPUT);
VAR A,B,C,D:REAL;
X:INTEGER;
BEGIN
WRITELN (‘Введите значения A,B,C,D’);
READ (A,B,C,D);
IF A=B THEN
IF C<D THEN
X:=1
ELSE
X:=2
ELSE
X:=3
WRITELN (‘Значение х =’, х:8:3);
END.
Задача 3.
Вычислить факториал заданного числа N.
PROGRAM FA;
VAR N,I,P:INTEGER;
BTGIN
READ (N);
WRITELN (‘исходные данные N=’, N);
P:=1
FOR I:=1 TO N DO
P:=P*I
WRITE (‘N!=’, P);
END.
Задача 4.
Пусть массив А (20) это количество осадков в мм., выпадавших в г.Москве в течение 20-ти последних лет, вычислить среднее количество осадков и отклонение от среднего для каждого года.
PROGRAM OSADKI;
TYPE T=ARRAY [1…20] OF REAL;
VAR A:T;
S:REAL;
BEGIN
S:=0
FOR I:=1 TO 20 DO
BEGIN
WRITELN (‘Введите следующие элементы массива’);
READ (A [I]);
S:=S+A[I];
END;
S:=S/20
WRITELN (‘Среднее количество осадков, S’);
FOR I:=1 TO 20 DO
WRITELN (S-A[I]);
WRITELN (‘Отклонение от среднего’);
END;
END.
Задача 5.
Дан двумерный массив различных вещественных чисел, содержащий 5 строк и 4 столбца. Строку, содержащую максимальный элемент массива, поменять местами со строкой, содержащей минимальный элемент.
PROGRAM MAS (INPUT, OUTPUT);
TYPE MMM=ARRAY [1…4] OF REAL;
VAR M: ARRAY [1…5] OF MMM;
M1: MMM
MAX, MIN: REAL; MAX, MIN,I,J:INTEGER;
BEGIN
WRITELN (‘Введите исходный массив’);
FOR I:=1 TO 5 DO
FOR J:=1 TO 4 DO
BEGIN
IF MAX <M[I,J] THEN
BEGIN
MAX:=M[I,J];
MAX I:=I
END;
IF MIN >M[I,J] THEN
BEGIN
MIN:=M[I,J];
MIN I:=I
END;
END;
M1:=M [MAX I];
M [MAX I]:= M [MIN I];
M [MIN I]:=M1;
WRITELN (‘Введите исходный массив’);
FOR I:=1 TO 5 DO
BEGIN
FOR J:=1 TO 4 DO
WRITE (M [I,J]:5:2);
WRITELN;
END;
END.
Введите исходный массив
1.1 | 1.2 | 1.3 | 1.4 |
2.1 | 2.2 | 2.3 | 2.4 |
3.1 | 3.2 | 3.3 | 3.4 |
4.1 | 4.2 | 4.3 | 4.4 |
5.1 | 5.2 | 5.3 | 5.4 |
Массив после перестановки строк
5.10 | 5.20 | 5.30 | 5.40 |
2.10 | 2.20 | 2.30 | 2.40 |
3.10 | 3.20 | 3.30 | 3.40 |
4.10 | 4.20 | 4.30 | 4.40 |
1.10 | 1.20 | 1.30 | 1.40 |
Задача 6.
Определить максимальный элемент целочисленной матрицы В(5,4) и номеров строки и столбца, на пересечении которых он находится.
PROGRAM Is _ Matr; {Пример использования матриц}
Uses
Ctr;
Const
N_st=5; {число строк}
N_cl=4; {число столбцов}
Type
Int_st=1…n_st;
Int_cl=1…n_cl;
Matrixs = Array [Int_st, Int_cl] of integer;
VAR
Max:integer; {Максимальный элемент}
I, st_max:Int_st:‘ {I,J – текущий номер строки и столбца}
J , cl_max:Int_cl; {st – max, cl-max – положение max}
M:Matrixs; {Матрица}
BEGIN
ClrScr;
{Ввод матрицы из N_st строк и N_cl столбцов}
WRITELN (‘Введите матрицу по строкам по строкам из’, ‘N_cl‘, ‘строк‘}
FOR I:=1 to n_st do
BEGIN
FOR J:=1 to n_cl do
Resd (M[I,J]); {Чтение матрицы}
READLN; {Установка указателя на начало повторяющейся строки после прочтения элементов в столбце с номером n_cl}
END; {FOR_i}
{Вывод матрицы по строкам}
WRITELN (‘Матрица М из ’n_st’, ‘строк и ‘n_cl’, столбцов’);
FOR I:=1 to n_st do
BEGIN
FOR j:=1 to n_cl do
WRITE (M[I,J]:4); {Вывод элементов матрицы}
WRITELN; {Установка указателя из начала следующей строки после вывода элементов в столбце с номером n_cl}
END; {for - i}
{Определение Max, St_Max, Cl_Max}
Max:=M[1,1];
St_MAX:=1;
Cl_MAX:=1;
FOR i:=1 to n_st do
FOR j:=1 to n_cl do
IF M [I,J] > MAX
Then
Begin
Max:=m[I,J];
St_Max:=I;
Cl_Max:=J;
End;
WRITELN (‘Max=’, Max:4, ‘St_Max=’, St_Max:3,‘Cl_Max=’,
Cl_Max:3);
END.
Задача 7.
Программа ZAR вводит информацию о пяти студентах: фамилию, год рождения, год поступления в техникум и оценки последней сессии. Результатом работы программы является список отличников. В программе показаны возможности организации работы с записями с использованием оператора присоединения:
PROGRAM ZAR (INPUT, OUTPUT);
TYPE СТУДЕНТ=RECORD ФИО:PACKED
ARRAY [1…10] OF CHAR
ГОД РОЖДЕНИЯ: 1965…1975;
ГОД ПОСТУПЛЕНИЯ: 1985…1988;
ОЦЕНКИ:RECORD
АЛГ, ИСТ, ЭВМ : 1…5
END;
END;
VAR ГРУППА:ARRAY [1…5] OF СТУДЕНТ;
S1: СТУДЕНТ; I,J:INTEGER;
BEGIN;
READLN;
WITH S1 ОЦЕНКИ DO
BEGIN FOR I:=1 TO 5 DO
BEGIN;
WRITE (‘=>’);
FOR J:=1 TO 10 DO; READ (ФИО [J]);
READLN (ГОД Р, ГОД ПТ, АЛГ, ИСТ, ЭВМ);
ГРУППА [I]:=S1;
END;
WRITELN (‘СПИСОК ОТЛИЧНИКОВ’);
FOR I:=1 TO 5 DO WITH ГРУППА [I], ОЦ DO
IF (АЛГ=5) AND (ИСТ=5) AND (ЭВМ=5) THEN
WRITELN (ФИО, ‘ГОД Р=’, ГОД Р:4, ‘ГОД ПТ=’, ГОД ПТ:4);
END.
Протокол работы программы:
→ | Воронов | |||
→ | Каратаев | |||
→ | Короткова | |||
→ | Романова | |||
→ | Макарова |
Список отличников
Каратаев | Год Р = 1971 | Год П = 1985 |
Романов | Год Р = 1970 | Год П = 1985 |
Задача 8.
Записать n действительных чисел в файл.
PROGRAM ABC;
VAR
F:file OF REAL;
A:REAL;
I,n:INTEGER;
BEGIN
{Связываем файловую переменную с файлом на диске}
ASSING (F, ‘D:/TP/ABC.DAT’);
{Открываем пустой файл для записи}
BEWRITE (F);
{Определяем количество элементов в файле}
READ (N);
{В цикле вводим очередной элемент и записываем его в файл}
FOR I:=1 TO N DO
BEGIN
WRITE (‘A=’);
READ (A);
WRITE (F,A)
END;
{Закрываем файл. Здесь это обязательно}
CLOSE (F);
END.
Задача 9.
Написать программу для вычисления формулы F=m!-n!. Вычисление факториала оформить как функцию.
PROGRAM PR;
VAR F,M,K:INTEGER;
FUNCTION FAKT (N:INTEGER):INTEGER;
VAR P,I:INTEGER;
BEGIN
P:=1;
FOR I:=2 TO N DO;
P:=P*I;
FAKT:=P;
END;
END;
BEGIN
WRITE (‘Введите значение М, К’);
READ (M,K);
F:=FAKT(M)-FAKT(N);
WRITELN (‘F=’, F:S);
END.
Задача 10.
Слово задано как сторона символов. Получить новое слово из символов исходного, записанного в обратном порядке.
PROGRAM PR;
VAR A,B:STRING [20];
I,N:INTEGER;
C:CHAR;
BEGIN
READLN (A);
N:=LENGTH (A);
B:= ‘ ’
FOR I:=1 TO N DO;
B:=B+COPY (A,N-I+1, 1);
WRITELN (B);
END.
Задача 11.
Дана строка символов, группа символов между пробелами считалось словом. Определить самое длинное слово в строке и количество слов такой же длины.
VAR STR:STRING[30];
KOL,K,MAX,I,N:INTEGER;
BEGIN
READLN (STR); {ввод строки символов}
N:=LENGTH (STR); {определение длины строки}
MAX:=0; {максимальная длина слова}
KOL:=1; {количество слов максимальной длины}
I:=1; {определение параметра цикла}
WHILE I<=N DO; {цикл для просмотра всей строки}
BEGIN
K:=0; {длина слова. Присвоение начального значения}
REPEAT {цикл для определения длины слова}
K:=K+1; {вычисление длины слова}
I:=I+1; {переход к следующему символу}
{выйти из цикла, если текущий символ – пробел или длина строки исчерпана}
UNTIL (STR [I]= ‘ ’) OR (I > N);
{если длина слова превышает предполагаемый максимум, то записать ее значение}
IF K > MAX THEN MAX:=K;
{если длина слова совпадает по значению с максимальной, то увеличить значение счетчика, вычисляемого количество слов максимальной длины}
ELSE IF K=MAX THEN KOL:=KOL+1;
I:=I+1 {перейти к символу, следующему за пробелом}
END;
WRITELN (MAX, ‘ ’, KOL);
END.
Задача 11:
Создать форму по образцу. При щелчке на кнопке Добавить, в список добавляется выделенная из поля txt 1 фамилия, а в другой список имя, причем записные заглавными буквами.
Lst(F) |
Список |
Ф.И. |
Петров Иван |
ПЕТРОВ |
ИВАН |
Добавить в список |
Txt1 |
Lst I |
Cmd D |
Исходные данные:
FI – фамилия и имя
Fam – фамилия
Im – имя
Private Sub txt2_Change ( )
FI = txt1.Text
End Sub
B General:
Public FI As String*25
Private Sub cmd D_Click ( )
Dim Fam, Im As String*15, Pos As Byte
Pos = InStr (FI, ‘ ’)
Fam = Left (FI, Pos-1)
Im = Right (FI, Len (FI)-Pos)
LST F. AddItem Ucase (Fam)
LST I. AddItem Ucase (Im)
End Sub
.