Файл: Контрольная программирование.docx

ВУЗ: Не указан

Категория: Задание

Дисциплина: Программирование

Добавлен: 25.10.2018

Просмотров: 1215

Скачиваний: 7

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Пояснительная записка

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

  • Методы программирования;

  • Структуры данных;

  • Программирование в среде Turbo-Pascal.

  • Программирование в обьектно-ориентированной среде Visual Basic.

.

Задания сгруппированы по темам, по каждой теме приведено решение типовых примеров с объяснениями основных положений решения.

Основой для КР является работа с рекомендованной учебной литературой, а также осуществлять поиск информации в Internet.

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

Перед выполнением решения должно быть приведено полное описание условия задания, описание выбранного метода решения задачи (основные формулы и теоремы).

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

Одно из направлений домашней контрольной работы студентов связано с правильным выбором и постоянным использованием:

  • конспекта по дисциплине;

  • справочной литературой по дисциплине;

  • электронных справочников и системы поиска по ключевым словам в Internet.

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



КОНТРОЛЬНАЯ РАБОТА № 1


Раздел 2 Программирование в среде Turbo-Pascal

Вид КР: Выполнение индивидуальных заданий к практическим работам с использованием дополнительной литературы по соответствующей теме.

Цель: совершенствование практических навыков в области создания программ в среде программирования Turbo-Pascal.


Дидактические единицы, выносимые на самостоятельное изучение студентов.

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


Задание № 1

Краткие сведения из теории


Условный оператор.

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

Каждое определенное направление называется ветвью вычислений. Выбор той или иной ветви осуществляется в результате проверки условий и определяется свойствами исходных данных и промежуточных результатов.

При составлении программы должны быть учтены все возможные ветви вычислений.

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


  1. Полная форма оператора

IF логическое выражение THEN оператор 1 ELSE оператор 2

IF – если

THEN – тогда

ELSE – иначе

Оператор 1 или оператор 2 – это простые или составные операторы.

Если логическое выражение истинно, то выполняется оператор 1, если оно ложно, то выполняется оператор 2.

  1. Короткая форма оператора

IF логическое выражение THEN оператор

  1. Условный оператор состоящий из составных

IF логическое выражение THEN

BEGIN

Оператор 1;

Оператор 2;

END;

ELSE

BEGIN

Оператор 1;

Оператор 2;

END.



Пример : Написать программу вычисления х, предварительно составив алгоритм.








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.



Задания для контрольной работы.




Задание № 1

Составить программу для вычисле­ния на ПК значений переменных. Вывести на экран значения исходных данных и результатов проме­жуточных и окончательных вычислений, сопровождая вывод именами переменных.


Вариант 1

y = ctg x + , где

Вариант 2

Вариант З

у = x2 +b-sin b, где

Вариант 4

Вариант 5

Вариант 6

Вариант 7

Вариант 8

Вариант 9

Вариант 10


Задание № 2

Краткие сведения из теории


Арифметические операции (выражения).

С данными целого и действительного типа можно выполнять арифметические действия.

Стандартные арифметические функции.

Запись на Паскале

Запись на математическом языке

ABS (x)

‌‌|х|

SQR (x)

х2

SQRT (x)

SIN (x)

Sin x

COS (x)

Cos x

ARCTAN (x)

Arctg x

EXP (x)

ex

LN (x)

Lg x (натуральный)

LOG (x)

Lg x (десятичный)

INT (x)

Целая часть от х

FRAC (x)

Дробная часть х

ODP (x)

Проверяется является ли х нечетным

PRED (x)

Предыдущее значение х

SUCC (x)

Последующее значение х

EXP (A*LN(x))

Ха

DIV

Деление с отбрасыванием дробной части

MOD

Анализ дробного остатка



Правила записи стандартных функций:

  1. Имя функции записывается латинскими буквами.

  2. Аргумент функции записывается в скобках.

  3. Аргумент функции может быть const, переменной или арифметическим выражением.

Арифметические выражения состоят из арифметических констант, переменных, функций и операций над ними.

Все данные, входящие в арифметическое выражение должны быть одного типа. Иногда возможно сочетание INTEGER и REAL.


Правила записи арифметических операций:

  1. Все составные части выражения записываются в одну строку.

  2. Используются только круглые скобки (сколько открывающихся, столько и закрывающихся).

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

  1. Вычисление выполняются слева направо в соответствии со старшинством операций.

Старшинство операций:

  1. Стандартные функции

  2. Умножение*, деление /

  3. Сложение +, вычитание –

Выражение в скобках всегда вычисляются в первую очередь.

Пример:

Записать арифметические выражения по правилам Паскаля:

Y:= SQRT (ABS (-A*X+C))/LN(ABS(X+C*C))

Y:= EXP(1/3*LN(A*X))

Y:= SQR(a+b)+a*cos(a+b) +a*SQRT(b)/(a+b)

Y:= LN(ARCCT(x)-SIN(a*b))+EXP(5*LN(a*x)).


Задания для контрольной работы.



Задание № 2

Написать значение выражения на языке Pascal для вводимых с клавиатуры А, В и С.


Вариант 1

Вариант 2

Вариант 3

Вариант 4

Вариант 5

Вариант 6

Вариант 7


Вариант 8

Вариант 9

Вариант 10


Задание № 3

Краткие сведения из теории


Организация циклических процессов.

Циклом (в программировании) называется повторение одних и тех же действий (шагов), последовательность действий, которые повторяются в цикле называются телом цикла.

Виды операторов цикла:

- с предварительным условием (WHILE)

- с последующим условием (REPEAT)

- с параметром (FOR)

Особенности, характерные для всех видов оператора цикла.

  1. Повторяющаяся часть записывается только 1 раз.

  2. Вход в цикл возможен через его начало.

  3. Переменные оператора цикла должны быть определены до входа в цикл.

  4. Должен быть предусмотрен выход из цикла.

  1. WHILE

WHILE логические условия DO

Операторы тела цикла

BEGIN


END.

WHILE - пока

DO – выполнить

Действия оператора:

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

Как только выражение становится ложным, происходит выход из цикла.

WHILE логические условия DO оператор;


Оператор с постусловием.

Используется в тех случаях, когда заранее неизвестно число повторений цикла.

R

Операторы тела цикла

EPEAT


VNTIL логические выражения

VNTIL – до тех пор пока

REPEAT – повторять

Операторы тела цикла выполняются, по крайней мере, 1 раз до тех пор, пока логическое выражение ложно. Как только логическое выражение TRUE, цикл прекращается.

BEGIN, END – ставить не надо.


Пример: Пусть массив А (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.


Задания для контрольной работы.



Задание № 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

Краткие сведения из теории


Оператор цикла с параметром.

Используется когда заранее известно сколько раз должна повторяться циклическая часть программы

FOR I:=m1 TO m2 DO

B

Операторы тела цикла

EGIN


END.

I – параметр цикла

m1, m2 начальное и конечное значение параметра цикла.

Чаще всего параметр I используют как переменную целого типа, а шаг его изменения равен 1 или (-1).

Если шаг параметра цикла отрицательный, то вместо TODOWNTO

Пример: Вычислить факториал заданного числа 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


Составить программу вычисления функции, используя разные виды операторов цикла(минимум две программы).


Вариант 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

Краткие сведения из теории


Массивы.

Под массивом понимается совокупность конечного числа данных одного типа.

Массив обозначается одним именем, каждый элемент массива обозначается именем массива с индексом.

Элементы массива упорядочены по значению индекса. Индекс берется в квадратные скобки.


Если в программе используется массив, то он должен быть описан, либо в разделе переменных VAR, либо в разделе типов TYPE.

VAR имя массива: ARRAY[t1] OF t2;

Это описание в секции переменных.

ARRAY – массив

OF – из

t1 - тип индекса (простой тип кроме REAL и ITEGER).

t2 – тип элементов массива допустимых в Паскале.


Описание массива через секцию TYPE:

В секции VAR используется явное описание массива, в секции TYPE используют другую форму описания.

TYPE имя типа = ARRAY[t1] OF t2;

VAR имя массива : имя типа;

Пример: Дан двумерный массив различных вещественных чисел, содержащий 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


Задания для контрольной работы.



Задание № 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