С Новым годом! Форум программистов, компьютерный форум, киберфорум
Nikolay K
Войти
Регистрация
Восстановить пароль
Карта форума Блоги Сообщество Поиск Заказать работу  
Оценить эту запись

Лабораторная работа № 3

Запись от Nikolay K размещена 28.01.2020 в 16:46

Лабораторная работа: 3.
Тема: Операторы ветвления и выбора.
Файл: Lab03_YaP_2019_1S.pdf

Обратите внимание: В файлах SOURCE.CPP, SOURCE.CS и *.PAS помимо прочего, так же имеются примечания к программам с различными комментариями и пояснениями.
При оформлении программ в сети Интернет я их удаляю, чтобы не нагромождать эти программы и тем самым не затруднять их восприятие.


Язык: C++.
Среда: Microsoft Visual Studio 2019 v16.3.0.
Платформа: x64.

Задание:
Вычислить и вывести на экран значения функции F в трех случаях:
1. A * X^2 + B, при X - 1 < 0 и B - X != 0;
2. (X - A) / X, при X - 1 > 0 и B + X == 0;
3. X / C, в остальных случаях.
Где A, B, C - действительные числа. Значения A, B, C, X ввести с клавиатуры.

ЛР № 3, задание № 5.1.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
 *Лабораторная работа: 3.
 *Тема: Операторы ветвления и выбора.
 *Пункт: 5.1. Оператор if.
 *Файл: Lab03_YaP_2019_1S.pdf
 *
 *Язык: C++.
 *Среда: Microsoft Visual Studio 2019 v16.3.0.
 *Платформа: x64.
 *Изменение: 06.01.2020.
 *
 *Вариант: 13.
 *Защита: 04.10.2019.
 *Задание: 13. Вычислить и вывести на экран значения функции F в трех случаях:
 *1. A * X^2 + B, при X - 1 < 0 и B - X != 0;
 *2. (X - A) / X, при X - 1 > 0 и B + X == 0;
 *3. X / C, в остальных случаях.
 *Где A, B, C - действительные числа. Значения A, B, C, X ввести с клавиатуры.
 */
 
#include <iostream>                                                     // Требуется для SETLOCATE, PRINTF, CIN, POW, SYSTEM. //
 
using namespace std;
 
void main () {
     setlocale (LC_ALL, "Russian");
     float A = 0, B = 0, C = 0, X = 0;
     printf ("1. Введите первое число A: ");
     cin >> A;
     printf ("\n2. Введите второе число В: ");
     cin >> B;
     printf ("\n3. Введите третье число C: ");
     cin >> C;
     printf ("\n4. Введите четвертое число X: ");
     cin >> X;
     if ((X - 1 < 0) && (B - X != 0)) {                                 // Если выполняется первое условие: X - 1 < 0 и B - X != 0. //
          printf ("\n                   2\n5. F = %.2f * %.2f + %.2f = %.3f.\n\n", A, X, B, (pow (X, 2) * A) + B);
     }
     else {
          if ((X - 1 > 0) && (B + X == 0)) {                            // Если выполняется второе условие: X - 1 > 0 и B + X == 0. //
               printf ("\n       %.2f - %.2f\n5. F = ----------- = %.3f.\n           %.2f\n\n", X, A, (X - A) / X, X);
          }
          else {
               if (C == 0) {                                            // Проверка на условие C = 0. Если выполняется, на экран выводится
                    printf ("\n5. Деление на нуль запрещено.\n\n");     // предупреждение. //
               }
               else {                                                   // Если C != 0, то выполняется третье условие: X / C. //
                    printf ("\n       %.2f\n5. F = ---- = %.3f.\n       %.2f\n\n", X, X / C, C);
               }
          }
     }
     system ("pause");
}


Язык: Pascal.
Среда: PascalABC.NET v3.5.1.
Платформа: отсутствует.

Задание:
Напишите программу, позволяющую по последней цифре числа определить последнюю цифру его квадрата.

ЛР № 3, задание № 5.2.pas
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
{*
 *Лабораторная работа: 3.
 *Тема: Операторы ветвления и выбора.
 *Пункт: 5.2. Оператор switch (case).
 *Файл: Lab03_YaP_2019_1S.pdf
 *
 *Язык: Pascal.
 *Среда: PascalABC.NET v3.5.1.
 *Платформа: отсутствует.
 *Изменение: 06.01.2020.
 *
 *Вариант: 13.
 *Защита: 04.10.2019.
 *Задание: 13. Напишите программу, позволяющую по последней цифре числа определить последнюю цифру его квадрата.
 *}
 
var
     Number, LastNumber: integer;
     ExitVariable: char;
 
begin
     write ('1. Введите число: ');
     readln (Number);
     LastNumber := abs (Number mod 10);
     writeln;
     write ('2. Последней цифрой квадрата является: ');
     case (LastNumber) of
          2: writeln ('4.');
          3: writeln ('9.');
          4: writeln ('6.');
          7: writeln ('9.');
          8: writeln ('4.');
          9: writeln ('1.')
     else
          writeln (LastNumber)
     end;
     writeln;
     write ('Для продолжения нажмите любую клавишу . . . ');
     readln (ExitVariable)
end.


Язык: C Sharp.
Среда: Microsoft Visual Studio 2019 v16.3.0.
Платформа: Any CPU.

Задание:
Выведите на экран номер четверти, которой принадлежит точка с координатами (X, Y), если X и Y равны 0, то выводить сообщение что это точка начала координат, а если x или y равны нулю, то выводить сообщение какой оси координат принадлежит точка.

ЛР № 3, задание № 6.1.cs
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*
 *Лабораторная работа: 3.
 *Тема: Операторы ветвления и выбора.
 *Пункт: 6.1. Оператор if (для самостоятельного выбора).
 *Файл: Lab03_YaP_2019_1S.pdf
 *
 *Язык: C Sharp.
 *Среда: Microsoft Visual Studio 2019 v16.3.0.
 *Платформа: Any CPU.
 *Изменение: 06.01.2020.
 *
 *Вариант: 13.
 *Защита: 04.10.2019.
 *Задание: 11. Выведите на экран номер четверти, которой принадлежит точка с координатами (X, Y), если X и Y равны 0, то выводить
 *     сообщение что это точка начала координат, а если x или y равны нулю, то выводить сообщение какой оси координат принадлежит точка.
 */
 
using System;
 
namespace Program {
 
class Program {
 
static void Main () {
     float X = 0, Y = 0;
     Console.Write ("1. Введите координату X: ");
     X = float.Parse (Console.ReadLine ());
     Console.Write ("\n2. Введите координату Y: ");
     Y = float.Parse (Console.ReadLine ());
     if (X > 0) {
          if (Y > 0) {
               Console.Write ("\n3. Точка с координатами ({0:f2}, {1:f2}) принадлежит первой четверти.", X, Y);
          }
          if (Y < 0) {                                               // ELSE запрещено: (1, 0) и затем еще раз сработает третий IF. //
               Console.Write ("\n3. Точка с координатами ({0:f2}, {1:f2}) принадлежит четвертой четверти.", X, Y);
          }
     }
     if (X < 0) {
          if (Y > 0) {
               Console.Write ("\n3. Точка с координатами ({0:f2}, {1:f2}) принадлежит второй четверти.", X, Y);
          }
          if (Y < 0) {                                               // ELSE запрещено: (-1, 0) и затем еще раз сработает третий IF. //
               Console.Write ("\n3. Точка с координатами ({0:f2}, {1:f2}) принадлежит третьей четверти.", X, Y);
          }
     }
     if ((X == 0) || (Y == 0)) {
          if ((X == 0) && (Y == 0)) {
               Console.Write ("\n3. Точка с координатами ({0:f2}, {1:f2}) принадлежит началу координат.", X, Y);
          }
          if (X != 0) {
               Console.Write ("\n3. Точка с координатами ({0:f2}, {1:f2}) принадлежит оси Оу (ординат).", X, Y);
          }
          if (Y != 0) {
               Console.Write ("\n3. Точка с координатами ({0:f2}, {1:f2}) принадлежит оси Ох (абсцисс).", X, Y);
          }
     }
     Console.Write ("\n\nДля продолжения нажмите любую клавишу . . . ");
     Console.ReadKey ();
}
}
}
Вложения
Тип файла: rar 04.10.2019 - ЛР 3.rar (487.2 Кб, 1625 просмотров)
Размещено в Без категории
Показов 1804 Комментарии 2
Всего комментариев 2
Комментарии
  1. Старый комментарий
    Аватар для bormant
    Несколько существенных и косметических замечаний по 5.2.pas:
    1) наличие переменной ExitVariable не несет никакой пользы, строка "ReadLn;" сделает ровно то же самое;
    2) лишние скобки в выражениях;
    3) строки 27-36 могут быть записаны с использованием нескольких значений в case:
    Pascal
    27
    28
    29
    30
    31
    32
    33
    34
    
         case (LastNumber) of
              2, 8: WriteLn(4);
              3, 7: WriteLn(9);
              4:    WriteLn(6);
              9:    WriteLn(1);
         else
              WriteLn(LastNumber);
         end;
    Запись от bormant размещена 29.01.2020 в 00:56 bormant вне форума
  2. Старый комментарий
    Аватар для bormant
    Если бы не тема про оператор выбора, задача решалась бы тривиально:
    Pascal
    1
    2
    3
    4
    
    var n: Integer;
    begin
      Write('n: '); ReadLn(n); WriteLn('Последняя цифра ',n,'^2: ',Sqr(n mod 10) mod 10);
    end.
    Запись от bormant размещена 29.01.2020 в 00:59 bormant вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru