Блок-схема к решению данной задачи
Составление нециклических программ с разветвлениями
Составить программу проверки знания таблицы умножения.
program pt1;
usescrt; //подключаем модуль работы с экраном
varx,y,z:integer;// объявляем типы данных в разделе описаний целого типа
begin //начало программы
clrscr; //очищаем экран
writeln ('ПРОГРАММА ПРОВЕРКИ ТАБЛИЦЫ УМНОЖЕНИЯ.'); // выводим //сообщение на экран
randomize; //формируем случайные числа
x:= random(10); //Получаем случайным образом число х
y:= random(10);// Получаем случайным образом число у
write(' ',x,' x ',y,' = ?'); //Выводим полученные числа на экран
read(z); //Считываем с клавиатуры введенное число z
if z=x*y // Проверяем является ли введенное число произведением чисел х, у
then writeln ('правильно!') //Если является то выводим соответствующее сообщение
else writeln ('неправильно! '); //Сообщение в противном случае
end.
Результаты выполнения тестов по данной программе
№ теста | Вход | Ожидаемый выход | Фактический выход | Результат |
1 2 2 | Правильно | Правильно | Да | |
4 7 29 | Неправильно | Неправильно | Да |
Вывод: По результатам выполнения тестов, можем сделать вывод, что программа решена верно.
Блок-схема к решению данной задачи
True False
Составление циклических программ
Проверить, является ли целое число простым. Число является простым, если оно делится только на 1 и на само себя. При решении данной задачи используем неполную запись оператора цикла If.
Uses crt;
Var n,i:integer;
Begin
writeln('Введите число ');
Readln(n); //Вводим число и считываем его с клавиатуры
For i:=2 to n-1 do //Берем последовательночислаот 2 до введенного числа n
If n mod i =0 {Проверяем является ли это число простым - есть ли остаток от деления этого числа, на последовательность чисел от 2 до самого себя. Если число делится на какое либо другое число, то остаток от деления будет равно 0}
Then
begin //так как в операторе If будет несколько действий, оформляем
//Then в логические скобки begin end;
writeln(n,’не простое’); // число не является простым, оно делится нацело // выводим сообщение
readkey;
halt;//выходим из цикла
End;
writeln (n, ‘простое’);
End.
Результаты выполнения тестов по данной программе
№ теста | Вход | Ожидаемый выход | Фактический выход | Результат |
12 не простое | 12 не простое | Да | ||
23 простое | 23 простое | Да |
Вывод: По результатам выполнения тестов, можем сделать вывод, что программа решена верно.
Составление программ обработки одномерных массивов
Из массива a составить массив b, который содержит только чётные элементы массива a.
program massiv1;
uses crt;
type mas=array[1..5] of integer; //объявляем тип данных «массив»
var a,b:mas; i,k,nmin:integer; min:integer;
Begin
clrscr;
for i:=1 to 5 do {Блок заполнения массива}
Begin
writeln ('Введите значение элемента');
readln (a[i]);
End;
//Из массива a составляем массив b, который содержит только чётные элементы //массива a
k:=0;
fori:=1 to 5 do
if a[i] mod 2=0{Поиск чётного элемента}
Then
begin {Формирование нового массива}
k:=k+1; b[k]:=a[i];
end;
if k=0 then begin writeln ('Чётных элементов нет.');
writeln ('Формирование нового массива невозможно!');
End
Else begin
nmin:=1; min:=b[1]; {Поиск минимального в новом массиве}
for k:=1 to k do
if b[k]<min
then begin min:=b[k]; nmin:=k; end;
//Выводим новый сформированный массив
for i:=1 to 5 do {Вывод элементов массива а}
writeln ('Элемент ',i, ' массива a ',a[i]);
for i:=1 to k do {Вывод элементов массива b}
writeln ('Элемент ',i, ' массива b ',b[i]);
writeln ('Минимальный элемент среди чётных элементов массива=',min);
writeln ('Номер этого элемента=',nmin);
end.
Литература, рекомендуемая для подготовки
Контрольной работы
1. | Культин Н.Б. Turbo Pascal в задачах и примерах. БВХ-Петербург, 2004 |
2. | Немнюгин С.А. Turbo Pascal. Программирование на языке высокого уровня. Питер.2003г |
3. | Офицеров Д.В. и др. Программирование на персональных ЭВМ. Минск. 1993г |
4. | Павловская Т.А. Паскаль. Программирование на языке высокого уровня. Питер. 2003г |
5. | Информатика. Учебное пособие для 11 класса общеобразовательных учреждений с белорусским и русским языками обучения с 12-летним сроком обучения (базовый и повышенный уровень). – Мн. «Народная асвета», 2008г. |
6. | http://www.cyberforum.ru/ |
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
и задания для выполнения домашней контрольной работы №2