Школа
Курс «Моделирование в программе 3D Studio Max»
Курс находится в разработке
Курс «Изучение основ создания моделей средствами 3D-ручки»
- Уроки рисования 3D-ручкой: https://3dpen-art.ru/news/uroki-risovaniya-3d-ruchkoy/
- Трафареты для 3D ручки: http://lengroupp.ru/o_kompanii/stati/trafareti_dlya_3d_ruchki/
План
- Основы работы с 3D ручкой
- 3D ручка. Демонстрация возможностей, устройство 3D ручки. Техника безопасности при работе с 3D ручкой.
- Эскизная графика и шаблоны при работе с 3D ручкой. Общие понятия и представления о форме.
- Геометрическая основа строения формы предметов. Выполнение линий разных видов. Способы заполнения межлинейного пространства.
- Практическая работа «Создание плоской фигуры по трафарету»
- Простое моделирование.
- Значение чертежа. Выполнение эскиза-трафарета.
- Практическая работа «Создание объёмной фигуры, состоящей из плоских деталей «Флора», «Фауна».
- Практическая работа «Создание объёмной фигуры, состоящей из плоских деталей «Украшение для мамы».
- Моделирование
- Создание трёхмерных объектов.
- Практическая работа «Велосипед».
- Практическая работа «Ажурный зонтик».
- Практическая работа «Качели».
- Практическая работа «Самолет».
- Проектирование
- Создание и защита проекта «В мире сказок».
Курс «Конструирование и моделирование в программе Lego Digital Designer»
- Скачать и установить программу с официального сайта https://www.lego.com/en-us/ldd/download
- Схемы и инструкции ЛЕГО: http://www.lego-le.ru/forum/21-lego-digital-designer.html?limitstart=0&limit=10
План
- Приступая к работе
- Управление мышью
- Управление камерой
- Иконки
- Окно Просмотра цены
- 3 режима
- Режим Строительства
- Инструменты строительства
- Выбор ваших кубиков
- Режим Просмотра
- Режим Инструкций для сборки
- Управление инструкциями для сборки
- Сочетания клавиш
Курс «Изучение основ конструирования и моделирования с развивающим конструктором Фанкластик»
- Официальный сайт «Фанкластик»: https://fanclastic.ru/
- О Фанкластике: http://kabeshka.ru/fanklastik.html
- Инструкции и видеоуроки: https://fanclastic.ru/instrukcii.html
Практическая работа (каждое занятие):
проектирование и конструирование, моделирование и исследование.
Темы занятий:
- Полоска. Первая проба.
- Полоска № 2.
- Пружинка.
- Самолет.
- Вертолет.
- Жираф и черепаха.
- Зоопарк.
- Гулливер.
- Проект «Затерянная планета».
- Буква «С».
- Рекламный плакат.
- Дорожные знаки.
- Военная техника.
- Звездолет.
- Прочность соединения деталей. Узлы.
- Конструкция моста. Ферма. Принципы создания прочной конструкции.
- Опора для моста. Сжатие.
- Подвесной мост. Растяжение.
- Большой пролет моста. Изгиб.
- Современный город. Непрямые углы в конструкции.
Внеурочная деятельность (видео)
РоботоКонструирование в 61 школе - внеурочная деятельность [27.09.2017]
Второй региональный фестиваль "Вундеркинд" - Памятники Ульяновска в 3D [10.02.2018]
РИФ-2017 через призму 61-го канала [30.09.2017] (Секция "Детское ИТ")
Школа 61 на VI международном инновационном форуме (14.09.2017)
Школа 61 на выставке достижений Образовательного форума в УлГПУ (25.08.2017)
Мастер-Класс "Перекладная Анимация" на Фестивале "Вундеркинд" в МБОУ "СШ № 61"
Наборы Robo Kids на Педагогическом форуме "Школа преемственности", Ульяновск, Школа 61, 2016
Робототехника в 5-ых классах
Lazarus: Калькулятор (2018-2019) [8 класс]
Lazarus: Калькулятор (2018-2019) [10 класс]
Команда 1 "Северное сияние"
Файл для открытия проекта: Calkulator9.lpi
Калькулятор умеет:
- Складывать, умножать, делить и вычитать числа подряд
- Возводить в любую степень
- Искать синус градусов
- Вычисляет квадратный корень
Планируется:
- Ввести функцию косинус
- Перенести из электронного вида в материальный
- Ввести корень любой степени
Команда 2 "Одуванчики"
Файл для открытия проекта: project1.lpi
Наш калькулятор умеет:
- складывать
- вычитать
- умножать
- делить
- возводить числа в степень
Команда 3 "Клептоманка"
Файл для открытия проекта: project1.lpi
Команда "Клептоманка".
Модель калькулятора: "Apples 32"
Что мы имеем:
- Мы создали прототип калькулятора
- Он умеет складывать, отнимать, умножать, делить и взводить числа в степень
- Главная его особенность - это креативный дизайн и название, с помощью которых будет возрастать желание им пользоваться и сделает вашу учебу только увлекательнее
Что мы не имеем:
- Калькулятор не может совершать вычисления в виде процентов, вывода из корня и из степени, и работать с дробными числами.
Что мы планировали в начале проекта:
- Создать калькулятор
- Чтобы он работал
- Чтобы хорошо работал
- И не ломался
- Заряжался от солнечной батареи
- Мы хотели, чтобы калькулятор появлялся из компьютера в виде облака и пользователь мог им пользоваться, нажимая на кнопочки прямо в воздухе
- Пользователь сам мог бы изменять цвет калькулятора в зависимости от своего настроения
Команда 4 "Белки"
Файл для открытия проекта: project1.lpi
Команда 5 "ПУМА"
Файл для открытия проекта: project1.lpi
Калькулятор ПУМА
Нас окружают множество вещей, которыми мы пользуемся изо дня в день, без некоторых мы даже не представляем свою жизнь. В нашем 21 веке все намного проще, чем раньше. Калькуляторы есть в каждом телефоне, а телевизоры обладают таким потенциалом, о котором нельзя было и мечтать 20 лет назад. Но прогресс не стоит на месте. Нашей целью было создать максимально простой и удобный калькулятор.
Название нашего калькулятора - ПУМА.
П-простой
Минимализм всегда остается в моде, поэтому в нашем калькуляторе нет ничего лишнего. Он имеет 10 кнопок, а также по задумке в нем есть кнопки синуса и косинуса, что делает задачу вычисления более простой.
У-уникальный
Он определенно является уникальным из-за того, что он имеет два экрана, на одном из которых, мы можем увидеть сам пример или задачу для вычислений, а на другом решение.
М-модный
Еще одной фишкой нашего калькулятора является его дизайн, цвет схож с окраской пумы, а также он имеет ушки, как у животного, это делает его более привлекательным и неповторимым.
А-актуальный
Калькулятор всегда будет нужен в подсчетах, ведь мы не всегда можем произвести сложные вычисления в уме и сделать это быстро и точно. Наш калькулятор делает вычисления без единой ошибки, и это является его огромным плюсом. Длина калькулятора 10 см, а ширина 6, это дает возможность носить такой прибор везде с собой.
И в заключение мы хотим сказать, что калькулятор в наши дни просто необходим, а с нашим калькулятором "ПУМА" жизнь станет намного лучше и удобнее. ПУМА это просто, уникально, модно, актуально.
Команда 6 "Шестерёнка"
Файл для открытия проекта: project1.lpi
Описание калькулятора
Функции нашего устройства
- Сложение.
Сложение-одна из самых главных и основных функций любого калькулятора. Это пожалуй, первая функция, нужная для многих видов вычислительных работ с цифрами и тригонометрическими функциями. Самая часто используемая функция ,начиная со школьной математики ,заканчивая подсчётами для погашения кредитов. На письме данная функция обозначается знаком "+".
- Вычитание.
Вычитание по важности занимает тоже место ,что и сложение. Это одна из основных функций калькулятора. Мы используем её примерно с такой же периодичностью, что и сложение. Вычитание-операция обратная сложению. На письме обозначается знаком "-".При наличии отрицательных чисел вычитание удобно рассматривать как разновидность сложения -сложение с отрицательным числом.
- Умножение.
Данная функция имеет очень большое значение в скорости подсчётов крупных числовых значений. Первый аргумент обычно называют множимым ,а второй множителем. Результат умножения двух аргументов называется из произведением. Ведь есть различные виды умножения:
- Умножение дробей
- Сокращённое умножение
- Умножение чисел
- Деление
Деление-функция обратная умножению. Обозначается двоеточием и если дроби, то дробь переворачивается. Деление заменяет неоднократно повторенное вычитание.
- Возведение в степень
Эта функция непосредственно связана с умножением. Мы возводим в ту степень, сколько раз хотим умножить число само на себя.
Команда 7 "Анастасия Alone"
Файл для открытия проекта: project1.lpi
Калькулятор О. Анастасии
Имеет базовые функции:
делит, умножает, складывает, вычитает (как целые, так и дробные числа). Также возводит числа в квадрат, вычисляет квадратный корень.
В перспективе:
вычисление синуса и косинуса.
Преимущества калькулятора:
- компактный,
- удобный в использовании,
- не загроможденный излишними кнопками,
- имеет все необходимые функции,
- безошибочно вычисляет запросы.
Команда 8 Проект
Файлы по проекту "Калькулятор", 2018-2019 год.
ОГЭ-2019. Информатика.
ОГЭ-2018. Информатика.
Информатика ЕГЭ 2019 (решения)
ДЕМО файл внизу
Решение 11 задачи из ДЕМО-версии 2019 года
Ответ: 012301
Решение 9 задачи из 501-го решебника 2019 года
Музыкальный фрагмент был записан в формате стерео (двухканальная запись), затем оцифрован и сохранён в виде файла без использования сжатия данных. Получившийся файл был передан в город А по каналу связи за 18 секунд. Затем тот же музыкальный фрагмент был повторно записан в формате моно и оцифрован с разрешением в 2 раза выше и частотой дискретизации в 2 раза больше, чем в первый раз. Сжатие данных не производилось. Полученный файл был передан в город Б; пропускная способность канала связи с городом Б в 5 раз ниже, чем канала связи с городом А. Сколько секунд длилась передача файла в город Б? В ответе запишите только целое число, единицу измерения писать не нужно.
Ответ: 180
- Решение задачи №9 (Информатика 10, §16, учебник Полякова)
- Решения задач второй части [2018]
Видеоурок «Рекурсивные алгоритмы. Быстрая сортировка элементов массива»
При изучении программирования многих учеников пугает слово «рекурсия». И действительно, эта тема является одной из самых сложных при изучении структурного программирования. При всём при этом ей не уделяется внимания в большинстве учебников информатики. Однако многие эффективные алгоритмы основаны именно на рекурсии, например, алгоритм быстрой сортировки. Этот урок поможет учащимся понять принцип работы рекурсивных алгоритмов: когда их использование необходимо, а когда его следует избегать.
Скачать это видео можно по ЭТОЙ ссылке.
Подготовка к переводному экзамену
Задачи для перевоного экзамена
1. Сравнение чисел в различных системах счисления (задание 1 ЕГЭ - разъяснение)
2. Соответствие логических выражений ответам в таблице (задание 2 ЕГЭ - разъяснение)
3. Определение длины кратчайшего пути между пунктами по весовой матрице (задание 3 ЕГЭ - разъяснение)
4. Восстановление сообщения переданного с ошибкой (кодирование) (задание 5 ЕГЭ - разъяснение)
5. Excel - как изменится формула при копировании из ячейки в ячейку (задание 7 ЕГЭ - разъяснение)
6. Результат алгоритма записанного в виде блок-схемы разъяснение)
7. Вычисление объема (количества информации), перевод единиц измерения (задание 9 ЕГЭ - разъяснение 1,
разъяснение 2)
8. IP-адрес - определить адрес сети (задание 12 ЕГЭ - разъяснение)
9. Граф - определить количество путей из одной точки в другую (задание 15 ЕГЭ - разъяснение)
10. Вычисление количества поисковых запросов по комбинации других запросов (круги Эйрера) (задание 17 ЕГЭ - разъяснение)
Прорешать дополнительные задачи для перевоного экзамена из вложенных файлов
1. Числа в разных системах счисления и действия с ними (разъяснение)
2. Логическое выражение и сотответсвие ответов в таблице (разъяснение)
3. Определение длины кратчайшего пути между пунктами по весовой матрице и графу (разъяснение)
7. Excel - как изменится формула при копировании из ячейки в ячейку (разъяснение)
9. Вычисление объема (количества информации), перевод единиц измерения (разъяснение)
12. IP-адрес - определить адрес сети (разъяснение)
15. Граф - определить количество путей из одной точки в другую (разъяснение)
17. Вычисление количества поисковых запросов по комбинации других запросов (круги Эйрера) (разъяснение)
19. Фрагмент программы с одномерным массивом (разъяснение)
22. Работа исполнителя Калькулятор с 2-мя командами (преобразование числа) (разъяснение)
10. Определения позиции слова по порядку (для 7 варианта)
pascal - Задача про спираль
program spiral_count; const cN = 50; cM = 50; var i, j, N, M, tN, tM, count, iMiddle, jMiddle: integer; A: array[1..cN, 1..cM] of integer; procedure spiral(i1, j1, i_N, jM: integer); var _i, _j: integer; begin _i := i1; // if j1 < jM then for _j := j1 to jM do begin A[_i, _j] := count; inc(count); end; // if i1 < i_N then for _i := i1+1 to i_N do begin A[_i, _j] := count; inc(count); end; if i1+1 < i_N then // вторая строка for _j := jM-1 downto j1 do begin A[_i, _j] := count; inc(count); end; if (j1+1) < jM then // второй столбец for _i := i_N-1 downto i1 + 1 do begin A[_i, _j] := count; inc(count); end; end; begin readln(N, M); tN := N; tM := M; iMiddle := N div 2; jMiddle := M div 2; count := 1; i := 1; j := 1; while i < tN do while j < tM do begin spiral(i, j, tN, tM); inc(i); inc(j); dec(tN); dec(tM); end; for i := 1 to N do begin for j := 1 to M do write( A[i,j]:3 ); writeln; end; end.
В помощь по решению задач ЕГЭ по Информатике
Задача 18
Задача 23
Задача 24
program task24; var N, d, m: integer; begin readln(N); m := N mod 10; while N > 0 do begin d := N mod 10; if d > m then if d mod 2=0 then m := d; N := N div 10 end; if m = 0 then writeln('NO') else writeln(m) end.
Задача 26
Процедура "Быстрой сортировки" - QuickSort
procedure qSort(nStart, nEnd: integer); var L, R, c, X: integer; begin if nStart >= nEnd then Exit; L:= nStart; R:= nEnd; X:= A[(L+R) div 2]; { или X:= A[L+random(R-L+1)] } while L <= R do begin { разделение } while A[L] < X do L:= L + 1; while A[R] > X do R:= R - 1; if L <= R then begin c:= A[L]; A[L]:= A[R]; A[R]:= c; L:= L+1; R:= R-1 end end; qSort(nStart, R); { рекурсивные вызовы } qSort(L, nEnd) end;
8. Компьютерная графика и анимация
Blender: уроки
Inkscape: уроки
Gimp: Практические работы (Поляков)
Gimp: Практические работы
1. Изображение для работы на уроке.
Задание: с помощью инструмента "Клонирование" оставить только одного человека на фоне моря.
2. Изображение для работы на уроке.
Задание: с помощью инструмента "Прямоугольное выделение" сделать 3 разные фотографии на 3 разных полотнах.
|
Что нужно знать про ЕГЭ (ФоксФорд)
Онлайн-школа Фоксфорд запускает бесплатный курс, посвященный ЕГЭ: https://goo.gl/3ZxRYC
Совместно с экспертами онлайн-школа Фоксфорд подготовила курс, который будет полезен выпускникам и тем, кому в ближайшее время предстоит сдавать ЕГЭ. Подписавшись на курс, вы узнаете:
- что вас ждет в день сдачи экзамена,
- кто и как будет проверять ваши работы,
- по каким правилам происходит зачисление в вуз
Также вы получите советы по подготовке к экзамену от психолога и учителей Фоксфорда.
Курс состоит из 6 писем, которые онлайн-школа Фоксфорд будет присылать вам 2 раза в неделю. Вы можете оформить подписку на e-mail курс, либо подписаться на рассылку во «Вконтакте»: https://goo.gl/3ZxRYC
Вход в Электронный журнал (СГО) через ГосУслуги с 01.04.2018
Уважаемые родители!
Согласно распоряжения Правительства РФ от 25.10.2014 №2125-р и исполнения приказа Министерства образования и науки Ульяновской области от 11.10.2016 №18 "О региональных информационных системах" и очередного письма Министерства образования и науки Ульяновской области с 1 апреля 2018 года вход в электронный журнал «Сетевой город» будет производиться только с учетной записью портала Государственных Услуг (ГосУслуг).
В связи с этим Вам и Вашим детям необходимо зарегистрироваться на портале ГосУслиги (gosuslugi.ru) и сделать свою учетную запись Подтверждённой. Для подтверждения своей учётной записи Вам необходимо обратиться в многофункциональный центр. Адреса МФЦ:
- 432063, г. Ульяновск, ул. Минаева, 6, Ленинский район (8422) 37-13-13 (доб. 2300)
- 432072, г. Ульяновск, пр-т Созидателей, 116, Заволжский район (8422) 37-13-13 (доб. 2000)
- 432036, г.Ульяновск, ул. Промышленная, 54г, Засвияжский район (8422) 37-13-13 (доб. 2200)
- 432012, г. Ульяновск, ул. Локомотивная, д. 85, Железнодорожный район (8422) 37-13-13 (доб. 2100)
Как связать свои учётные записи портала Государственных Услуг и электронного журнала «Сетевой город» указано по ссылке.
Во вложении Вы можете ознакомиться с последней инструкцией по входу в электронный журнал "Сетевой город: Образование" (СГО) через систему авторизации ГосУслуг.
Паскаль с нуля. Основы программирования.
Паскаль с нуля. Основы программирования.
(Автор: Эдуард Мецкер)
pascal - Списки
Работа со структурой и запись её в файл:
program AlphaList; type TPair = record word: string; { слово } count: integer { счётчик } end; TWordList = record data: array of TPair; size: integer end; var F: text; s: string; L: TWordList; p: integer; function Find(L: TWordList; word: string): integer; var i: integer; begin Find := -1; for i := 0 to L.size - 1 do if L.data[i].word = word then begin Find := i; break end end; function FindPlace(L: TWordList; word: string): integer; var i, p: integer; begin p := -1; for i := 0 to L.size - 1 do if L.data[i].word > word then begin p := i; break end; if p < 0 then p := L.size; FindPlace := p end; procedure IncSize(var L: TWordList); begin Inc(L.size); if L.size > Length(L.data) then SetLength(L.data, Length(L.data) + 10) end; procedure InsertWord(var L: TWordList; k: integer; word: string); var i: integer; begin IncSize(L); for i := L.size - 1 downto k + 1 do L.data[i] := L.data[i - 1]; L.data[k].word := word; { записать слово } L.data[k].count := 1 { встретилось 1 раз } end; begin SetLength(L.data, 0); L.size := 0; Assign(F, 'AlphaList.in'); Reset(F); { основной цикл: составление списка слов } while not Eof(F) { пока не конец файла } do begin readln(F, s); { читаем слово } p := Find(L, s); { ищем его в словаре} if p >= 0 then { если нашли... } Inc(L.data[p].count) { ...увеличить счётчик } else begin{ иначе... } p := FindPlace(L, s); { найти место } InsertWord(L, p, s); { вставить в список } end end; Close(F); { вывод результата в файл output.dat } Assign(F, 'output.txt'); Rewrite(F); for p := 0 to L.size - 1 do writeln(F, L.data[p].word, ': ', L.data[p].count); Close(F); end.
pascal - задачи из учебника
Программа переводит арабское число в римское:
Program num_rim; var a,b:integer; d:string[45]; begin readln(a); b:=a mod 10; a:=a div 10; case b of 0: d:=''; 1: d:='I'; 2: d:='II'; 3: d:='III'; 4: d:='IV'; 5: d:='V'; 6: d:='VI'; 7: d:='VII'; 8: d:='VIII'; 9: d:='IX'; end; b:=a mod 10; a:=a div 10; case b of 0: d:=''+d; 1: d:='X'+d; 2: d:='XX'+d; 3: d:='XXX'+d; 4: d:='XL'+d; 5: d:='L'+d; 6: d:='LX'+d; 7: d:='LXX'+d; 8: d:='LXXX'+d; 9: d:='XC'+d; end; b:=a mod 10; a:= a div 10; case b of 0: d:=''+d; 1: d:='C'+d; 2: d:='CC'+d; 3: d:='CCC'+d; 4: d:='CD'+d; 5: d:='D'+d; 6: d:='DC'+d; 7: d:='DCC'+d; 8: d:='DCCC'+d; 9: d:='CM'+d; end; b:=a mod 10; case b of 0: d:=''+d; 1: d:='M'+d; 2: d:='MM'+d; 3: d:='MMM'+d; 4: d:='MMMM'+d; end; writeln(d); readln; end.
C / C++: case
Вывод времени года по месяцу:
#include <stdio.h> #include <iostream> using namespace std; int main () { int a; cin >> a; switch (a) { case 12: cout << "zima"; break; case 1: cout << "zima"; break; case 2: cout << "zima"; break; case 3: cout << "vesna"; break; case 4: cout << "vesna"; break; case 5: cout << "vesna"; break; case 6: cout << "leto"; break; case 7: cout << "leto"; break; case 8: cout << "leto"; break; case 9: cout << "osen"; break; case 10: cout << "osen"; break; case 11: cout << "osen"; break; default: cout << "osen"; break;} }
C / C++: строки
Ввод и вывод строки:
#include <stdio.h> #include <stdlib.h> #include <iostream> using namespace std; int main(int argc, char* argv[]) { char string[] = "this is string - "; // объявление и инициализация строки cout << "Enter the string: "; char in_string[500]; // строковый массив для ввода gets(in_string); // функция gets() считывает все введённые символы с пробелами до тех пор, пока не будет нажата клавиша Enter cout << string << in_string << endl; // вывод строкового значения system("pause"); return 0; }
C / C++: Подпрограмма (функция) - вычисление факториала
Вычисление факториала через функцию:
#include <stdlib.h> #include <iostream> using namespace std; // объявление функции нахождения n! int faktorial(int numb)// заголовок функции { int rezult = 1; // инициализируем переменную rezult значением 1 for (int i = 1; i <= numb; i++) // цикл вычисления значения n! rezult *= i; // накапливаем произведение в переменной rezult return rezult; // передаём значение факториала в главную функцию } int main(int argc, char* argv[]) { int digit; // переменная для хранения значения n! cout << "Enter number: "; cin >> digit; cout << digit << "! = " << faktorial(digit) << endl;// запуск функции нахождения факториала system("pause"); return 0; }
pascal - Динамический массив
Одномерный динамический массив:
program a1; var i, N: integer; A: Array of integer; begin read( N); SetLength( A, N); for i := 0 to N-1 do read( A[i]); for i := 0 to N-1 do write( A[i], ' '); writeln; writeln( 'High( A ) = ', High( A ) ); end.
Двумерный динамический массив (динамическая матрица):
program a2; var i, j, N: integer; A: Array of Array of integer; begin read( N); SetLength( A, N); for i := 0 to N-1 do SetLength( A[i], N); randomize; for i := 0 to N-1 do for j := 0 to N-1 do A[i,j] := random(100, 999); for i := 0 to N-1 do begin for j := 0 to N-1 do write( A[i,j], ' '); writeln; end; end.
Выбор места для голосования на выборах 2018
pascal - тип Integer
program max_types; var si: shortint; i: integer; li: longint; begin si := 127; i := 2147483647; li := 2147483647; writeln('short int max = ', si); writeln('short int max+1 = ', si+1); si := si+1; writeln('short int max+1 (si) = ', si+1); writeln('integer max = ', i); writeln('integer max+1 = ', i+1); writeln('long int max = ', li); writeln('long int max+1 = ', li+1); end.
Границы между положительными и отрицательными числами
program max_types2; var n1, m1: integer; begin n1 := 2147483647; m1 := -2147483648; writeln('n1 - 1 = ', n1 - 1, ' n1 + 1 = ', n1 + 1, ' n1 + 2 = ', n1 + 2); writeln('m1 - 1 = ', m1 - 1, ' m1 + 1 = ', m1 + 1, ' m1 - 2 = ', m1 - 2); end.
pascal - Record (Структура)
Работа со структурой и запись её в файл:
program struct01; type TBook = record author: string[40];{ автор, строка } title: string[80]; { название, строка} count: integer { количество, целое } end; const N = 100; var B: TBook; { одна структура } Books: array[1..N] of TBook; { массив } F: file of TBook; i: integer; begin writeln('Размер типа TBook = ', sizeof(TBook)); { 24 } Assign(F, 'books.dat'); Rewrite(F); B.author := 'Пушкин А.С.'; B.title := 'Полтава'; B.count := 1; write(F, B); B.author := 'Тургенев И.С.'; B.title := 'Муму'; B.count := 2; write(F, B); Close(F); Assign(F, 'books.dat'); Reset(F); i := 0; while not Eof(F) do begin { до конца файла } i := i + 1; Read(F, Books[i]) end; writeln(B.author, ', ', B.title, ', ', B.count); writeln( 'i=', i); if i > 0 then writeln(Books[1].author, ', ', Books[1].title, ', ', Books[1].count); Close(F); end.
Сортировка массива структур:
program struct02; type TBook = record author: string[40];{ автор, строка } title: string[80]; { название, строка} count: integer { количество, целое } end; const N = 3; var B: TBook; { одна структура } Books: array[1..N] of TBook; { массив } i, j: integer; begin B.author := 'Пушкин А.С.'; B.title := 'Полтава'; B.count := 1; Books[1] := B; B.author := 'Тургенев И.С.'; B.title := 'Муму'; B.count := 2; Books[2] := B; B.author := 'Булгаков М.А.'; B.title := 'Мастер и Маргарита'; B.count := 5; Books[3] := B; for i:=1 to N do writeln(Books[i].author, '; ', Books[i].title, '; ', Books[i].count); writeln('--- Сортировка ---'); for i:=1 to N-1 do for j:=N-1 downto i do if Books[j].author > Books[j+1].author then begin B := Books[j]; Books[j] := Books[j+1]; Books[j+1] := B end; for i:=1 to N do writeln(Books[i].author, '; ', Books[i].title, '; ', Books[i].count); end.
Сортировка указателей массива структур:
program struct03; type TBook = record author: string[40];{ автор, строка } title: string[80]; { название, строка} count: integer { количество, целое } end; PBook = ^TBook; const N = 4; var B: TBook; { одна структура } Books: array[1..N] of TBook; { массив } p1: PBook; p: array[1..N] of PBook; { массив указателей типа PBook } i, j: integer; begin B.author := 'Пушкин А.С.'; B.title := 'Полтава'; B.count := 1; Books[1] := B; B.author := 'Тургенев И.С.'; B.title := 'Муму'; B.count := 2; Books[2] := B; B.author := 'Булгаков М.А.'; B.title := 'Мастер и Маргарита'; B.count := 5; Books[3] := B; B.author := 'Пелевин В.'; B.title := 'Generation П'; B.count := 4; Books[4] := B; for i := 1 to N do writeln(Books[i].author, ', ', Books[i].title, ', ', Books[i].count); { Часть 2 } writeln('---=== Часть 2 ===---'); for i:=1 to N do p[i]:= @Books[i]; for i:=1 to N do writeln(p[i]^.author, '; ', p[i]^.title, '; ', p[i]^.count); writeln('---=== Сортировка Указателей ===---'); for i:= 1 to N-1 do for j:= N-1 downto i do if p[j]^.author > p[j+1]^.author then begin p1 := p[j]; p[j] := p[j+1]; p[j+1] := p1 end; for i:=1 to N do writeln(p[i]^.author, '; ', p[i]^.title, '; ', p[i]^.count); writeln('---=== Реально оставшееся состояние массива ===---'); for i:=1 to N do writeln(Books[i].author, '; ', Books[i].title, '; ', Books[i].count); end.
Еще статьи...
- pascal - Простые числа
- C / C++: матрица
- C / C++: массив
- C / C++: циклы
- Видео-уроки по математике и физике для 5-11 классов
- Ссылки на треннировочные ресурсы по информатике
- Информация к ЕГЭ 2018 (12 плакатов)
- Примеры прикладных задач
- Особенности и секреты подготовки с пособием «Я сдам ЕГЭ!»
- 4. Создание веб-сайтов
- Как работать с Dev C++
- Как работать с CodeBlocks
- Домашнее задание по информатике для 10 класса (§ 19)
- ГосУслуги и вход в электронный журнал СГО
- Как связать учетные записи портала государственных услуг и электронного журнала "Сетевой город. Образование"?