1. Как, используя маску, сбросить определённый бит (записать в него
0)?
2. Код строчной латинской буквы 'а’равен 6115, а заглавной 'А' — 416.
Используя логическую операцию «И», преобразуйте код строчной буквы в
код заглавной. Проверьте, работает ли предложенный вами метод для других
букв.
3. Запишите число —18 в 8-разрядном двоичном коде. Что получится,
если применить к нему логический сдвиг вправо? Арифметический сдвиг
вправо? Сравните полученные результаты и объясните их.
ЖЕЛАТЕЛЬНО с обьяснением
//Написал простейшую программу для наглядного примера. Суть в том, что ограничено число попыток ввода неправильного пароля
//attempts - количество попыток, counter - счетчик неудачных попыток
const
attempts = 3;
password = '12345';
var
counter: integer;
str: string;
begin
counter := 0;
repeat
write('Введите пароль: ');
readln(str);
if not(str = password) then
begin
counter := counter + 1;
writeln('[неверный пароль] осталось попыток: ', attempts - counter);
writeln();
end;
if (counter = attempts) then
begin
writeln('Попытки ввода закончились!');
break;
end;
until (str = password);
if (str = password) then
writeln('Вы ввели правильный пароль!');
end.
//В строку location введите расположение требуемого файла
//Если хотите задавать расположение файла в ходе работы программы, то нужно будет убрать const со строки location
//Язык C#
using System;
using System.IO;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
const string location = "E://Test//File.txt";
try
{
Console.WriteLine("Количество чисел, которые не делятся на 3: " + ReadFile(location));
}
catch (Exception)
{
Console.WriteLine("Ошибка (файл недоступен, либо содержит некорректный формат данных)!");
}
finally
{
Console.ReadKey();
}
}
static int ReadFile(string location)
{
int counter = 0;
StreamReader fileReader = new StreamReader(location);
while (!fileReader.EndOfStream)
{
string num = fileReader.ReadLine();
if (Convert.ToInt32(num) % 3 != 0)
counter++;
}
return counter;
}
}
}