Домашняя контрольная работа по дисциплине ОП.05 Основы программирования и баз данных
по специальности 09.02.02 Компьютерные сети
В ходе выполнения работы студентам необходимо выполнить следующие задания:
1. Ответить на теоретические вопросы.
2. Выполнить практические задания.
3. Создать программный продукт.
Все задания выполняются в соответствии с вариантом (последняя цифра номера зачетной книжки).
Отчет по контрольной работе выполняется в программе MS Word.
Отчет по работе должен состоять из:
Титульный лист;
ответы на теоретические вопросы;
выполненные практические задания;
Скриншоты и листинг программного продукта, а так же диск с программой и исходными файлами.
Требования к оформлению отчета: размер шрифта -14, тип шрифта Times New Roman, выравнивание по ширине, расстановка переносов автоматическая.
Выполнение работы
Задание 1. Ответьте на теоретические вопросы
№ варианта | Список вопросов |
1. | 1. Понятие алгоритма. Виды алгоритмических конструкций. 2. Типы данных. Привести примеры обозначения типов данных в языках программирования. 3. Оператор условного перехода в языках программирования. Привести примеры использования |
2. | 1. Цикл с счетчиком. Привести примеры использования 2. Алгоритмические языки программирования, принципы построения программ. Привести примеры. 3. Процедура ввода/вывода на языке программирования Паскаль. Привести примеры использования |
3. | 1. Цикл с постусловием. Привести примеры использования 2. Структура программы на языке Паскаль. Оператор присваивания. 3. Оператор варианта CASE. Привести примеры использования |
4. | 1. Цикл с предусловием. Привести примеры использования 2. Обработка массивов. 3. Основы объектно ориентированного программирования. |
5. | 1. Понятие класса, составляющие класса и его свойства. 2. Структура программ в среде Lazarus 3. Дать понятие визуальному программированию |
6. | 1. Назовите требования предъявляемые к программным продуктам. 2. Компоненты Lazarus отвечающие за ввод/вывод данных, их различие и примеры использования 3. Основные операторы языка программирования Паскаль |
7. | 1. Массивы в языке программирования Паскаль 2. Основы объектно ориентированного программирования. 3. Цикл с постусловием. Привести примеры использования |
8. | 1. Понятие алгоритма. Виды алгоритмических конструкций. 2. Цикл с счетчиком. Привести примеры использования 3. Структура программы на языке Паскаль. Оператор присваивания. |
9. | 1. Оператор условного перехода в языках программирования. Привести примеры использования 2. Понятие переменной 3. Структура программ в среде Lazarus |
10. | 1. Алгоритмические языки программирования, принципы построения программ. Привести примеры. 2. Оператор условного перехода в языках программирования. Привести примеры использования 3. Основы объектно ориентированного программирования. |
Задание 2. Решение задач по программированию. Ответ необходимо дать развернуты, описав процесс выполнения программного кода.
№ варианта | Задание |
1. | В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент этой программы, записанный на разных языках программирования, в котором значения элементов массива сначала задаются, а затем меняются. for i:=0 to 10 do A[i]:=i-1; for i:=1 to 10 do A[i-1]:=A[i]; A[10]:=10; Как изменятся элементы этого массива после выполнения фрагмента программы? |
2. | Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования). a:= 30; b:= 14; a:= a – 2 * b; if a > b then c:= b + 2 * a else c:= b - 2 * a; |
3. | Определите, что будет напечатано в результате выполнения программы var n, s: integer; begin n:= 0; s:= 0; while s <= 35 do begin n:= n + 1; s:= s + 4 end; write(n) end. |
4. | Ниже записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 21. var x, a, b: integer; begin readln(x); a:=0; b:=1; while x>0 do begin a:=a+1; b:=b*(x mod 10); x:= x div 10 end; writeln(a); write(b); end. |
5. | Определите, какое число будет напечатано в результате выполнения следующего алгоритма var a,b,t,M,R:integer; Function F(x:integer):integer; begin F:= 3*(x-8)*(x-8) end; begin a:= -20; b:= 20; M:= a; R:= F(a); for t:= a to b do begin if (F(t)<R) then begin M:= t; R:= F(t) end end; write(M); end. |
6. | В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент этой программы, записанный на разных языках программирования, в котором значения элементов массива сначала задаются, а затем меняются. for i:=0 to 10 do A[i]:=i-1; for i:=1 to 10 do A[i-1]:=A[i]; A[10]:=10; Как изменятся элементы этого массива после выполнения фрагмента программы? |
7. | Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования). a:= 30; b:= 14; a:= a – 2 * b; if a > b then c:= b + 2 * a else c:= b - 2 * a; |
8. | Определите, что будет напечатано в результате выполнения программы var n, s: integer; begin n:= 0; s:= 0; while s <= 35 do begin n:= n + 1; s:= s + 4 end; write(n) end. |
9. | Ниже записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 21. var x, a, b: integer; begin readln(x); a:=0; b:=1; while x>0 do begin a:=a+1; b:=b*(x mod 10); x:= x div 10 end; writeln(a); write(b); end. |
10. | Определите, какое число будет напечатано в результате выполнения следующего алгоритма var a,b,t,M,R:integer; Function F(x:integer):integer; begin F:= 3*(x-8)*(x-8) end; begin a:= -20; b:= 20; M:= a; R:= F(a); for t:= a to b do begin if (F(t)<R) then begin M:= t; R:= F(t) end end; write(M); end. |