- •Создание простых программ и программ с анализом данных
- •Введение
- •Лабораторная работа №1. Ввод и вывод данных
- •Задания
- •Выполнение лабораторной работы
- •Методические указания к выполнению лабораторной работы
- •Язык программирования Pascal
- •Var // объявление переменных
- •Язык программирования c
- •Лабораторная работа №2. Целые числа
- •Задания
- •Выполнение лабораторной работы
- •Методические указания к выполнению лабораторной работы
- •Язык программирования Pascal
- •Var // объявление переменных
- •Язык программирования c
- •Int a,X,y,z; // объявление переменных
- •Лабораторная работа №3. Логические выражения
- •Выполнение лабораторной работы
- •Методические указания к выполнению лабораторной работы
- •Язык программирования Pascal
- •Var // объявление переменных
- •Var // объявление переменных
- •Язык программирования c
- •Лабораторная работа №4. Условный оператор
- •Выполнение лабораторной работы
- •Методические указания к выполнению лабораторной работы
- •Язык программирования Pascal
- •Var // объявление переменных
- •Язык программирования c
- •If(логическое выражение) {первая группа операторов;} else {вторая группа операторов;}
- •Лабораторная работа №5. Оператор выбора
- •Выполнение лабораторной работы
- •Методические указания к выполнению лабораторной работы
- •Язык программирования Pascal
- •Var // объявление переменных
- •Var // объявление переменных
- •Язык программирования c
- •Библиографический список
Var // объявление переменных
x1,y1,x2,y2:Integer;
После реализации интерфейса программа в среде Delphi выглядит следующим образом:
program lab3; // заголовок программы
// указание компилятору создать консольное приложение
{$APPTYPE CONSOLE}
Var // объявление переменных
x1,y1,x2,y2:Integer;
begin // начало программы
// сообщение пользователю о цели программы
writeln('Programma opredelaet istinost vyskazivanija:');
writeln('"Kon za 1 hod mojet pereyti s polja x1,y1 na pole x2,y2"');
// сообщение пользователю о необходимости ввода переменной
write('Vvedite x1: ');
readln(x1); // ввод переменной
// сообщение пользователю о необходимости ввода переменной
write('Vvedite y1: ');
readln(y1); // ввод переменной
// сообщение пользователю о необходимости ввода переменной
write('Vvedite x2: ');
readln(x2); // ввод переменной
// сообщение пользователю о необходимости ввода переменной
write('Vvedite y2: ');
readln(y2); // ввод переменной
writeln('Vyskazivanie ',((x2=(x1+2)) AND (y2=(y1+1))) OR
((x2=(x1+2)) AND (y2=(y1-1))) OR ((x2=(x1-2)) AND (y2=(y1+1))) OR
((x2=(x1-2)) AND (y2=(y1-1))) OR ((x2=(x1+1)) AND (y2=(y1+2))) OR
((x2=(x1+1)) AND (y2=(y1-2))) OR ((x2=(x1-1)) AND (y2=(y1+2))) OR
((x2=(x1-1)) AND (y2=(y1-2)))); // вывод на экран результата
readln; // задерживаем закрытие консольного окна
end. // конец программы
Язык программирования c
В языке C операции для создания логических выражений следующие:
> - больше;
< - меньше;
== - равно;
!= - неравно;
>= - больше или равно;
<= - меньше или равно;
&& - логическое И;
|| - логическое ИЛИ;
! - логическое НЕ.
Руководствуясь блок-схемой, записываем алгоритм на языке C:
scanf("%d",&x1); // ввод числа
scanf("%d",&y1); // ввод числа
scanf("%d",&x2); // ввод числа
scanf("%d",&y2); // ввод числа
printf("Vyskazivanie %d\n",((x2==(x1+2)) && (y2==(y1+1))) ||
((x2==(x1+2)) && (y2==(y1-1))) || ((x2==(x1-2)) && (y2==(y1+1))) ||
((x2==(x1-2)) && (y2==(y1-1))) || ((x2==(x1+1)) && (y2==(y1+2))) ||
((x2==(x1+1)) && (y2==(y1-2))) || ((x2==(x1-1)) && (y2==(y1+2))) ||
((x2==(x1-1)) && (y2==(y1-2)))); // вывод на экран результата
Объявление переменных выглядит следующим образом:
int x1,y1,x2,y2;
Для ввода и вывода результата логического выражения в операторах scanf и printf необходимо использовать управляющую последовательность «%d». «0» соответствует ложности логического выражения, а «1» — истинности.
После реализации интерфейса программа в среде С Builder выглядит следующим образом:
#pragma hdrstop
// подключение модуля, в котором определены функции ввода и вывода
#include <stdio.h>
#pragma argsused
int main(int argc, char* argv[]) {
// объявление переменных
int x1,y1,x2,y2;
// сообщение пользователю о цели программы
printf("Programma opredelaet istinost vyskazivanija:\n");
printf("'Kon za 1 hod mojet pereyti s polja x1,y1 na pole x2,y2'\n");
// сообщение пользователю о необходимости ввода переменной
printf("Vvedite x1: ");
scanf("%d",&x1); // ввод числа
// сообщение пользователю о необходимости ввода переменной
printf("Vvedite y1: ");
scanf("%d",&y1); // ввод числа
// сообщение пользователю о необходимости ввода переменной
printf("Vvedite x2: ");
scanf("%d",&x2); // ввод числа
// сообщение пользователю о необходимости ввода переменной
printf("Vvedite y2: ");
scanf("%d",&y2); // ввод числа
printf("Vyskazivanie %d\n",((x2==(x1+2)) && (y2==(y1+1))) ||
((x2==(x1+2)) && (y2==(y1-1))) || ((x2==(x1-2)) && (y2==(y1+1))) ||
((x2==(x1-2)) && (y2==(y1-1))) || ((x2==(x1+1)) && (y2==(y1+2))) ||
((x2==(x1+1)) && (y2==(y1-2))) || ((x2==(x1-1)) && (y2==(y1+2))) ||
((x2==(x1-1)) && (y2==(y1-2)))); // вывод на экран результата
scanf("%d",&x1); // задерживаем закрытие консольного окна
return 0;
}
Этап 5. Тестирование и отладка. Проверяем работу программы. Составляем тесты и запускаем по ним программу.
Тест представляет собой набор входных переменных программы и ожидаемый результат работы программы.
В формализованное решение задачи подставляем x1,y1,x2,y2 и получаем результат.
Составляем три теста:
1) x1 = 4; y1 = 4; x2 = 2; y2 = 6; Выражение ложно.
2) x1 = 3; y1 = 4; x2 = 2; y2 = 6; Выражение истинно.
3) x1 = 4; y1 = 2; x2 = 5; y2 = 6; Выражение ложно.
Запускаем программу и подставляем тестовые переменные:
1)
2)
3)
Результаты работы программы совпадают с ожидаемыми результатами — программа работает правильно.