Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Решение задач - примеров
В качестве примера рассмотрим решение двух задач с одномерным и двухмерным массивами. Пример 1. Создать одномерный вещественный массив из 25 элементов. Определить максимальный и минимальный элементы массива и поменять их местами. Полученный результат вывести на экран. Текст программы на языке Turbo Pascal: PROGRAM MAS; VAR M: ARRAY [1.. 25] OF REAL; { Вещественный массив } MAX, MIN, MN: REAL; I, K, N: INTEGER; { Вспомогательные переменные } BEGIN { Ввод вещественного массива из 25 элементов } FOR I: = 1 TO 25 DO READ (M [I]); { Переменным MAX и MIN присваиваем значение первого элемента массива } MAX: = M [1]; K: = 1; MIN: = M [1]; N: = 1; { Определяем максимальный и минимальный элементы массива и их индексы} FOR I: = 2 TO 25 DO BEGIN IF M [I] > MAX THEN BEGIN MAX: = M [I]; K: = I; END; IF M[I] < MIN THEN BEGIN MIN: = M [I]; N: = I; END; END; {Меняем местами максимальный и минимальный элементы} MN: = M [K]; M [K]: = M [N]; M [N]: = MN; { Вывод полученного массива на экран } FOR I: = 1 TO 25 DO WRITELN (M[I]); END. Пример 2. Создать целочисленную матрицу А 10х8. Сформировать одномерный массив В, который содержит суммы положительных элементов каждой строки матрицы А и вывести его на экран. Текст программы на языке Turbo Pascal: PROGRAM PRIM; VAR A: ARRAY [1.. 10, 1.. 8] OF INTEGER; B: ARRAY [1.. 10] OF INTEGER; I, J, S: INTEGER; BEGIN { Ввод целочисленной матрицы А 10х8 } FOR I: = 1 TO 10 DO FOR J: = 1 TO 8 DO READ (A[ I, J]); { Вычисление суммы положительных элементов каждой строки матрицы А и формирование массива В } FOR I: = 1 TO 10 DO BEGIN S: = 0; FOR J: = 1 TO 8 DO IF A [ I, J ] > 0 THEN S: = S + A [ I, J ]; B [ I ]: = S; END; { Вывод сформированного массива В на экран } FOR I: = 1 TO 10 DO WRITELN (B [ I ]); END.
Задача:
Создать каталог из журнал и статей. Выдавать информацию о публикациях, удовлетворяющих тому или иному критерию, например, изданных с 2000 года. Программа на языке Паскаль:
type t_pub = record author: string[40]; title: string[100]; year: integer; case t: char of 'b': (publ: string[20]); 'j': (jour: string[30]; num: byte); end; var catalog: array[1..20] of t_pub; n, i: integer; begin write('Количество записей: '); readln(n); for i: =1 to n do begin write('Книга или журнал: '); readln(catalog[i].t); write('Автор: '); readln(catalog[i].author); write('Название: '); readln(catalog[i].title); write('Год издания: '); readln(catalog[i].year); case catalog[i].t of 'b': begin write('Издательство: '); readln(catalog[i].publ); end; 'j': begin write('Журнал: '); readln(catalog[i].jour); write('Номер: '); readln(catalog[i].num); end; end; writeln; end;
for i: =1 to n do with catalog[i] do if (year > = 2000) and (t = 'b') then writeln(author, ' ', title, ' ', publ, ' ', year); for i: =1 to n do with catalog[i] do if (year > = 2000) and (t = 'j') then writeln(author, ' ', title, ' ', jour, ' ', year, ' ', num);
readln; end. Вывести на экран фамилии студентов, чей балл выше среднего по группе. Описание переменных:
arr_studs – группа студентов; average – средний балл в группе. Программа на языке Паскаль:
type studs = record sname: string[25]; eval: integer; end; var arr_studs: array[1..15] of studs; sum: integer; average: real; i, n: byte; begin write('Количество студентов: '); readln(n); sum: = 0; for i: =1 to n do with arr_studs[i] do begin write(i, '-й студент: '); readln(sname); write(' Оценка: '); readln(eval); sum: = sum + eval; end; average: = sum / n; writeln; writeln('Студенты с оценкой выше средней: '); for i: =1 to n do if arr_studs[i].eval > average then writeln(arr_studs[i].sname); readln end.
В текстовом файле содержатся сведения о количестве учащихся в классах и их классных руководителях. Количество классов в школе не превышает 20. Для описания каждого класса отводится одна строка. В первых четырех позициях каждой строки файла записано имя класса (например, 5a, 10b) класса (не пишите русских букв), а затем количество человек в нем и ФИО руководителя. Программа по запросу выдает сведения о классе или сообщение о том, что класс не найден. Описание переменных:
school – массив записей, считанных из файла; title_search – введенное пользователем имя класса. Алгоритм решения задачи: Данные из файла считываются в массив записей. Каждая запись содержит имя класса (title), количество учеников (pupils), сведения о руководителе (teacher). Пользователь вводит имя класса. Если его длина равна 0, то происходит выход из цикла с помощью команды break. Строка, введенная пользователем, дополняется до 4-х символов пробелами. Если имя класса не совпадет ни с одним полем title записей массива, то флаговая переменная found останется равной false, появится сообщение об отсутствии указанного класса. В случае совпадения все поля соответствующей записи будут выведены на экран. Программа на языке Паскаль:
const n = 20; type str4 = string[4]; clas = record title: str4; pupils: byte; teacher: string[25]; end; var school: array[1..n] of clas; i, j, len: integer; title_search: str4; found: boolean; f: text; begin assign(f, 'c: /school.txt'); reset(f); i: = 1; while not Eof(f) do begin with school[i] do readln(f, title, pupils, teacher); i: = i + 1; end; while true do begin write('Input class: '); readln(title_search); len: = length(title_search); if len = 0 then break; for j: = len + 1 to 4 do title_search: = title_search + ' '; found: = false; for j: = 1 to i - 1 do begin if title_search < > school[j].title then continue; with school[j] do writeln(title: 5, pupils: 5, teacher: 25); found: = true; break; end; if not found then writeln('No class! '); end; end.
Примечания: Для выхода их программы достаточно нажать Enter без ввода данных. В текстовом файле число, обозначающее количество человек в классе, должно начинаться с 5-й позиции.
|