Задача 1.
Вычислить значение функции заданной следующим образом:
Цель решения этой задачи: отработка навыков составления блок-схем, написания программ, показать пример использования оператора выбора, осмысленное использование типов данных.
Исходные данные: х
Результат: у
Составляем блок-схему:
Составляем программу:
Program funkciy;
Var x, y: integer;
Begin
Writeln (‘введите значение х’);
Readln(х);
If x>0 then y:=x
else y:=x*x;
writeln(‘значение функции ’, y);
readln;
end.
Заполняем таблицу
Х 0 4 -5 167 -221 0,2 -0,1
У
Почему мы не можем вычислить два последних значения функции. Исправьте программу, для того, чтобы это можно было сделать.
Задача 2.
Составить программу определяющую является ли заданное число четным или нечетным.
Цель решения этой задачи: отработка навыков составления блок-схем, написания программ, знакомство с функцией вычисления остатка от деления (a mod b). Сложность этой задачи в том, что результатом является не вычислительный результат, а сообщение “четное” или “нечетное”.
Составляем блок-схему:
Составляем программу:
Program chislo;
Var a: integer;
Begin
Writeln (‘введите число а’);
Readln(а);
If а mod 2 = 0 then Writeln (‘число четное’)
Else Writeln (‘число нечетное);
readln;
end.
Проведите вычислительный эксперимент, вы сами задаете числа, результат записываете в тетрадь.
Идея компьютера была предложена английским математиком Чарльзом Бэбиджем (Charles Babage) в середине девятнадцатого века. Его механическая «аналитическая машина» так и не смогла по-настоящему заработать, потому что технологии того времени не удовлетворяли требованиям, необходимым для изготовления нужных деталей точной механики. Конечно, никакой речи об операционной системедля этого «компьютера» не шло. Настоящее рождение цифровых вычислительных машин произошло вскоре после окончания Второй мировой войны. В середине 40-х были созданы первые ламповые вычислительные устройства. В то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины. Это была скорее научно-исследовательская работа в области вычислительной техники, а не использование компьютеров в качестве инструмента решения каких-либо практических задач из других прикладных областей. Программирование осуществлялось исключительно на машинном языке. Не было никакогосистемного программного обеспечения, кроме библиотек математических и служебных подпрограмм, которые программист мог использовать для того, чтобы не писать каждый раз коды, вычисляющие значение какой-либо математической функции или управляющие стандартным устройством ввода-вывода.Операционные системывсе еще не появились, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления, который представлял собой примитивное устройство ввода-вывода, состоящее из кнопок, переключателей и индикаторов. С середины 50-х годов начался новый период в развитии вычислительной техники, связанный с появлением новой технической базы. Выросло , увеличились объемыоперативнойи внешней памяти. Компьютеры стали более надежными, теперь они могли непрерывно работать настолько долго, чтобы на них можно было возложить выполнение действительно практически важных задач. Но выполнение каждой программы включало в себя большое количество вс работ (загрузка, запуск, получение результирующей программы в машинных кодах и т.д.), поэтому для организации эффективного совместного использования были введены должности операторов, профессионально выполнявших работу по организации вычислительного процесса для всех пользователей этого центра.
using System;
using System.Collections.Generic;
using System.Linq;
namespace task29735221
{
class Program
{
static void Main(string[] args)
{
string input = Console.ReadLine();
LinkedList<char> output = new LinkedList<char>();
foreach (var character in input)
{
if (character == '#')
{ if (output.Any()) output.RemoveLast(); }
else if (character == '$')
{ if (output.Any()) output.AddLast(output.Last.Value); }
else
output.AddLast(character);
}
Console.WriteLine(String.Join("", output));
}
}
}