Аннотация: В данной лекции внимание уделено операциям и преобразованию типов. Приведены практические примеры.
Полный список операций языка С# в соответствии с их приоритетами (по убыванию приоритетов, операции с разными приоритетами разделены чертой) приведен в приложении 1. В данном разделе мы подробно рассмотрим только часть операций, остальные операции будут вводиться по мере необходимости.
Замечание. Операции можно классифицировать по количеству операндов на: унарные — воздействуют на один операнд, бинарные — воздействуют на два операнда, тернарные — воздействует на три операнда. Некоторые символы используются для обозначения как унарных, так и бинарных операций. Например, символ «минус» используется как для обозначения унарной операции — арифметического отрицания, так и для обозначения бинарной операции вычитание. Будет ли данный символ обозначать унарную или бинарную операцию, определяется контекстом, в котором он используется.
- Инкремент (++) и декремент(—). Эти операции имеют две формы записи — префиксную,когда операция записывается перед операндом, и постфиксную — операция записывается после операнда. Префиксная операция инкремента (декремента) увеличивает (уменьшает) свой операнд и возвращает измененное значение как результат. Постфиксные версии инкремента и декремента возвращают первоначальное значение операнда, а затем изменяют его.
Рассмотрим эти операции на примере.
Видео 11. Порядок выполнения программы в OwenLogic
static void Main() < int i = 3, j = 4; Console.WriteLine(«», i, j); Console.WriteLine(» «, ++i, —j); Console.WriteLine(» «, i++, j—); Console.WriteLine(» «, i, j); >
3 4 4 3 4 3 5 2
Задание. Выясните, допустимы ли следующие способы записи ++(++i) , (i—)— , ++(i—) и т.д. И почему.
Замечание.Префиксная версия требует существенно меньше действий: она изменяет значение переменной и запоминает результат в ту же переменную. Постфиксная операция должна отдельно сохранить исходное значение, чтобы затем вернуть его как результат. Для сложных типов подобные дополнительные действия могут оказаться трудоемки. Поэтому постфиксную форму имеет смысл использовать только при необходимости.
object z=new object(); int i=new int(); // то же самое, что и int i =0;
- Арифметическое отрицание (-) — меняет знак операнда на противоположный.
- Логическое отрицание (!) — определяет операцию инверсия для логического типа.
Рассмотрим эти операции на примере.
static void Main() < int i = 3, j=-4; bool a = true, b=false; Console.WriteLine(«», -i, -j); Console.WriteLine(» «, !a, !b); >
-3 4 False True
Задание. Выясните, допустимы ли следующие способы записи !(-i), -(!a). И почему.
(тип) выражение;
Рассмотрим эту операцию на примере.
static void Main() < int i = -4; byte j = 4; int a = (int)j; //преобразование без потери точности byte b = (byte)i; //преобразование с потерей точности Console.WriteLine(«», a, b); >
4 252
Видеоурок по информатике «Алгоритмы, величины, структура алгоритмов»
Задание. Объясните, почему операция (byte)i вместо ожидаемого значения -4 дала нам в качестве результата значение 252 .
static void Main() < int i = 100, j = 15; double a = 14.2, b = 3.5; Console.WriteLine(» «, i*j, i/j, i%j); Console.WriteLine(» «, a * b, a / b, a % b); >
Результат работы программы:
1500 6 10 49.7 4.05714285714286 0.1999999999999999
- 1.0/0;
- 1/0
И объясните, как получился данный результат.
static void Main() < int i = 15, j = 15; Console.WriteLine(ij); //больше Console.WriteLine(i>=j); //больше или равно Console.WriteLine(i==j); //равно Console.WriteLine(i!=j); //не равно >
False True False True True False
И объясните, как получился данный результат.
Результат логической операции И имеет значение истина тогда и только тогда, когда оба операнда принимают значение истина.
Результат логической операции ИЛИ имеет значение истина тогда и только тогда, когда хотя бы один из операндов принимает значение истина.
Рассмотрим операции на примере:
static void Main() < Console.WriteLine(«x y x и y x или y»); Console.WriteLine(» «, false, false, falsefalse, false||false); Console.WriteLine(» «, false, true, falsetrue, false||true); Console.WriteLine(» «, true, false, truefalse, true||false); Console.WriteLine(» «, true, true, truetrue, true||true); >
Результат работы программы:
x y x и y x или y False False False False False True False True True False False True True True True True
Замечание.Фактически была построена таблица истинности для логических операций И и ИЛИ.
Задание. Объясните, какое значение примет переменная t в данном фрагменте программы: int a=10, b=3; bool t=(a>=b a!=2*b || a<0);
Операнд1 — это логическое выражение, которое оценивается с точки зрения его эквивалентности константам true и false . Если результат вычисления операнда1 равен true , то результатом условной операции будет значение операнда2 , иначе — операнда3 . Фактически условная операция является сокращенной формой условного оператора if , который будет рассмотрен позже.
Пример использования условной операции:
static void Main() < int x=5; int y=10; int max = (x >y) ? x : y; Console.WriteLine(max); >
- вычислялось наименьшее значение из двух вещественных чисел x и y ;
- если число двузначное, то на экран выводилось «Да», и «Нет» в противном случае.
операнд_2 = операнд_1;
В результате выполнения этой операции вычисляется значение операнда_1 , и результат записывается в операнд_2 . Возможно связать воедино сразу несколько операторов присваивания, записывая такие цепочки: a=b=c=100 . Выражение такого вида выполняется справа налево: результатом выполнения c=100 является число 100 , которое затем присваивается переменной b , результатом чего опять является 100 , которое присваивается переменной a .
Кроме простой операции присваивания существуют сложные операции присваивания, например, умножение с присваиванием ( *= ), деление с присваиванием ( /= ), остаток от деления с присваиванием ( % =), сложение с присваиванием ( += ), вычитание с присваиванием ( -= ) и т.д.
В сложных операциях присваивания, например, при сложении с присваиванием, к операнду_2 прибавляется операнд_1 , и результат записывается в операнд_2 . То есть, выражение с += а является более компактной записью выражения с = с + а. Кроме того, сложные операции присваивания позволяют сгенерировать более эффективный код, за счет того, что в простой операции присваивания для хранения значения правого операнда создается временная переменная, а в сложных операциях присваивания значение правого операнда сразу записывается в левый операнд.
Задание. Объясните, какие значения примут переменные t и b после выполнения данного фрагмента программы: int a=10, b=3; int t=(a++)-b; b+=t*a;
Рассмотренные операции приведены с учетом убывания приоритета. Если в одном выражении соседствуют операции одного приоритета, то операции присваивания и условная операции выполняются справа налево, а остальные наоборот. Если необходимо изменить порядок выполнения операций, то в выражении необходимо поставить круглые скобки.
Источник: intuit.ru
Какое значение примет переменная с в результате выполнения программы а 4
Привет Лёва Середнячок
Какое значение примет переменная С в результате выполнения программы: Var A, B, C: integer; Begin A:=4; B:=A*3-6; If B3*A Then A:=5; If B=3*A Then A:=B-A; C:=A*B+A-B; Writeln (‘C=’, C); End.
Ответ проверен экспертом
5 (1 оценка)
ManulTheLiar 6 лет назад
Светило науки — 662 ответа — 0 раз оказано помощи
Источник: vashurok.com
Контрольная работа по Информатике и ИКТ в формате теста
Задания контрольной работы по информатике состоят из теоретических вопросов по теме и обработке задачи.
В тестовых заданиях необходимо выбрать только один вариант правильного ответа.
оценить уровень подготовки по изученной теме;
получить информацию о направлениях корректировки и выявление пробелов в изучении темы для дальнейшей работы над ошибками.
Характеристика структуры контрольной работы
Для проведения тестирования подготовлены два варианта с подобными заданиями. Каждый вариант контрольной работы состоит из тестовых вопросов и задачи, которую необходимо проработать и выбрать один правильный ответ.
Также к контрольной работе прилагается таблица с ответами.
Вариант 1 Дата________
Контрольная работа в формате теста
по предмету Иформатика и ИКТ
МОУ «Амвросиевская школа №6» Амвросиевского района ДНР
Тема: «Алгоритмизация и программирование»
1. Последовательность действий, допустимых для исполнителя – это…
а) программа; в) команда;
б) алгоритм; г) система команд.
2. Выявление ошибок и их устранение называется…
а) отладкой задачи; в) отладкой алгоритма;
б) отладкой исполнителя; г) отладкой программы.
3. Человек, робот, автомат, устройство, компьютер, который выполняет чьи-то команды – это…
а) помощник; в) программа;
б) исполнитель; г) приложение.
4. Алгоритмы, в которых команды выполняются последовательно друг за другом, называются:
а) линейными; в) циклическими;
б) разветвляющимися; г) вспомогательными.
5. Форма организации действий, при которой один и тот же блок выполняется несколько раз, называется…
а) следованием; в) ветвлением;
б) циклом; г) алгоритмом.
6. Совокупность всех команд, которые может выполнить конкретный исполнитель – это…
а) система программ; в) система команд;
б) система алгоритмов; г) система задач.
7. Что используют для разделения операторов друг от друга в программе Pascal ?
а) запятую; в) пропуск;
б) двоеточие; г) точку с запятой.
8. Для записи вспомогательных алгоритмов в языке Паскаль используются:
а) массивы; в) процедуры и функции;
б) составные операторы; г) операторы и операнды.
9. Между формальными и фактическими параметрами следует соблюдать соответствие:
а) по типу параметров; в) по порядку следования параметров;
б) по количеству параметров; г) по всему перечисленному в пунктах а-в.
10. Величина, значение которой меняется в процессе выполнения программы, называется
а) константой; в) операндом;
б) переменной; г) служебным словом.
11. Переменные в программе на Паскале описываются в разделе:
б ) CONST; г ) USES CART.
12. Выберите оператор цикла с известным числом повторений:
а ) BEGIN; в ) REPEAT;
б ) WHILE; г ) FOR.
13. Цикл repeat until — это:
а) цикл со счетчиком; в) цикл с предусловием;
б) цикл с постусловием; г) цикл с параметром.
14. Укажите, правильную запись следующего математического выражения: y=5x 2 -10x+2.
а) y:= 5*sqr(x)-10*x+2; в) y:= 5*sqr(x)-10x+2;
б) y:= 5*sqrt(x)-10*x+2; г) y := 5sqr(x)-10*x+2.
15. Какое значение примет переменная c в результате выполнения программы?
а ) a=2, b=4; в ) a=3, b=4;
б ) а =6, b=2; г ) a=4, b=2.
Вариант 2 Дата________
Контрольная работа в формате теста
по предмету Иформатика и ИКТ
МОУ «Амвросиевская школа №6» Амвросиевского района ДНР
Тема: «Алгоритмизация и программирование»
1. Запись алгоритма на языке конкретного исполнителя – это…
а) алгоритм; в) программа;
б) команда; г) исполнитель.
2. Отдельное указание исполнителю…
а) программа; в) команда;
б) алгоритм; г) приказ.
3. Исполнителем алгоритма может быть:
а) компьютер; в) человек;
б) дрессированное животное; г) все перечисленные выше варианты.
4. Алгоритмы, которые содержат команду повторения, называются..
а) линейными; в) циклическими;
б) разветвляющимися; г) вспомогательными.
5. Составная команда, в которой одни и те же действия (команды) повторяются несколько раз, называется…
а) командой присваивания; в) вспомогательной программой;
б) командой повторения; г) командой ветвления.
6. Графический способ описания алгоритма – это…
а) программа; в) алгоритм;
б) блок-схема; г) словесно-пошаговая запись.
7. Как записывается оператор присваивания на языке Pascal ?
8. Подпрограмма, имеющая произвольное количество входных и выходных данных, называется:
а) процедурой; в) вспомогательным алгоритмом;
б) функцией; г) оператором
9. Алгоритм, целиком используемый в составе другого алгоритма, называется:
а) рекурсивным; в) основным;
б) вспомогательным; г) дополнительным.
10. Переменная характеризуется:
а) именем, типом, значением; в) значением, типом;
б) именем, значением; г) именем, типом.
11. Какая строка, из перечисленных ниже, описывает логическую переменную на языке Паскаль?
а ) VAR X: INTEGER; в ) VAR X: REAL;
б ) VAR X: BOOLEAN; г ) VAR X: CHAR.
12. Цикл while do это – …
а) цикл со счетчиком; в) цикл с предусловием;
б) цикл с постусловием; г) цикл с параметром.
13. Какие из перечисленных операторов являются операторами ввода данных?
а ) and, or; в ) if, then, else;
б ) read, readln; г ) write, writeln.
14. Укажите, правильную запись следующего математического выражения: L = ( x 2 + y 2 ) ≤ R 2
а) L := ( sqr ( x ) + sqr ( y ) ≤ R2; в) L := ( sqr ( x ) + sqr ( y ))
15. Какие значения примут переменные С и D в результате выполнения программы?
Var a, b, c, d: integer;
if b>a then c:= b-a else d:=a-b;
а) c =14, d =0; в) d =14, d = -14;
б) c =38, d =14; г) d = -3, d =3.
Ответы на тесты
Источник: xn--j1ahfl.xn--p1ai