---
title: "Основы программирования в R"
author: "Алла Тамбовцева"
output:
  pdf_document:
    latex_engine: xelatex
mainfont: CMU Serif
header-includes:
- \usepackage[russian]{babel}
- \usepackage{hyperref}
- \hypersetup{colorlinks = true, urlcolor = blue, linkcolor=magenta}
---
# Практикум 3: функции, условия, цикл for

### Задача 1

Напишите код, который запрашивает у пользователя его имя и фамилию и если оно совпадает Вашим, выводит на экран "Hello, [name][surname], welcome to R! I missed you", если не совпадает, то выводит на экран "Sorry, R is not available now". Подразумевается, что R знает Ваше имя (при желании можете написать функцию, которая вытаскивает Ваше имя пользователя на компьютере и сравнивает с ним).

### Задача 2

Напишите код, который сохраняет число, которое ввел пользователь с клавиатуры (предполагается, что пользователь вводит только числа, причем в правильном формате — в качестве разделителя использует точку), в переменную `x` и если `x` является целым числом, то выводит на экран сообщение "It is an integer.", а если `x` не является таковым, то выводит "It is not an integer".

### Задача 3

Напишите код, который запрашивает у пользователя число элементов вектора ("Enter number of elements: "), сохраняет его в переменную `n` и создает вектор заданной длины, состоящий из пропущенных значений.

### Задача 4

Напишите код, который запрашивает у пользователя число элементов вектора ("Enter number of elements: "), сохраняет его в переменную `n` и создает вектор заданной длины, состоящий из пропущенных значений. Дальше, если индекс элемента четный, то этот элемент заменяется на 1, если нечетный - на 0.

### Задача 5

Напишите код, который запрашивает у пользователя размерность матрицы (предполагается, что пользователь вводит число строк и столбцов через пробел), сохраняет их и создает единичную матрицу заданной размерности. Если невозможно создать единичную матрицу заданной размерности, на экран выводится сообщение "Impossible to create an identity matrix with such dimensions.".

**Подсказка:** единичная матрица - квадратная матрица (число строк равно числу столбцов), на главной диагонали которой стоят 1, а все остальные элементы равны 0. Пример:

```
[1 0 0]
[0 1 0]
[0 0 1]
```

### Задача 6

Напишите функцию, которая принимает на вход числовой вектор и возвращает вектор, состоящий из квадратов элементов вектора, поданного на вход. Можете для определенности назвать функцию `get_squares()`.

### Задача 7

Напишите функцию `smart_squares()`, которая принимает на вход вектор, и если он числовой, то возвращает вектор из квадратов его элементов, а если нет — возвращает вектор из пропущенных значений и выводит на экран сообщение "Your vector is not numeric."

