Контрольная работа - Гомельский государственный университет

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
Учреждение образования
«Гомельский государственный университет
имени Франциска Скорины»
Кафедра автоматизированных систем обработки информации
ОСНОВЫ АЛГОРИТМИЗАЦИИ И
ПРОГРАММИРОВАНИЯ
задание к контрольной работе
для студентов 1 курса заочной формы обучения
специальности 1-530102 «АСОИ»
Гомель 2009
Составители: В.А.Дробышевский
Рецензенты:
М.И. Богданов, доцент, к.э.н.
В.С. Давыдов, доцент, к.т.н.
Рекомендован к изданию научно-методическим советом
Учреждения образования «Гомельский государственный университет
имени Франциска Скорины».
 Учреждение образования «Гомельский государственный университет
имени Франциска Скорины», 2009г.
2
Введение .........................................................................................................................................4
Контрольная работа .......................................................................................................................5
Задание №1........................................................................................................ 5
Задание №2........................................................................................................ 7
Задание №3........................................................................................................ 9
Задание №4...................................................................................................... 10
3
Введение
Выполнение контрольных работ по учебной дисциплине "Программирование" предполагает обучение студентов умению работать со сложными
структурами данных, применяемых в программах, а также разработку и отладку программ в соответствии с заданиями, указанными в контрольных работах. Выбор варианта задания осуществляется в зависимости от последней
цифры номера зачетной книжки.
Выполнение контрольных работ включает:
1 Изучение студентами необходимого теоретического материала по
теме контрольной работы.
2 Постановку задачи в соответствии с темой контрольной работы и согласование ее с руководителем.
3 Построение блок-схемы алгоритма решения задачи.
4 Составление программы.
5 Решение контрольного примера (численные значения исходных величин задаются студентом) .
6 Подготовку отчета о выполненной работе и его защиту.
Каждая работа оформляется отдельно с использованием шаблона
оформления печатных работ. Работы собираются в папку с титульным листом.
Структура отчета по каждому заданию контрольной работы:
1
2
3
4
5
6
7
Тема.
Цель работы.
Постановка задачи.
Блок-схема или псевдокод алгоритма решения задачи.
Контрольный пример.
Распечатка результатов.
Текст программы.
4
Контрольная работа
Задание №1.
Цель работы: изучение операторов цикла языка “Pascal”. Реализовать задачу
циклами for, while и repeat.
Краткие теоретические сведения:
For...To, For...DownTo (зарезервированные слова)
Оператор For вызывает оператор, находящийся после слова Do, по одному
разу для каждого значения в диапазоне от начального до конечного значений.
Синтаксис:
For переменная:=начальное To конечное Do оператор
или
For переменная:=начальное DownTo конечное Do оператор
Замечания:
Переменная цикла и начальное и конечное значения должны иметь счетный
тип.
Используйте составной оператор (Begin..End), чтобы выполнить в цикле несколько операторов.
Со служебным словом To, значение переменной цикла увеличивается на 1
при каждой итерации.
Со служебным словом DownTo, значение переменной цикла уменьшается на
1 при каждой итерации.
Пример:
(* For...To, For...DownTo *)
For I:=1 To ParamCount Do WriteLn(ParamStr(I);
For I:=1 To 10 Do
For J:=1 To 10 Do
Begin
X:=0;
For K:=1 To 10 Do X:=X+Mat1[I, K]*Mat2[K, J];
Mat[I, J]:=X;
End;
While (зарезервированное слово)
Оператор цикла While содержит выражение, которое управляет повторением
выполнения отдельного или составного оператора.
5
Синтаксис:
While логическое выражение Do оператор
Замечания:
Оператор после Do будет выполняться до тех пор, пока логическое выражение является истинным.
Выражение вычисляется до выполнения оператора, так что если логическое
выражение с самого начала было ложным (False), то оператор не будет выполнен ни разу. (В отличие от оператора цикла Repeat)
Пример:
{ Операторы While }
While Ch = ' ' Do Ch:=GetChar;
While Not EOF(InFile) Do
Begin
ReadLn(InFile, Line);
WriteLn(OutFile, Line);
Inc(LineCount);
End;
Repeat...Until (зарезервированные слова)
Операторы между словами Repeat и Until повторяются до тех пор, пока логическое выражение является истинным (True).
Синтаксис:
Repeat
Оператор;
Оператор;
...
Оператор
Until логическое выражение
Замечания:
Последовательность операторов выполнится, по крайней мере, один раз!
Пример:
{ Операторы цикла Repeat }
Repeat
Ch:=GetChar
Until Ch<>' ';
Repeat
Write('Введите значение : ');
6
ReadLn(I);
Until (I>=0) And (I<=9);
№ варианта
1
2
3
4
5
6
7
8
9
10
Постановка задачи
Найти сумму целых чисел от m до n.
Найти произведение целых чисел от m до n.
Найти сумму чисел от m до n, кратных к.
В банк положили N у.е. под P процентов в год. Сколько денег
будет в банке через L лет?
Найти !n, n<=16.
Найти произведение целых чисел от m до n, кратных к.
В банк положили N у.е. под P процентов в год. Через сколько
лет в банке будет S у.е.?
На сколько дней студенту хватит стипендии S, если он тратит N
р. в день и его расходы каждый день увеличиваются на X р.?
Найти сумму четных чисел от m до n.
На сколько дней студенту хватит стипендии S, если он тратит N
р. в день и его расходы каждый день увеличиваются в X раз?
Задание №2.
Цель работы: изучение оператора выбора (CASE). Реализовать задачу, используя CASE и IF.
Краткие теоретические сведения:
Case (зарезервированное слово)
Оператор Case состоит из выражения (селектора) и списка операторов, выполняется один из них, в зависимости от значения селектора.
Синтаксис:
Case выражение Of
вариант : оператор;
...
вариант : оператор;
End
или
Case выражение Of
вариант : оператор;
...
вариант : оператор
7
Else оператор
End
Замечания:
"вариант" состоит из одной или нескольких констант или диапазонов, разделенных запятыми.
Часть "Else" является необязательной.
Пример:
Case Ch Of
'A'..'Z', 'a'..'z' : WriteLn('Буква');
'0'..'9'
: WriteLn('Цифра');
'+', '-', '*', '/' : WriteLn('Оператор');
Else WriteLn('Специальный символ')
End;
№ варианта
1
2
3
4
5
6
7
8
9
10
Постановка задачи
Дан одномерный массив чисел. Умножить на 3 его положительные элементы, отрицательные разделить на 2, а равные нулю –
заменить числом 5.
Даны отрезки a,b,c. Определить, можно ли из них составить треугольник. Вывести сообщения типа “можно”, ”нельзя”, ”треугольник превращается в отрезок”.
Дан одномерный массив чисел. Если его максимальный элемент
>10, найти произведение элементов массива, <=10, но >=5 –
найти сумму элементов, <5 – обнулить массив и вывести соответствующее сообщение.
Дана точка (x;y) и круг радиуса R с центром в точке (0;0).
Определить, где находится точка: внутри, на границе, или за
пределами круга.
Дана матрица [mxn]. Если число сток больше числа столбцов,
удвоить все элементы матрицы и утроить их в обратном случае.
Если матрица квадратная, обнулить все ее элементы.
Напечатать значение 0<К<10 римскими цифрами.
Для целого числа 14<К<26 написать фразу “мне К лет”, учитывая форму числительных (год, года).
Вывести название месяца по его номеру.
Напечатать словесное название числа 0<К<10
Вывести название дня недели по его номеру.
8
Задание №3.
Цель работы: научиться работать с двумерными массивами и вложенными
операторами цикла.
Краткие теоретические сведения:
Array (зарезервированное слово)
Определяет массив.
Синтаксис:
Array [тип_индексов] Of тип_элементов
Замечания:
Позволяются несколько типов индексов, если они разделены запятыми.
Элементы массива могут иметь любой тип, а тип индексов должен быть
счетным.
Пример:
Type IntList = Array[1..100] Of Integer;
CharData = Array['A'..'Z'] Of Byte;
Matrix = Array[0..9, 0..9] Of Real;
№ варианта
1
2
3
4
5
6
7
8
9
10
Постановка задачи
Составить одномерный массив из максимальных элементов
строк матрицы [MxN].
Определить число элементов матрицы [MxN] кратных A.
Перемножить 2 матрицы [MxN] и [NxK].
Вывести все элементы двумерного массива [MxN] кратные A.
Найти сумму элементов матрицы [MxN], расположенных ниже
побочной диагонали.
Найти число отрицательных элементов матрицы [MxN], расположенных в столбцах с номером, кратным A.
Найти произведение элементов матрицы [MxN], расположенных
выше главной диагонали.
Поменять местами элементы j и k столбцов матрицы [MxN].
Определить количество элементов матрицы [MxN] больших A и
расположенных в четных строках и столбцах.
Найти минимальный элемент главной диагонали матрицы
[MxN].
9
Задание №4
Цель работы: изучение комбинированного типа данных.
Краткие теоретические сведения:
Запись содержит несколько компонентов, или полей, которые могут иметь
различные типы.
Синтаксис:
Record
Поля;
Поля;
...
Поля
End;
Замечания:
Каждый список полей - список идентификаторов, разделенных запятыми сопровождаемых двоеточием и указанием типа.
№ варианта
1
2
3
4
5
6
7
8
9
10
Постановка задачи
Ввести информацию о ценах на процессоры в массив записей и
вывести ее в виде таблицы.
Ввести имена и телефоны сотрудников организации в массив
записей и вывести их в виде таблицы.
Ввести информацию о ценах на мониторы в массив записей и
вывести ее в виде таблицы.
Ввести фамилии и адреса сотрудников организации в массив записей и вывести их в виде таблицы.
Ввести характеристики монитора (разрешение, частота вертикальной развертки) в массив записей и вывести их в виде таблицы.
Ввести информацию о количестве продукции на складе в массив
записей и вывести ее в виде таблицы.
Ввести информацию о ценах на жесткие диски в массив записей
и вывести ее в виде таблицы.
Ввести информацию о ценах на компьютеры в массив записей и
вывести ее в виде таблицы.
Ввести информацию о ценах на автомобили в массив записей и
вывести ее в виде таблицы.
Ввести информацию о специальностях сотрудников организации в массив записей и вывести ее в виде таблицы.
10
УЧЕБНОЕ ИЗДАНИЕ
Дробышевский Виталий Александрович
ПРОГРАММИРОВАНИЕ
задания к контрольным работам
для студентов 1 курса заочной формы обучения
специальности 1-530102 «АСОИ»
_________________________________________________
Подписано в печать ___________. Формат 60x64 1/16
Бумага писчая №1. Печать офсетная. Усл.печ.л. 1,0.
Уч.-изд.л. 0,7. Тираж 50.
_________________________________________________
Отпечатано на ротапринте ГГУ, 246699, г.Гомель, ул.Советская, 104
11
Download